当前位置:首页 > (最新版)基于51单片机汇编语言的数字钟课程设计报告含有闹钟万毕业论文
⑨ 不论是预置状态还是正常走时状态均能够自动区分平闰年和大小月 ⑩ 闹铃使能由拨码开关K5控制并实时显示
06 电气工程及其自动化 2 班
许伟敏
4
3
单片微型计算机课程设计
基于汇编语言的电子数字钟
整体设计方案
四、整体设计方案
㈠硬件电路设计
系统硬件电路根据系统功能可知,需要六个数码管,一个外部中断 INT0,一个扬声器,由此结合单片机课程学习中对实验面板的了解,做 出如下电路:
如图,晶振频率12MHz,拨码开关数值由P0口读入;P2口的输出作为 控制数码管的段控信号,经74LS573即8位数据锁存器接到数码管中。数 码管采用共阴接法(图中未标示);P1.0-P1.5作为数码管的位控信号输 出端;开关W2经一个基本RS锁存器接入INT0,每按一次开关INTO取反一 次,按两次输入一个下降沿;扬声器由P1.6口控制。
06 电气工程及其自动化 2 班
许伟敏
4
4
单片微型计算机课程设计
基于汇编语言的电子数字钟
整体设计方案
㈡系统软件总流程设计
根据系统要求,设计出系统软件总流程图如下以T0作为正常走时的 计时器,T1作为预置状态下预置项目值自动跳升的控制计时器,INT0 作为设定预置及清楚生日信号的控制按钮
初始化
开关检测并将要 显示的项目送入 显示缓存
预置项目 Y
预置有效?
闪烁显示 其余项目 正常显示
N
Y
闹铃/报时?
闹铃 / 报时
N
Y
生日信号?
N
显示生日祝 正常显示
福 HAPPY
T0 中断走时(进 T1 预置时间/日期 ↑
INT0 中断设定(预 位秒→分→时→ /闹铃时间/生日日 置信号设置/清除; 日→月→年)
期
生日标志清除)
软 件 系 统 总 流 程 图 设计使每一轮显示(即六个数码管都显示一次)便检测一次开关使
06 电气工程及其自动化 2 班
许伟敏
4
5
单片微型计算机课程设计
基于汇编语言的电子数字钟
整体设计方案
上图的“检测开关值→判断并显示→检测开关值” 的循环时间大约为 10ms,即每隔10ms检测一次开关值,每个数码管接收到的电压信号占空 比大约为1/7,确保数码管正常显示。三个中断源中断程序执行时间每 次均为几十毫秒,基本不影响主程序的显示及闹铃输出。中断优先级 T0>INT0>T1,首先确保走时尽可能的准确,其次由于T1的开启和关闭是 由INT0进行控制的,故INT0优先级较高。此外有优先级“预置显示>闹 铃>整点报时>生日显示”,由于预置显示是人为控制的故优先级最高, 考虑到日常生活中假如闹铃或整点报时被生日显示覆盖可能使影响到 人们的日常生活故设定生日优先级最低,且闹铃最多影响生日信号一分 钟。闹铃和整点报时不影响正常的时间等的显示。
㈢模块划分及分析
根据系统功能将模块划分如下 ? ONE:初始化程序模块
进行资源分配(EQU,BIT伪指令),设定初值,各中断初始化
? TWO:开关检测模块
检测开关号,将要显示值送入显示缓存
? THREE:显示主程序
显示显示缓存中值,并进行生日,闹铃,报时判断
? SEVEN:显示生日祝福HAPPY程序
经显示主程序判断生日时间到要执行的显示HAPPY程序(其实可以认为是显示主程序的一部分)
? EIGHT:闹铃及整点报时判断程序
判断是否闹铃或报时,如果是则CPLP1.6且忽略生日信号,反之则继续执行后续语句
06 电气工程及其自动化 2 班
许伟敏
4
6
共分享92篇相关文档