AT89S51单片机P1口接有1个7段LED数码管,初始显示为0。外部中断输入引脚INT

0反接有1个按钮开关,该脚平时为高电平。每当开关按钮按下1次时,则产生一个负跳变的外中断请求,使数码管显示增1,当按下第10次时,数码管从9再变为0。求大神给个程序

程序如下:

#include<reg51.h>

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

unsigned char n; //按键计数

void main()

{

EX0=1;

IT0=1; //这是IT0=1,是下降沿中断

EA=1;

n=0;

while(1)

{

    P1=tab[n];

}

}

void int0() interrupt 0  //中断子程序

{

    n++;

    if(n>9)n=0;

}

下图是仿真结果

温馨提示:答案为网友推荐,仅供参考
相似回答