电子测量课程设计_第1页
电子测量课程设计_第2页
电子测量课程设计_第3页
电子测量课程设计_第4页
电子测量课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一摘要2二原理简介32.1ADC080932.2转换原理32.3电压频率转换法6三 8OC51单片机引脚831ADC0809引脚功能93.2转换图表103.3 ADC0809内部结构113.4 DC0809与80C51的接口123.5 ADC0809应用说明143.6 ADC0809编程方法14四 软件设计14五 路仿真原理图19六器件清单21七参考文献21一摘要基于51单片机的数字电压表设计表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指

2、示仪表的数字化以及自动测量的系统,而得到了很大的发展。数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。以后,DVM的发展就着眼在高精度和低成本两个方面。单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。本电路主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的05 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0809来完成

3、,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。关键词: 单片机 数字电压表 AT89S51 A/D转换 ADC0809二原理简介2.1ADC08091.ADC0809转换芯片,LCD1602液晶显示,测量范围0-5V,精度误差0.01V2数字电压表的方案有很多种,有的采用ADC0809,或者ADC0808等,他们都是8温AD,并口传输数据,具有速率高的优点。但是硬件复杂,与单片机电路繁琐,焊接起来比较麻烦。所

4、以本设计采用ADC0832,同样8位AD,特点是串口传输数据,硬件接口简单,且精度误差一致,速率也比较快,对于要求不高的系统非常适合。3显示电路,网上采用LED显示居多,本设计采用LCD1602液晶显示,具有硬件搭设简单,显示美观等优点4本设计方便移植,只需将LCD1602三个控制端口,ADC0832 四个控制端口修改即可。注意LCD1602数据传输接口是单片机的P0口,如下图,需要接上拉电阻2.2转换原理模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。A/D转换器的工作原

5、理主要介绍以下三种方法:(1). 逐次逼近法逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。图1.1 逐次逼近法原理逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 o,与送入比较器的待转换的模拟量i进行比较,若oi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 o再与i比较,若oi,该位1被保留,否则被清除。 (2)双积分法采用双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成。如图1.2

6、所示。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。 双积分法图1.2 双积分式A/D转换的原理框双积分法A/D转换的过程是:先将开关接通待转换的模拟量i,i采样输入到积分器,积分器从零开始进行固定时间的正向积分,时间到后,开关再接通与i极性相反的基准电压F,将F输入到积分器,进行反向积分,直到输出为0V时停止积分。i越大,积分器输出电压越大,反向积分时间也越长。计数器在反向积分时间内所计的数值,就是输入模拟电压i所对应的数字量,实现了A/D转换。2.3电压频率转换法采用电压频率转换法的A/D转换器,由计数器、控制门及一个具有恒定的时钟门控制信

7、号组成,如图1.3所示:图1.3电压频率转换法原理电压频率转换法的工作过程是:当模拟电压V/I加到V/F的输入端,便产生频率F与Vi成正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入电压Vi,从而完成A/D转换。(1)ADC性能参数目前的实时信号处理机要求ADC尽量靠近视频、中频甚至射频,以获取尽可能多的目标信息。因而,ADC的性能好坏直接影响整个系统指标的高低和性能好坏,从而使得ADC的性能测试变得十分重要,表征ADC性能的参数,由于尚无统一的标准,各主要器件生产厂家在其产品参数特性表中给出的也不完全一致。一般来说,可以分为静态特性和动态特性参数。(2)AD

8、C静态特性ADC的静态特性是指其与时间特性无关的特性,主要包括以下几类:1) 分辨率ADC的分辨率定位为二进制末位变化1所需的最小输入电压与参考电压的比值,即ADC能够分辨的最小的模拟量的变化。2) 量化误差量化电平定义为满量程电压(或满度信号值)UFSR与2的N次幂的比值,其中N位被数字化的数字信号的二进制位数。量化电平一般用Q表示。3) 全输入范围和动态范围全输入范围是指允许输入模拟信号的最大值与最小值之差;动态范围是指全输入范围与ADC最小可分辨的量值之比。4) 偏置误差和增益误差ADC的偏置误差定义为使最低位被置成“1”状态时ADC的输入电压与理论上使最低位被置成“1”状态时的输入电压

