PIC的中断保护

[复制链接]
1301|9
 楼主| 睡神耗子 发表于 2014-8-27 15:28 | 显示全部楼层 |阅读模式
pic, TE, ov, pc
本帖最后由 睡神耗子 于 2014-8-27 15:29 编辑

用的PIC16F886
用到了PIC的中断。
因为RAM体的问题啊。需要保护现场,
看了好几个例程,结合自己想的,写了下面的,大侠给个指导,希望将得透彻些啊。。。。十分感谢
W_TEMP                EQU                70H                        ;
STATUS_TEMP        EQU                71H                        ;
PCLATH_TEMP        EQU                72H                        ;
........
MOVWF        W_TEMP                                ;Interrupt protection
SWAPF        STATUS,W                        ;
MOVWF        STATUS_TEMP                        ;
MOVF        PCLATH,W                        ;
MOVWF        PCLATH_TEMP                        ;

中断处理
.........
MOVF        PCLATH_TEMP,W                ;Interrupt recovery
MOVWF        PCLATH                                ;
SWAPF        STATUS_TEMP,W                ;
MOVWF        STATUS                                ;
SWAPF        W_TEMP,F                        ;
SWAPF        W_TEMP,W
NE5532 发表于 2014-8-31 13:16 | 显示全部楼层
“将得透彻”是啥意思??
yewuyi 发表于 2014-9-1 09:30 | 显示全部楼层
886用C写代码完全没问题,没必要折腾了,C编译器会帮你完成这些事情。
NE5532 发表于 2014-9-2 16:30 | 显示全部楼层
可以写汇编,但是楼主的问题就在不仔细,中文都要写错,何况程序呢?
 楼主| 睡神耗子 发表于 2014-12-6 11:15 | 显示全部楼层
NE5532 发表于 2014-9-2 16:30
可以写汇编,但是楼主的问题就在不仔细,中文都要写错,何况程序呢?

嗯。拼音输入法,没注意
程序用C写了。
习惯写C了,汇编只实现基本的功能。谢
 楼主| 睡神耗子 发表于 2014-12-6 11:15 | 显示全部楼层
yewuyi 发表于 2014-9-1 09:30
886用C写代码完全没问题,没必要折腾了,C编译器会帮你完成这些事情。

嗯。用C写了。
十分感谢
wangch_sh 发表于 2014-12-9 11:09 | 显示全部楼层
保护W寄存器,保护状态寄存器,保护PCLATH寄存器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

118

帖子

0

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