ADC0804模数转换
时间:01-05 16:43 阅读:7958次
*温馨提示:点击图片可以放大观看高清大图
简介:从ADC0804 的模拟量通道输入0-5V 之间的模拟量,通过ADC0804 转换成数字量送给单片机,经单片机处理后在数码管上以十进制形成显示出来。本文介绍了ADC0804 模数转换51单片机程序及电路图。
51单片机驱动 adc0804模数转换 ,下面是电路图
#include<reg51.h>
#include "lcd.h"
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar lcd[]="0123456789";
sbit rd=P3^6; //IO口定义
sbit wr=P3^5;
sbit cs=P3^7;
read_adc0804()//控制并读取adc0804转换好的数据
{
uchar a; //写入控制命令,启动转换
cs=1;
wr=1;
cs=0;
wr=0;
_nop_();
wr=1;
P1=0xff; //读取已转换好的数据
rd=1;
rd=0;
_nop_();
a=P1;
rd=1;
cs=1;
return a;
}
void main()
{
uchar a,A1,A2,A3;
lcd_init();
while(1)
{
a=read_adc0804();
A1=a/100; //分出百,十,和个位
A2=a%100/10;
A3=a%10;
lcd_busy();
lcd_xy(3,0);
lcd_write_dat(lcd[A1]);
lcd_busy();
lcd_xy(4,0);
lcd_write_dat(lcd[A2]);
lcd_busy();
lcd_xy(5,0);
lcd_write_dat(lcd[A3]);
}
}