#include <reg52.h> #define uint unsigned int #define uchar unsigned char
uchar code LEDData[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; sbit OE = P1^0; sbit EOC = P1^1; sbit ST = P1^2; sbit CLK = P1^3; sbit DA = P1^4; sbit DB = P1^5; sbit DC = P1^6;
void DelayMS(uint ms) { uchar i; while(ms--) { for(i=0;i<120;i++); } }
void Display_Result(uchar d) { uint d1; d1=d*500.0/255; P2 = 0xf7; P0 = LEDData[d1%10]; DelayMS(5); P2 = 0xfb; P0 = LEDData[d1%100/10]; DelayMS(5); P2 = 0xfd; P0 = LEDData[d1/100]; DelayMS(5); }
void main() { TMOD = 0x02; TH0 = 0x14; TL0 = 0x14; IE = 0x82; TR0 = 1; P1=0x3f; while(1) { ST = 0; ST = 1; ST = 0; while(EOC == 0); OE = 1; Display_Result(P3); OE = 0; } }
void Timer0_INT() interrupt 1 { CLK = !CLK; }
|