按鈕按下後燈泡換切換觸發I/O埠低電位。
程式如下 :
#include <reg52.h>
unsigned char LED_P1=0x15;//P1二進制10101。
unsigned char LED_P2=0x06;//P2二進制110。
void delay(unsigned int);
char a;
void main()
{
SP=0x60;
EA=1;//打開中斷功能。
EX0=1;//外部中斷0。
IT0=1;//負緣觸發。
a=1;//按鈕預設1,功能等同Boolean。
while(1)
{
if(a==1){//按下次數雙數狀態。
P1=~LED_P1;
P2=LED_P2;
}
if(a==0){//按下次數單數狀態。
P1=LED_P1;
P2=~LED_P2;
}
delay(10000);
}
}
void delay( unsigned int count)
{
unsigned int i;
for(i=0;i<count;i++);
}
void EX0_INT(void) interrupt 0 //外部中斷0的function,按鈕狀態切換。
{
a=!a;
}
沒有留言:
張貼留言