初级会员
- 积分
- 176
- 金钱
- 176
- 注册时间
- 2017-12-7
- 在线时间
- 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点多了,就先扔着没追究了,现在想想是不是要在主电源上并个电容(起个掉电缓冲?)实际情况还要今天下班回去验证了,欢迎各路高手答疑解惑。
|
|