可测频率的交流毫伏表设计

上传人:仙*** 文档编号:34620664 上传时间:2021-10-22 格式:DOC 页数:41 大小:7.21MB
收藏 版权申诉 举报 下载
可测频率的交流毫伏表设计_第1页
第1页 / 共41页
可测频率的交流毫伏表设计_第2页
第2页 / 共41页
可测频率的交流毫伏表设计_第3页
第3页 / 共41页
资源描述:

《可测频率的交流毫伏表设计》由会员分享,可在线阅读,更多相关《可测频率的交流毫伏表设计(41页珍藏版)》请在装配图网上搜索。

1、可测频率的数字交流毫伏表设计摘 要本设计是基于AD637电路的交流数字毫伏表电路设计。该毫伏表是基于真有效值转换(True RMS-to-DC Converter)技术,以真有效值转换集成芯片AD637为核心,以微控制器(MCU)为量程转换控制,以高精确度10位分辨率串行A/D转换器为模数转换,通过LCD显示,并辅以必要的外围电路设计而成。数字交流毫伏表系统主要由MCU控制模块、程控放大器模块、真有效值转换模块、频率测量模块、电压数字显示模块等组成,并且能够根据实际交流电压输入完成相应的量程转换功能,同时使用LCD显示测试电压值。该电路采用TLC1594高精度串行A/D转换电路,测量范围在Vp

2、p为0-10伏的交流信号,用LCD液晶显示。正文着重给出了软硬件系统的各部分电路,介绍了电路的基本原理,89C51最小系统的特点,TLC1594的功能和应用,LCD1602的功能和应用。该电路设计新颖、功能强大、可扩展性强。关键词 真有效值 数字显示 频率测量 TLC1594 A/D转换器引言数字电压表(数字面板表)是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具,有关数字电压表的书籍和应用已经非常普及了。在电气测量过程中,电压是一个很重要的技术参数。如何准确地测量模拟信号的电压有效值,一直是电测仪器研究的内容之一。目前,低精度交流数字毫伏表大多采用平均值原理,只能测量不失真正

3、弦信号的有效值,故受到波形失真度的限制而影响测量精确度和使用范围。真有效值数字仪表可以测量在任何复杂波形而不必考虑波形种类和失真度的特点以及测量精确度高、频带范围宽、响应速度快的特点而得到广泛应用1。在真有效值数字电压表设计中,提高系统的测量精确度、稳定性、改善线性、提高频率响应特性是本设计中的关键。数字电压表的设计和开发,已经有多种类型和款式。和以往的仪器、仪表有所不同的是该设计具有智能调挡功能,它是基于单片机为基础的智能化仪表,是单片机应用领域中的又一个新的亮点。单片机的诞生和独立的技术发展道路,充分表明单片机是一个应用于对象体系的智能化工具。这也在仪表应用领域中得到充分肯定。目前,单片机

4、正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。本设计的智能数字交流毫伏表则采用双积分式A/D转换方案,从原理上克服了模拟电压表的缺陷。而且在具体设计和实现过程中有效地保证了仪器的精度和灵敏度。所以这种类型的数字电压表无论在功能和实际上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良好的市场前景。1 总体方案设计交流毫伏表系统包括:数据采集部分、数据处理部分、结果显示部分等三个主要组成部分。其中真有效值交流/直流转换器是核心元件。本设计采用高精度AD637芯片,量程为Vopp:010V,精确度为0.

5、05%RDG+0.25mV.系统设计的总体思路:首先将模拟信号通过放大电路将电压值转换到RMS-DC变换器的工作电压范围内,然后让变换结果通过模/数转换后直接送入单片机,经软件算法的相应处理后送液晶显示。若输入的被测信号电压不在合适的量程之内,单片机经过判断后控制模拟开关对放大电路作相应的调整,以实现仪器智能转换量程的功能,并起到了保护后续电路的作用。系统原理框图如图1-1所示:真有效值转换A/D转换程控放大器单 片 机信号输入对增益进行控制LCD显示波形整形电路频率测量图1-1 系统原理框图从系统原理框图1-1中可以看出,交流毫伏表系统主要有六个功能模块:程控放大器模块、单片机最小系统模块、

