#include<reg51.h>
#include<absacc.h>
sbit display1=P2^3;
sbit display2=P2^2;
sbit display3=P2^1;
sbit CLK=P2^4;
sbit ST=P2^5;
sbit EOC=P2^6;
sbit OE=P2^7;
unsigned char map[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(unsigned int time){
unsigned int j;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void display(unsigned int n){
display1=0;
P0=map[n%10];
delay(10);
display1=1;
delay(10);
display2=0;
P0=map[n%100/10];
delay(10);
display2=1;
delay(10);
display3=0;
P0=map[n/100];
delay(10);
display3=1;
}
time0() interrupt 1{
CLK=!CLK;
}
void main(){
unsigned int map1;
TMOD = 0x02;
TH0=206;
TL0=206;
EA=1;
ET0=1;
TR0=1;
ST=0;
ST=1;
while(1){
ST=0;
ST=1;
ST=0;
while(EOC==0){
OE=1;
map1=P1;
display(map1);
OE=0;
}
}
}
完全基于C语言编程,非总线设计,改过很多次,有部分地方累赘【上传保存文件以防未来使用】