打印
[其他产品]

PIC452外部中断进不去的原因?

[复制链接]
672|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alternate|  楼主 | 2020-8-13 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  开了两个中断,一个定时,另一个为外部中断,

void TIMER0INIT()
{
T0CON=0B10001000;//1000 0011,PSA=0,分频16;
TMR0L=0xDC;
TMR0H=0x0B;
//INTCON=0B10100000 ;//GIE=1;TMR0IE=1;TMR0IF=0;(=1须软件清零)     这里有两种方式都对的。
GIE=1;
TMR0IF=0;
TMR0IE=1;
}

使用特权

评论回复
沙发
alternate|  楼主 | 2020-8-13 10:47 | 只看该作者
但是,打开另外一个中断时,为了模块化编程,一般另外建一个函数进行外部中断初始化,然而如果采用寄存器字节形式,编写会带来很**烦,不能正常中断。采用位的形式设置中断,为比较好的方式。如下:

void key_init()
{
//初始化中断
RBIE=0;     //(RB7~4具有电平变化中断功能)RB口电平变化中断禁止
GIE=1;
INTEDG0=0;//下降沿
INT0IF=0;
INT0IE=1;
}

使用特权

评论回复
板凳
alternate|  楼主 | 2020-8-13 10:48 | 只看该作者

使用特权

评论回复
地板
CoolSilicon| | 2020-8-13 11:05 | 只看该作者
1. 你这个是PIC什么型号?没这个型号啊..
2.  还有个PEIE: Peripheral Interrupt Enable bit, 你是不是没打开??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

457

帖子

0

粉丝