6、真有效值转换模块、波形整形模块、A/D转换模块及液晶显示模块组成。其中程控放大器模块、真有效值模块、A/D转换模块及波形整形模块可以归纳为数据采集部分;单片机模块和液晶显示模块可以分别认为是数据处理部分、结果显示部分。工作流程简述:交流电压信号经过程控放大器对交流信号进行增益调整后进入信号真有效值转换,转换后的信号经过模拟信号到数字信号的转换过程2;经转换后的信号经单片机处理程序先判断信号是否衰减适度,要是衰减适度就送液晶显示出来,如果衰减度太大或太小的话则进行衰减调整,经衰减合适后的信号经液晶显示出来最终结果。2 技术方案论证与比较在技术方案中,系统功能模块主要涉及到系统的组成和元件的选择。

7、系统模块主要包括:程控放大器模块、真有效值直流(RMS-DC)变换模块、模/数转换模块、频率测量、单片机最小系统模块、液晶显示模块等六个主要组成部分。通过对以上六大模块的功能分析和比较,提出一下技术设计方案以供选择。2.1 真有效值直流变换模块设计方案真有效值直流变换模块是本设计的重点,它的设计与器件的选择关系到交流数字毫伏表的精确度和灵敏度,通过对交流毫伏表设计文献、资料的学习和借鉴,提出以下设计方案以供选择。方案一:热点变换法。此方法包括热电偶效应平衡转换和热敏三极管变换。热电偶配对很困难,并且有相应缓慢、过载能力差等缺点。方案二:采样计算法。此方法是对周期信号进行快速采样,获得很多个离散

8、值,存储在内存中再利用计算机的运算功能,按有效值数学定义:=8进行运算。此方案虽然转换精度高,但是技术要求高,造价也高,不适合用于多位数字表的设计。方案三:模拟直接运算变换法。根据有效数学定义用集成组件乘法器、开方器等依次对被测信号进行平方、平均和开方等计算,直接得出输入信号的有效值。在这种电路设计中,当输入信号幅度变小时,平方器输出电压的平均值下降很快,输出幅度很小,往往与失调和漂移电压混淆,因此该电路动态范围很窄,精度不高。方案四:单片集成有效值转换组件法。对数放大器转换是利用晶体管PN结平方律传递关系而成的。单片集成电路AC/DC真有效值转换芯片,内部集成了实现算法求取有效值的各种电路,

9、能将任意波形的交流电压信号直接转换成与其有效值成比例的直流电压,而不必考虑波形参数和失真度的大小。并且AD63721对输入200mv带宽可达1MHz,2v以上输入时带宽可达8MHz,输入200mv以下时可以前置放大电路,且使用缓冲模式输入阻抗可达100M欧,因此AD637完全可以胜任题目要求。比较以上四种方案,采用方案四进行AC/DC真有效值转换,电路简单,而且在理论上能保证较高的精确度,性价比较高,具有实际的参考价值。2.2 程控放大器模块设计方案本设计的电压表显示范围为Vopp:0V10V,因后级有效值转换模块的输入电压范围为1.763.6V,因而需要进行量程的转换。根据被测信号的大小可把

10、电压表的量程与放大倍数设置如下表:量程(Vopp)5mv-10mv10mv-20mv20mv-40mv40mv-80mv80mv-160mv160mv-320mv320mv-640mv放大倍数100050025012562.53216量程(Vopp)640mv-1.28v1.28v-2.56v2.56v-5.12v5.12v-10.24v放大倍数8421根据上表,把范围在Vopp:0V10V内的输入信号通过两级反相放大电路放大到Vopp:5V10V这个范围类。由于单级的放大倍数最大为50倍,最大频率为100KHz,即要求运放的增益带宽积最少为5MHZ。NE5534的增益带宽积为10MHZ,能够

