PIC 外部中斷INT0
#include
__CONFIG(1,XT) ; //晶振為外部4M
__CONFIG(2,WDTDIS) ; //看門狗關(guān)閉
__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++);
}
//中斷函數(shù)
void interrupt k(void)
{
if(INT0IF==1) //判斷是否產(chǎn)生中斷
{
INT0IF=0;
num=-1;
}
}
void display()
{
PORTD=shuma[num];
delayms(700);
}
void main(void)
{
ADCON1=0X06;
TRISD=0B00000000;
IPEN=0; //關(guān)閉中斷優(yōu)先級
GIEL=0; //禁止所有外設(shè)中斷
INTEDG0=0; //外部中斷0用下降沿觸發(fā)
INT0IE=1; //使能外部中斷0
GIE=1; //開總中斷
num=0;
while(1)
{
display();
num++;
if(num>9)
num=0;
}
}
評論