2401_85299658 2024-06-01 09:40 采纳率: 0%
浏览 6

单片机问题定时计数器

(1)用51单片机的定时/计数器(TO/T1)产生1秒的定时时间,作为秒计数时间;
(2)当一秒产生时,秒计数加1;
(3)开机时,显示12-30-00,并按下开始键开始连续计时;
(4)计时到23-59-59时,返回00-00-00重新开始计时;
(5)时间开始按键K4。
(6)时间暂停按键K5。
(7)K1﹣控制"秒"的调整,每按一次加2秒;
(8)K2一控制"分"的调整,每按一次加2分;
(9)K3一控制"时"的调整,每按一次加2小时;
(10)K5﹣时间暂停(一次)/复位按键(二次)。
(11)K6一控制"秒"的调整,每按一次减3秒;
(12)K7﹣控制"分"的调整,每按一次减3分;
(13)K8﹣控制"时"的调整,每按一次减3小时;
(14)闹钟功能:时间12:31:30时,3个LED同时亮灭各10秒(精确)。

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-06-01 09:40
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    根据问题描述,你需要使用51单片机的定时/计数器来实现一个定时计数器功能。具体功能要求如下:

    1. 使用定时/计数器(TO/T1)产生1秒的定时时间,作为秒计数时间。
    2. 每当一秒产生时,秒计数加1。
    3. 开机时,显示12-30-00,并按下开始键开始连续计时。
    4. 当计时到达23-59-59时,返回00-00-00重新开始计时。
    5. 时间开始按键为K4。
    6. 时间暂停按键为K5。
    7. 使用K1按键来控制"秒"的调整,每按一次加2秒。
    8. 使用K2按键来控制"分"的调整,每按一次加2分。
    9. 使用K3按键来控制"时"的调整,每按一次加2小时。
    10. 使用K5按键来暂停时间(一次按下)/复位时间(二次按下)。
    11. 使用K6按键来控制"秒"的调整,每按一次减3秒。
    12. 使用K7按键来控制"分"的调整,每按一次减3分。
    13. 使用K8按键来控制"时"的调整,每按一次减3小时。
    14. 当时间为12:31:30时,3个LED同时亮灭各10秒。

    解决方案:

    1. 设置定时/计数器(TO/T1)的工作模式为定时器模式,使其按照1秒的频率产生中断。
    2. 在定时器中断服务函数中,设置秒计数器加1,并更新显示的时间。
    3. 在开始按键(K4)的中断函数中,开启定时器中断,并开始连续计时。
    4. 在暂停按键(K5)的中断函数中,关闭定时器中断,并暂停计时。
    5. 在K1、K2、K3、K6、K7、K8按键的中断函数中,分别实现对应的时间调整功能。
    6. 在定时器中断函数中,判断当时间为23:59:59时,将秒计数器清零,并将时间重置为00:00:00。
    7. 在定时器中断函数中,判断当时间为12:31:30时,将3个LED同时亮灭各10秒。

    需要注意的是,具体的实现需要根据你使用的51单片机型号以及编程语言进行具体编写。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月1日