11、满足性能要求,因此程控放大模块采用NE5534为核心元件,配合CD4051进行放大倍数的切换。2.3 模/数转换模块设计方案模/数转换模块是数字交流毫伏表设计的一个重要环节,它的设计直接关系到后续电路的被测量电压信号的处理和显示的精度。通过程控模块输出来的电压信号通过模/数转换模块把模拟被测信号转换为数字被测信号,以便后级单片机处理模块正常工作,因单片机只能接受数字信号。并且模/数转换模块的位数直接决定被测电压的精度。以通过学习和借鉴以往交流毫伏表的设计文献,提出以下设计方案。方案一:8位A/D转换器AD0809 3将交流电压的真有效值通过AD0809转换为数字量,然后通过由单片机AT89S5

12、1控制,将数字量用LED数码管显示出来。由于AD0809是八位的A/D转换器,在精度方面无法达到题目的要求,所以放弃这一方案。方案二:3 1/2位A/D转换器MC14433MC14433集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的A/D转换器。但是MC14433的满量程为200V,无法满足本题的设计要求。方案三: 10位A/D转换器TLC1549TLC1549是10位模数转换器。它采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻

13、输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到1LSB Max(4.8mV)等特点,其量程为0-5V,基本满足本课程设计的要求。同时其操作也比较简单,方便实用。综合比较,选用TLC1549更容易实现题目的基本要求,也可获得良好性能。故本系统选用方案三。2.4 LCD显示模块设计方案液晶显示器(LCD)5是一种功耗很低的显示器,它具有体积小、功耗低、显示内容丰富等特点,伴随电子技术的飞速发展,液晶显示器的价格越来越便宜,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。它的使用非常的广泛,不但在家用电器中经常应用,而且在现代电子设计中的应用也越来越多。本设计使用的是

14、1602液晶显示器。1602可以显示2行16个字符,可以显示阿拉伯数字、英文字母的大小写、常用的符号、和日文等,完全满足本设计显示要求。3 系统硬件电路设计与实现系统硬件电路设计主要包括:程控放大器模块、波形整形模块、真有效值直流(RMS-DC)变换模块、模/数转换模块、单片机控制模块、液晶显示模块等六个主要组成部分。下面就这五部分的硬件电路设计作如下分析和概括。3.1 程控放大器电路设计程控放大器模块由三部分构成:射极跟随器、模拟开关和集成运算放大器。各部分的具体功能如下:第一:射极跟随器 射极跟随器就是信号从发射极输出的放大器。其特点为输入阻抗高,输出阻抗低,动态电压放大倍数小于1并接近1

15、,负载能力强,且输出电压与输入电压同相但是输出电阻低,具有电流放大作用和功率放大作用。常作阻抗变换和级间隔离用。本设计当中的射极跟随器用的是NE5534集成运算放大器,连接方式是基极与发射极共地,基极输入信号,发射极输出。第二:模拟开关 模拟开关CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。“INH”是禁止端,当“INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15V的交流信号。第三:

16、集成运算放大器 根据设计要求,被测电压信号由于后级电路的输入要求要做适当的放大或缩小。前级电路的输入电压经过射极跟随器和模拟开关之间的分档电阻后被适当的衰减或放大,为考虑到系统设计的精度要求,后级放大电路要对被测信号做适当的放大,以便真有效值转换电路能正常工作和满足系统精确度的要求。本设计用的是NE5534集成运算放大器,它经过外围电路构成放大倍数为150倍(如上表所示)的信号放大器。程控放大器模块设计过程中所用器件简介:第一:NE5534NE5534是高精度低失调电压的精密运放集成电路,用于微弱信号的放大,如果使用双电源,能达到最佳的放大效果。NE5534特点介绍:小信号的带宽:10MHZ输

17、出驱动能力:600 , 10VRMS at 在 VS=18V输入噪声:4nV/HZ2直流电压增益:100000交流电压增益:6000在频率为10KHZ功率带宽:200KHZ转换速率:每秒13V大电源电压范围:从3V到20V图3-1NE5534 DIP封装 NE5534 DIP封装如图3-1所示。第二:CD4051模拟开关CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。“INH”是禁止端,当“INH”=1时,各通道均不接通。此外,CD4051还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能