9、之差。当偏置误差高速为零之后,输出为全1时对应的实际输入电压与理想输入电压之差。(3)ADC动态特性高速ADC的动态特性是指输入为交变简谐信号时的性能技术指标,它是与ADC的操作速度有关的特性。其主要技术指标如下:1) 转换时间、采集时间转换时间是指从信号开始转换到可获得完整的信号输出所用的时间,它是高速ADC的一项重要指标。采集时间是指采样保持电路在采样模式下能够保证其在随之到来的保持模式输出在采样保持转换时,相对该时刻存在的输入电平之间的误差将会限制在一定的误差范围内所需的时间。2) 频率响应它是冲击响应的傅立叶变换,其最佳表达方式是幅频与相频曲线,从系统辨识的角度看这是在频域对ADC动态

10、线性特性的非参数模型描述。3) 动态积分非线性误差和动态微分非线性误差动态积分非线性误差(INL)定义为在动态情况下(一般输入信号为正弦信号),ADC实际转换特性曲线之间的最大偏差。每个数码的偏差都是由那个数码的中心值来度量的。动态微分非线性误差(DNL)定义为在动态情况下(一般输入信号为正弦信号),ADC实际转换特性的码宽(1LSB)与理想代码宽度之间的最大偏差,单位为LSB。为了保证ADC不失码,通常规定在25oC时最大DNL为 1/2LSB。4) 信噪比、信噪失真比和有效位数信噪比(SNR)是信号电平的有效值与各种噪声(包括量化噪声、热噪声、白噪声等)有效值之比的分贝数。其中信号是指基波

11、分量的有效值,噪声指奈奎斯特频率以下的全部非基波分量的有效值(除谐波分量和直流分量外)。5) 小信号带宽和全功率带宽ADC的模拟带宽是指输入扫描频率基波在ADC输出端用FFT分析得到的基波频谱下降到3dB处的带宽(不考虑谐波失真和噪声影响)。根据输入信号幅值不同,模拟带宽又可以分为小信号带宽(SSBW,一般指1/10满量程)和全功率带宽(FPBW,指满量程)。(4)ADC性能测试ADC测试方法主要有两种:模拟方法和数字方法。前者是将A/D采集的数字信号经D/A转换位模拟信号再用传统的测试方法对其进行测试,优点是易于理解,缺点是许多A/D采集卡本身不带D/A,即或有,D/A的性能也将影响A/D指

12、标的测试; 三常用ADC芯片概述A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。三 8OC51单片机引脚图2.1 80C51引脚总线型DIP40引脚封装电源引脚(2个)VCC:接+5V电源。GND:接地端。外接晶体引脚(2个)XTAL1:外接晶振输入端(采用外部振荡器时,此引脚接地)。XTAL2:外接晶振输入端(采用外部振荡器时,此引脚作为外部振荡信号输入端)。并行输入/输出引脚(32个)P0.0P0.7:通用I/O引脚

13、。P1.0P1.7:通用I/O引脚。P2.0P2.7:通用I/O引脚或数据低8位地址总线复用引脚。P3.0P3.7:通用I/O引脚或第二功能引脚(RXD、TXD、INT0、INT1、T0、T1、WR 、 RD)。控制引脚(4个)RST/VPD:复位信号输入引脚/备用电源输入引脚。ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚。EA/VPP:内、外存储器选择引脚/片内EPROM(或Flatiron)编程电压输入引脚。PSEN:片外程序存储器读选通信号输出引脚。31ADC0809引脚功能ADC0809引脚功能做简要说明:IN0IN7:8个模拟量的输入端。D0D7:8位数字量输出端。S

