#include <reg51.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[6];
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
void delay(unsigned int t)
{
unsigned int i;
for (i=t;i>0;i--);
}
void tmchushi()
{ ET0=1;
ET1=0;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
TR1=1;
TR0=1;
}
void disp(void)
{
P1=0x01;
P2=dispcode[dispbuf[0]];
delay(500);
P1=0x02;
P2=dispcode[dispbuf[1]];
delay(300);
P1=0x04;
P2=dispcode[dispbuf[2]]|0x80;
delay(200);
}
void main(void)
{
ST=1;
OE=1;
tmchushi();
ST=0;
ST=1;
while(1)
{
OE=0;
getdata=P0;
OE=1;
temp=getdata*235;
temp=temp/124;
disp();
dispbuf[0]=temp%10;
dispbuf[1]=temp/10%10;
dispbuf[2]=temp/100;
}
}
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
dianya.c.rar_电压表 C51
版权申诉
200 浏览量
2022-09-21
17:54:00
上传
评论
收藏 594B RAR 举报
邓凌佳
- 粉丝: 65
- 资源: 1万+