18、直接控制这种多路开关,并使这种多路开关可 图3-2 CD4051芯片传输峰峰值达15V的交流信号。第三:程控模块原理图如下图3-3所示。图3-3 程控放大器模块模块工作原理简述:交流信号进入电路以后,通过两级反相放大电路进行放大。第一级放大电路可放大的倍数为:50,25,3,2,1。第二级放大电路可放大的倍数为:30,20,5,4,2,1。通过控制CD4051,选择不同的反馈电阻,就可以实现不同的放大倍数的切换。通过前后两级放大电路的放大倍数的不同组合,使得输入信号都能放大到Vpp为5V-10V的范围内。3.2 真有效值转换电路设计普通数字电压表只能测量直流电压。如果要测量交流电压,必须增加交

19、流/直流(AC/DC)转换电路。由于本系统采用测交流有效值的方案,所以需要对交流信号进行真有效值转换。真有效值方法检测电压、电流的核心是TRMS/DC转换器,这类转换电路现已实现单片集成化。就精度、带宽、功耗、输入信号电平、波峰因数和稳定时间因素综合考虑,本设计选用了AD公司的RMS-DC变换器件AD637。它具有响应速度快,响应时间和信号幅度无关等特点。根据其特性曲线,AD637在输入电压在0.2V2V范围内有最佳频率响应,故衰减放大电路的输出信号电压应控制在该范围内。AD637是一块高精度单片TRMS/DCC转换器,可以计算各种复杂波形的真有效值。AD637集成芯片采用了峰值系数补偿,在测

20、量峰值系数高达10的信号时附加误差仅为1,频带宽度在2V以上输入时可达8MHz。AD637的制造工艺先进,采用激光修正,一般情况下不需要加外部调整元件。惟一的外围元件是平均电容 ,用来设定平均时间常数,并决定低频准确度、输出波纹的大小及稳定时间。AD637的内部有独立的缓冲放大器,既可作输入缓冲器用,亦可构成有源滤波器来减小纹波,提高测量准确度。此外,芯片内部输入端有过压保护电路,即使输入电压超过电源电压,一般也不会损坏芯片。AD637的内部结构框图如图3-4所示19,主要由缓冲器、有源整流器、偏置电路、平方/除法器和滤波电路组成。如图3-4所示,输入电压通过有源整流器转换成单极性电流I1,加

21、至平方/除法器的一个输入端。平方/除法器的输出电流为 ,有关系式为: (3-1)利用驱动并与构成一个低通滤波器,经外部提供一个电流,再通过返回平方/除法器,完成下述隐含式有效值计算: (3-2) (3-3)图3-4 AD637内部结构框图理论验证:根据美国模拟公司提供的资料,我们可以得到在理想情况下AD637的频率响应。当时,频率上限为300kHz;时,频率上限为600kHz;时,频率上限高达8MHz。完全能够符合本题设计需求。图3-5 AD637频率响应图AD637的运算方程为: (3-4)其中,T为的周期。输入电压通过AD637中的绝对值电路变成单极性电流,加至平方/除法器的一个输入端,再

22、经低通滤波/放大器,最终在AD637的9号脚输出直流电压。图3-6 AD637外围电路综上所述,由AD637构成的转换电路具有准确度高,稳定性好,测量速速快等特点,可以测量各种波形的有效值,且频带宽,是一种较理想的设计。3.3 A/D转换电路设计A/D转换电路模块的核心是TLC1549。TLC1549的引脚功能及主要特性:10 位分辨率的 A/D 转换器 引脚兼容 TLC549 和 TLV1549内部取样保持功能 COMS 工艺总共不可调最大误差为1LSB片内系统时钟TLC1549C、TLC1549I 和 TLC1549M 是一个 10 位开关电容器,逐次逼近型的 AD 转换器。这个芯片有 2

23、 个数字输入端,1 个三态输出口(CS),1 个 I/O CLOCK 端口和 1 个数字输出端(DATA OUT),可以实现一个三总线接口到总控制器的串行口的数据传输。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能, 而且开关电容设计使在满刻度时总误差最大仅为1 LSB ( 4.8 mV) , 因此可广泛应用于模拟量和数字量的转换电路。引脚功能:ANALOG IN:模拟信号输入。电源阻抗应该小于 1K 欧。外部电源到该引脚的电流应大于10mA。CS:片选。CS 从高电平到低电平跳变可以复位内部计数器并在一个最大的启动时间加上两个内部时钟的下降沿时间内控制和使能 DATA OUT

