完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 superjeffery 于 2014-5-6 23:22 编辑
用DS1302做东西,先在开发板上调试。所以1302的时间直接在代码里面写死。反复读时间然后扫描显示数码管。数码管是2个四位的,共八位。用其中的6位。首先,开发板MCU是STC89LE52RC,整个开发板功能完全正常没有问题。 代码如下,可以正常编译,下载。功能完全正常,所有预期目标都有实现。但是有如下问题。 可以看到,代码里完全没有用到定时器和中断。但是,如果在代码中将 EA=1;ET0=1; TR0=1; 这三句中的任何一句、两句或者三句都注释掉的话,数码管的显示就不正常了,具体表现为,表示时、分的四位都正常,表示秒的十位也正常,但是个位显示莫名的不在 led_ca_table 里面的符号。如果加入串口调试信息,可以看到hour,min,sec三个变量的值依然是对的。dis_index对应的led_an_table的值也是正确的。但是display[5]的值异常。但是仅仅是显示异常。每秒钟sec_led对应的LED灯亮灭,10秒钟,60秒钟数码管的进位等等行为也正常。 也试过数码管扫描不用延时用T0的中断,现象类似。同样是秒个位显示异常。 各位帮忙看看这到底是什么情况呃osz
|
|
相关推荐
2个回答
|
|
看看先
|
|
|
|
今天发现只要把 display[5]=led_ca_table[sec%0x10]; 这句放到if外面,即读取之后立即计算,不判断秒变化
这样注释掉T0中断相关的语句显示就正常了 但还是想不明外为什么呃 另外,如果用T0做时标,定时做扫描显示不做延时,最后一位显示还是异常不知道为什么 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
377 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
536 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
540 浏览 0 评论
950 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11760 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:56 , Processed in 0.798437 second(s), Total 77, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号