首先,版主删帖能不能说明下原因。本人是菜鸟,不太懂论坛的规矩,你说明下原因我下次可以注意。否则,帖子删了,都不知道为什么。如何改进? 本人前几天发过一个“电子时钟”的求助帖子。(不知道是不是把所有程序贴上才被删了,这次我就不贴程序了,大体编程思路说一下)
1、编程思路说明:
用的是单片机学习板,通过外部中断控制时间的设定,定时中断控制时间的累加;外部中断被触发时,定时中断停止。用的是动态数码管显示。
2、遇到的问题:
每次设定完时间以后,时钟开始运行,但是没多久(每次时长都不同)时间就不动了。显示依然是正常显示。我程序看了好几遍应该是没问题的。
3、网上查找到的答复:
查了下网上的相似问题。答复是外部中断时长不能太长,或者说把定时中断优先级提高。.......外部中断不长,怎么设定时间,而且边设定边秒钟自己在跳也不好啊。
4、本人的求教:
关于上面提到的外部中断时间不能太长。这到底是为什么?能不能有大神仔细讲解一下,单片机内部运算过程中,外部中断时长过长会产生什么问题,最终导致定时中断停止。
5、其他:
也可能我上面的理解不对,请大神指教。
6、顿首!顿首!顿首!顿首!
补充内容 (2018-7-5 15:24):
程序和电路图在7、8楼 请各位大神帮忙!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
就程序来说:
一,没有对外部中断进行设置,虽然有硬件复位后的缺省设置,不过最好还是要设置一下。
二,中断程序和子程序都没有对使用的特殊寄存器进行压栈出栈处理,特别是进行程序嵌套时容易出现改变寄存器而导致出错。
三,可以屏蔽外部中断程序,不进行时间设置,在程序里固定写入时间,来测试时间运行是否还出现问题。
一周热门 更多>