基于单片机的多功能数字钟设计报告基于单片机的多功能数字钟课程设计报告学校 东莞理工学院学院 电子工程学院班级 09 通信工程 2 班姓名 车冠学号 41302214同组同学:练宏中 蔡惠坚 李健奕指导老师 任斌日期 -12-22一、设计目的 经过设计与实践,制作出具有准确显示小时、分、秒的数字钟,且能够校时和实现闹铃功能。二、功能要求① 自动计时,有两个四位 LED 数码管显示时分秒② 具备调整功能,能够直接由 0~9 数字键设置当前时间③ 具备定时闹钟功能三、所需器件及其功能所用元件名称、型号、数量 四位数码管引脚图以及封装尺寸本实验用两个四位数码管代替一个六位数码管 89c51 引脚图 8155 引脚图需要用到的工具:剥线钳,电烙铁,烙铁架,焊锡,万用表,电源,小刀。四、设计步骤 数字钟电路由单片机、键盘输入模块、时钟显示模块及闹铃设置模块组成。程序结构设计如下(1)主程序。 实现初始化与键盘监控(2)定时器 T0 中断服务程序。利用 T0 进行中断定时,T0 工作在 1,初值为 3CB0H,每隔 100ms益处中断一次,实现时、分、秒的计时功能,同时刷新计时缓冲区,小时计时 24 次则时间重新回到 00:00:00.(3)时间设置和闹钟设置子程序。实现当前时间及定时启闹时间的键盘输入设置。其功能是用键盘设置子程序将键入的 6 位时间值送入键盘设置缓冲区,用合子程序压成 BCD 码,若输入的小时打入 23 或分和秒大于 59,则不合法,清 0 重新开始计时。(4)键盘扫描子程序。推断是否有键按下,有则求其建号后返回,无键按下则循环等待(5)显示子程序。实现缓冲区的 6 位 BCD 码的动态方式显示,并用到拆字子程序将BCD 码送到缓冲区(6)定时比较子程序。实现当前时间与预设的启闹时间的比较,二者相同则启动蜂鸣器鸣叫并置位闹钟标志位,重新按下 ALM 键时,停闹并清 0 闹钟标志。(7)其它辅助功能子程序① 键盘设置子程序② 拆字子程序③ 合字子程序主程序流程图定时比较流程图(左) 键盘设置子程序流程图(右)时间设置 键盘扫描8155 地址分配如下:控制寄存器:8000H,定义为 PORT A 口:8001H, 定义为 PORTA B 口:8002H 定义为 PORTBC 口:8003H 定义为 PORTC片内 RAM 及标志位的分配:五、电路的仿真熟悉了各部分的原理就是连接电路图,参照各芯片的引脚图在 proteus 的仿真软件上开始连接电路图。经过自己的努力、同学的帮助和在网上查找的资料,终于在仿真软件...