收藏 分销(赏)

基于单片机的毫伏表的设计.doc

上传人:二*** 文档编号:4700720 上传时间:2024-10-10 格式:DOC 页数:33 大小:1.60MB
下载 相关 举报
基于单片机的毫伏表的设计.doc_第1页
第1页 / 共33页
本文档共33页,全文阅读请下载到手机保存,查看更方便
资源描述
基于单片机的毫伏表的设计 目录 绪论 2 第1章 系统方案的选择与论证 3 1 基本方案的论证与选择 3 1.1放大电路方案选择 3 1.2交直流转换电路方案选择 4 1.3模数转换器件选择 5 1.4显示模块方案选择 6 2总体方案论证 6 第2章 硬件电路设计 7 2.1衰减电路设计 7 2.2 滤波电路设计 8 2.3放大电路设计 9 2.4真有效值变换电路设计 9 2.5模数转换电路设计 11 2.6单片机控制电路设计 17 2.7直流稳压电源设计 22 第3章 软件设计 25 3.1 衰减电路控制及数据采集 25 3.2量程自动切换 26 3.3A/D转换 28 3.4分贝值的计算 28 3.5液晶显示 29 第4章 软件仿真 31 4.1 Multisim仿真 31 4.1.1 Multisim使用简介 31 4.1.2 31 4.2 Keil仿真 31 4.2.1 Keil使用简介 31 4.2.3 32 4.3 Proteus仿真 32 4.3.1 Proteus仿真简介 32 4.3.2 33 4.4 PCB板的绘制 33 4.4.1 DXP使用简介 33 4.4.2 33 第5章 总结 33 结论 33 致谢 33 参考文献 33 附录 33 绪论 1. 毫伏表设计的意义 毫伏表是一种用来测量正弦信号电压的交流电压表。主要用于测量电视机和收音机的天线输入的电压,中放级的电压等和这个等级的其它电压,是测量音频放大电路必备的仪表之一。而本论文是基于单片机的毫伏表设计有系统的输入阻抗高()、单片机控制量程自动切换和数字液晶显示等优点。下面对模拟电压表和智能电压表的性能进行简单的比较。 1.1输入阻抗 一般情况下,模拟电压表的输入阻抗为几十千欧每伏特,当用模拟电压表测量太阳能电池电压时,电池中流过的偏转电流将在电池内阻上产生电压降而使电池两端的的电压下降。而数字电压表的输入阻抗都是兆欧级的,使得流入仪表的电流近似为零。因此,电池内阻产生的压降可以忽略。 1.2电压灵敏度 拿市场上最常见的模拟毫伏表和数字毫伏表进行比较,若两者的最低量程均为300mV,即取两者的最高灵敏度进行比较。 对于模拟电压表,其表盘的刻度共分为60等份,则每一小格的电压为5mV,即分辨率为5mV。对于数字电压表,市场上最便宜的也技术精度最小的位,最大读书为1999,其分辨率约为0.15mV,是模拟电压表灵敏度的30倍。 所以,数字电压表的灵敏度远远优于模拟电压表。在测量精度要求越来越高的现代电子测量领域,数字电压表的地位是不可代替的。 1.3量程自动切换 总所周知,模拟电压表在使用时是必须正确按照电压极性接入电路,否则易损坏电压表,甚至引发一些安全事故。而数字电压表则不存在指针损坏、引发火灾等不必要的经济损失。 在进行数据测量时,因为模拟电压表的表盘上有测电阻、电压、分贝等不同的测量项目,容易因为忘记选择测量项目而导致测量数据错误;另外,读数时的视角也会对测量结果产生影响。很有可能在量程切换不及时导致指针大幅偏转而折断。但对于数字电压表来说,不会出现如上所述的弊端。因为数字电压表采用数字液晶显示,测量结果只有一个读数,读数直接且不会因人而异。 所以,基于单片机的毫伏表是应运而生的。在进行测量时,由单片机控制量程的自动切换,不用手东切换量程。而在对测量结果进行读数时,单片机自动进行数据处理后由液晶显示,实现了高效、快捷且精确的测量目的。 2. 国内外现状及发展趋势 在17~18世纪,欧洲的一些物理学家开始利用电流与磁场作用力的原理制成简单的检流计,测量电压的测量仪表也就应运而生。19世纪,在电学与磁学的研究迅速走上正轨的同时,电压的测量仪器也获得了一个又一个重大的突破。进入20世纪,工业革命和现代化大规模生产促进了新学科和新技术的发展,后来又出现了电子计算机和空间技术等,仪器仪表因而也得到迅速的发展。现代仪器仪表已成为测量、控制和实现自动化必不可少的技术工具。到21世纪,由于纳米级的精密机械研究、高精密超性能特种功能材料研究和全球网络技术推广应用成果等在内的一大批当代最新技术成果的竞相问世,使得仪器仪表领域发生了根本性的变革。促进了高科技化、智能化的新型仪器仪表时代的来临。 科学技术的进步不断对仪器仪表提出更高更新的要求。仪器仪表在不断利用新的工作原理和采用新材料及新的元器件实现仪器仪表的小型化,减轻重量、降低生产成本和更便于使用与维修等。另一方面通过微型计算机的使用来提高仪器仪表的性能,提高仪器仪表本身自动化、智能化程度和数据处理能力。此外,仪器仪表不仅供单项使用,而且可能过标准接口和数据通道与电子计算机结合起来,组成各种测试控制管理综合系统,满足更高的要求。有关数据显示,2005年中低档电工仪器仪表国内市场占有率要达到95%,到2010年高中档电工仪器仪表国内市场占有率达到80%。所以,国内外对测量仪器仪表的研究内容与方向都是不谋而合的。 第1章 系统方案的选择与论证 1 基本方案的论证与选择 本设计硬件电路主要由衰减电路、放大电路、真有效值、A/D转换电路和单片机控制电路以及显示模块构成,下面就部分模块的方案选择进行简单讨论。 1.1放大电路方案选择 方案一:集成运放电路 考虑到设计中需要将毫伏级电压线性放大以便后级电路进行信号处理,所以选择同相线性运算放大器,其电路原理图如图1所示。 图1.1同相比例运放电路 同相运算放大电路如图2a所示,根据“虚断”的概念有;根据“虚短”的概念有,。最后输出电压表达式为 (1) 由于是串联反馈电路,所以输入电阻很大,在理想情况下输入电阻无穷大。另外,信号加到同相输入端,反相端和同相端的电位相同,即输入信号是运放的共模信号,要求运放有较好的共模抑制能力。在同相运放电路中,如果将输出电压全部反馈到反相输入端,就构成图1b所示的电压跟随器()。 方案二:晶体管放大电路 由于系统要求测量正弦信号的频率为5Hz~2MHz,而运放的截至频率远低与2MHz,不能满足系统设计要求。若采用晶体三极管组成放大电路,只需设置恰当的静态工作点,让三极管工作在线性范围内,就能满足系统要求。所以,采用晶体管放大电路。 1.2交直流转换电路方案选择 方案一:平均值交直流转换电路 测量交流电压时需增加交直流转换器。利用二极管炸整流器虽然电路简单,但二极管属于非线性元件,尤其在小信号情况下的非线性失真很严重,使整流器的输入电压U(交流电压有效值)与输出电压 (平均值)不成比例。对于指针式(即模拟式)交演电压表,通过校正刻度的方法也只能测量零点几伏以上的交流电压。 在数字表中,为了提高测量交流电压的灵敏度和准确度,普遍采用线性整流电路。由运算放大器、二极管组成半波或全波的线性整流电路,使。设被铡电压是正弦交流电,对于半波整流电路,;对于全波整流电路,。但是由二极管和运算放大器组成的平均值交直流转换器中存在着二极管门坎电压的影响问题,因而转换精度不能得到很好的改善。 方案二:真有效值变换器电路 由分立元件组成的真有效值电路原理图如图5所示,设输入的交流信号为,则电压的有效值为。因此乘法器K1的输出电压 (2) 式中,K1为乘法器放大倍数。当K1=1时,。那么将乘法器的输出电压经过滤波器后,将交流成分滤除。滤波后的电压通过运放N1、N2后的输出电压,而运放N3的输出电压,则。由乘法器K2有,则,即。当乘法器K2的放大倍数K2=1时,输出电压 (3) 图5 乘法器真有效值电路框图 显然,两个方案均达到了将交流变为直流的目的。但是方案一采用平均值检波,存在测量非正弦信号误差较大、测量小信号时漂移较大的问题,致使仪器灵敏度受到限制。而方案二中理论计算完全符合,在进行元器件的选择时,乘法器K1和K1均选择时间分割式乘法器;运算放大器N1、N2、N3均选择高增益、低漂移和低噪声的运放即可满足设计要求。所以系统选择方案二实现交直流转换功能。 1.3模数转换器件选择 在单片机测控系统中,要采集的信号是连续变化的模拟量。由于单片机只能处理数字信号,所以需要将连续变化的模拟信号转换成数字信号,即A/D转换。A/D转换通常有取样、 保持、量化及编码4个过程,由于市场上的A/D转换芯片已经非常普及,且性价比非常高。所以,系统设计采用集成A/D转换器实现信号的模数转换。 通常,转换时间和分辨率是A/D转换器的主要性能指标。其中,分辨率指器件的最小量化单位,是对模拟输入的最小分辨能力,通常用数字量的位数来表示,如8位、10位、12位分辨率等。若分辨率为12,即A/D转换器件可以对满量程的的增量作出反应。显然分辨率越高,转换器件对输入量微小变化的反应越灵敏。系统设计要求测量交流电压最低档位为3mV,则使用12为A/D转换器时的分辨率为;若量程档为最大档300V时,显然12位的A/D不能满足要求,所以选用14位的A/D转换器件可以满足设计要求。目前常用的14位A/D转换器有双积分式ICL7135和美国MAXIN公司生产的MAX1494。 方案一:式MAX1494 MAX1494是美国MAXIM公司推出的带串行总线接口的高精度、低功耗 A/ D 转换器。其内部含有输入缓冲器、位式 A/ D 转换器、状态寄存器、控制寄存器、基准电压源、时钟振荡器、驱动电路和串行接口等。利用内部的式A/ D 转换器将电压范围为0~200mV 或0~2V的模拟电压转换成二进制的 BCD 码,经译码后可以驱动液晶显示器。其最大显示值为19999,分辨率为V,满量程范围内的测量精度可达个字。 方案二:双积分式ICL7135 ICL7135是典型的双斜率式A/D转换器,它具有精度高、抗干扰性能好且价格低廉等优点。另外,其输入阻抗较高,属于兆欧级;输入露电流仅1pA;能自动判断输入信号极性,具有读数保持功能;易实现量程自动切换功能,且保持较高的测量精度。ICL7135在允许的量程范围内(V),准确度为个字,优于MAX1494的个字。所以系统使用双积分式A/D转换器ICL7135。 1.4显示模块方案选择 方案一:数码管显示 数码管亮度高、体积小、重量轻,但其显示信息简单、有限,在本设计中应用受到很大的限制。 方案二:采用液晶显示 液晶显示(LCD)是一种被动显示器,它本身不发光,是通过调节光的亮度来达到显示效果。通常液晶显示具有显示质量高、体积小、重量轻、功耗小等优点,而且液晶显示没有辐射,可以显示数字、字符和图形等,与单片机的接口也十分简单,其性价比远高于数码管显示。适合本系统的显示要求,所以采用LCD显示测量结果。 2总体方案论证 在该设计中,待测模拟信号经滤波后送入衰减放大电路,将电压值转换到RMS-DC变换器的工作电压范围内,再将变换输出的电压有效值送入模数转换电路和单片机,最后通过软件处理数据后送LCD显示测量结果。另外,单片机还控制量程的自动切换。当输入的被测信号电压超出量程时,单片机经过判断后,通过控制微型继电器对衰减放大电路作相应的调整,实现量程自动转换功能,同时也保护了后续电路。系统框图如图3所示。 图3 系统原理框图 第2章 硬件电路设计 2.1衰减电路设计 当被测信号接入毫伏表时,衰减电路对输入信号进行相应的衰减以便送入下一级电路进行处理。系统设定3mV档为直接测量档位,并将测量范围内的电压分为3mV、30mV、300mV、3V、30V、300V共6个档位。根据电阻器分压的原理,如图1所示有公式(2-1)。 图 2-1 衰减电路原理图 (2-1) 由公式(1)可计算出各量程档对应的电阻器值大小。根据毫伏表的高阻抗输入要求,综合考虑后为了便于计算,取电阻分压器的总阻值为9。 当=30mV档时,; 当=300mV档时,; 当=3V档时,; 当=30V档时,; 当=300V档时,。则,,,,,。根据标称值取,,,,,。为了减小误差,则增加最大值为50K电位器,则最终的衰减电路如图2-2所示。 图2-2 衰减电路仿真图 2.2 滤波电路设计 在本系统中只需要简单的RC滤波电路进行滤波,下面简单介绍RC滤波电路原理,原理图如图2.3所示。 图2-3 高、低通滤波电路原理图 1.R-C低通滤波 拿到电路时,首先要看清输入端和输出端,以及对后级电路的影响。对于电阻-电容组合的低通滤波器,其输入端是两个元件两端,输出端是电容两端。对于后级电路来说,低、高频信号可以过去,(电容通高频信号,阻低频信号,通交流信号,阻直流信号);对于高频信号,电容现在相当于一根导线,所以将高频信号短路了。 2.C-R高通滤波 对于电容-电阻组合的高通滤波器,其输入端是两个元件两端,输出端是电阻两端。对于后级电路来说,低频信号由于电容存在,不能通过,到不了后级电路(电容通高频信号,阻低频信号,通交流信号,阻直流信号);而高频信号却可以通过,所以为高通滤波。 在设计中元件R、C的取值关系为,其中。在用Multisim进行仿真时,查阅了相关资料后,选了几个经典电路进行仿真。由于所给资料的元器件参数都有,我就没进行参数的运算,直接进行电路仿真。在仿真过程中,待测信号通过滤波器后,直接变成直流。经过回忆并查找资料后,终于明白电阻电容滤波器的构成及原理。 2.3放大电路设计 2.4真有效值变换电路设计 系统设计主要用于测量交流电压的有效值,即真有效值变换模块的设计与器件选择与交流毫伏表的测量精度与灵敏度密切相关。虽然采用乘法器和运放可以实现电路功能,但是采用分立元件使得系统硬件成本增加切系统稳定性和抗干扰能力减弱。而美国AD公司生产的RMS-DC变换器件AD736/AD737可以简化仪器的设计,增加可测量波形种类的同时,灵敏度和精度也得到很好的改善,满足系统设计要求。 此外,AD637还具有辅助dB输出,取对数的真有效值输出信号是带有一个单独的引脚可直接对分贝信号进行测量,有效范围为60dB。由于芯片在2.2mA~350mA之间处于睡眠状态,所以用户在空闲时可以关闭装置以减少能量损耗。 2.4.1 AD637结构及原理 AD637主要由缓冲器、有源整流器、偏置电路、平方/除法器和滤波电路组成。其结构框图如图2所示,输入电压经过有源整流器变成单极性的电流,送到平方/除法器后输出电流为,并驱动低通滤波器(由和平均电容构成)。最后通过返回平方/除法器,用计算式表示为:,,实现了交流变直流的目的。 根据AD637的数据手册知:当时,上限频率;当时,;时,上限频率高达,符合设计要求。 图2-4-1 AD637内部原理图 2.4.2真有效值变换电路 根据器件数据手册,AD637采用激光修正的先进工艺制造而成,一般情况下不需要外加调整器件,唯一的外围元件平均电容(用来设定平均时间常数,并决定低频精确度、输出纹波的大小和稳定时间)。在设计中可以调节电阻R1使输出电压为理论计算值,而调整R3使引脚9输出电压为0则可调节器件的非线性。 图2-4-2 真有效值转换电路 由于芯片AD637内部有输入超载电压保护电路,且过压保护电路对输入信号没有影响(如果电源电压过高,过压保护电路起到保护输入信号作用)。所以可以安全使用,最终电路如图4所示。 2.5模数转换电路设计 2.5.1双斜率积分式A/D原理概述 A/D转换器的类型很多,应用较广泛的有逐次逼近式A/D转换器、双斜率积分式A/D转换器和V/F变换式A/D转换器。下面简单介绍双积分式A/D原理,其内部结构如图2-4所示。 图2-4双斜率积分式A/D结构框图 双斜率积分式A/D转换器由电子开关、积分器、比较器、控制逻辑和计数器等部件构成,其原理框图如图2.5.2所示。当模拟信号加到积分器上进行固定时间的积分,接着切换电子开关,将与极性相反的标准电压信号加到积分器上进行反向积分。由于恒定,所以积分器输出将以恒定的斜率下降,直到积分器输出返回起始值。标准电压的积分时间正比于模拟输入电压,输入电压大,则反向积分时间长。 双斜率积分式A/D转换器通过对输入信号不断的积分,能对噪声或输入信号进行平滑。因此,双斜率积分式A/D转换器具有精度高、抗干扰性强和价格便宜等特点,应用十分广泛。 2.5.2主要性能特点 l 自动校零; l 自动判别信号极性; l 有超、欠压输出信号; l 有精确的差分输入电路; l 采用位扫描与BCD码输出; l 输入阻抗达109Ω以上,对被测电路几乎没有影响; 2.5.3外部引脚说明 ICL7135是双斜积分式4位半单片A/D转换器,28脚DIP封装。其引脚功能如下: l V-、V+:电源端;:基准电压输入端;ACOM:模拟地;GND:数字地端; l INT:积分器输入端,接积分电容;AZ:积分器和比较器反相输入端,接自零电容; l BUF:缓冲器输出端,接积分电阻; l CREF+、CREF-:基准电容正、负端; l INHI、INLO:被测信号正、负输入端; l D1~D5:位扫描输出端;B1~B4:BCD码输出端; l CLK:时钟信号输入端;BUSY:忙状态输出端; l POL:负极性信号输出端;OVR:超量程状态输出端;UNR:欠量程状态输出端。 l :运行/读数控制端;:数据选通输出端; 2.5.4 ICL7135与单片机的接口 图1是ICL7135与单片机的接口电路。图中C1、R2是积分元件,C2是自零电容,C3是基准电容;R3、C5组成标准输入滤波网络;R4、C9、D1、D2组成输入过压保护电路;RP1为基准电压调整电位器,可根据要显示的满度值选择基准电压的大小,这里设计为1.0000V,它们的关系是:满度值为基准电压的两倍。IC4为六反相器,两个反相器组成振荡电路为ICL7135提供时钟信号,振荡频率f=0.45/(R6×C4)。ICL7135要求每秒钟至少进行3次A/D转换,每次转换需要40000个时钟脉冲,因此时钟频率应大于120kHz,这里取f=125kHz。STR为选通脉冲输出端。一次A/D转换结束后,在该端连续输出5个负脉冲,分别对应5组BCD码数据。74LS244是三态缓冲器,1G、2G分别选通两组信号:1G=0、2G=1时,选通第一组信号:1G=1、2G=0时,选通第二组信号。单片机的P3.1接1G,当P3.1为0时接通显示数码管;P3.7接2G,当P3.7为0时接通ICL7135的B1~B4。 图2为ICL7135 STR端输出时序图。STR端在1秒内输出3 次,每次5个、共15个负脉冲,每次输出时间约333ms,连续负脉冲间的时间差远小于65ms。程序中设定T1中断时间间隔至少65ms,因而可准确检测出STR发出的5个连续的负脉冲,分别接收4位半A/D转换器输出的5个BCD码数据。 A/D转换相关软件工作原理 STR的负脉冲1号~5号、6号~10号、11号~15号,分别对应于数据1、数据2、数据3的BCD码的低位到高位……。ICL7135的STR接89C2051的P3.2。IDTB为取数中断(外中断IET0)程序。每次进入取数中断程序,接通74LS244第二组数据输入开关,读P1.3~P1.0口,送到以13H单元为指针的单元中(初始化时13H单元内容为1CH),然后13H单元数据指针减1。待5个BCD码取完,置位转换成功标志20H.6,将13H单元送1CH,调用子程序DTB将18H~1CH的BCD码数据转换为两个8位二进制数送6EH、6FH(高位存6EH单元)。IET1为T1中断程序,T1工作于方式1,不送入时间常数(即初始值为0000H),若晶振为12MHz,则每次中断的时间间隔为65.536ms。进入IET1中断时,如果20H.0=1,表示正在测量周期或频率;如果20H.0=1,且13H单元内容不为1CH、20H.7=0,表示是在连续取数过程中第一次进入IET1;如果20H.0=1,且13H单元内容不为1CH、20H.7=1,表示第二次进入IET1,在这两次进入IET1之间IDTB没有取过数据,则将13H单元送1CH,以便IDTB将低位BCD送入1CH单元。例如:由于干扰使第4个STR脉冲的对应的数据送入1CH,第5个STR脉冲对应的数据送入1BH,则第5个脉冲过后到第6个脉冲到来时,已过了大约333ms,已进入过五次T1中断,在第二次进入IET1时已将13H单元的内容置为1CH,这样,在STR第6个~第10个脉冲到来时,IDTB将对应的BCD码分别送入1CH~18H,使本次A/D转换成功,自动纠正了错误的脉冲。 利用ICL7135的“busy”输出信号与单片机MCS-51衔接 在小型化仪表中,应该以最少的元件完成尽可能多的任务,8031需外接EPROM,剩下的16个I/O口是十分宝贵的.如果利用ICL7135的BCD码和STB选通信号就要占5个I/O口,而利用ICL7135的“busy”端,只要一个I/O和8031内部的一个定时器就可以把ICL7135的数据送入单片机. 为了便于读者理解,首先介绍ICL7135的“busy”端的功能.ICL7135是以双积分方式进行A/D转换的电路.每个转换周期分为三个阶段:   [1].自动调零阶段   [2].被测电压积分阶段   [3].对基准电压进行反积分阶段 以输入电压Vx为例,其积分器输出端(ICL7135的4脚)的波形如图1所示.“busy”输出端(ICL7135的21脚)高电平的宽度等于积分和反积分时间之和.ICL7135内部规定积分时间固定为10001个时钟脉冲时间,反积分时间长度与被测电压的大小成比例.如果利用单片机内部的计数器对ICL7135的时钟脉冲计数,利用“busy”作为计数器门控信号,控制计数器只能在busy为高电平时计数,将这段busy高电平时间内计数器的内容减去10001,其余数便等于被测电压的数值. 由图1“busy”波形可看出,ICL7135在对输入信号进行积分时,其BUSY信号线由低向高跳变并一直保存高电平,直到标准信号反积分结束时才跳变到低电平。在此过程中,对输入信号的积分一般保持10001个时钟脉冲,而在满量程的情况下,反相标准积分值为20001(当时),对于不同的模拟量输入,ICL7135反向标准积分脉冲不同,BUSY信号的高电平宽度也不同,且反向积分脉冲数正比于输入脉冲信号幅度,与测量结果有一一对应关系。在转换过程中,ICL7135提供一输入信号极性判断引脚POL,当输入()为负值时,POL信号为低电平;当输入()为正值时,POL信号为高电平。 图2是MCS-51定时器的逻辑框图,如果我们把T0规定为模式1定时器方式.定时器控制端(8031的12脚)接ICL7135的“busy”端.这样就能实现计数器由“busy”控制对单片机1/12时钟频率的计数要求. 图3是ICL7135与单片机MCS-51通过“busy”接口的电路图.若8031的时钟采用6MHz晶体,在不执行MOVX指令的情况下,ALE是稳定的1MHz频率,经过4分频可得到250kHz的稳定频率,传给ICL7135时钟输入端,使ICL7135的转换速率为每秒6.25次,选取这一转换速率,一方面照顾ICL7135A/D转换的精度,另一方面为了尽量少占用8031的资源.定时器为16位计数器,最大计数值65535.在6.25次/秒转换速率条件下,满度电压输入时,busy宽度为30001个时钟脉冲.再结合图1和图2可知,8031内部定时器的输入频率是500kHz,比ICL7135的时钟频率(250kHz)高1倍,在满度电压输入时,定时器计数值为30001x2=60002.不超过定时器最大值.在“busy”高电平期间定时器的数值除以2,再减去10001,余数便是被测电压的数值.具体程序如下: 2.6单片机控制电路设计 2.6.1单片机 从系统功能来看,单片机需要存储程序,即需要程序存储器片内ROM。在已开发的单片机中,8031和8032系列均无片内存储器ROM,所以不能应用与本系统。而8051等系列单片机均有片内程序存储器,可应用于系统设计。 由于单片机控制是系统的主要组成部分,则单片机的选取决定了毫伏表的测量质量和性价比。为简化单片机外围电路设计和降低硬件成本,选择PHILIPS的P87LPC764型OTP单片机。它是一种8051改进型MCU,可以提供4k 字节OTP 程存空间和128字节RAM。它不仅具备MCS-51系列已有的特点,同时增加了WDT看门狗、I2C总线,上电复位检测、欠压复位检测等其他功能,保证I/O口驱动电流达到20mA,运行速度为标准80C51 的二倍,而且温度范围也达到工业级标准( - 40 ~+85℃) ,单片机本身的可靠性即电磁兼容特性也极好,功耗很低。 1. 主要组成 从系统结构上看,所有的MCS-51系列单片机都是以Intel公司最早推出的8051为核心,增加了一定的功能部件后并增加了产品型号,但单片机的总体结构和外部引脚基本一致,它是在一块芯片上集成了CPU(微处理器)、RAM、ROM、定时器/计数器和多种I/O功能的器件。 2. 外部引脚说明(双列直插DIP封装) l Vcc, GND: 正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。 l XTAL1, XTAL2: 片内振荡电路输入/输出端 l RESET: 复位端(正脉冲有效,宽度>10mS),复位使单片机进入某种确定的初始状态 l EA/Vpp: 片外程序存储器选用端(External Access Enable.)/编程电源输入端。低有效,片内无ROM时必须接地;片内有ROM时应当接高电平;对片内ROM编程时编程正电源(21V)加到此端。 l ALE/PROG: 地址锁存允许/编程脉冲输入端。P0口寻址外部低8位地址时接外部锁存器G端;ALE端平时会输出周期正脉冲:f=fosc/6 ;对片内ROM编程时编程脉冲由此端加入。 l PSEN:寻址外部程序存储器时选通外部ROM、EPROM的读控制端(OE)低有效。 l P0.0-P0.7: 双向I/O (内置场效应管上拉),寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 l P1.0-P1.7: 准双向I/O口(内置了上拉电阻) l P2.0-P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 l P3.0-P3.7: 双功能口(内置了上拉电阻),它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。P3口的第二功能见表2。 表2 P3口第二功能表 引脚 第二功能 P3.0 RxD:串行口接收数据输入端 P3.1 TxD:串行口发送数据输出端 P3.2 INT0:外部中断0请求输入端 P3.3 INT1:外部中断1请求输入端 P3.4 T0:定时器/计数器0计数脉冲输入端 P3.5 T1:定时器/计数器1计数脉冲输入端 P3.6 :片外数据存储器写选通信号输出端 P3.7 :片外数据存储器写选通信号输出端 2.6.2时钟电路 时钟可由外部提供,也可由板上的晶振提供,但一般系统中经常使用外部时钟输入。因为使用外部时钟时,时钟的精度高、稳定性好、使用方便。由于系统工作是以时钟为基准,如果时钟质量不高,那么系统的可靠性、稳定性就很难保证。因此,若采用外部时钟,选择晶振时应对其稳定性、毛刺做全面的检验,以使系统可靠地工作。 单片机的时钟电路由外接一只晶振、两只起振电容和单片机内部的时钟电路构成,通常MCS-51单片机允许振荡晶体在1.2~24MHz之间选择,本设计的系统采用11.0592MHz的晶振。而电容可在20~100pF之间选择,根据经验值,C1、C2常取15pF、22pF。时钟电路如图10所示。 2.6.3复位电路 系统在启动或程序跑飞或死机时需要进行复位,使得CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。而单片机的复位需要外部电路实现,MCS-51单片机有一个引脚RST,高电平有效。它是施密特触发输入,当振荡器起振后,该引脚上出现连个机器周期(即24个时钟周期)以上的高电平,使器件复位。只要RST保持高电平,单片机便保持复位状态。此时,ALE、PSEN、P0、P1、P2、P3口都输出高电平。当RST变为低电平时,单片机从初始状态开始工作(复位操作不影响片内RAM的内容)。 MCS-51单片机通常有上电自动复位和按钮复位两种复位方式。由于系统运行的需要,采用按钮复位方式,如图12所示。其中,去耦电容C通常取F,是为了防止干扰信号串入复位端,引起内部寄存器错误复位。R1去1K,R2取2K。 复位使单片机进入某种确定的初始状态如下: l PC值归零(0000H); l 各个SFR被赋予初始值: P0~P3 = 0FFH,Acc = 0,B = 0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0 …… l 退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。PC与SFR复位状态见表1。 表1 PC与SF状态复位表 寄存器 复位状态 寄存器 复位状态 PC 0000H TCON 00H A 00H T2CON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0~P3 FFH SCON 00H IP XX000000B SBUF XXH IE 0X000000B PCON 0XXX0000B TMOD 00H 2.6.4液晶显示电路 液晶显示器是一种低功耗的显示器,它可以显示数字、字符和图形,而且体积很小,价格也便宜。综合考虑后采用1602进行数据显示。经查找资料,仿真软件Proteous元件库中没有LCD1602,但是LM016L液晶显示器件可以代替LCD1602实现液晶显示功能,所以在仿真时采用LM016L。LM016L管脚说明如下: l VSS(1):电源地; l VDD(2):电源正极; l VL(3):对比度调节; l RS(4):数据/命令选择; l R/W(5):读/写选择; l E(6):模块使能端; l D1~D7(7~14):双向数据口; 在Proteous中找到相应的元器件并排布好,根据管脚说明将各元件引脚连接起来。最终的单片机外围模块,即时钟电路、复位电路和显示电路如图7所示。 图7 单片机外围电路 2.7直流稳压电源设计 通常毫伏表在用最低量程档测量信号时,对外界的信号十分敏感。如果毫伏表的供电电源和被测电路共地,很可能出现因毫伏表的地与与测量电路的地之间存在电位差而将该电位差当作毫伏表的输入信号的一部分,造成测量偏差。而直流稳压电源则是解决这一问题的有效方法。 系统需要有稳定的、直流电源才能正常运行,根据直流稳压电源的原理,其方框图如图6所示。 图2.7.1 直流稳压源原理框图 2.7.1变压器的选择 在串联稳压电路中,确定变压器的二次电压很重要。如果为了有富余而把二次电压做得较高,就会增加调整管的损耗,这样得相应地增大散热器。因此,要设计出性能优良的电源,变压器的参数值往往要经过多次调整。设计中采用的LM317的输出电压是在1.2~37v的变化范围之内,由公式(为次级线圈产生的二次电压),而LM317输入电压与输出电压之差一般在5~15V范围,取V,得,经计算可确定二次电压为29.16V。于是确定变压器的电感比值调为10000:174。 2.7.2整流器的选择 设计中选用整流二极管构成整流桥进行整流,因为二极管的选择需要根据二极管的反向耐压和正向电流。由于滤波电容的容量愈大,二极管导通角愈小,通过二极管脉冲电流的幅度愈大,因此,整流管的幅值电流必须加以考虑。流过整流管的平均电流,考虑到电容充电电流的冲击,正向电流一般取平均电流的2~3倍。由于LM317负载电流最大为1.5A,但是本题要设计出最大电流为500mA,取二极管的平均最大电流为,V,因此选用IN4007二极管。 2.7.3滤波元件的选择 滤波电解电容的选择原则是:取其放电时间常数大于充电周期的3~5倍,即=(3~5)T/2。其耐压值Uc必须大于脉动电压峰值。对于桥式整流电路来说,脉动电压峰值为,的充电周期等于交流电源周期T的一半,即式中为整流后的等效负载电阻,而,则值为930uF,取1100uF。 2.7.4稳压片的选择 对于电压的稳定,目前主要采用三端稳压芯片。三端稳压器件有三个端子:输入、输出和公共端,其内部主要由采样、基准、放大、调整和保护电路组成,已经得到广泛的应用。目前市场上主要稳压器件有78系列和79系列,其中78系列输出正电压,79系列输出负电压。在设计中需要正负15V和正负5V的电源,则使用7815和7805输出正的15V和5V电源;使用7915和7905产生-15V和-5V电源。 根据经验,为了减小误差,稳压片输入输出端往往需要接电容进行滤波。输入端的接入电容是为了减小纹波、消振、抑制高频和脉冲干扰,通常取0.1~0.47uF;输出端的电容则是为了改善负载的瞬态响应,一般取1uF。 2.7.5直流稳压电源电路 在设计过程中,用四个IN4007组成整流桥,但在准备元器件制作实物时,用RS507L构成整流模块更好。根据经验值,前级滤波电容取2200uF,后级滤波电容取10uF就可以使该直流电源达到非常好的稳定性;稳压片采用78系列均可以满足要求;而且电源带负载能力非常强,能很好完成对单片机的驱动运行。在仿真的基础上考虑实物调试时可能的误差,就采用78的稳压管,而该系列的稳压管输入电压为15V,再加上整流桥到滤波电路部分的压降,取V降=20V。而输入是220V、50Hz的交流电,折算后选择162V的变压器是非常完美的。最终使得该电源带负载能力强,并且波形稳定度达到千分位。 第3章 软件设计 软件部分主要进行数据处理、控制继电器实现量程的自动切换和显示测量电压的有效值、分贝值和单位等。由于各个部分之间没有从属关系,只是通过共享数据内存区实现信息交换,而系统的主要功能是系统内部自动操作完成相应的功能。因此,将主控模块和其他功能模块相结合,实现系统内部连接达到智能化和自动化的目的。软件设计流程图如图3所示。 图3 软件系统流程图 3.1 衰减电路控制及数据采集 液晶显示的数据是字符型数组,因此单片机要把经A/D转换后要显示的浮点型数据转换为字符型数组在液晶屏上显示。而把浮点型实数转换为字符型数据(ASCII码)可以通过编写一个浮点数转换为字符型的子函数来实现数据处理功能。数据处理程序流程图如下图所示。 图4-2 判断浮点数位数流程图 图4-3为浮点数转换为字符数组的函数流程图。转换函数的作用是把待转换数的各位分离出来,组成一个字符型数组,然后在液晶屏上显示出来。 在C语言中,浮点数的分离是运用算法实现的,待转换数是经过除数10000、1000、100、10、和1五次运算后获得
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服