打印
[PIC®/AVR®/dsPIC®产品]

PIC452外部中断进不去

[复制链接]
887|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2022-2-19 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-2-22 16:37 编辑

开了两个中断,一个定时,另一个为外部中断,

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;
}

使用特权

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

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

使用特权

评论回复
板凳
dengdc| | 2022-2-19 16:08 | 只看该作者
你这个是PIC什么型号?没这个型号啊.

使用特权

评论回复
地板
xxrs| | 2022-2-19 16:13 | 只看该作者
还有个PEIE: Peripheral Interrupt Enable bit, 你是不是没打开??

使用特权

评论回复
5
yszong|  楼主 | 2022-2-19 16:15 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
6
pzsh| | 2022-2-22 16:37 | 只看该作者
具体型号? 查了下PIC16F452,无此料号

使用特权

评论回复
7
tpgf| | 2022-3-7 20:39 | 只看该作者
换一个io口也不行吗

使用特权

评论回复
8
zljiu| | 2022-3-7 20:45 | 只看该作者
中断使能是不是没有打开啊

使用特权

评论回复
9
tfqi| | 2022-3-7 20:57 | 只看该作者
还有就是总中断也要开启

使用特权

评论回复
10
nawu| | 2022-3-7 21:06 | 只看该作者
检查一下中断向量是否已经屏蔽了

使用特权

评论回复
11
drer| | 2022-3-7 21:27 | 只看该作者
代码的问题的啊  

使用特权

评论回复
12
qcliu| | 2022-3-7 21:45 | 只看该作者
呵呵 都是低级错误啦

使用特权

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

本版积分规则

830

主题

11379

帖子

4

粉丝