14、TART:启动A/D转换,加正脉冲后A/D转换开始。EOC:转换结束信号。转换开始时,EOC信号变低电平;转换结束时,EOC信号返回高电平。该信号可以作为CPU查询A/D转换是否完成的信号,也可以作为向CPU发出中断申请的信号。OE:输出允许信号,输入高电平有效。OE端的电平由低变高时,转换结果被送到数据线上。此信号有效时,CPU可以从ADC0809中读取数据,同时也可以作为ADC0809的片选信号。CLK:实时时钟,频率范围为10KHZ1280KHZ,典型值为640KHZ。ALE:通道地址锁存允许信号,输入高电平有效。在ALE=1时,锁存ADDAADDC,选中模拟量输入。ADDCADDC:通

15、道地址选择输入,其排列顺序从低到高依次为ADDA 、ADDB、 ADDC。该地址与8个模拟量输入,通道的对应关系如表1所示:VREF+、VREF-正负参考电压。一般情况下,VREF+接+5V,VREF-接地。此时的转换关系如表2所示:VCCGND:工作电源和接地3.2转换图表表1 ADC0809的输入输出关系输入模拟电压输出数字量输入模拟量输出数字量00000 0000B.511112.51000 0000B表2 地址与模拟量通道之间的对应关系ADDCADDBADDA选中通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7CLKSTART3.3

16、ADC0809内部结构模拟量输入IN0IN7控制与时序逐次逼近寄存器SAR树状开关内部电阻网络三态输出锁存缓冲器A8路模拟量选择开关地址锁存 与译码8位A/D转换器电压比较器EOC转换结束数字量输出D0D7D7ADDA ADDB ADDC地址选择地址锁存ALE 图3.2 ADC0809内部结构ADC0809的内部结构如图所示,它包含以下几部分:(1)8路模拟量选择开关根据地址锁存与译码装置所提供的地址,从8个输入的0V5V模拟量中选择一个输出。(2)8位A/D转换器能对所选择的模拟量进行A/D转换。(3)3位地址码的锁存与译码装置对所输入的3位地址码进行锁存和译码,并将地址选择结果送给8路模拟

17、量选择开关。(4)三态输出的锁存缓冲器是TTL结构,负责输出转换的最终结果。此结果可直接连接到单片机的数据总线上。3.4 DC0809与80C51的接口图3.3 80C51与ADC0809的接口图ADC0809与80C51的接口满足ADC0809转换时序的要求,电路如图3.3所示:(1) 地址线与数据线的连接ADC0809内部输出电路有三态缓冲器,所以8位输出数据线可以直接和80C51的P0口相连。它的通道地址选择信号ADDAADDC均经过74LS373锁存,与80C51的P0口中的任意3根I/O口线连接(图中与P0.0、P0.1、P0.2相连)。(2) 时钟信号的连接ADC0809必须外接时