24、、I/O CLOCK。在一个启动时间加上两个内部时钟的下降沿时间内 CS 从低电平到高电平可以禁止 I/O CLOCK。DATA OUT :当 CS 为高时 AD 转换结果为高阻抗,当 CS 为低时 AD 转换结果有效。在有效 CS下,该引脚输出值为上次转换结果的最高有效位(MSB)的数字量。在下一个时钟下降沿输出次高位数字量,以此顺序输出直到第 9 个下降沿输出最低有效位(LSB),在第 10 个时钟下降沿,该引脚被拉低以确保串行数据口传输超过 10个时钟周期。GND:该引脚和内部电路的地相连,除非有特殊要求,所有的地都和该引脚相连。I/O CLOCK:输入/输出时钟口。该引脚作为串行时钟的

25、输入口有以下三个功能:(1) 在第三个时钟下降沿时,模拟输入电压开始给阵列电容充电一直到第10 个时钟下降沿。 (2) 之前转换结果的 9 个剩余位随着该引脚在 DATA OUT 引脚上逐位输出。(3) 在第 10 个时钟下降沿,该引脚可以控制转换结果传输到内部控制器。REF+:正参考电压的值(通常接 VCC)接到 REF+引脚上。REF-:负参考电压的值(通常接地)接到 REF-引脚上。最大输入电压的范围是 REF+电压和 REF-电压的差值。VCC:正电源电压。详细描述:当 CS 为高电平时,I/O CLOCK 为初始禁止状态、DATA OUT 为高阻抗状态。当串口将 CS拉低后,随着 C

26、LOCK 和 DATA OUT 的使能开始转换数据。然后串口开始提供一个顺序时钟,同时接受 DATA OUT 上次的转换结果。通过串口设置 CLOCK 口 10-16 个时钟周期,在第一次的 10 个时钟周期内完成模拟信号的取样。TLC1549 有 6 个基本的串口时间模式。这些模式取决于时钟的速度和对 CS 的操作。这些模式包括 模式 1:(快速模式)10 个时钟周期的转换时间并且 CS 为高模式 2:(快速模式)10 个时钟周期的转换时间并且 CS 为低模式 3:(快速模式)1116 个时钟周期的转换时间并且 CS 为高模式 4:(快速模式)16 个时钟周期的转换并且 CS 为低模式 5:

27、(慢速模式)1116 个时钟周期的转换并且 CS 为高模式 6:(慢速模式)16 个时钟周期的转换并且 CS 为低 图3-10 A/D转换电路3.4 单片机最小系统电路设计单片机即微控制器10,它集中央处理器、存储器、输人输出电路等为一体, 可以完成复杂的运算、逻辑控制、通信等功能。那么,一个最简单的单片机系统都由哪些电路组成呢?从图可以看出,典型的单片机系统包括晶振、复位、电源、系统的输人控制、输出显示,以及其他外围模块等。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片

28、机处理数据的速度越快,系统功耗也会相应增加, 稳定性也会下降。单片机系统常用的晶振频率6MHZ、11.0592MHZ、12MHZ等,本设计的系统用的是12MHZ的晶振。电容使用的是30PF或22PF的都可以。系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时类似于电脑的死机,也需要进行系统复位。复位电路有很多种,典型的电路如图所示。在产品开发中,有时专门用一个芯片来设计复位电路,单片机基本工作电路其他外围器件单片机输出显示电源时钟电路图单片机典型系统组成稳定性真的很重要。对于复位电阻和电容的选择,图中的复位电

29、阻和电容是经验值,实际制作时,可以用同一个数量级的代替。单片机的EA脚控制程序从内部存储器还是从外部存储器读取程序。由于现在单片机内部的FLASH容量都很大,因此基本都是从内部的存储器读取程序,即不需要外接ROM来存储程序,因此,EA 脚必须接高电平这点一定要注意,很多初学者常常将脚悬空, 导致程序执行不正常。下图所示为最小系统方框图:单片机复 位 电 路输入/输出设备振 荡 电 路电源电路图3-11 单片机最小系统根据初步设计方案分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。Intel公司的8051、80C5

