(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秒(精确)。
单片机问题定时计数器
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
檀越@新空间 2024-06-01 09:40关注上午好☀️☀️☀️️
本答案参考ChatGPT-3.5根据问题描述,你需要使用51单片机的定时/计数器来实现一个定时计数器功能。具体功能要求如下:
- 使用定时/计数器(TO/T1)产生1秒的定时时间,作为秒计数时间。
- 每当一秒产生时,秒计数加1。
- 开机时,显示12-30-00,并按下开始键开始连续计时。
- 当计时到达23-59-59时,返回00-00-00重新开始计时。
- 时间开始按键为K4。
- 时间暂停按键为K5。
- 使用K1按键来控制"秒"的调整,每按一次加2秒。
- 使用K2按键来控制"分"的调整,每按一次加2分。
- 使用K3按键来控制"时"的调整,每按一次加2小时。
- 使用K5按键来暂停时间(一次按下)/复位时间(二次按下)。
- 使用K6按键来控制"秒"的调整,每按一次减3秒。
- 使用K7按键来控制"分"的调整,每按一次减3分。
- 使用K8按键来控制"时"的调整,每按一次减3小时。
- 当时间为12:31:30时,3个LED同时亮灭各10秒。
解决方案:
- 设置定时/计数器(TO/T1)的工作模式为定时器模式,使其按照1秒的频率产生中断。
- 在定时器中断服务函数中,设置秒计数器加1,并更新显示的时间。
- 在开始按键(K4)的中断函数中,开启定时器中断,并开始连续计时。
- 在暂停按键(K5)的中断函数中,关闭定时器中断,并暂停计时。
- 在K1、K2、K3、K6、K7、K8按键的中断函数中,分别实现对应的时间调整功能。
- 在定时器中断函数中,判断当时间为23:59:59时,将秒计数器清零,并将时间重置为00:00:00。
- 在定时器中断函数中,判断当时间为12:31:30时,将3个LED同时亮灭各10秒。
需要注意的是,具体的实现需要根据你使用的51单片机型号以及编程语言进行具体编写。
解决 无用评论 打赏 举报 编辑记录