📄 adc0808.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code discode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchar code disbitcode[]={0x01,0x02,0x04};
uchar disbuf[3]={0,0,0};
uchar getdata=0;
uchar count=0;
float airtemp;
sbit ST=P3^2;
sbit EOC=P3^1;
sbit OE=P3^0;
void delay_1ms();
void delay_nms(uchar n);
void display(float datatemp);
void main()
{
while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P1;
OE=0;
airtemp=getdata;
display(airtemp);
}
}
void display(float datatemp)
{
uchar i;
uint temp;
temp=datatemp;
disbuf[0]=temp/100;
disbuf[1]=temp%100/10;
disbuf[2]=temp%10;
for(i=0;i<3;i++)
{
P2=disbitcode[i];
if(i==1)
P0=discode[disbuf[i]]+0x80;
else
P0=discode[disbuf[i]];
delay_nms(2);
}
}
void delay_1ms(void)
{
uchar i;
for(i=0;i<150;i++)
{
}
}
void delay_nms(uchar n)
{
uchar i;
for(i=0;i<n;i++)
delay_1ms();
}
void display(float datatemp)
{
uint temp;
temp=datatemp*10;
disbuf[0]=temp/100;
disbuf[1]=temp%100/10;
disbuf[2]=temp%10;
P2_0=1;
P2_1=0;
P2_2=0;
P0=discode[disbuf[0]];
// delay_nms(2);
P2_0=0;
P2_1=1;
P2_2=0;
P0=discode[disbuf[1]];
//delay_nms(2);
P2_0=0;
P2_1=0;
P2_2=1;
P0=discode[disbuf[2]];
//delay_nms(2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -