基于单片机的倒计时牌的设计.pdf
文本预览下载声明
倒计时牌
1. 方案选择
1.1 题目:倒计时牌
1.2 要求:
1.2.1 实现日历功能;
1.2.2 显示距倒计时时刻还有多长时间(显示天、时、分、秒) ;
1.2.3 倒计时的时间可人为设定;
1.3 总体设计:
本倒计时牌以 AT89C51 单片机作为核心, 最长可以倒计时 100 天。可以显示距倒计
时时刻还有多长时间, 显示格式为天 (十位,个位 )、时 (十位、个位)、分 (十位、个位)、
秒(十位、个位) ;倒计时的时间可以人为设定;另外还可以显示当前的日历,显示格
式为年(四位),月(两位),日(两位)。
倒计时设置时间时的位切换、设定数值、启动定时器、切换日历通过外部中断来实
现。
倒计时牌天、时、分、秒的计时分别利用 100、24、60、60 进制自减计数来实现。
倒计时的显示电路由 LED数码管组成, 利用 8 只数码管显示, 从左至右依次显示为
天( 十位,个位 ) 、时(十位、个位)、分(十位、个位)、秒(十位、个位)及年(四位),
月(两位),日(两位)。
2. 硬件原理电路图的设计及分析
倒计时牌硬件系统的设计,关键是其显示器接口电路的设计,本设计采用直接利用
单片机 AT89C51 的并行 I/O 口构成倒计时牌显示接口电路, 其硬件系统主要包括单片机
(包含晶振、电源)、控制电路(设置初始时间以及日历切换)及显示接口电路。
2.1 模块方框图
硬件系统
晶 电 数 单
振 源 码 片
管 机
2.2 电路图
2.3 使用说明
倒计时牌具有如下工作状态:设置状态和运行状态。倒计时牌上电后,显示为全 0 。
这时要设置倒计时时间,按 K1 ,开始设置时间,这时设置的是秒,按一次 K2 ,秒加 1;
再按一次 K1 ,设置分,依次类推;设置完天后,按 K1 则启动定时器,开始倒计时。
在倒计时牌运行状态下,按 K2 ,显示当前的日期(年、月、日) ;再按一次,回到
倒计时间显示。
注: INT0 对应的开关为位切换 /启动按钮 K1 ;
INT1 对应的开关为修改 / 日历切换按钮 K2 。
3.程序设计及分析
3.1 软件系统模块图
软件系统
转 显 T 外 外 延
主 换 示 0 部 部 时
程 子 子 溢 中 中 子
序 程 程 出 断 断 程
序 序 中 0 1 序
3.2 各子程序设计
3.2.1 主程序
主程序( MAIN )的主要功能是初始化程序、转换子程序和调用延时子程序以及数
码管的断码表,其流程图如下:
开 始
初始化
转换子程序
显示子程序
调用延时
程序代码(加注释)如下:
MAIN:
MOV TMOD,#01H ; 定时器 T0 设为方式一
显示全部