用单片机控制AD0804

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ADC0804引脚功能ADC0804为一只具有20引脚8位CMOS连续近似的A/D转换器,其规格如下:(1)高阻抗状态输出(2)分辨率:8位(0~255)(3)存取时间:135ms(4)转换时间:100ms(5)总误差:-1~+1LSB(6)工作温度:ADC0804C为0度~70度;ADC0804L为-40度~85度(7)模拟输入电压范围:0V~5V(8)参考电压:2.5V(9)工作电压:5V(10)输出为三态结构1.接脚说明见下图三:2.PIN1(CS):ChipSelect,与RD、WR接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low)时会active。3.PIN2(RD):Read。当CS、RD皆为低位准(low)时,ADC0804会将转换后的数字讯号经由DB7~DB0输出至其它处理单元。4.PIN3(WR):启动转换的控制讯号。当CS、WR皆为低位准(low)时ADC0804做清除的动作,系统重置。当WR由0→1且CS=0时,ADC0804会开始转换信号,此时INTR设定为高位准(high)。5.PIN4、PIN19(CLKIN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100kHz至800kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLKR及CLKIN加上电阻及电容,则可产生ADC工作所需的时序,其频率约为:6.PIN5(INTR):中断请求。转换期间为高位准(high),等到转换完毕时INTR会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。7.PIN6、PIN7(VIN(+)、VIN(-)):差动模拟讯号的输入端。输入电压VIN=VIN(+)-VIN(-),通常使用单端输入,而将VIN(-)接地。8.PIN8(AGND):模拟电压的接地端。9.PIN9(VREF∕2)︰模拟参考电压输入端。VREF为模拟输入电压VIN的上限值。若PIN9空接,则VIN的上限值即为VCC。10.PIN10(DGND)︰数字电压的接地端。11.PIN11~PIN18(DB7~DB0)︰转换后之数字数据输出端。12.PIN20(Vcc)︰驱动电压输入端。图1ADC0804引脚图图2AD0804基本电路实验六单通道电压采集系统一、实验目的:掌握AD0804的工作原理及使用方法。二、实验要求:设计电路,通过调节滑动变阻器改变电压,在LCD液晶屏上显示其相应的电压值,要求电压精确到小数点后第四位,显示格式为,LCD第一行为“TheVoltageis”,第二行为电压值,单位为“V”。三、实验原理:通过在KeilC51中对单片机AT89C52进行编程,硬件电路中单片机与ADC0804及LCD显示屏连接。P0与ADC0804相连接,P2与LCD连接。通过start()子程序启动ADC0804,通过init()子程序初始化LCD。模拟信号通过ADC0804的VIN+引脚输入到ADC0804中转换为数字信号,P0获得此数字量后,经过处理得到每位的数据后,通过P2口写数据到LCD屏上。四、实验电路图五、程序代码:/*设计电路,通过调节滑动变阻器改变电压,在LCD液晶屏上显示其相应的电压值,要求电压精确到小数点后第四位,显示格式为,LCD第一行为TheVoltageis,第二行为电压值,单位为V。*/#includereg52.h#defineucharunsignedchar#defineuintunsignedintsbitlcdrs=P3^0;sbitlcden=P3^1;sbitwrad=P3^6;sbitrdad=P3^7;uinttemp,wan,qian,bai,shi,ge,num;ucharcodetable[]=0123456789.;//显示数字ucharcodetable1[]=TheVoltageis;voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=100;y0;y--);}voidstart()//AD启动{wrad=1;wrad=0;wrad=1;}voidwrite_command(ucharcom)//lcd写命令{lcdrs=0;P2=com;delay(2);lcden=1;delay(2);lcden=0;}voidwrite_data(uchardate)//lcd写数据{lcdrs=1;P2=date;delay(2);lcden=1;delay(2);lcden=0;}voidinit()//lcd初始化{lcden=0;write_command(0x38);//设置16x2显示write_command(0x0c);//设置光标write_command(0x06);//写字符指针加1,光标加1write_command(0x01);//清屏}voidmain(){init();//LCD初始化write_command(0x80);//LCD写地址for(num=0;num14;num++){write_data(table1[num]);delay(5);}while(1){start();//启动ADdelay(1);rdad=0;//rd低脉冲读数据delay(1);temp=P0;wan=(temp*50000/255)/10000;//区分百十个,为LCD写作准备,最高位255*50000/255=5.0000Vqian=(temp*50000/255)%10000/1000;bai=(temp*50000/255)%1000/100;shi=(temp*50000/255)%100/10;ge=(temp*50000/255)%10;write_command(0x80+0x40);//LCD写地址write_data(table[wan]);delay(1);write_data(table[10]);delay(1);write_data(table[qian]);delay(1);write_data(table[bai]);delay(1);write_data(table[shi]);delay(1);write_data(table[ge]);delay(1);write_data('V');delay(1);}}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功