打印
[学习资料]

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

[复制链接]
277|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
functions|  楼主 | 2019-11-8 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  开了两个中断,一个定时,另一个为外部中断,
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;
}
但是,打开另外一个中断时,为了模块化编程,一般另外建一个函数进行外部中断初始化,然而如果采用寄存器字节形式,编写会带来很**烦,不能正常中断。采用位的形式设置中断,为比较好的方式。如下:
void key_init()
{
//初始化中断
RBIE=0;     //(RB7~4具有电平变化中断功能)RB口电平变化中断禁止
GIE=1;
INTEDG0=0;//下降沿
INT0IF=0;
INT0IE=1;
}

使用特权

评论回复
沙发
天灵灵地灵灵| | 2019-11-8 18:03 | 只看该作者
原来如此,以为楼主提问呢,原来分享经验呢。

使用特权

评论回复
板凳
天灵灵地灵灵| | 2019-11-8 18:03 | 只看该作者
多谢经验,现在用MCC方便多了,管他怎么搞寄存器,图形化工具就帮忙搞定了。

使用特权

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

本版积分规则

39

主题

446

帖子

1

粉丝