logo资料库

数字电子钟的设计的Proteus软件实现及软硬件仿真.doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
《微机应用系统设计》课程设计 一、设计课题 数字电子钟的设计 二、设计要求 (一)实现基本数字电子钟的设计,要求能够显示时和分; (二)通过按键有设置闹钟功能; (三)有整点报时功能; (四)通过按键设置能够进行分校时; (五)用 proteus 画出原理图,说明各个控制信号的作用; (六)画出程序流程图,编写程序,采用 Proteus 软件实现软硬件仿真。 三、设计目的 通过数字电子钟这一课程设计的锻炼,理解单片机系统的组成,及以单片机 为主的系统设计方法,掌握单片机最小系统、键盘模块、LED 数码管显示系统及 各种扩展电路的应用,加深对微控制器系列课程的理解。 四、小组分工 五、材料清单 PART-REFS --------- QTY --- Resistors --------- 5 1 1 R1-R5 R6 R7 Capacitors ---------- VALUE ----- 4k7 1k 200 CODE ---- W4K7
1 2 C1 C2,C3 1uF 33pF Integrated Circuits ------------------- 1 1 U1 U2 Transistors ----------- 1 Q1 Miscellaneous ------------- 4 ADD,CONFIRM,MODE, MOVE LS1 RP1 1 1 1 X1 AT89C51 74LS245 NPN SPEAKER RESPACK-8 CRYSTAL 硬件组成单片机复位电路、按键电路、蜂鸣器驱动电路和显示模块电路四大 模块。 六、模块功能说明 (一)按键模块:通过 keyscan()函数扫描按键,识别外设 P3 端口要完成 的按键功能。本次设计因为按键较少并且需要独立控制所以采用了 4 个独立按 键,分别是 mode(P3==0XFF)、add(P3==0XFD)、move(P3==0XFB)和 confirm(P3==0XF7)。当按 mode 键一次为调时,两次为调闹。通过由 add()函数 和 confirm()函数同时完成,在不同的模式下,完成时间的更改和确定。硬件方 面,本次设计用 AT89C51 单片机内部定时/计数器 T0 作为电子表时钟参考; (二)显示模块:由函数 show()、show1()、show2()、show3()和 show4 ()分别完成正常时间显示、调试模式显示、闹钟设定模式显示、调整位标记显 示和闹钟开闭显示程序。硬件采用共阳方式,外加 5V 稳压电源供电,通过 8 个 数码管,采用一片 74LS245 芯片来驱动位码,用 P2 口进行位选扫描; (三)响铃模块:由 beep()函数完成,用于闹钟和整点报时的响铃。硬件
是通过 NPN 三极管放大后驱动蜂鸣器工作,单片机 I/O 接三极管基极。整点报时 时由 zhengdian()函数 beep()函数完成,功能是能够在每个整点报时,每次响铃 默认 10s。闹钟由 alarm_judge()判断函数和 beep()函数完成,常规响铃 1 分钟; (四)复位模块:由独立按键 RES 来完成复位,此功能为 AT89C51 单片机完 成。 七、参数计算 (一)定时器 T0 1.方式控制寄存器 TMOD T1 T0 D7 GATE D6 C/T D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0 TMOD 用以设定通用定时/计数器 T0 和 T1 工作方式。GATE 位为门控位, GATE=1 时,T0、T1 分别受 INT0、INT1 引脚输入电平控制,常用于测量对应正脉 冲的宽度;C/T 用于选择定时、计数功能。 本次设计选择 T0 做定时器用,工作在方式 1,故 TMOD = 0X01; 2.控制寄存器 TCON T1 T0 INT 1 INT 0 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TR0 用于开/关定时器 T0,TF0 为 T0 溢出标志位。 3.中断允许控制寄存器 IE D7 EA D6 / D5 / D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0 EA 为总中断允许位,ET0 为 T0 中断允许位。 (二) 定时器 T0 初值计算 初值计算公式: 2 X  n  f osc 12 T  (1) X—定时器初值 n—定时器位数(方式 0:13 位;方式 1: 16 位;方式 2: 8 位)
fosc—单片机主频(本次设计取 12MHz) T—机器周期时间 为了获得 1s 的时钟周期,需要先获得 50ms 的时钟周期,每 20 次中断一次, 就能完成时间为 1s 的获得。选择计时器 T0 工作在方式 1 下,fosc=12MHz,T=50ms, 带入公式(1),解得初值 X=3CB0H,所以 TH0 = 0X3C,TL0 = 0XB0。 八、电路及软件流程 (一)系统框图总览 (二)单片机复位电路 (三)按键电路
(四)蜂鸣器驱动电路 (五)显示模块电路
(六)主函数流程图 主函数流程图
(二)定时器 T0 中断服务程序流程图 定时器 T0 中断服务程序流程图
(三)闹钟响应程序流程图 闹钟响应程序流程图
分享到:
收藏