51单片机数字钟的实现

作业

用51单片机完成一个数字钟的计时及校时功能。
1、设置8个数码管的显示缓冲区为DISPBUFF[8],并初始化为02,02,-,04,08,-,03,06.

2、定时器0每隔5ms刷新一次数码管显示缓冲区,并显示时间(中断来做)

3、定时器1负责精确定时,计时1s,每隔50ms中断一次,中断20次即为1s

4、用图中两个按键实现时分和小时的校时功能,MODE按键实现小时校准、分校准及正常显示的3个模式切换,ADD按键实现对应时间加一,按键采用外部中断方式实现功能。在校准小时及分钟的时候,对应两位数码管的小数点必须亮,正常模式时所有小数点全灭.

5、秒脉冲由51单片机的定时器来提供。

按要求上交实验报告(校准小时、分钟及正常模式的对应Proteus仿真截图及开发板下载图一定要)。

思路

  • 定义一个数码管显示模块,起名为dis_seg7()

  • 定时器0每隔5ms刷新一次数码管显示缓冲区,并显示时间(中断来做)

  • 定时器1负责精确定时,计时1s,每隔50ms中断一次,中断20次即为1s

  • 外部中断0实现模式切换

    • 正常显示,stat = 0;
    • 校分,stat = 1;
    • 校时,stat = 2;
    • 注意:校时,校分时要停止定时器T1
  • 外部中断1实现hour/min自增

    • 先检测一下stat
    • stat =1,min_increase
    • st
  • 18
    点赞
  • 277
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值