AVR每次中断会干扰其他IO口吗?

[复制链接]
5212|15
 楼主| areshan 发表于 2010-11-16 08:28 | 显示全部楼层 |阅读模式
大家好,我在用AVR8的时候,把数码管显示放在后台的main函数里面,但是每次外部中断的时候,看见数码管都会有跳动,不过显示还是正常。数码管在程序被中断的时候,一闪一闪的,好像供电不稳定一样。。。。。有高手遇到过这种情形吗?我是不是还是要不数码管放在一个10MS刷新的前台定时器引起的中断里呢???
sjnh 发表于 2010-11-16 08:33 | 显示全部楼层
说明你中断程序耗时太多了,刷新放到定期器中断里可以保证不闪
yewuyi 发表于 2010-11-16 08:51 | 显示全部楼层
数码管闪烁的原因一般有几个:
1、扫描速度太低
2、扫描不均匀
3、驱动电流不够

从你的情况看,应该是中断影响了扫描时间,造成了扫描时间不均匀。
ayb_ice 发表于 2010-11-16 09:07 | 显示全部楼层
会不会干扰,那要看你写程序的功力了
dengxf 发表于 2010-11-16 09:10 | 显示全部楼层
呵呵  同意4楼
 楼主| areshan 发表于 2010-11-16 09:15 | 显示全部楼层
应该不会干扰,我都是用|,&之类的,根本没有在中断里就没有改变那几个数码管用的IO口!!!!而且干扰数码管显示是随机的,不是固定的!!!!!!
 楼主| areshan 发表于 2010-11-16 09:18 | 显示全部楼层
突然间想想IO口在设置后会一直的保持,应该也是不会造成数码管的闪动呢!
 楼主| areshan 发表于 2010-11-16 09:27 | 显示全部楼层
自己好好的分析了下,觉得3楼说的有道理,因为数码是动态显示,每次中断时间不均匀,如果是在数码管灭,点亮下一个数码的时候被中断,那么上个数码的灭的时间就要加上中断的时间,刷新就是不均匀的了!!!!!
谢谢楼上的帮助,没有想到小小的数码管,还有这么多的问题!!!!!!
xg40ma 发表于 2010-11-16 10:53 | 显示全部楼层
刷新g gh
galton1982 发表于 2010-11-16 11:05 | 显示全部楼层
中断里面尽量处理少的东西  不要整运算啥的  搞几个变量啥的 其他在MAIN去做
shjw 发表于 2010-11-16 13:47 | 显示全部楼层
两个办法:
1.中断程序代码尽量少。
2.把数码管扫描程序写到中断。
一般都用第1个办法。
ji_dan 发表于 2010-11-16 15:11 | 显示全部楼层
同意三楼、六楼~·
ywy398456921 发表于 2010-11-16 17:21 | 显示全部楼层
gx_huang 发表于 2010-11-16 18:47 | 显示全部楼层
用示波器测试一下波形就知道是否是软件的问题了。
估计扫描的位选信号宽度是一直变化的,导致闪烁。
coody 发表于 2010-11-16 22:35 | 显示全部楼层
一款商用MCU肯定不会出现这个问题,100%是软件或硬件问题
mcu5i51 发表于 2010-11-17 08:34 | 显示全部楼层
软件框架问题,好的设计要在不超过设计指标时不出现设计外的情况;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

728

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部