1、 目 录 摘 要 1 关键字 1 引 言 2 一.实验目的 . 2 二.设计要求 . 2 三.硬件设计 . 3 四.软件设计 . 4 五.实验总结 19 参考文献 . 20 电子万年历的设计 1 电子万年历 摘要:摘要: 电子万年历是利用定时器以及计数器来产生的标准的秒信号,通过软 件进行计时后,利用单片机所连接的 LED 来显示时、分、秒。使用时要先输入 当地的标准时间,然后启动程序,电子万年历便开始运行,并随时显示当地的时 间。 关键字:关键字:LED 显示器、 MCS-51 单片机、串行通信、键盘、定时器 电子万年历的设计 2 引 言 十几年来,以 MSC-51 为核心的单片机芯片一直在
2、各行各业中普遍使用。但 是八位单片机终究还是有技术上的局限性。 为了更加全面的了解微型计算机的发 展,也一并学习了微型计算机技术。本次课程设计是利用八位单片机进行设计一 个用两个 LED 灯显示的电子万年历,该万年历可以通过设置当地的当时时间即 为初始值并持续稳定的通过计数器和计时器进行计数和报时。 并利用串行通信程 序进行显示时间。 一.实验目的 通过本次课程设计达到如下目的: 1、熟悉 MCS-51 定时/计数器、中断的应用。 2、熟悉时钟时、分、秒计时方法,掌握编程技巧。 3、掌握键盘的基本工作原理,键的识别,键抖动和重键问题的解决,键盘 工作方式和键盘程序的编程。 4、掌握七段码 LE
3、D 显示器的结构,七段码 LED 显示器的工作方式和显示程 序的编程。 5、掌握串行通信程序的编写。 二.设计要求 利用 ATMEL89C51、七段码 LED 显示器、按键、MAX232 及常用外围器件,设 计一个具有串行通信功能的电子万年历,仅使用 2 位 LED,具体要求如下: 1、设计实现电子万年历的硬件原理图。 2、用 T0 定时器,产生时钟信号,设计定时中断程序。 3、具有 2 位 LED,通过按键切换,分别显示时、分、秒,设计显示程序。 4、可用键盘进行校对时间,设计键盘程序。 5、当前时间可通过串口在其他单片机系统上显示。 电子万年历的设计 3 三.硬件设计 本系统中单片机通过
4、P0 口和 P2 口直接驱动 LED 数码管, 单片机通过 MAX232 串口芯片实现和其他单片机系统的通信。系统框图如下 系统框图 P0 P2 89C51 P3 P3 按键 LED LED MAX232 子单片机系 统 电子万年历的设计 4 硬件原理图 P3.2 所连接的按键是用于切换时、分、秒分别显示。 P3.3 所连接的按键是用于校时是分别对时、分、秒进行自加。 P3.4 所连接的开关是用于允许校正位,为低电平允许校正,显示停止。 四.软件设计 程序框图:主程序流程图如图 1 所示,定时中断流程图如图 2 所示,按键 扫描流程图如图 3 所示,串行通信流程图如图 4 所示。 电子万年历的设计 5 开始 初始化 按键扫描 有键按下 按键处理,确定模式 时间显示模式 根据按键状态显示相应时间段 时间修改模式 根据按键状态修改时间 NO NO YES YES 图 1 主程序流程框图 开始 装入计数初值(50ms 中断) 计数标志 num+ num=20? num=0 时间加 1 秒 结束 图 2 定时中断流程框图 NO YES 电子万年历的设计 6 开始 清零按键状态位 按键为低电