📄 adc.c
字号:
#include<reg51.h>
#define uchar unsigned char
sbit start=P3^2;
sbit oe=P3^0;
sbit jieshu=P3^1;
sbit P20=P2^0; //显示位
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit a=P3^4; //channel
sbit b=P3^5;
sbit c=P3^6;
sbit speak=P2^5;
sbit shang=P2^6;
sbit xia=P2^7;
uchar code duan[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6f};
void delay_20us(uchar a)
{ uchar time0,i;
for (i=0;i<a;i++)
{
for (time0=0;time0<10;time0++) ;}
}
void channel3()
{a=1;b=1;c=0;}
void st()
{ start=0;
start=1;
start=0;
}
void led(int n) //数码管显示及数据处理程序
{ if(n>200){speak=0;delay_20us(5);speak=1;delay_20us(3);shang=0;}
else {speak=1;shang=1;}
if(n<50){ speak=0;delay_20us(5);speak=1;delay_20us(3);xia=0; }
else {speak=1;xia=1;}
P0 = 0x00;
P0=duan[n % 10]; //个位
P23 = 0;
delay_20us(5);
P23 = 1;
P0 = 0x00;
P0=duan[n / 10 % 10]; //十位
P22 = 0;
delay_20us(5);
P22 = 1;
P0 = 0x00;
P0 =duan[n / 100 % 10]; //百位
P21 = 0;
delay_20us(5);
P21 = 1;
P0 = 0x00;
P0 = duan[n / 1000 % 10]; //千位
P20 = 0;
delay_20us(5);
P20 = 1;
}
void main()
{int value;
while(1)
{
channel3();
st();
do{}while (jieshu==0);
oe=1;
value=P1;
oe=0;
led(value);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -