- #include <reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit st= P1^0;
- sbit eoc= P1^1;
- sbit oe= P1^2;
- unsigned int a;
- unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- void delay(unsigned int j)
- { while(j--);}
- void display()
- { unsigned char i,wk=0x01;
- unsigned char buf[3];
- buf[0]=seg[a%10];
- buf[1]=seg[a/10%10];
- buf[2]=seg[a/100];
- for (i=0;i<3;i++)
- { P3=wk;
- P2=buf[i];
- delay(100);
- wk=wk<<1;
- P2=0xff;
- P3=0x04;
- P2=0x7f;
- delay(100);
- P2=0xff;}
- }
- void main()
- {P1=0x8f;
- while(1)
- {st=0;
- st=1;
- delay(1);
- st=0;
- while(eoc==0);
- oe=1;
- P0=0xff;
- a=P0;
- a=(a*100)/51;
- display();
- oe=0;
- }
- }
复制代码 |