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

    基于单片机的单通道模拟电压测量系统设计.docx

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

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

    基于单片机的单通道模拟电压测量系统设计.docx

    1、基于单片机的单通道模拟电压测量系统设计基于单片机的单通道模拟电压测量系统设计 摘要:本文介绍一种基于AT89S52单片机的一种电压测量系统,该系统采用ICL7135高精度、双积分A/D转换电路,测量直流电压范围0-200伏,使用LCD液晶模块显示。介绍了双积分电路的原理,AT89S52的特点,ICL7135的功能和应用,模拟开关CD4052的功能和应用,14位二进制串行计数/ 分频器的功能和应用,LCD1601的功能和应用等,并给出了系统的各部分电路。关键词:数字电压表;ICL7135;1601液晶模块;AT89S52单片机Abstract: The paper introduces a vo

    2、ltage measurement s-ystem based on AT89S52 MCU, in which ICL7135 high preci-sion, dual-integration A/D conversion circuits and LCD display are used. The DC measuring range of the system is 0-200 volts. The paper also introduces the principle of dual-integration circuit, the function and application

    3、of CD4052, LCD1601 and 14-bit serial counter/divider. The part circuits of the system are presented as well. Key Words : Digital Voltmeter;ICL7135;LCD1601;AT89S521引言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,精度高、抗干扰能力强,可

    4、扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。 2 硬件设计 1 2 3 总电路原理图见附录一。硬件电路由输入电路、档位切换电路、A/D转换电路、AT89S52单片机,以及LCD液晶显示电路等几个部分组成。如图1所示,模拟电压经过模拟开关档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换

    5、,然后送到单片机中进行数据处理。处理后的数据送到LCD中显示,显示当前测量的电压值。以下对这几个电路逐一进行介绍。2.1 输入电路4、5输入电路的作用是把不同量程的被测电压规范到A/D转换器所要求的电压值。智能化数字电压表所采用的单片双积分型ADC芯片ICL7135,它要求输入电压0-2V。本系统设计是0-200V电压,灵敏度高,所以可以不加前置放大器,只需衰减器,如图2所示90K、9K、和1K电阻构成1/10、1/100的衰减器。衰减输入电路可由模拟开关来选择不同的衰减率,从而切换档位。2.2 量程选择电路的设计5CD4052的引脚功能见图3。CD4052相当于一个双刀四掷开关,具体接通哪一

    6、通道,由输入地址码AB来决定。其真值表见表1。 表1 CD4052的真值表输入状态接通通道INHBA000“0”X、“0”Y001“1”X、“1”Y010“2”X、“2”Y011“3”X、“3”Y1均不接通2.3 A/D 转换电路的设计模拟数字转换器A/D芯片是任何数据采集系统的核心,它将连续模拟变量形式的数据变换成一种适合于数字处理的分离二进制代码。整个转换过程一般分为四个步骤进行,即取样、保持、量化和编码。前两个步骤在取样-保持电路中完成,后两步骤则在ADC中完成。 常用的ADC有积分型、逐次逼近型、并行比较型/串并行型、 -调制型、电容阵列逐次比较型及压频变换型。下面简要介绍常用的几种类

    7、型的基本原理及特点: 逐次逼近型(如TLC0831) AD转换器由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辨率( 12位)时价格很高。 并行比较型/串并行比较型(如TLC5510) AD转换器采用多个比较器,仅作一次比较而实行转换,又称Flash型。由于转换速率极高, n位的转换需要2n - 1个比较器,因此电路规模也极大,价格也高,只适用于视频AD 转换器等速度特别高的领域。串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n /

    8、2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为Half flash型。 压频变换型(如AD650) AD转换器是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辨率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。积分型(如ILC7135) AD转换器是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。ICL7135AD转换具有自动校零功能,自动较零准确性

    9、仅受系统噪声影响,且偏差小于10V;有超量程(over)和欠量程(under)信号,容易实现量程自动转换;设有6个控制信号端、同时进行字位输出和BCD码输出,可与LCD译码驱动器及单片机接口,进行数据处理,构成智能化仪器;满量程为20000字,在20000汁数范围内准确度为1个字。本设计采用双积分ICL7135 A/D 转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,价格低廉,电路结构简单,其缺点是工作速度较低。在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。比较以上这四种AD转换器的性能特点,综合考虑各方面的条件和本系统要实现的指标,本系统设计采用的就是双

    10、积分A/D 转换器ICL7135。2.3.1双积A/D 转换器的工作原理双积分型A/D转换是一种间接A/D转换技术。首先将模拟电压转换成积分时间,然后用数字脉冲计时方法转换成计数脉冲数,最后将此代表模拟输入电压大小的脉冲数转换成二进制或BCD码输出。 图4双积分A/D 转换器的内部原理 如图4所示,对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 T1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压,接着对基准电压进行同样的处理,直至积分输出返回到起始值。双积分A/D 转换器的时序图如图5所示。在常用的A/D转换芯

    11、片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135与其余几种有所不同,它是一种四位半的双积分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。本系统介绍用单片机并行方式采集ICL7135的数据以实现单片机电压表的设计方案。2.3.2 ICL7135的应用 ICL7135是采用CMOS工艺制作的单片4位半A/D转换器,其所转换的数字值以多工扫描的方式输出,只要附加译码器,数码显示器,驱动器及电阻电容等元件,就可组成一个满量程为2V的数字电压表。 (1)ICL7135主要特点如下 6 7双积型A/D转换器,转换速度慢。在每次A/D转换前

    12、,内部电路都自动进行调零操作,可保证零点在常温下的长期稳定。在20000字(2V满量程)范围内,保证转换精度1字相当于14bitA/D转换器。 具有自动极性转换功能。能在单极性参考电压下对双极性模拟输入电压进行A/D转换,模拟电压的范围为01.9999V。 模拟输入可以是差动信号,输入电阻极高,输入电流典型值1PA。 所有输出端和TTL电路相容。有过量程(OVER)和欠量程(UNDER)标志信号输出,可用作自动量程转换的控制信号。输出为动态扫描BCD码。对外提供六个输入,输出控制信号(R/H,BUSY,STB,POL,OVER,UNDER),因此除用于数字电压表外,还能与异步接收 /发送器,微

    13、处理器或其它控制电路连接使用。采用28外引线双列直插式封装。 (2) ICL7135数字部分9数字部分主要由计数器、锁存器、多路开关及控制逻辑电路等组成。ICL7135一次A/D转换周期分为四个阶段:自动调零(AUTO-ZERO);信号积分(SINGAL-INTEGRATE);基准电压反积分(去积分);积分回零(ZERO-INTEGRATE)。具体内部转换过程如下几个步骤:AUTO-ZERO(自动调零)在该相时,内部IN+和IN-输入与引脚断开,且在内部连接到ANLG-COMMON,基准电容被充电至基准电压,系统接成闭环并为自动调零(AUTOZERO)电容充电以补偿缓冲放大器、积分器和比较器的

    14、失调电压。此时,自动调零精度令受系统噪声的限制,以输入为基准的总失调小于10V。SINGAL-INTEGRATE(信号积分)相在该相,自动调零环路被打开,内部的IN+和IN-输入被连接至外部引脚。在固定的时间周期内,这些输入端之间的差分电压被积分。当输入信号相对于转换器电源不反相(NO-RETURN)时,IN-可直接连接至ANJG-COMMON以便输出正确的共模电压。同时,在这一相完成的基础上,输入信号的极性将被系统所记录。 DEINTEGRATE(去积分)相该相的基准用于完成去积分任务,此时内部IN-在内部连接ANLG-COMMON,IN+跨接至先前已充电的基准电容,所记录的输入信号的极性可

    15、确保以正确的极性连接至电容以使积分器输出极性回零。输出返回至零所需的时间正比于输入信号的幅度。ZERO-INTEGRATE(积分器返回零)相内部的IN-连接到ANLG-COMMON,系统接成闭环以使积分器输出返回到零。通常这相需要100200个时钟脉冲,但是在超范围(OVER)转换后,则需要6200个脉冲。在Signal-Integrate(即信号积分)相开始时,ICL7135的BUSY信号线跳高并一直保持高电平,直到Deintegrate(去积分)相结束时才跳回低电平。在满量程情况下,这个区域中的最多脉冲个数为30002个。其中Deintegrate(去积分)相的脉冲个数反映了转换结果。对于

    16、不同模拟量输入,ICL7135的BUSY信号的高电平宽度也不同。(3)ICL7135引脚的使用 9ICL7135的外引线功能端排列如图6所示,具体各个引脚的功能使用介绍如下:R/H(25脚):当R/H=“1”(该端悬空时为“1”)时,ICL7135处于连续转换状态,每40002个时钟周期完成一次A/D转换。若R/H由“1”变“0”,则ICL7135在完成本次A/D转换后进入保持状态,此时输出为最后一次转换结果,不受输入电压变化的影响。因此利用R/H端的功能可以使数据有保持功能。图2.3.4 ICL7135的波形图STB(26脚):每次A/D转换周期结束后,ST端都输出5个负脉冲,其输出时间对应

    17、在每个周期开始时的5个位选信号正脉冲的中间,ST负脉冲宽度等于1/2时钟周期。第一个ST负脉冲在上次转换周期结束后101个时钟周期产生。如图7所示,因为每个选信号(D5-D1)的正脉冲宽度为200个时钟周期(只有AZ和DE阶段开始时的第一个D5的脉冲宽度为201个CLK 周期),所以ST负脉冲之间相隔也是200个时钟周期。需要注意的是,若上一周期为保持状态(R/H=“0”)则ST无脉冲信号输出。ST信号主要用来控制将转换结果向外部锁存器、UARTs或微处理器进行传送。BUSY(21脚):在双积分阶段(INT+DE),BUSY为高电平,其余时为低电平。因此利用BUSY功能,可以实现A/D转换结果

    18、的远距离双线传送,其还原方法是将BUSY和CLK“与”后来计数器,再减去10001就可得到原来的转换结果。OVER(27脚):当输入电压超出量程范围(20000),OR将会变高。该信号在BUSY信号结束时变高。在DE阶段开始时变低。UNDER(28脚):当输入电压等于或低于满量程的9%(读数为1800),则一当BUST信号结束,UR将会变高。该信号在INT阶段开始时变低。POL(23脚):该信号用来指示输入电压的极性。当输入电压为正,则POL等于“1”,反之则等于“0”。该信号DE阶段开始时变化,并维持一个A/D转换调期。位驱动信号D5、D4、D3、D2、D1(12、17、18、19、20脚)

    19、:每一位驱动信号分别输出一个正脉冲信号,脉冲宽度为200个时钟周期,其中D5对应万位选通,以下依次为千、百、十、个位。当输入电压过量程时,D5-D1在AZ阶段开始时只分别输出一个脉冲,然后都处于低电平,直至DE阶段开始时才输出连续脉冲。利用这个特性,可使得显示器件在过程时产生一亮一暗的直观现象。 B8、B4、B2、B1(16、15、14、13脚):该四端为转换结果BCD码输出,采用动态扫描输出方式,即当位选信号D5=“1”时,该四端的信号为万位数的内容,D4=“1”时为千位数内容,其余依次类推。在个、十、百、千四位数的内容输出时,BCD码范围为0000-1001,对于万位数只有0和1两种状态,

    20、所以其输出的BCD码为“0000”和“0001”。当输入电压过量程时,各位数输出全部为零,这一点在使用时应注意。最后还要说明一点,由于数字部分以DG端作为接地端,所以所有输出端输出电平以DG作为相对参考点。基准电压的输入必须对于模拟公共端COM是正电压。 (4)ICL7135与单片机的连接 在ICL7135与单片机进行连接时,使用并行采集方式,四位BCD码的数据输出线分别与单片机AT89C52的P10,P11,P12,P13相连接,位驱动信号D5、D4、D3、D2分别与AT89C52的P14,P15,P16,P17相连接,指示输入电压极性POL脚与AT89C52的P30(RXD)相连接,STB

    21、信号接至AT89C52的P3.2(INT0),OVER信号接至AT89C52的P24,R/H信号接至AT89C52的P20。ICL7135的其他外围电路如总原理图所示(见附录一)。另外, ICL7135很特别的一点是它需要外部的时钟信号,本设计采用CD4060来对4M的时钟信号进行32分频得到125KHz的时钟信号,如图8所示。CD4060计数为级进制计数器,在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。图8 CD4060时钟发生电路2.4 单片机部分的设计 10 11单片机选用的是ATMEL公司新推出的AT89S52,其管脚图如图 9所示。该芯

    22、片具有低功耗、高性能的特点,采用CMOS工艺的8位单片机,与AT89C51完全兼容。AT89S52还有以下主要特点:1采用了ATMEL公司的高密度、非易失性存储器(NV-SRAM)技术; 其片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器;有2种低功耗节电工作方式:空闲模式和掉电模式; 片内含有一个看门狗定时器(WDT),WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入01EH,后写入0E1H,WDT便启动,当CPU由于扰动而使程序陷入死循环或“跑飞”状态时,WDT即可有效地使系统复位,提高了系统的抗干扰性能。2.5 液晶

    23、显示部分的设计9显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个161的字符型液晶显示模块,引脚如图10所示。 图10 LCD1601引脚图 点阵图形式液晶由 M 行N 列个显示单元组成,假设 LCD 显示屏有64行,每行有 128列,每 8列对应 1 个字节的 8 个位,即每行由 16 字节,共 168=128个点组成,屏上 6416 个显示单元和显示 RAM 区 1024 个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由 68 或 88点阵组成,即要找到和屏上某几个位置对应的显示 RAM区的 8 个字节,并且要使每个字节的不同的

    24、位为1,其它的为0,为1的点亮,为0的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 (1)1601使用说明LCD1601液晶模块的引脚如表2所示。寄存器选择,如表3所示。表2 LCD1601液晶模块的引脚引脚符号功能说明1GND接地2Vcc5V3VL驱动LCD,一般将此脚接地4RS寄存器选择 0:指令寄存器(WRITE)Busy flag,位址计数器(READ)1:数据寄存器(WRITE,READ)5R/WREAD/

    25、WRITE选择 1:READ 0:WTITE6E读写使能(下降沿使能)7DB0低4位三态、双向数据总线8DB19DB210DB311DB4高4位三态、双向数据总线另外DB7也是一个Busy flag12DB513DB614DB7表3 寄存器选择控制线操作RSR/W操作说明00写入指令寄存器(清除屏幕等)01读Busy flag(DB7),及读取位址计数器(DB0DB6)10写入数据寄存器(显示各字型等)11从数据寄存器读取数据 表3为寄存器选择控制线操作,其中Busy flag(DB7)未被清除为“0”时,LCD将无法再处理其他指令要求。 表4为LCD1601的显示地址,内部地址计数器的计数地

    26、址为:SB7=0(DB0DB6)第一行00、01、02 等,第二行40、41、42 等,可配合检测DB7=1 (RS=0,R/W=1)读取目前显示字的地址,判断是否需要换行。表4 LCD1601 161 显示字的地址1234567800010203040506079101012131415164041424344454647 表5为LCD1601的外部地址,DB7=1,亦即80H内部计数地址,可以用此方式将字显示在某一位置。表5 LCD1601 161(16字1行)显示字的外部地址123456788081828384858687910111213141516C0C1C2C3C4C5C6C7表6

    27、 LCD1601 的指令组指 令说 明设置码RS R/WD7D6D5D4D3D2D1D0清除显示幕000000000*光标回到原点000000001*进入模式设定00000001I/DS显示幕ON/OFF0000001DCB续表6移位000001S/CR/L*功能设定00001DLNF*字发生器地址设定0001AGC设置显示地址0001ADD忙碌标志位BF001BF显示数据10写入数据读取数据11读取数据I/D I/D=1 表示加1, I/D=0 表示减1S S=1 表示显示幕ON S=0表示OFFD D=1 表示显示屏幕ON D=0表示显示屏幕OFFC C=1 表示光标ON C=0表示光标O

    28、FFB B=1 表示闪烁ON B=0表示显示闪烁OFFS/C S/C=1表示显示屏幕移位 S/C=0光标移位R/L R/L=1表示右移 R/L=0表示左移DL DL=1表示8位 DL=0表示4位F F=1表示510点矩阵 F=0表示57点矩阵N N=1表示2行显示行 N=0表示1行显示行BF BF=1:内部正在动作 BF=0:可接收指令或数据码 (2) 液晶显示部分与AT89S52的接口 2 8 9如总原理图(附录一)所示,用AT89S52的P0口作为数据线,用P2.1、P2.2、P2.3分别作为LCD的E、R/W、RS。其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号。本

    29、模块设计要点如下:显示模块初始化,首先清屏,再设置接口数据位为8位,显示行数为1行,字型为57点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示。首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。最后显示出电压值来,每次电压采集后,CPU将数据送到LCD显示,将可能出现以下几种需要消隐的情况。例如:200V档量程,-019.99,此时千位的值

    30、0不符合人们的视觉习惯,需要把千位的值消隐掉,编程是将#20H送入千位,使其在LCD中不显示任何字符即可。同样的情况如下:20V档量程,-01.999,需要消隐十位,在采集到数据之后,置数之前判断档位,是2V档不消隐,是其他档位时再看要消隐的位之前有几个是零。例如200V档量程,-001.9V,在2次中断时判断档位是200V档,第1位是零,消隐第2位百位。3 系统的软件设计 整个系统软件由主程序, A/D中断程序,延时子程序, 检查LCD忙状态, 写指令数据到LCD, 写显示数据到LCD, 清屏子程序,LCD初始化设定等几个模块组成,下面重点介绍主程序和A/D中断程序的设计。3.1主程序设计2 5 ICL7135A/D与单片机连接电路的软件设计系


    注意事项

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

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




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

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

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


    收起
    展开