PIC 外部中断INT0

2019-04-15 13:33发布

外部中断INT0就是在外部条件满足的情况下,简单的讲,就是对单片机内部的一个寄存器INT0IF会制1的操作
#include __CONFIG(1,XT) ;         //晶振为外部4M __CONFIG(2,WDTDIS) ;     //看门狗关闭 __CONFIG(4,LVPDIS) ;     //禁止低电压编程 #define uchar unsigned char #define uint unsigned int
char shuma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; char num=0;
void delayms(uint x) { uint i,j; for(i=0;i<=110;i++) for(j=0;j<=x;j++); }
//中断函数 void interrupt k(void) { if(INT0IF==1) //判断是否产生中断 { INT0IF=0; num=-1; } }
void display() { PORTD=shuma[num]; delayms(700); }
void main(void) { ADCON1=0X06; TRISD=0B00000000; IPEN=0; //关闭中断优先级 GIEL=0; //禁止所有外设中断 INTEDG0=0; //外部中断0用下降沿触发 INT0IE=1; //使能外部中断0 GIE=1; //开总中断 num=0; while(1) { display(); num++; if(num>9) num=0; } }