30、1和8751芯片均可以选用。鉴于STC系列芯片在烧录时比较简单,使程序写入更加方便,我们选用STC系列的89C51单片机。该型号单片机用很少的外围元器件就可以完成串口的下载,不但简单易行,而且价格低廉、购买方便。可多次写入,便于调试。STC89C51芯片采用DIP-40封装形式,管脚配置如图4-2所示:40只引脚按其功能来分,可以分为如下3类:(1)电源及时钟引脚:Vcc、GND;XTAL1、XTAL2。(2)控制引脚:PSEN、ALE、EA、RESET。(3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。 引脚功能介绍:(1)电源引脚:Vcc(40引脚):接+5V电源。

31、GND(20引脚):接地。(2)时钟引脚:XTAL1(19引脚):外接晶体的1个引脚。该引脚的内部是一个反相放大器的输入端。这个反相放大器构成了片内振荡器。如果采用外接晶体振荡器时,此引脚应接地。XTAL2(18引脚):接外部晶体的另一端,在该引脚内部接至内部反相放大器的输出端。若采用外部时钟振荡器时,把此信号直接接到内部时钟发生器的输入端。 (3)控制引脚: 图3-12 STC89C51芯片RST/VPD(9引脚):RST复位信号输入端,高电平有效。VPD:备用电源的输入端。ALE(30引脚):地址所存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。PSEN(29引脚):程序

32、存储器允许输出控制端。EA(31引脚):内外程序存储器选择控制端。当EA引脚为高电平时,单片机访问内部程序存储器,但在PC值超过0FFFFH时,将自动转向执行外部程序存储器内的程序。(4)I/O口引脚:P0口:双向8位三态I/O口,此口为地址总线及数据总线分时复用口,可驱动8个LS型TTL负载。P1口:8位准双向I/O口,可驱动4个LS型TTL负载。P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两

33、只电容就构成了单片机的时钟电路,如图4-3所示:图3-13 单片机时钟电路在单片机复位电路中,电容C1和C2对振荡频率有微调的作用,通常的取值范围为(30+10)pF或(30-10)pF。石英晶体选择6MHz或12MHz都可以,其结果只是机器周期的不同,影响计数器的计数初值。本设计中电容采用30pF,石英晶体采用11.0592MHz。单片机的RST管脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式有上电复位和手动复位两种。图4-4所示是51系列单片机常用的上电复位和手动复位组合电路。图3-14 单片机复位电路复位以后,单片机内

34、各部件恢复到初始状态,参见表3-113:表3-1 复位后片内各寄存器状态寄存器 内容 寄存器 内容 PC 00H TMOD 00H A 00H TCON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0P3 0FFH SCON 00H IP(XXX00000)B SBUF 不变 IE (0XX00000)B PCON(0XXXXXXX)B3.5 液晶显示电路设计液晶显示器(LCD)14是一种功耗很低的显示器。它的使用非常的广泛,比如电子表、计数器、数码相机、计算机的显示器或液晶电视等。液晶显示以其优越的

35、性能,越来越受到设计人员的青睐,液晶显示的应用领域越来越多。液晶显示模块在现代电子设计中的应用也越来越多。本设计中使用的1602就是一片液晶显示器。LCD是一种被动显示器。它本身不发光,其通过调节光的亮度来达到显示效果。LCD主要是利用液晶的扭曲-向列效应制成。这是一种电效应。液晶显示模块中,最主要的就是LCD液晶屏,根据液晶显示屏显示内容的不同,液晶显示模块可分为数显液晶模块、点阵字符液晶模块、点阵图形液晶模块三种。使用液晶作为显示设备具有很多的优势,主要表现在如下几个方面:(1)显示质量高。由于液晶显示模块每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示模块画面质量高而

36、不会闪烁,把眼睛疲劳降到最低。(2)没有电磁辐射。液晶显示模块的先天特点决定其没有电磁辐射,这个优点使得液晶电视和计算机的显示器都广泛推广。(3)应用范围广。液晶显示模块特别是点阵图形液晶模块,可以显示数字、字符、汉字和图形等。(4)数字式接口。液晶显示模块是数字式的,和单片机的接口十分的简单,操纵也十分的方便。(5)体积小、重量轻。液晶显示模块通过显示屏上的电极控制液晶分子状态,达到显示目的,在重量上比相同显示面积的传统显示器件要轻得多。(6)功耗小。液晶显示模块的功耗主要是消耗在其内部的电极和驱动芯片上。因此,对于相同显示面积,液晶显示模块的耗电量比其它显示器件要小的多。1602采用标准的

37、16脚接口,其中:表3-2 管脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL对比度调节11D4双向数据口4RS数据/命令选择12D5双向数据口5R/W读/写选择13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口16BLA背光源正极1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块

38、把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。1602液晶模块内部的控制器共有11条控制指令,如表3-3所示,表3-3 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM

39、读数11读出的数据内容1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示 指令码01H,光标复位到地址00H位置。指令2:光标复位 光标返回到地址00H。指令3:光标和显示模式设置 I/D 光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位S/C高电平时移动显示的文字,低电

40、平时移动光标 指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线)。指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。图3-15 单片机与液晶显示模块连接图3.5 波形整形电路设计波形整形电路的核心是电压比较器。当运放的正相输入端的输入电压大于反相输入端

