专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
PIC单片机
关于PIC 单片机 Timer0的问题
2020-02-09 11:27
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
8317
13
13
最近在调试LCD,然后用到定时器,遇到这样的问题,还请各位高手指导,小弟先行谢过了。
问题如下:
定时器定时200ms,主函数程序执行200ms时然后进入中断,执行中断程序,执行完就又返回到主函数里接着执行,
此时,问题就出现了,在LCD上显示的东西就乱了。
一直不知道什么问题。。。。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
lffpga
1楼-- · 2020-02-10 16:18
精彩回答 2 元偷偷看……
加载中...
eduhf_123
2楼-- · 2020-02-10 18:11
关于状态机,请参考本坛中马潮老师的帖子跟书、还有傻孩子的帖子。
另外,请阅读《时间触发嵌入式系统设计》这本书。
加载中...
lffpga
3楼-- · 2020-02-10 19:08
回复【8楼】eduhf_123 经历
-----------------------------------------------------------------------
你好!谢谢你的耐心的指导,程序现在可以正常运行了。真的十分感谢!
我是按照你说的第二种方法写的,因为我在处理按键的时候就是以这种方法来的,但是好像不是用的状态机扫描,
因为,在单片机中我对状态机好像没有概念。
程序大概这个样子:
while(1)
{
1、按键扫描;
2、if(按键标志)
按键处理;
4、if(中断标志)
中断处理。
}
还有我想问一下:
1、用状态机是不是比较稳定?我笨想,就是好像不用去抖动。它只能从上一个状态跳到下一个状态。
2、就您给我建议的这两种按键扫描的方法,有没有什么意义?
比如说,什么情况下用第一种,什么情况下用第二种?或者说由自己决定,就是设计的时候是用的中断,然后就用中断
扫描。再或者是对时间要求比较严格的时候用中断扫描(以为,我认为中断扫描比状态机的快)。
3、您在这两种方法中都说要在while(1)之前清中断标志,然后再开中断,我对着不是很清楚,还请您给解释一下。
直到你给我回帖,我才知道,我来这个论坛这么长时间了,都没有去过 马潮老师和傻孩子的帖子的那个地方。很是遗憾,
以后得经常光顾一下了。
你说的《时间触发嵌入式系统设计》这本书就是《时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用》这本书吧?
这的谢谢你,能这么及时、细心,耐心的指导。再次感谢!
加载中...
eduhf_123
4楼-- · 2020-02-10 21:55
1、用状态机是不是比较稳定?我笨想,就是好像不用去抖动。它只能从上一个状态跳到下一个状态。
-----------------
关于状态机,《时间触发嵌入式系统设计》这本书以及马老师跟傻孩子的帖子中有很多很详细的讨论,你看过就能有自己的看法了。
2、就您给我建议的这两种按键扫描的方法,有没有什么意义?
比如说,什么情况下用第一种,什么情况下用第二种?或者说由自己决定,就是设计的时候是用的中断,然后就用中断
扫描。再或者是对时间要求比较严格的时候用中断扫描(以为,我认为中断扫描比状态机的快)。
-----------------
通常来说,只有在系统对按键响应的实时性要求非常高的时候,才需要用中断来实现;其他场合都可以用时间片+状态机的方式来实现。
毕竟,中断向量的跳转与返回、中断入口的现场保护、出口的现场恢复等等这些都是要占用代码空间和运行时间的。
3、您在这两种方法中都说要在while(1)之前清中断标志,然后再开中断,我对着不是很清楚,还请您给解释一下。
-----------------
因为在初始化过程中,可能已经发生了一些中断、对应的中断标志已经置位了,在开总中断允许之前,应该先清除这些中断标志,然后再开中断允许。
加载中...
lffpga
5楼-- · 2020-02-11 01:07
回复【10楼】eduhf_123 经历
-----------------------------------------------------------------------
哦,那好的,我知道了,谢谢你!
我再看看资料,然后继续写我的程序了。
加载中...
coolwater
6楼-- · 2020-02-11 05:19
精彩回答 2 元偷偷看……
加载中...
上一页
1
2
一周热门
更多
>
相关问题
PIC单片机不同的IO口驱动74HC573驱动共阴极的数码管,有的段不亮
1 个回答
一种简单精确的pic延时方法
21 个回答
谁熟悉PIC的产品发布时间的,帮看看PIC18F47K40啥版本IDE能开发
12 个回答
求AN1078对应的源代码下载地址
5 个回答
PIC单片机应用技巧
4 个回答
串口无法连续接收数据
2 个回答
求助:dsPIC33F串口通信,如何发送字符串
4 个回答
PIC45K40 IOC(interrupt-on-change)功能
2 个回答
相关文章
一种用PIC单片机主时钟驱动的老式挂钟
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
PIC单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
另外,请阅读《时间触发嵌入式系统设计》这本书。
-----------------------------------------------------------------------
你好!谢谢你的耐心的指导,程序现在可以正常运行了。真的十分感谢!
我是按照你说的第二种方法写的,因为我在处理按键的时候就是以这种方法来的,但是好像不是用的状态机扫描,
因为,在单片机中我对状态机好像没有概念。
程序大概这个样子:
while(1)
{
1、按键扫描;
2、if(按键标志)
按键处理;
4、if(中断标志)
中断处理。
}
还有我想问一下:
1、用状态机是不是比较稳定?我笨想,就是好像不用去抖动。它只能从上一个状态跳到下一个状态。
2、就您给我建议的这两种按键扫描的方法,有没有什么意义?
比如说,什么情况下用第一种,什么情况下用第二种?或者说由自己决定,就是设计的时候是用的中断,然后就用中断
扫描。再或者是对时间要求比较严格的时候用中断扫描(以为,我认为中断扫描比状态机的快)。
3、您在这两种方法中都说要在while(1)之前清中断标志,然后再开中断,我对着不是很清楚,还请您给解释一下。
直到你给我回帖,我才知道,我来这个论坛这么长时间了,都没有去过 马潮老师和傻孩子的帖子的那个地方。很是遗憾,
以后得经常光顾一下了。
你说的《时间触发嵌入式系统设计》这本书就是《时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用》这本书吧?
这的谢谢你,能这么及时、细心,耐心的指导。再次感谢!
-----------------
关于状态机,《时间触发嵌入式系统设计》这本书以及马老师跟傻孩子的帖子中有很多很详细的讨论,你看过就能有自己的看法了。
2、就您给我建议的这两种按键扫描的方法,有没有什么意义?
比如说,什么情况下用第一种,什么情况下用第二种?或者说由自己决定,就是设计的时候是用的中断,然后就用中断
扫描。再或者是对时间要求比较严格的时候用中断扫描(以为,我认为中断扫描比状态机的快)。
-----------------
通常来说,只有在系统对按键响应的实时性要求非常高的时候,才需要用中断来实现;其他场合都可以用时间片+状态机的方式来实现。
毕竟,中断向量的跳转与返回、中断入口的现场保护、出口的现场恢复等等这些都是要占用代码空间和运行时间的。
3、您在这两种方法中都说要在while(1)之前清中断标志,然后再开中断,我对着不是很清楚,还请您给解释一下。
-----------------
因为在初始化过程中,可能已经发生了一些中断、对应的中断标志已经置位了,在开总中断允许之前,应该先清除这些中断标志,然后再开中断允许。
-----------------------------------------------------------------------
哦,那好的,我知道了,谢谢你!
我再看看资料,然后继续写我的程序了。
一周热门 更多>