1、51单片机数字电压表课程设计指导教师:么么哒班级:电气工程及其自动化12(1)班姓名:Gentle Van1PPT课件1.数字电压表简介2.设计要求3.ADC0809简介4.程序设计及仿真5.实物制作与感悟2PPT课件1.1.数字电压表简介数字电压表简介数字电压表定义:数字电压表(Digital Voltmeter,DVM)是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表数字电压表特点:显示清晰直观、读数准确 准确度高、分辨率高 测量范围宽、扩展能力强 抗干扰能力强等3PPT课件2.2.设计要求设计要求此次课程设计的设计要求是:利用AT89C52
2、与A/D转换器ADC0809设计一个数字电压表,使其能够测量05v直流电压,4位数码管显示。4PPT课件3.ADC08093.ADC0809简介简介ADC0809仿真引脚图8路模拟输入,通过 3 根 地 址 线ADDA、ADDB、ADDC来选通一路模拟通道选择地址信号,ADDA为低位,ADDC为高位A/D转换后的数据输出正负参考电压输入端地址锁存允许信号,高电平有效输出允许信号,高电平有效时钟脉冲信号A/D转换启动信号,正脉冲有效转换结束信号,高电平有效1.ADC0809:是采样分辨率为8位的、以逐次逼近原理进行A/D转换的器件。5PPT课件3.ADC08093.ADC0809简介简介ADC0
3、809时序图2.ADC0809时序图分析6PPT课件4.4.程序设计及仿真程序设计及仿真1.程序设计流程图开始选择ADC0809的转换通道开始设置定时器,为ADC0809提供时钟信号启动A/D转换转换是否结束?否输出转换结果数值转换显示是7PPT课件4.4.程序设计及仿真程序设计及仿真2.C语言程序源代码#include#includesbit EOC=P26;sbit START=P25;sbit OE=P27;sbit CLK=P24;long int a;int b,c,d,e,f,g;/定义长度为7的字符串unsigned char code table=0 x3f,0 x06,0 x
4、5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x80;void delay_display(unsigned int z)/延时子程序unsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-);8PPT课件4.4.程序设计及仿真程序设计及仿真2.C语言程序源代码void ADC0808()if(!EOC)/如果EOC为低电平,则产生一个脉冲,脉冲的下降沿用于启动A/D转换 START=0;START=1;START=0;while(!EOC);/等待A/D转换结束 START=1;/转换结束后,再产生一个脉冲,
5、脉冲下降沿用于将EOC设置为低电平,为下一次转换做准备 START=0;while(EOC);9PPT课件4.4.程序设计及仿真程序设计及仿真2.C语言程序源代码void bianma()START=0;ADC0808();a=P1*100;a=a/51;void yima()b=a/1000;/取出千位c=a-b*1000;/取出百、十、个位d=c/100;/取出百位e=c-d*100;/取出十、个位f=e/10;/取出十位g=e-f*10;/取出个位10PPT课件4.4.程序设计及仿真程序设计及仿真2.C语言程序源代码void display()/显示子程序P2=0 xfe;P0=tabl
6、eb;delay_display(1);P2=0 xfd;P0=tabled;delay_display(1);P2=0 xfd;P0=table10;delay_display(1);P2=0 xfb;P0=tablef;delay_display(1);P2=0 xf7;P0=tableg;delay_display(1);11PPT课件4.4.程序设计及仿真程序设计及仿真2.C语言程序源代码void main()EA=1;TMOD=0X02;TH0=216;TL0=216;TR0=1;ET0=1;while(1)bianma();yima();display();void t0()interrupt 1 using 0CLK=CLK;12PPT课件4.4.程序设计及仿真程序设计及仿真3.Proteus仿真13PPT课件4.4.程序设计及仿真程序设计及仿真3.Proteus仿真滑动变阻器在100%位置时14PPT课件4.4.程序设计及仿真程序设计及仿真3.Proteus仿真滑动变阻器在80%位置时15PPT课件4.4.程序设计及仿真程序设计及仿真3.Proteus仿真滑动变阻器在50%位置时16PPT课件4.4.程序设计及仿真程序设计及仿真3.Proteus仿真滑动变阻器在0%位置时17PPT课件5.附件:proteus仿真源文件+c语言源程序18PPT课件