📄 0809.c
字号:
#include <regX51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char Count,d1,d2,d3,d4;
void delay(void)
{
unsigned int i;
for(i=0;i<2000;i++);
}
void display(void)
{
P2|=0x0f;
P0=table[d1];
P2_0=0;
delay();
P2|=0x0f;
P0=table[d2];
P2_1=0;
delay();
P2|=0x0f;
P0=table[d3];
P2_2=0;
delay();
P2|=0x0f;
P0=table[d4];
P2_3=0;
delay();
P0=0;
P2|=0x0f;
}
void adc_0809(void)
{
unsigned char dd;
P3_3=1;
P3_4=1;
P3_5=1;
P3_2=1;
P3_2=0;
while(P3_1==1);
P3_0=1;
dd=P1;
P3_0=0;
d2=(float)(dd/2500/49);
//d3=((dd*49/25)%100)/10;
// d4=(((dd*49/25)%100)%10);
float a=0;
a=input*vref/255;
}
/*
SETB P3.4
SETB P3.5
CLR P3.6 ;选择ADC0808的通道3
WAIT: CLR ST
SETB ST
CLR ST ;启动转换
JNB EOC,$ ;等待转换结束
SETB OE ;允许输出
MOV ADC,P1 ;暂存转换结果
CLR OE ;关闭输出
MOV A,ADC ;将AD转换结果转换成BCD码
MOV B,#100
DIV AB
MOV LED_2,A
MOV A,B
MOV B,#10
DIV AB
MOV LED_1,A
MOV LED_0,B
LCALL DISP ;显示AD转换结果
SJMP WAIT
*/
void main(void)
{
while(1)
{
display();
adc_0809();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -