编写程序利用PC机控制单片机实验板上的数码管设备工作
在pc上输入fe,第一个数码管显示1.
在pc上输入fa第五个数码管显示5
程序:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp;
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int main(void)
{
SCON=0x50;
PCON=0X00;
TMOD=0X20;
EA=1;
ES=1;
TH1=0XFD;
TL1=0XFD;
TR1=1;
while(1);
}
void int1(void) interrupt 4
{
ES=0;
if(RI)
{
RI=0;
temp=SBUF;
switch(temp)
{
case 0xff : P0=led[0],P2=0xfe;break;
case 0xfe : P0=led[1],P2=0xfd;break;
case 0xfd : P0=led[2],P2=0xfb;break;
case 0xfc : P0=led[3],P2=0xf7;break;
case 0xfb : P0=led[4],P2=0xef;break;
case 0xfa : P0=led[5],P2=0xdf;break;
case 0xf9 : P0=led[6],P2=0xbf;break;
case 0xf8 : P0=led[7],P2=0x7f;break;
case 0xf7 : P0=led[8],P2=0xfe;break;
case 0xf6 : P0=led[9],P2=0xfd;break;
}
}
ES=1;
}