单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院
uchar Count = 0; //延时1ms*i void Delay(uint i) { uchar x,j; for(j=0;j
}
void Time0_Init() { TMOD = 0x11; TH0 = 0x4c; TL0 = 0x00; TH1 = 0xff; TL1 = 0x9c; IE = 0x8a; TR0 = 1; TR1 = 1;
}
void Time0_Int() interrupt 1 { TH0 = 0x4c; TL0 = 0x00; Count++;
//长度加1
}
void Time1_Int() interrupt 3 { TH1 = 0xff;
TL1 = 0x9c;
clk=~clk;
第 22
页
单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院
}
void Display() {
P1=0xfe;
P3= table[shuju[0]]; Delay(1); P1=0xfd;
P3=table[shuju[1]]; Delay(1); P1=0xfb;
P3=table[shuju[2]]; Delay(1); P1=0xf7;
P3= table_d[shuju[3]]; Delay(1); }
void main(void) {
bell=0; light=0; ADDB=0; ADDC=0; Time0_Init(); while(1) {
if(Count<=20 ) { ADDA=1;
}
else
第 23
页
单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院
{ ADDA=0; if(Count==40 ) Count=0;
}
OE=0;
START=0;
START=1;
START=0;
while(EOC==0); P0=0xff; OE=1; getdata=P0;
OE=0;
getdata=getdata*49/25; shuju[0]=getdata/1000; shuju[1]=(getdata0);
shuju[2]=getdata/10;
shuju[3]=getdata/100; if(shuju[3]<5) {
bell=0;
light=0; } else
{ bell=1;
light=1; } Display(); }
}
第 24
页