欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子测量课程设计.docx

    • 资源ID:2436976       资源大小:484.57KB        全文页数:24页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子测量课程设计.docx

    1、电子测量课程设计一摘要 2二原理简介 32.1ADC0809 32.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转换模块、数据处理模块及显示控

    3、制模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片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转换器的输入信号必须经各种传感器

    5、把各种物理量转换成电压信号。A/D转换器的工作原理主要介绍以下三种方法:(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转换器由电子开关

    6、、积分器、比较器和控制逻辑等部件组成。如图1.2所示。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。 双积分法图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性能的参数,由于尚无统一的标准,各主要器件生产厂家在其产品参数特性表中给出的也不完全一致。一般

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

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

    10、频曲线,从系统辨识的角度看这是在频域对ADC动态线性特性的非参数模型描述。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采集卡本身

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

    13、出引脚(32个)P0.0P0.7:通用I/O引脚。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

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

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

    16、110IN6111IN73.3 ADC0809内部结构 图3.2 ADC0809内部结构ADC0809的内部结构如图所示,它包含以下几部分:(1)8路模拟量选择开关根据地址锁存与译码装置所提供的地址,从8个输入的0V5V模拟量中选择一个输出。(2)8位A/D转换器能对所选择的模拟量进行A/D转换。(3)3位地址码的锁存与译码装置对所输入的3位地址码进行锁存和译码,并将地址选择结果送给8路模拟量选择开关。(4)三态输出的锁存缓冲器是TTL结构,负责输出转换的最终结果。此结果可直接连接到单片机的数据总线上。3.4 DC0809与80C51的接口图3.3 80C51与ADC0809的接口图ADC08

    17、09与80C51的接口满足ADC0809转换时序的要求,电路如图3.3所示:(1) 地址线与数据线的连接ADC0809内部输出电路有三态缓冲器,所以8位输出数据线可以直接和80C51的P0口相连。它的通道地址选择信号ADDAADDC均经过74LS373锁存,与80C51的P0口中的任意3根I/O口线连接(图中与P0.0、P0.1、P0.2相连)。(2) 时钟信号的连接ADC0809必须外接时钟。该电路中借用80C51的ALE输出。如果80C51的晶振频率太高,则需要对ALE所输出的脉冲进行分频处理。例如,晶振频率采用12MHz时,ALE的频率为2MHz,经过4分频后为500KHz,才能与ADC

    18、0809的CLK时钟端相连。(3) 控制信号的连接由于ADC0809的ALE和START均为正脉冲,而且基本同步,所以可以由80C51的P2.0和WR“或非”而成。同理,OE信号也可以由80C51的P2.0和RD“或非”而成。EOC信号经“非”门与80C51的INTI相连,可申请中断。3.5 ADC0809应用说明 (1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6

    19、)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。ADC0809转换结束的判断方法在ADC0809编写程序时,首要问题是如何判断一次A/D转换何时结束,在此基础上才能正确读取转换结果。常用的判断一次A/D转换结束时间的方法有三种。(1)软件延时法软件延时法是指用软件延时等待一次A/D转换结束。延时时间取决于计算和调试而获得的ADC完成一次转换所需要的时间。(2)中断法中断法利用EOC作为向80C51申请中断信号。在主程序中启动A/D转换,在继续执行主程序。在中断服务程序中读取转换结果。(3)查询法查询法将EOC接至80C51的某端口I/O口线。启动A/D转换后,利用查询该

    20、I/O口线引脚电平是否为0的方法读取转换结果。3.6 ADC0809编程方法应用ADC0809进行程序设计时,一般要包含以下基本步骤:(1)初始化设置ADC0809的IN0IN7通道地址,设置存放结果的首单元地址和通道数。(2)启动ADC0809先送通道地址到ADDAADDC,由ALE锁存通道号地址,再让START有效启动A/D转换,即执行一条“MOVX DPTR,A”指令产生WR信号,使ALE、START有效,锁存通道号并启动A/D转换。(3)判断A/D转换是否结束(4)读取转换结果A/D转换完成后,EOC端会发出一个正脉冲,接着执行“MOVX A,DPTR”指令产生RD信号,使OE端有效,

    21、打开锁存器三态门,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; /取小数点后第二位附录:C程序/*1,测量范围0-5V2,2路输入电压,可自行设定3,测量精度误差0.01V,LCD液晶显示*/#include #include #define uint unsigned int#d

    22、efine 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; /AD值uchar CH; /ADC0832通道值/*AD0832转换程序*/uchar ADC0832(uchar CH) uchar i,dis0,dis1; Clk=0; /拉低时钟 DI=

    23、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_(); else Clk=0; DI=1; /通道1的第一位 _nop_(); Clk=1; _nop_(); Clk=0; DI=1; /通道1的第二位 _nop_(); Clk=1; _n

    24、op_(); 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; else dis1|= 0x00; _nop_(); Clk=1; _nop_(); Clk=0; if(dis0=dis1) /两次结束数据比较,若相等 date=dis0; /则赋值给dat

    25、 _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=temp*10; dis1=temp/51; /取小数点后第一位 temp=temp%51; temp=temp*10; dis2=temp/51; /取小数点后第二位/*LCD1602驱动

    26、程序*/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; /使

    27、能拉低 lcden=1;void init_lcd1602()/lcd1602初始化 write_cmd(0x01); /清屏 write_cmd(0x38); /功能设置 write_cmd(0x0c); /显示设置 write_cmd(0x06); /输入方式从左到右 delay(1);/*显示函数*/void display(void) uchar i; write_cmd(0x80); for(i=0;i3;i+) if(i=1) write_date(.); /第二位显示小数点 write_date (0x30+disi); delay(5); write_date(V); /最后一

    28、位后显示字符V /* 主函数*/void main(void) CH=0; /选择通道0或1 init_lcd1602();/液晶1602显示初始化 while(1) /主循环 date=ADC0832(CH);/启动ADC0832转换并接受数据 delay(1); convert(date); /数据转换成BCD码 display(); /显示数值 利用单片机所具有的智能测控特点,设计制作了基于单片机为核心的“数字电压表”。该电压表由单片机结合8位精度AD检测器件ADC0832组成硬件电路,具有电压数据采集准确、数据显示稳定等特点。本设计由两大模块组成: AT89C51单片机硬件系统构建对外围


    注意事项

    本文(电子测量课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开