|
发表于 2023-6-2 19:10:11
|
显示全部楼层
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit START=P3^0;
sbit OE=P3^1;
sbit EOC=P3^3;
uchar code duan[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
unsigned char code duan1[]= //带数码点的段显示
{
0x40,0x79,0x24,0x30,
0x19,0x12,0x02,0x78,
0x00,0x10
};
void delay(void) //10ms
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void led( get_value)
{
P2=0xf7;
P1=duan[get_value/1000];
delay();
P2=0xfb;
P1=duan[get_value/100%10];
delay();
P2=0xfd;
P1=duan1[get_value/10%10];
delay();
P2=0xfe;
P1=duan[get_value%10];
delay();
P1=0xff;
}
void main(void)
{
float get_value;
START=0;
OE=0;
START=1;
START=0; //启动转换
while(1)
{
if(EOC==1);
{OE=1;
get_value = P0;
OE=0;
get_value =get_value*3.92157 ;
led();
}
}
}
|
|