A/D #include <reg51.h> #define uchar unsigned char #define uint unsigned int uchar code LEDData[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; sbit OE=P2^7; sbit EOC=P2^6; sbit START=P2^5; sbit CLK=P2^4; sbit ALE=P2^5; void Delay(uint count) { uchar i; while(count--) for(i=0;i<120;i++); } void Display_Result(uchar num) { num=num*5/255; P2 = 0xf7; //FB=1111 0111 P0 = LEDData[num%10]; Delay(5); P2 = 0xfb; P0 = LEDData[num%100/10]; Delay(5); P2 = 0xfd; P0 = LEDData[num/100]; Delay(5); } void main(void) { TMOD = 0x02; TH0 = 206; TL0 = 206; TR0=1; EA=1; ET0=1; ALE=0; ALE=1; while(1) { START = 0; START= 1; START = 0; while(EOC==0); OE = 1; Display_Result(P1); OE = 0; } } void Timer0_INT() interrupt 1 { CLK = !CLK; }
|