41、时,运放输出正电压;反之,则输出负电压。根据这一特性,在运放的反相输入端输入一个固定的电压值,然后把经程控放大电路放大后的输入信号输入到正相输入端,便可把各种输入信号转换为方波信号(脉冲信号)。然后,把整形后的波形信号送进单片机进行频率测量。具体电路图如下图3-16所示:图3-16 波形整形电路图4 软件程序设计软件设计主要完成三部分工作:数据处理、控制模拟开关实现量程自动转换,以及计算和显示电压有效值。该设计的电压表具有三个量程范围,具有量程自动切换功能;数据处理主要是把A/D转换后的浮点数转换为字符型数组;液晶显示部分主要是把处理后的电压有效值数据送到液晶显示器上。主流程图见附页部分。4.

42、1 量程自动转换程序设计本设计共设11个量程切换,如下表4-1。通过模拟开关元器件CD4051来进行量程切换功能,实际电路中通过对模拟开关CD4051的控制线ABC来实现量程的切换。由于输入信号未知,为避免电路被烧坏,设定的初始量程应为最低量程,即(BA:1)。表4-1 量程转换控制量程(Vopp)5mv-10mv10mv-20mv20mv-40mv40mv-80mv80mv-160mv160mv-320mv320mv-640mv放大倍数100050025012562.53216量程(Vopp)640mv-1.28v1.28v-2.56v2.56v-5.12v5.12v-10.24v放大倍数8

43、421取数据返回档数取数据切换高一级档位切换低一级档位大于范围上限NY小于范围下限NY图4-1 量程转换流程图通过单片机的P2口8根控制线来实现如表4-1所示的量程自动切换功能。4.2 数据处理程序设计液晶显示的数据是字符型数组,所以单片机要把输入的A/D转换后要显示的浮点型数据转换为字符型数组在液晶显示器上显示出来。经A/D转换后的数据是浮点型实数,通过编写一个浮点数转换为字符型数据(ASCII码)的子函数来实现数据处理功能。数据处理程序流程图如图4-2所示。AD转换数值数值100000?取高5位,并且转化为xxx.xx的形式,单位为mV把数值放大100000取高3为,并且转化为x.xx的形

44、式,单位为VYN送液晶显示图4-2 数据处理流程图4.3 液晶显示模块程序设计液晶显示模块程序主要由初始化函数、送命令控制字函数、送显示数据函数和送多个待显示字符函数组成。下图4-3为液晶显示流程图。初始化液晶显示送控制命令字设置显示数据信息送待显示的字符数据返 回图4-3 液晶显示流程图1602C可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。1602液晶显示器有两个寄存器,一个是命令寄存器,另一个是数据寄存器;所有的1602液晶显示器一个重要的特点是:软件编程时要先写命令字,再写数据。4.4 频率测量程序设计

