关于PIC 单片机 Timer0的问题

2020-02-09 11:27发布

最近在调试LCD,然后用到定时器,遇到这样的问题,还请各位高手指导,小弟先行谢过了。
问题如下:
    定时器定时200ms,主函数程序执行200ms时然后进入中断,执行中断程序,执行完就又返回到主函数里接着执行,
此时,问题就出现了,在LCD上显示的东西就乱了。
  一直不知道什么问题。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
eduhf_123
2020-02-10 10:27
建议你更改程序结构:
----------------------------
1、按键接在有电平变化中断的IO口上,利用中断实现按键,但不做按键处理,只把扫描到的按键键码放到一个全局变量里;
2、定时器开200ms中断,但中断服务程序中不做处理,只做一个标记,同按键一样,留待主程序检查标记来处理;
3、主程序检查按键有效标志及定时时间到标志,并分别做处理。
4、在主程序中,一定要在紧临while(1)大循环的地方,先清各中断标志、然后再开中断。
----------------------------

或者这样:
----------------------------
1、定时器开5ms中断,利用状态机实现按键扫描(此时按键可接在任意IO口线上),并对中断次数进行计数(40次表示200ms时间到);
2、同上,在主程序中检查按键有效标志与定时时间到标志,并分别处理;
3、中断标志、中断允许的处理也同上。
----------------------------

一周热门 更多>