作者tea1116 (大钧)
看板ASM
标题[问题] 关於中断的问题
时间Wed Nov 14 17:03:11 2007
就是我现在做外部中断的程式
我现在了解到当我中断副程式结束的时候~
他会跳回我做中断前主程式做到某一行再继续执行主程式
可是有没有办法当我把中断副程式执行完之前...
可以先静止外部中断...然後再跳回主程式的开头
等我主程式做到某个地方在开始中断
举个例子;
1.(当我接受串列阜的资料,然後做判断处理)
2.-->等到判断完以後才允许外部中断
3.---->当高电位转低电位的时候(负缘触发)跳到中断副程式
4.---->然後再中断副程式中,做完某个动作以後,先禁止外部中断,然後跳回1
等待下一笔串列资料进来以後作判断再允许外部中断.....
因为我现在要的是,当我点某键才传串列资料~传完把资料整理好再做外部中断
可是我实际这样做似乎没办法动作....
请问在中断副程式中可以用ajmp指令吗?
如果不行的话要怎麽做才能让我有做完判断就允许中断的动作的写法呢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.77.235
1F:推 ruemann:虽然这样的做法和中断的原意不太相同,不过是可以做的 11/14 21:55
2F:→ ruemann:只要不把EX0=1,那麽外部中断是不会发生的,当你需要外部 11/14 21:56
3F:→ ruemann:中断时,再把EX0=1後,即可。中断程式中可以用ajmp 11/14 21:56
4F:→ ruemann:但要记得最後要用reti返回即可。另外,中断程式中最好不要 11/14 21:57
5F:→ ruemann:有呼叫函式的写法 11/14 21:58
6F:推 tea1116:现在的问题是ㄚ...我ㄧ加上串列传输副程式就没外部中断了 11/15 12:08
7F:→ tea1116:目前是找到因为我把收的五个BYTE资料放在R0~R4中 11/15 12:09
8F:→ tea1116:但系统重置後的R2位址跟外部中断的位址冲到(03H) 11/15 12:09
9F:→ tea1116:我已经把RO~R7改成其他位址了 11/15 12:10
10F:→ tea1116:但是外部中断还是没发生 11/15 12:11
11F:推 tea1116:大大上面说的方法我TRY过...虽然大致可以~不过跳到中断 11/15 12:13
12F:→ tea1116:以後副程式的处理有问题...晚点我贴CODE请大大帮我DEBUG 11/15 12:13
13F:→ tea1116:在此感激大大帮忙 11/15 12:14
14F:→ tea1116:这个部份已经解决了.虽然不是用大大的方法,谢谢大大 11/15 18:22