#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit OE=P3^0;
sbit OPEN=P3^1;
sbit EOC=P3^2;
sbit A_da=P3^3;
sbit B_da=P3^4;
sbit C_da=P3^5;
void PC();
uint in=0;
uchar r[4];
uchar a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar duan[]={0x01,0x02,0x04,0x08};
void delay1ms(uint m){
uint i,j;
for(i=0;i<m;i++)
for(j=0;j<110;j++);
}
void main(){
EA=1;
IT0=1;
EX0=1;
while(1){
OPEN=0;
A_da=0;
B_da=0;
C_da=0;
OPEN=1;
OPEN=0;
delay1ms(5);}
}
void InT0(void) interrupt 0{
uchar m;
OE=1;
in=P1;
in=in*1.96; //将数据转换为十进制(5V/256约等于1.96)
OE=0;
r[0]=a[in%10];
r[1]=a[in/10%10];
r[2]=a[in/100%10];
r[3]=a[in/1000];
for(m=0;m<200;m++){
PC();}
}
void PC(){
P2=duan[0];
P0=r[3];
delay1ms(1);
P2=0x00;
P2=duan[1];
P0=r[2]+128;
delay1ms(1);
P2=0x00;
P2=duan[2];
P0=r[1];
delay1ms(1);
P2=0x00;
P2=duan[3];
P0=r[0];
delay1ms(1);
P2=0x00;
}

Is_LiuYiZheng
- 粉丝: 237
- 资源: 2