完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这几天在研究一套人体感应报时系统stc15w101+Ds1302+TM1637+JQ8400FL(感应到人后先语音报时,然后四位数码管由暗变亮显示时间,时钟系统就用的普通ds1302,感觉精度还可以),开始在stc15w101上面测试通过了,后来发现空间太紧凑了,正好手头有一些STC8f2k16s2,空间可以随便造了,但是奇怪的现象是程序换到stc8上后语音报时语速加快了,但是数码管时间就是乱跳的,调时间的按钮也是一按跳好多,心里知道可能是stc8速度太快导致的,因为程序里面有用到1ms和1us的延时,但是不管我怎么增加延时长度,数码管显示始终乱跳,stc8的头文件也换了,程序原来在stc15w上面设置的频率是11.0592没有问题,一到stc8就不正常。
最后抱着试一试的心态直接在下载时候选了6MHz,居然数码管时间显示正常了,语音报时语速也正常了,虽然更低的频率可以降低功耗,但是始终无法理解为什么在11.0592时候每个环节加延时也不能正常(LED显示用的是TM1637+共阳数码管)? 后来还遇到一个DS1302 的掉电保持时间的问题,刚开始我直接在1302 的备用时钟位置接了一个1000UF的电容,掉电能保持大概1个小时左右的走时,但当我把电容换成3V纽扣电池后反而掉电不走时了,每次上电就清零了,由于搞到夜里2点多了,就先扔着没追究了,现在想想是不是要在主电源上并个电容(起个掉电缓冲?)实际情况还要今天下班回去验证了,欢迎各路高手答疑解惑。 |
|
相关推荐
1个回答
|
|
果然是IO速度更不上,现在所有问题都解决了,15W系列IO操作可以无延时连续操作,但是一到STC8,IO操作,尤其连续操作一定要加2个以上的nop延时,不然很多问题,现在我遇到的问题都已经解决了,
|
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1115浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2303浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 15:01 , Processed in 1.183611 second(s), Total 81, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号