1、问题
使用AT89C52单片机进行仿真,需要一个按键(button),一个共阳极数码管(7-SEG),数码管的开头关键字一般是以数字+SEG开头,比如7SEG-XXX,后缀-CA表示common A=共阳极,-CC表示共阴极。
2、代码
#include<reg52.h>
#define uchar unsigned char
uchar code tab[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
uchar count=0;
sbit key1=P3^2;
void Init_interrupt();
void main(){
Init_interrupt();
while(1);
}
void Init_interrupt(){
EX0=1; //定时/计数器T0中断控制位。ET0=1,允许T0中断;
IT0=1; //INT0触发方式控制位,可由软件进行置位和复位。IT0=1时,INT0为负跳变触发方式。
EA=1; //中断总控制位。EA=1,CPU开放所有中断;
}
void isr_interrupt0() interrupt 0
{
P0=tab[count];
count++;
if(count==10)
{
count=0;
}
}
3、仿真
按键按下数码管依次显示0—9