📄 adc0804.c
字号:
/*****************************************************************/
/* */
/*名称: AD转换+显示程序 */
/*功能: 读取当前输入的转换电压,由P1显示出来。 */
/*难度等级: 中 */
/* 作者: 51kaifa */
/* 版权: http://www.51kaifa.com */
/*编写日期: 2006.05.19 */
/*****************************************************************/
#include<reg52.h>
#define uchar unsigned char
//uchar dispbuf[8]; //显示缓冲区
//数码管显示的段码表
//uchar code table[18] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit _Led1 = P0^0; //对应CPU管脚P1.0
sbit _Led2 = P0^1; //对应CPU管脚P1.1
/*****************************延时函数**************************/
void delay (unsigned int us)
{
while(us--);
}
/******************************显示+读键*************************/
/*void ledscan()
{ unsigned char i;
P2 = 0XEF;
for(i=0;i<2;i++){
P0 = table[dispbuf[i]]; //取一行显示数据
delay(200);
P2 <<=1;
}
P2 = 0XFF;
}*/
/*******************0804转换程序********************/
void ADC0804(void)
{ uchar adc0804value;
P1 = 0xff;//向ADC0804发任何数据,0804开始转换
WR = 0;
WR = 1;
delay(300);//等待转换完成
RD = 0;
adc0804value=P1;//读取转换后的值
RD = 1;
delay(100);
_Led1 = 0; //点亮LED1,熄灭LED2,LED3,LED4
_Led2 = 1;
//dispbuf[1] = (uchar)(adc0804value*0.365)/10; //10
//dispbuf[0] = (uchar)(adc0804value*0.365)%10; //1
}
/*******************************主函数***********************/
main()
{ uchar i;
// for(i=0;i<8;i++)
// dispbuf[i] = 17;
while(1){
for(i=0;i<10;i++)
ledscan(); //显示,读键扫描
ADC0804();
}
}
/********************************结束************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -