先贴上我的程序:
/*
单片机:PIC16F690
功 能:INT中断测试
*/
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
//--------------------
//主程序
void main()
{
OPTION=0X00; //INT 引脚的下降沿触发中断
TRISA=0X0F; //A2为中断口
TRISB=0X00; //
TRISB=0X00;
INTE=1; //INT 外部引脚中断允许位
GIE=1; //开放全局中断
PEIE=1; //使能外部中断
PORTB=0X00;
while(1)
{
}
}
//中断函数
void interrupt INT(void)
{
if(INTE && INTF) //判断是否为外部中断
{
INTF=0;
PORTB=0X40;; //RB6仅仅应该没有出现了高脉冲,就又恢复为低电平了,怎么回事呢? ?
}
}
以上程序好像是进不了中断,是否设置有问题?
公司里现在开始使用PIC单片机,望高手指点指点!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
可能是中断函数不对吧。
改成void _ISR _INT(void)试试,还应该在前面先声明一下。
一周热门 更多>