1、 hardware; software design目 录1 系统总体设计方案 4 1.1 设计课题任务41.2 功能要求说明41.3 总体方案介绍及工作原理42 硬件系统的设计 62.1 系统各功能模块介绍62.2 系统电路图72.3 系统元器件清单73 软件系统的设计 83.1 设计使用单片机资源介绍83.2 软件系统各功能模块介绍83.3 软件系统程序流程框图93.4 软件系统的程序104 系统的仿真分析及结论 114.1 系统设计的使用说明114.2 系统设计的仿真结果114.3 系统的误差分析 124.4 设计体会 124.5 教学建议13参考文献14致 谢15附录(1) 16附录(
2、2) 171 系统总体设计方案1.1 设计课题任务设计一个具有特定功能的电子钟。1.2 功能要求说明 (1)、屏幕保护和检查(P.从右至左流动); (2)、按下A键显示8个P.,然后开始运行;(3)、时分秒、年月日之间用“-”分割,并闪烁;(4)、运行时按下A键进入调整时钟状态;再按一次恢复运行;(5)、在运行状态下,按下BCD分别显示三种功能,可切换观看,按A键返回运行;(6)、在各调整状态下,按B调秒(日),C调分(月),D调时(年),短时间按下只加一次,长时间按下不停歇的加数,调整完毕后按A键返回运行状态;(7)、定时功能:在运行时按下B显示定时,再按B进入调整状态,设置完成按A返回;(
3、8)、当“时”小于10时,高位不显示,即高位“清零”;(9)、秒表功能:在运行时按下C键,进入秒表功能,奇数次C开启秒表,偶数次C关闭,按A键返回。(10)、在运行时按下D键显示日期,再按D进入调整状态,按A键返回。1.3 总体方案介绍及工作原理电子钟的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU控制原理图如图1.1所示。2 硬件系统的设计2.1 系统各功能模块介绍2.1.1 AT89S52控制模块考虑到
4、设计功能需要,控制器的功能用于外部键盘信号的接收和识别、数码管的显示控制,定时器应用等,我们选择了学习过的AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。AT89S52主要性能 与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器,1000次擦写周期,全静态操作:0Hz33Hz三级加密程序存储器32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash
5、 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2 键盘功能模块根据系统的基本的要求,基于时间的观看和设定等功能,采用由四个键构成的独立式键盘分别接在AT89S52单片机的P1.0-P1.3,非常的方便,同时相对于独立式键盘大大节省了空间,在软件的设计时带来了极大的方便,使
6、程序简易明了,可读性强。本次设计中,四个键分别定义为A键、B键、C键和D键,对应着时间显示与控制,定时控制,秒表控制,日历显示与控制,各键功能单一,互不影响,操作起来十分的清晰与方便。2.1.3 数码管显示模块 显示模块要具有显示时分秒,年月日和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。数码管的八个位控口接在AT89S52单片机的P0口线上,从左到右顺序连接,段控制线接在AT89S52单片机的P2口线上,从低位到高位对应连接.再由于数码管的本身显示亮度不够,所以一般都会在其位控和段控口前加上一定的驱动电路,本次设计中采用三极管作为驱动。 本次采用的数码管型号为CPS05641B
7、R。2.1.4 定时提示模块电子钟的另外一个要求功能是在定时到达时候发出闹铃,本次设计利用蜂鸣器来实现。具有电路结构非常简单,控制极其方便等优点。2.2 系统电路图总原理图.总布局图.PCB图见附录(1) 2.3 系统的元器件清单 本系统中所用到的元件如表2.1所示。表2.1 系统元器件表器件型号数量单片机AT89S521个按键普通4个晶振12MHZ1 个开关6脚双路2个电容22F,33pF1个,2个 数码管 CPS05641B8个电阻若干下载接口10针接口蜂鸣器脉冲式单排针303 软件系统的设计3.1 使用单片机资源介绍AT89S52的P0,P1,P2口作为输入输出口,且部分用到P1,P3口
8、作为第二功能: P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK (在系统编程用) XTAL1、XTAL2:晶振输入 RST: 复位输入片内资源主要为:定时器/计数器T0,定时器/计数器T1,定时器中断0,通用寄存器前三组,专用寄存器A、PSW、IE、P1、P2、P3、TCON、SCON,位寻址单元F0H、F1H、F2H、 F3H、F4H、F5H。3.2 软件系统各功能模块介绍3.3.1 独立式键盘模块独立式键盘软件设计通过在主程序中调用子程序KEY去执行键盘扫描和调用子程序ANKEY去执行相应的功能 ,单片机P1口在复位后保持高电平,当键按下相应口线为低电平,此时CPU做初期判断,之后延时12ms,确定为按键后等待键松,之后执行子程序。达到通过键功能程序的分支执行相应的程序段,完成对应的操作。3.2.2 数码管显示模块数码管显示是通过调用子程序DISP来实现的,由于数码管的显示要求有实时性,所以在执行其他的程序的时候依然要经常调用显示子程序DISP。数码管的段控由CPU改变P2口相应位电平来实现,为实现不同的显示功能,设置了不同的显示缓冲单元,通过控制标志位控制。数码管的位控由CPU改变P0口相应位电平来实现,基于人的视觉延迟性,通过从右到左的循环保证所有数码管都被点亮。3.2.3 闹铃、秒表模块在软件的设计中闹铃提示