完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
功能:数码管时钟,整点报时。按键调整时间。
实现步骤: 1、动态刷新数码管,将DS1302寄存器中的值赋给刷新函数用来显示当前时间。 2、定时器0以10ms计时刷新数码管。 3、每小时的0分、0秒-2秒 无缘蜂鸣器响。(闹铃2秒钟) 4、通过按键调整DS1302的初始值,来更改当前时间(或闹钟时间) 遇到问题: 刷新数码管的定时器中断会影响无缘蜂鸣器的声音频率。 调试过程: 一:定时器0刷新数码管,主函数中判断时间,如果时间到就闹钟。 结果:蜂鸣器频率被数码管和按键扫描打乱。 二:另外加了一个定时器1,在main()函数中只做按键扫描,和判断当前时间是否等于闹钟时间。如果是定时器1打开。(TR1 = 1;) 否则关闭定时器1;并将定时器1的优先级高于定时器0 。 结果:发现声音频率还是会被10ms的刷新打断。 请高手点拨!! |
|
相关推荐
8 个讨论
|
|
|
|
|
|
|
|
|
|
|
T1定时器的优先级能大于T0么???
|
|
|
|
|
|
|
|
|
你好 : /******************************************************************************* * 函 数 名 : Timer1Cofig * 函数功能 : 配置定时器 *******************************************************************************/ void Timer1Cofig(void) { TH1 =(65536-200)/256; //设置初始值,定时200uS(55536) TL1 =(65536-200)%256; PT0=1; //定时器1中断优先级为1(共4级,默认0,0 ) ET1 = 1; //打开定时器0中断 TR1 = 0; //初始化不开启定时器0 } 这是我改过的,但是结果还是一样的 |
|
|
|
|
|
|
|
王栋春 发表于 2016-12-12 20:30 还是一块一块的做,先写一个功能,然后测试。再写另一个功能,在进行测试,然后再把这两个功能结合到一起 |
|
|
|
|
|
|
|
|
其实中断设置优先级这个我也没用过,我习惯都是用自然优先级 |
|
|
|
|
|
|
|
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
331 浏览 0 评论
532 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
842 浏览 0 评论
1383 浏览 2 评论
824 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16911 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 06:50 , Processed in 0.943268 second(s), Total 66, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5145