关于PIC 单片机 Timer0的问题

2020-02-09 11:27发布

最近在调试LCD,然后用到定时器,遇到这样的问题,还请各位高手指导,小弟先行谢过了。
问题如下:
    定时器定时200ms,主函数程序执行200ms时然后进入中断,执行中断程序,执行完就又返回到主函数里接着执行,
此时,问题就出现了,在LCD上显示的东西就乱了。
  一直不知道什么问题。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
lffpga
2020-02-10 19:08
回复【8楼】eduhf_123 经历
-----------------------------------------------------------------------

  你好!谢谢你的耐心的指导,程序现在可以正常运行了。真的十分感谢!

  我是按照你说的第二种方法写的,因为我在处理按键的时候就是以这种方法来的,但是好像不是用的状态机扫描,
因为,在单片机中我对状态机好像没有概念。

程序大概这个样子:
while(1)
{
   1、按键扫描;
   2、if(按键标志)
      按键处理;
   4、if(中断标志)
      中断处理。
}

还有我想问一下:
1、用状态机是不是比较稳定?我笨想,就是好像不用去抖动。它只能从上一个状态跳到下一个状态。
2、就您给我建议的这两种按键扫描的方法,有没有什么意义?
   比如说,什么情况下用第一种,什么情况下用第二种?或者说由自己决定,就是设计的时候是用的中断,然后就用中断
扫描。再或者是对时间要求比较严格的时候用中断扫描(以为,我认为中断扫描比状态机的快)。
3、您在这两种方法中都说要在while(1)之前清中断标志,然后再开中断,我对着不是很清楚,还请您给解释一下。

直到你给我回帖,我才知道,我来这个论坛这么长时间了,都没有去过 马潮老师和傻孩子的帖子的那个地方。很是遗憾,
以后得经常光顾一下了。
你说的《时间触发嵌入式系统设计》这本书就是《时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用》这本书吧?

这的谢谢你,能这么及时、细心,耐心的指导。再次感谢!

一周热门 更多>