财经
×
好心游戏首页 > 问答列表 >

单片机的c语言 时钟函数带有闹钟功能,当我们调好闹...

设置响的时间从一分钟到一天可连续调节

请注意:本网坚决拥护中国共产党领导,坚决打击任何违规违法内容,若您发现任何有害信息,请E-Mail:513175919@qq.com举报,我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦,实现中国腾飞而努力!

      2019-08-14 07:22:08

采纳答案   这个可以用中断实现
设置初始最小中断时间 比如 1分钟
在添加一个按钮中断 调节中断时间 更多追问追答 追问

你说的我知道,有个问题是我已经用了一个定时器中断,如果再开一个就会相互影响,因为中断有优先级,定时器0已经拿来做时间了,那么定期器1该怎么用,最好有一段代码
追答
你可以把  定时器0  中的时间拿出来用啊

定时器0 里应该有1S 时间吧 判断 if(xx==a*1S){flag=1}

闹钟函数里 判断 flag

按钮中断可以用 外部中断 设置 a的值就行了
追问
如果我把定期器0的时间拿出来用,正常的显示怎么办,平时的时候显示时间,例如设置好了闹钟响的时间为8点,然后设置响多久的铃声,时间从一分钟到1天,闹钟响了又不要影响正常显示
追答
闹钟函数:                                                                                       
设置时间 参数:time
设置闹铃时间参数:time1(响多久)

设置闹钟状态 :flag=0空闲
flag=1工作
闹钟声音:判断flag 每xxs间断响一次

通过显示的时间函数 :

判断 当前时间是否与time 相同
相同设置设置闹钟状态1
判断当前时间是否与time +time1相同
相同设置设置闹钟状态 0

中断函数:
通过按键设置 time,time1(或者直接函 数初始化)

单片机是只能单线程,在一个函数里完成,要不影响显示 , 闹钟函数执行时间就要进可能的短
追问
我们都把问题复杂化了,说的简单点,我这个程序已经可以使时间显示,闹钟响,但是闹钟响只能是固定响几秒或者几分钟,我的意思响让闹钟响的时间可调,从一分到一天,闹钟响的时间我放在外部中断1里了,我想用一个按键接在外部中断1上可调响铃的时间,怎样写最好
追答
我上面回答的可以让闹钟响的时间是任意的啊 time1是响铃的时间度
追问
if(flag_ri==1)//当闹钟中断时进入这里 

{

di();

delay(100);

di();

delay(500);

}

关键的闹钟函数怎样写好,麻烦修改程序
追答
蜂鸣器音调,这个延时要自己慢慢试,延时时间不要太长,会影响显示
   1970-01-01 08:00:00

ask1ask2ask3ask4ask5ask6ask7ask8ask9ask10ask11ask14ask13ask14ask15

热门图文更多>