18、钟。该电路中借用80C51的ALE输出。如果80C51的晶振频率太高,则需要对ALE所输出的脉冲进行分频处理。例如,晶振频率采用12MHz时,ALE的频率为2MHz,经过4分频后为500KHz,才能与ADC0809的CLK时钟端相连。(3) 控制信号的连接由于ADC0809的ALE和START均为正脉冲,而且基本同步,所以可以由80C51的P2.0和WR“或非”而成。同理,OE信号也可以由80C51的P2.0和RD“或非”而成。EOC信号经“非”门与80C51的INTI相连,可申请中断。3.5 ADC0809应用说明 (1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

19、 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。ADC0809转换结束的判断方法在ADC0809编写程序时,首要问题是如何判断一次A/D转换何时结束,在此基础上才能正确读取转换结果。常用的判断一次A/D转换结束时间的方法有三种。(1)软件延时法软件延时法是指用软件延时等待一次A/D转换结束。延时时间取决于计算和调试而获得的ADC完成一次转换所需要的时间。(2)中断法中

20、断法利用EOC作为向80C51申请中断信号。在主程序中启动A/D转换,在继续执行主程序。在中断服务程序中读取转换结果。(3)查询法查询法将EOC接至80C51的某端口I/O口线。启动A/D转换后,利用查询该I/O口线引脚电平是否为0的方法读取转换结果。3.6 ADC0809编程方法应用ADC0809进行程序设计时,一般要包含以下基本步骤:(1)初始化设置ADC0809的IN0IN7通道地址,设置存放结果的首单元地址和通道数。(2)启动ADC0809先送通道地址到ADDAADDC,由ALE锁存通道号地址,再让START有效启动A/D转换,即执行一条“MOVX DPTR,A”指令产生WR信号,使A

21、LE、START有效,锁存通道号并启动A/D转换。(3)判断A/D转换是否结束(4)读取转换结果A/D转换完成后,EOC端会发出一个正脉冲,接着执行“MOVX A,DPTR”指令产生RD信号,使OE端有效,打开锁存器三态门,8位数据就读入单片机中。四 软件设计void convert(uchar a) uint temp; /特别注意这里需定义int型(余数将大于255)dis0=a/51; /取个位temp=a%51;temp=temp*10; dis1=temp/51; /取小数点后第一位temp=temp%51;temp=temp*10; dis2=temp/51; /取小数点后第二位附

22、录:C程序/*1,测量范围0-5V2,2路输入电压,可自行设定3,测量精度误差0.01V,LCD液晶显示*/#include #include #define uint unsigned int#define uchar unsigned charsbit lcdrs=P24;sbit lcdrw=P25;sbit lcden=P26; /1602控制端口sbit DI=P34;sbit DO=P34; /DI和DO与单片机共接口sbit Clk=P33;sbit CS=P35;/ADC0832控制端口uchar dis3=0x00,0x00,0x00; /显示缓冲区uchar date=0;

23、 /AD值uchar CH; /ADC0832通道值/*AD0832转换程序*/uchar ADC0832(uchar CH) uchar i,dis0,dis1; Clk=0; /拉低时钟 DI=1; /初始化 _nop_();CS=0; /芯片选定 _nop_(); Clk=1; /拉高时钟 _nop_();if(CH=0) /通道选择 Clk=0; /第一次拉低时钟 DI=1; /通道0的第一位 _nop_(); Clk=1; /拉高时钟 _nop_(); Clk=0; /第二次拉低时钟,ADC0832 DI接受数据 DI=0; /通道0的第二位 _nop_(); Clk=1; _nop

24、_(); else Clk=0; DI=1; /通道1的第一位 _nop_(); Clk=1; _nop_(); Clk=0; DI=1; /通道1的第二位 _nop_(); Clk=1; _nop_(); Clk=0; /第三次拉低时钟,此前DI两次赋值决定通道 DI=1; /DI开始失效,拉高电平,便于DO数据传输 for(i= 0;i8;i+) /读取前8位的值 _nop_(); dis0= 1; Clk=1; _nop_(); Clk=0; if (DO) dis0|=0x01; else dis0|=0x00; for (i=0;i= 1; if (DO) dis1|= 0x80;

25、else dis1|= 0x00; _nop_(); Clk=1; _nop_(); Clk=0; if(dis0=dis1) /两次结束数据比较,若相等 date=dis0; /则赋值给dat _nop_(); CS=1; /释放ADC0832 DO=1; /拉高输出端,方便下次通道选择DI端有效 Clk=1; /拉高时钟 return date;/*数据转换程序功能:将0-255级换算成0.00-5.00的电压数*/void convert(uchar a) uint temp; /特别注意这里需定义int型(余数将大于255)dis0=a/51; /取个位temp=a%51;temp=t

26、emp*10;dis1=temp/51; /取小数点后第一位temp=temp%51;temp=temp*10;dis2=temp/51; /取小数点后第二位/*LCD1602驱动程序*/void delay(uchar z)uint x,y;for(x=z;x0;x-)for(y=122;y0;y-);void write_cmd(uchar cmd)/lcd1602写命令函数lcdrs=0;lcdrw=0; /选择指令寄存器lcden=1;P0=cmd; /写数据delay(5);lcden=0; /使能拉低lcden=1;void write_date(uchar date)/lcd1602写数据函数lcdrs=1;lcdrw=0; /选择数据寄存器lcden=1;P0=date; /写数据delay(5);lcden=0; /使能拉低lcden=1;void init_lcd1602()/lcd1602初始化write

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论