51系列单片机的按键中断控制程序

2025-03-07 11:06:36
推荐回答(3个)
回答1:

void External_Interrupt_0() interrupt 0
{
Count_A = ~ Count_A;
LED1 = ~ LED1;
}
你用外部中断0,是否是想按住按键时就停在哪里,是就这样改一下!void External_Interrupt_0() interrupt 0
{
Count_A = ~ Count_A;
LED1 = ~ LED1; while(!P32);
}
假如P32按下时下降沿或低电平触发,进入外部中断,执行完2条指令取反后,一直等待按键松开。

回答2:

程序问题、

回答3:

#include
unsigned char xs_d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

sbit LED=P2^0;
unsigned char a,s;
yanshi(unsigned int k)
{
unsigned int i,j;
for(i=0;i for(j=0;j<125;j++);
}xs_hs()
{

P0=xs_d[s];
yanshi(1000);

}
main()
{ EA=1;
IT0=1;
EX0=1;
while(1)
{ switch(a)
{
case 0:s++;
if(s>9)s=0;
LED=1;
break; case 1:s=s;
LED=0;
break;

}
xs_hs();
} } INT_0()interrupt 0
{
if(INT0==0)a++;
if(a>1)a=0;
}