找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2234|回复: 11
打印 上一主题 下一主题
收起左侧

怎么通过单片机中断实现闹钟功能?我这个思路可行吗?

  [复制链接]
跳转到指定楼层
楼主
ID:709315 发表于 2020-3-16 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用51单片机设计一个万年历 加一个闹铃
怎么通过中断实现闹钟功能?并且闹钟响了以后可以关闭?
我用现成的闹钟程序,只把指令改成“interrupt”直接加入万年历的主程序,这样的程序正确吗?可以运行吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-3-16 19:13 | 只看该作者
不正确,也不能运行,必须按照中断的程序编写
回复

使用道具 举报

板凳
ID:709315 发表于 2020-3-16 19:46 | 只看该作者
csmyldl 发表于 2020-3-16 19:13
不正确,也不能运行,必须按照中断的程序编写

谢谢回答!不过应该怎么写可以指点一二吗谢谢!
回复

使用道具 举报

地板
ID:702186 发表于 2020-3-16 20:46 | 只看该作者
中断持续不了长时间的
回复

使用道具 举报

5#
ID:693125 发表于 2020-3-16 22:03 来自手机 | 只看该作者
如果要求精度不高的话就用单片机自带的定时计数器。将定时计数器设定50ms中断一次,中断20次就是一秒,60秒后分加一秒计数单元清零,分满60小时加一分清零,以后以此类推。定时就是将你要设定的时间与当前的时间依次比较,比较不等程序继续执行,比较相等开闹钟
回复

使用道具 举报

6#
ID:687694 发表于 2020-3-16 22:50 | 只看该作者
闹钟不用中断做吧,计时的嘛,做标志触发,就好,定义一个数组存放闹钟时间,比较现在时间就行,相同则触发标志,如果数组存放年月日,闹钟可以定到某年某月某日~精确到某秒。
回复

使用道具 举报

7#
ID:709787 发表于 2020-3-17 09:17 来自手机 | 只看该作者
看你的题目,有万年历了,完全没必要用中断。如果你非要在中断里判断闹钟,可以把设定时间和当前时间比较的程序加在定时器中断里,时间相同就触发响铃。不过这完全是多此一举。
回复

使用道具 举报

8#
ID:383215 发表于 2020-3-17 17:10 | 只看该作者
一看你的提出的问题,就知道你的51单片机还没有入门,估计你是想做个万年历入门51单片机吧,那我就告诉你一个框架:实时时钟(DS1302或者PCF8563)+51单片机+EEPROM(24C01存闹铃时间)+显示(1602液晶或者数码管)+按键调时间,如果你照这个框架做根本就不需要任何中断,当前时间和闹铃时间一致就闹铃一分钟自动或者手动关闭,如果不用实时时钟芯片,就用一个定时中断得到秒信号,也可以编出万年历,只是校准走时精度比较麻烦,要用一个大一点的电池做掉电备用,比如18650锂电池。
回复

使用道具 举报

9#
ID:660005 发表于 2020-5-5 09:20 | 只看该作者
东风21d 发表于 2020-3-16 20:46
中断持续不了长时间的

中断一般能够持续多久
回复

使用道具 举报

10#
ID:723681 发表于 2020-5-5 10:56 | 只看该作者
这里不合适用中断作为闹铃的触发,定时器中断的时间有限,可以用循环嵌套
回复

使用道具 举报

11#
ID:743495 发表于 2020-5-5 11:15 | 只看该作者
利用内部中断实现时间的显示,想加进去闹钟功能。时钟显示的时侯,通过按键进行闹钟设置,闹钟设置过程中时钟还在走,闹钟设置结束后,继续显示时间。这样可以实现吗?能说一下具体思想?采用的是单片机内部的定时器/计数器实现时钟计时。
回复

使用道具 举报

12#
ID:311846 发表于 2020-5-5 12:03 | 只看该作者
123689 发表于 2020-5-5 09:20
中断一般能够持续多久

中断不做任何复杂的运算和延时,尽可能的简略,多看书多找度娘
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表