45、 频率测量部分,通过把单片机的两个定时计数器来实现。把T0设置为外部计数器,记录外部脉冲数。把T1设置为内部定时器,产生1S定时时基信号。通过两个定时计数器的协作,记录1S内单片机所接收到的脉冲数,就能得出输入信号的频率。频率测量程序的流程图如图4-4所示:初始化T0、T1装入初值启动T0、T1关闭T0、T1返回频率数计时时间=1S?图4-4 频率测量流程图5 系统调试下面介绍本设计的硬件调试和软件调试方面的调试方法。5.1 硬件调试本设计的硬件焊接主要是单片机最小系统的焊接与调试、液晶显示的焊接与调试、程控模块的焊接与调试、A/D模块的焊接与调试、电源电路的焊接与调试等。下面就液晶显示模块的

46、检修作如下介绍。(1)“字迹” 使用几小时或几天,电极变黑或变色,出现黑或棕色字迹,液晶盒产生气泡,一致不能显示。这时由于驱动电压直流成分过大,从而引起化学反应造成的。(2)隐约显示故障 装配后出现不该显示的笔段也隐约显示,以致不能读出,其原因可能是:引线间部清洁、玻璃表面导电(天气太湿)、公用电极或段电极悬空、交流等。(3)全部显示 译码器正常,但全部像素显示。一般是背电极未接好,悬空或是背电极接入直流。(4)缺笔画显示 电极引线玷污或是导电橡胶玷污等。5.2 软件调试本设计的软件部分主要包括液晶显示部分、量程转换部分、数据处理部分等。程序的编写是用C语言编写的,软件部分使用的是KEIL C

47、51,并最终通过编译。液晶显示部分良好。附 录总体电路原理图参考程序清单/*- 课程设计2:数字交流毫伏表-*/#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#includesbit RS = P10; /定义端口 sbit RW = P11;sbit EN = P12;sbit adclk=P13; /时钟线sbit adcs=P15; /CSsbit addata=P14; /数据线#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define

48、EN_CLR EN=0#define EN_SET EN=1#define DataPort P0unsigned char table=0x54,0x44,0x43,0x33,0x22,0x04,0x03,0x21,0x20,0x11,0x10;/程控放大部分控制数组double code tab=1.13,2.12,4.2,8.2,15.39,31.5,60.5,117.7,252.0,457.1,984.0; /与程控放大控制数组相对应的放大倍数unsigned char cc,c,counter_aa,timer_aa,cc;unsigned long temp;/*- uS延时函数,

49、含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS De

50、layUs2x(245); DelayUs2x(245); /*- 判忙函数-*/ bit LCD_Check_Busy(void) DataPort= 0xff; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort&0x80); /*- 写入命令函数-*/ void LCD_Write_Com(unsigned char com) while(LCD_Check_Busy(); /忙则等待 RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_(); EN_CLR; /*- 写入数据函

51、数-*/ void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); /忙则等待 RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /*- 清屏函数-*/ void LCD_Clear(void) LCD_Write_Com(0x01); DelayMs(5); /*- 写入字符函数-*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) if (y=0) LCD_Wri

52、te_Com(0x80+x); else LCD_Write_Com(0xC0+x); LCD_Write_Data(Data); /*- 写入字符串函数-*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) if (y=0) LCD_Write_Com(0x80+x); /表示第一行 else LCD_Write_Com(0xC0+x); /表示第二行 while (*s) LCD_Write_Data(*s); s+; /*- 初始化函数-*/ void LCD_Init(void) LCD_W

53、rite_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08); LCD_Write_Com(0x01); LCD_Write_Com(0x06); DelayMs(5); LCD_Write_Com(0x0C); /*- AD转换程序 -*/ double adc(void)unsigned char i;double adtemp;adcs=1; /禁止I/O CLOCKadcs=0; /开启控制电路,使能DATA OUT和I/O CLOCKadtemp=0; /清转换变量for(i=0;i10;i+) /采集10次 ,即10bit adclk=0;adtemp*=2;if(addata) adtemp+;adclk=1; adcs=1;return(adtemp);/*- 程控放大程序 采用多次判断的方法,提高判断的准确度。 -*/ unsigned char control(void) unsigned char i;double ad1; P2=tablec; for

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!