毕业论文智能直流数字电压表的设计_第1页
毕业论文智能直流数字电压表的设计_第2页
毕业论文智能直流数字电压表的设计_第3页
毕业论文智能直流数字电压表的设计_第4页
毕业论文智能直流数字电压表的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、 毕业论文(设计) 智能直流数字电压表的设计 院部名称: 机电工程学院 专业班级: 电气自动化技术 学生姓名: 闫永胜 学 号: 2009061134 指导教师: 董卫军 2011、12、19 目录摘 要31 引言41.1 研究背景及意义41.2单片机简介41.3单片机的应用领域及发展趋势5第一章 设计任务书6第二章 设计内容72.1 设计要求72.1.1功能要求72.1.2项目技术性能指标7第三章 系统原理及基本框图7方案论证73.1 电源电路设计83.2 输入电路设计93.2.1 电路简介93.3 转换电路设计113.3.1 at89c51单片机113.3.3 at89c51主要特性:11

2、3.3.4 icl7135芯片简介113.3.5 转换器icl7135113.3.6 icl7135的引脚功能及主要特性123.3.7性能:133.3.8据输出方式及数字部分143.3.9 对应参数整定143.4 电压表显示电路163.4.1电路简介163.5 i/o口分配16第四章 软件设计174.1 时钟频率的确定174.2 监控程序设计184.3序流程图:19第五章 程序及元件清单225.1程序225.2元器件清单27结束语28参考文献28附 :电路原理图29 摘 要数字电压表的诞生打破了传统电子测量仪器的模式和格局。它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素

3、所造成的测量误差事件。数字电压表是把连续的模拟量转换成不连续、离散的数字形式,并加以显示的仪表。数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的 先河。 电压测量是电子测量的最基本内容之一, 电子电路的许多特性,如频率特性、调制度、非线性失真系数等都可以视为电压的派生量,各种电路的工作状态,如谐振、平衡、饱和等,通常都用电压的形式来反映。电子设备的各种控制、反馈信号也主要表现为电压量。本设计是利用at89c51单片机的一种电压测量电路,该系统除了采用ic

4、l7135高精度、双积分a/d转换电路外,还增设了超限报警电路。测量范围大且可调量程, led数码管显示。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,at89c51的特点,icl7135的功能和应用。关键字:数字电压表,at89c51,icl7135, 双积分a/d转换器 , 测量 1 引言1.1 研究背景及意义数字电压表(digital voltmeter)简称dvm,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强

5、,可扩展性强、集成方便,还可与pc进行实时通信。目前,由各种单片a/d 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,展示出强大的生命力。新型数字电压表以其高准确度、高可靠性、高分辨率、高性价比等优良特性倍受人们的青睐。目前,数字电压表作为数字化仪表的基础与核心,已被广泛用于电子和电工测量、工业自动化仪表、自动测试系统等领域,显示出强大的生命力。数字电压表是诸多数字化仪表的核心和基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字

6、万用表的内部核心部件是a/d转换器,转换器的精度很大程度上影响着数字万用表的准确度,本设计双积分a/d转换器对输入模拟信号进行转换,控制核心at89c51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。1.2单片机简介单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(cpu),随机存取数据存储器(ram),只读程序存储器(rom),输入输出电路,可能还包括定时计数器,串行通信口(sci),显示驱动电路,脉宽调制电路(pwm),模拟多路转换器及a/d转换器等电路集成到一块单块芯片上,构成一个最小而完善的计算机系统。

7、这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。图1.1单片机控制系统的组成 不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,我们要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源

8、)及硬件资源。要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。1.3单片机的应用领域及发展趋势单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用(2)在工业控制中的应用(3)在家用电器中的应用(4)在计算机网络和通信领域中的应用。现在可以说单片机是百花齐

9、放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流c51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:低功耗cmos化、微型单片化、主流与多品种共存。 第一章 设计任务书开封大学机电学院2011届毕业设计任务书设计题目智能直流数字电压表设计适用专业电子信息工程技术、应用电子技术等项目简介以at89c51单片机为核心,设计智能直流数字电压表。功能要求:具有开机自检、自动量程转换功能;使用220v/50hz交流电源,设置电源开关、电源指示灯和

10、电源保护功能。项目技术性能指标1. 直流电压量程:200mv、2v、20v、200v2. 分辨率:100v(200mv量程)3. 测量误差:(0.5%(读数)+0.5%(满度值)4. 输入电阻:10m5. 测量速度:每秒23次6. 显示方式:4位led数码管显示被测电压值。进度计划了解题目要求,搜集相关资料。系统方案论证与选择,画出系统方框图,系统设计、软硬件分工等。单片机硬件资源分配,硬件各单元电路设计与计算。画出各单元电路图,计算电路参数和元件参数,元器件选型。进行硬件仿真实验,通过后列出元器件清单。画出完整的电路图,pcb板设计和相应的工艺设计。软件设计。ram资源分配、程序流程图,编写

11、、调试程序。软、硬件联调。对电路功能与性能是否达到设计要求进行评估,总结设计的特点和需要改进的地方,简述改进的方案。写出毕业设计论文。指导教师董卫军教研室主任意见 (签字)第二章 设计内容2.1 设计要求2.1.1功能要求1以at89c51单片机为核心,设计智能数字电压表。2具有开机自检、自动量程转换。3使用220v/50hz交流电源,设置电源开关,电源指示灯和电源保护功能。2.1.2项目技术性能指标1. 直流电压量程:200mv、2v、20v、200v2. 分辨率:100v(200mv量程)3. 测量误差:(0.5%(读数)+0.5%(满度值)4. 输入电阻:10m5. 测量速度:每秒23次

12、6. 显示方式:4位led数码管显示被测电压值。第三章 系统原理及基本框图方案论证 键盘控制电路方案一: 输入电路led显示电路单片机a/d转换器被测电压电源电路本方案利用a/d转换原理将被测模拟量转换成数字量,并通过控制系统即单片机用数字方式显示测量结果,各部分分别用电源供电. 种方法比较常用,并且技术也比较成熟,技术方面均能基本达到达技术要求.方案二:真有效值转换量程开关被测电压a/d转换被测电压电源部分 led数码管 方案二 系统方案框图 本方案以专用真有效值转换芯片和a/d转换器为核心来设计数字电压表,设计简单易行,而且可靠性较高以上两种方案比较而言,第一种方法比较常用,并且技术也比较

13、成熟,技术方面均能达到设计要求。故采用方案一。 3.1 电源电路设计由于单片机及所使用的芯片均为5v直流供电,经过变压器将其变为低压交流电压,低压电压经过桥式全波整流变成直流电压,再经过双t电容滤波加集成稳压芯片(7805和7905)最终变成稳定的5v直流电压。本电路还设计电路保护和电源指示灯。电源电路原理图如下:图1 电源设计图由于集成稳压器7805和7905具有很高的“电压调整率”把输入包含的交流成分和输入直流波动一起加以抑制,从而使输出直流稳定,交流纹波减小,实验表明,在稳压器的稳压范围内,其稳压精度可达0.03。1n4148是保护二极管,用来防止在输入短路时输出电容c4和c9所存储的电

14、荷通过稳压器放电而损坏器件3.2 输入电路设计3.2.1 电路简介由于该电压表要实现多量程测量,故而在本设计通过衰减电路与量程切换开关,以及集成放大器实现此功能,具体电路将在本节详细介绍。j1和j2是继电器,s1和s2是电子开关cd4053.三组二路模拟开关cd4053 cd4053内部含有3组单刀双掷开关,3组开关具体接通哪一通道,由输入地址码abc来决定 icl7650是intersil公司利用动态校零技术和cmos工艺制作的斩波稳零式高精度运放,它具有输入偏置电流小、失调小、增益高、共模抑制能力强、响应快、漂移低、性能稳定及价格低廉等优点. icl7650是一种高增益、高共模抑制比和具有

15、双端输入功能的运算放大器。输入衰减器、程控电压放大电路设输入衰减器的传输系数为a1,放大器的增益为a2。 输入衰减器和放大器增益控制由于a/d转换器满度输入电压即放大器的输出电压uo=2v,所以200mv量程总增益为a200mv=uo/ui=2/0.2=110=a1a2,2v量程总增益a2v=uo/ui=2/2=11=a1a2,初步确定采用同相比例放大器,200mv和2v量程不使用输入衰减器,由电子开关控制放大器增益a2=10或1实现量程转换。20v量程总增益a20v= uo/ui=2/20=1/10=(1/100)10=a1a2,200v量程总增益a200v=uo/ui=2/200=(1/1

16、00)1=a1a2,在20v、200v两档由继电器j1、j2接入a1=1/100的输入衰减器,配合a2=10或1实现量程转换。 电路参数计算:运放a1选icl7650斩波稳零运放。r1、r2、r3组成输入衰减器,d1、d2、d3、d4、r4、r5、r6组成输入保护电路,a1、r8、r9组成高阻同相放大电路,j1、j2、s1组成量程转换电路。(j1、j2继电器、s1、s2电子开关cd4053)。icl7650运放的输入电阻远大于10m(ri=1012),所以r1+r2+r3=10m。因为r3/(r1+r2+r3)=1/1000,所以r3=(r1+r2+r3)/1000=10m/1000=10k因

17、为(r2+r3)/(r1+r2+r3)=1/100,所以r2+r3=(r1+r2+r3)/100=10m/100=100kr2=100-r3=90k,r1=10m-(r2+r3)=10m-100k=9.9m因为au=1+r8/r9=10即r8/r9=9,取r9=1k,则r8=9r9=9k;d1、d2选用开关二极管1n4148,r4为限流电阻,设流过d1、d2的最大电流为10ma,则r4uimax/idm=1000/0.01=100k,pr4uimax2/r4=10002/100=10w,由于icl7650最大允许输入电压为:vcc+0.3v和vee-0.3v,所以,使用4v的稳压二极管将a1同

18、相端电位限制在4.7v。r5为直流平衡电阻,其值应等于运放同相端到地的电阻(约为100k)3.3 转换电路设计 转换电路的核心是at89c51和icl7135cfn芯片下面对两者做一下介绍。3.3.1 at89c51单片机芯片介绍:at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中

19、,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.3.3 at89c51主要特性:8951 cpu与mcs-51 兼容 4k字节可编程flash存储器(寿命:1000写/擦循环) 全静态工作:0hz-24khz 三级程序存储器保密锁定 128*8位内部ram 32条可编程i/o线 两个16位定时器/计数器6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路3.3.4 icl7135芯片简介ici7135是4位半双积分a/d转换芯片,可以转换输出20000个数字量,有stb选通控制的bcd码输出, 只要附加译码器,数码显示

20、器,驱动器及电阻电容等元件,就可组成一个满量程为2v的数字电压表,与微机接口十分方便.icl7135具有精度高(相当于14位a/d转换),价格低的优点.其转换速度与时钟频率相关,每个转换周期均有:自校准(调零),正向积分(被测模拟电压积分),反向积分(基准电压积分)和过零检测四个阶段组成,其中自校准时间为10001个脉冲,正向积分时间为10000个脉冲,反向积分直至电压到零为止(最大不超过20001个脉冲).故设计者可以采用从正向积分开始计数脉冲个数,到反向积分为零时停止计数.将计数的脉冲个数减10000,即得到对应的模拟量.图1给出了icl7135时序,由图可见,当busy变高时开始正向积分

21、,反向积分到零时busy变低,所以busy可以用于控制计数器的启动/停止. 3.3.5 转换器icl7135 如图所示:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 t1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着对基准电压进行同样的处理。在常用的a/d转换芯片(如adc0809、icl7135、icl7109等)中,icl7135与其余几种有所不同,它是一种四位半的双积分,a/d转换器,具有精度高(精度相当于14位二进制制数)、价格低廉、双积a/d 转换器的波形图抗干扰能力强等优点。本文介绍用单片机

22、并行方式采集icl7135的数据以实现单片机电压表的设计方案。3.3.6 icl7135的引脚功能及主要特性icl7135是双斜积分式4位半单片ad转换器,28脚dip封装。其引脚功能如下:1脚(v)5v电源端;2脚(vref)基准电压输入端;3脚(agnd)模拟地;4脚(int)积分器输入端,接积分电容;5脚(az)积分器和比较器反相输入端,接自零电容;6脚(buf)缓冲器输出端,接积分电阻;7脚(cref)基准电容正端;8脚(cref)基准电容负端;9脚(in)被测信号负输入端;10脚(in)被测信号正输入端;11脚(v)5v电源端;12、1720脚(d1d5)位扫描输出端;d5、d4、d

23、3、d2、d1(12、17、18、19、20脚)每一位驱动信号分别输出一个正脉冲信号,脉冲宽度为200个时钟周期,其中d5对应万位选通,以下依次为千、百、十、个位。在正常输入情况下,d5-d1输出连续脉冲。当输入电压过量程时,d5-d1在az阶段开始时只分别输出一个脉冲,然后都处于低电平,直至de阶段开始时才输出连续脉冲。利用这个特性,可使得显示器件在过程时产生一亮一暗的直观现象。1316脚(b1b4)bcd码输出端;该四端为转换结果bcd码输出,采用动态扫描输出方式,即当位选信号d5=“1”时,该四端的信号为万位数的内容,d4=“1”时为千位数内容,其余依次类推。21脚(busy)忙状态输出

24、端;在双积分阶段(int+de),busy为高电平,其余时为低电平。22脚(clk)时钟信号输入端;23脚(pol)负极性信号输出端;该信号用来指示输入电压的极性。当输入电压为正,则pol等于“1”,反之则等于“0”。24脚(dgnd)数字地端;25脚(rh)运行读数控制端;当r/h=“1”(该端悬空时为“1”)时,7135处于连续转换状态,每40002个时钟周期完成一次a/d转换。若r/h由“1”变“0”,则7135在完成本次a/d转换后进入保持状态,此时输出为最后一次转换结果,不受输入电压变化的影响。因此利用r/h端的功能可以使数据有保持功能。26脚(str)数据选通输出端;每次a/d转换

25、周期结束后,st端都输出5个负脉冲,其输出时间对应在每个周期开始时的5个位选信号正脉冲的中间,st负脉冲宽度等于1/2时钟周期。第一个st负脉冲在上次转换周期结束后101个时钟周期产生。因为每个选信号(d5-d1)的正脉冲宽度为200个时钟周期(只有az和de阶段开始时的第一个d5的脉冲宽度为201个clk 周期),所以st负脉冲之间相隔也是200个时钟周期。需要注意的是,若上一周期为保持状态(r/h=“0”)则st无脉冲信号输出。st信号主要用来控制将转换结果向外部锁存器或微处理器进行传送。27脚(or)超量程状态输出端;当输入电压超出量程范围(20000),or将会变高。该信号在busy信

26、号结束时变高。在de阶段开始时变低。28脚(ur)欠量程状态输出端。当输入电压等于或低于满量程的9%(读数为1800),则一当bust信号结束,ur将会变高。该信号在int阶段开始时变低。3.3.7性能: 总读数达+20000和-20000计数,满标电压为2.0000v,精度达1计数;自校零,保证零电压输入时读数为零;模拟出入可以是差动信号,输入电阻极高,输入电流典型值1pa。自动判别信号极性,保证零读数附近极性准确;只要求单一基准电压有过量程(or)和欠量程(ur)标志信号输出,可用作自动量程转换的控制信号。;全部输出与ttl兼容;用闪烁显示的方式直观的表明超量程状态;设有六个i/o辅助信号

27、(r/h,bush,st,pol,or,ur),适用于多个异步收发机,微理器或其它组合线路;采用位扫描和bcd码输出。所有输出端和ttl电路相容。3.3.8据输出方式及数字部分 icl7135的输出方式为动态bcd码扫描形式,图中是其输出波形图,这种图形将bcd码数与字位数及st倍相配合使用,可组成多种形式的数据据输也电路,以供显示或计算机采集数据之用。 当输入模拟量超过或者低于合适量程时or端或ur端就会出现图所示的波形在过量程情况下,显示数还会自动“闪光报警”。 icl7135数据输出方式图 7135数字部分主要由计数器、锁存器、多路开关及控制逻辑电路等组成。7135一次a/d转换周期分为

28、四个阶段:1、自动调零(az);2、被测电压积分(int);3、基准电压反积分(de);4、积分回零(zi)。具体内部转换过程如图所示 icl7135数字输出图 由于数字部分以dgng端作为接地端,所以所有输出端输出电平以dgng作为相对参考点。基准电压,基准电压的输入必须对于模拟公共端com是正电压。3.3.9 对应参数整定7135推荐工作条件 min nom max单位 电源电压,vcc+ 4 5 6v电源电压,vcc- v基准电压,vref 1 v高电平输入电压,clk ,run/hold vih 2.8 v低电平输入电压,clk ,run/hold ,vil 0.8 v输入电压,vid

29、 vcc-+ 1 vcc+-0.5 v工作频率fclock(见注释 1 )1.2 2mhz工作温度范围(自然通风),ta 0 70 注释: 1. 时钟频率范围扩展低至 0hz 。 基准电压的选择一般按照icl7135的输出读数10000vi/vr来确定。通常选vr=1v,则当输入电压vi=1 v时,显示1.0000;当vi=1.9999v时,显示1.9999v。在icl7135与单片机系统进行连接时,使用并行采集方式 需要外部的时钟信号,在实际应用系统中,经常采用外接rc振荡器的方式,这样可以根据积分时间确定振荡频率,f=0.45/rc.为了使电路具有抗50hz串模干扰能力,a/d转换的积分时

30、间应选择积分时间等于50hz工频的整数倍。当时钟频率fclk=125khz时,则每个时钟周期为1/fclk,所以a/d转换的积分时间为to=40002*(1/fclk)=320ms 即当时钟频率为125khz时,每秒约转换3次。积分电阻r和积分电容c的选择是非常关键的。r应选择精密电阻,积分电阻是由满量程输入电压和用来对积分电容充电的内部缓冲放大器的输出电流来定义的,充电电流的常规值为iint=20ua,积分电阻的精确值可由下式得到 在icl7135的实际应用中,最常用的时将输入电压范围接为最大即+2-2v,此时基准电压应为1/2满量程电压即+1v,rint为100k,这种元件选择参数时icl

31、7135最常用的接法。标称和推荐的电流为 20 a 。 cint积分电容的计算公式为 cint=(10000*(1/fclk)*20ua)/积分器输出电压的摆动幅值由于积分电容和积分电阻的乘积由给定的最大电压波动选择,而最大电压波动不超过积分器允许范围(接近正负电源的0.3v)。所以,满量程积分器输出电压的摆动幅值控制在3.5v4v的电压范围较为理想。如果电源电压取5v,icl7135的模拟地端接0v,则积分器输出电压的摆幅取4v就是合适的。此时的电容为 cint=10000*(1/125)*(10(-3)*20*(10(-6))/4=0.4uf在实际应用中考虑到可靠性,应使积分器的输出电压摆

32、幅稍小一些,所以常取cint=0.47uf。此外积分电容一个很重要的特性是当它只有很小的介质吸收系数时,才可阻止过冲翻转。通常选聚丙烯电容器或聚碳酸酯电容器作积分电容。自动调零电容caz的大小对系统的噪声有些影响,选用较大容量的电容可以减小噪声,典型值为1uf。 基准电容cref应大到足以使结点对地的寄生电容可以被忽略为止,典型值为1uf。积分输出端串接一个二极管d和电阻r=100k,是为了消除rollover 误差,根据要求接上即可。icl7135的并行方式在实践中的应用效果很好。与串行方式相比,其突出的优点是结构简单、程序简洁、占用单片机的资源少、可提高抗干扰能力,同时可提高仪器的检测可靠

33、性,并且可在不添加任何扩展口线器件的情况下使系统的成本得到降低,与at89cc51并行连接,就组成了一个典型的ad转换电路。3.4 电压表显示电路3.4.1电路简介 设计中采用的是8段led数码管来显示电压值。led具有耗电低、亮度高、视角大、线路简单、耐震及寿命长等优点,它由8个发光二极管组成,其中7个按8字型排列,另一个发光二极管为圆点形状,位于右下角,常用于显示小小数点,把8个发光二极管连在一起,公共端接高电平,叫共阳极接法,相反,公共端接低电平的叫共阴极接法,我们采用共阳极接法,当发光二极管导通时,相应的一段笔画或占就发亮,从而形成不同的发光字符。其中8段分别命名为dp g f e d

34、 c b a .例如,要显示0,则dp g f e d c b a 分别为:11000000b(共阳极);要显示a,则dp g f e d c b a 分别为:00010001b(共阳极)。若要显示多个数字,只要让若干个数码管的位码循环为低电平就可以了。根据设计要求,显示电路需要至少4位led数码管来显示电压值,则有7位led循环显示。自用单片机的i/o口驱动led数码管的亮灭,设计中由p0口使led的段码显示,即显示字符,由p2口选择led位码,即选择点亮哪位led来显示,电路如图2-4所示。另外,一般i/o接口芯片的驱动能力是很有限的,在led显示器接口电路中,输出口所能提供的驱动电流一般

35、是不够的尤其是设计中需要用到多位led,此时就需要增加led驱动电路,驱动电路有多种,常用的是ttl或mos集成电路驱动器,本设计使用sn7407n9(集电极开路)六反相器驱动,把它接到共阳极数码管的驱动脚,公共脚接电源或其他高电压输出即可,当共阳极数码管公共脚为高电压,sn70407的输入为高电平时,他所接的数码管被点亮。显示电路见总电路图。3.5 i/o口分配i/o口用途p0.0p0.7输出显示7段码ag、dp,高电平有效p1.0接7135的outrunp1.1接7135的d5 ,作的中断请求信号p1.2接7135的过量程信号输出端or,or=1过量程p1.3接7135的欠量程信号输出端u

36、r,ur=1欠量程p1.4接7135的符号输出端pol,“1”正“0”负p1.5接7135的bcd码输出端b1p1.6接7135的bcd码输出端b2p1.7接7135的bcd码输出端b4p2.0p2.3显示器个位万位位选信号输出,高电平有效(经sn7407反相驱动)p2.6mv单位指示led,低电平有效p2.7v单位指示led,低电平有效p3.1接7135的bcd码输出端b8p3.2接7135的 d5 d5=1时a/d转换结果万位数据输出p3.3接继电器j1,p3.4=1时k1吸合,接入衰减器p3.4接继电器j2,p3.5=1时k2吸合,接1/100衰减p3.6接电子开关k1,p3.6=0时放

37、大器电压增益为10,p3.6=1时增益为1第四章 软件设计4.1 时钟频率的确定 单片机时钟:时钟频率高运算速度快,但耗电量增加、抗干扰能力变差。本设计对速度要求不高,也无串行通信功能,故对时钟无特殊要求,选fosc=6mhz。 a/d的时钟:如果正向积分阶段的时间(10000tcp)是干扰信号周期的整倍数时对此干扰抑制效果很好,如50hz工频干扰的周期为20ms,取正向积分时间为80ms,则80000s=10000tcp,即tcp=80000s/10000=8s,fcp=1/tcp=1/8s=125khz。icl7135完成一次a/d转换需要40002个时钟周期,当tcp=8s时,转换周期为

38、t400008s=320ms。a/d转换速度约每秒3次。4.2 监控程序设计 ram地址分配附表5-1 ram地址分配表地址用途说明0组工作寄存器r1、r4、r5显示器自检子程序,r0、r2 rom、ram自检子程序,r1、r3通道自检子程序,r0、r2、r6、r7显示子程序1组工作寄存器a/d转换中断服务,r0地址指针,r5中断计数(0万位、4千位1个位),r6当前量程状态2组工作寄存器k1、k2键处理子程序,r7手动量程键k2状态计数器20h22ha/d转换结果,20h.7符号位,20h.0万位,21h22h千位个位23h25h存放零漂值,压缩bcd码,存放方式与上面类似26h28h存放计

39、算的显示值,压缩bcd码,存放方式与上面类似2bh小数点应在的字位码2ch显示字段码暂存2fh33h显示缓冲区,bcd码,万位个位50h7fh堆栈f0暂存a/d转换结果的符号位,“0”正/“1”负2dh.02dh.0=1rom有故障2dh.12dh.1=1ram有故障2dh.22dh.2=1输入通道有故障2dh.32dh.3=1开机自检有故障2dh.42dh.4=1过量程2dh.52dh.5=1欠量程2dh.62dh.6=1自动量程转换,2dh.6=0手动量程转换2dh.72dh.7=1过载,即最高量程仍超量程 量程状态转换表:量程r6s2s1j2j1(p3.7p3.4)p3口状态代码小数点应

40、在字位码(2bh)200mv00h00000fh04h(百位)2v01h01004fh10h(万位)20v02h00011fh08h(千位)200v03h01015fh04h(百位) 系统初始化参数及控制字:(p2)=40h,关报警、v单位灯亮、关显示器(p3)=0bfh,量程开关置自检状态0eh=05h,置量程指示寄存器1组r6为自检(sp)=4fh(ip)=01h,设为高级中断,其余为低级中断it0=1,外部中断置为边沿出发(ie)=81h,仅允许请求中断(2bh)=10h,置小数点应在字位码(万位)(2dh)=00h,请各个位标志4.3序流程图:主程序流程图开始开机自检有故障f11系统初

41、始化扫描显示器f0=1?f1=1?报警报警关报警 显示子程序:显示子程序置显缓存区首址,置位码关显示,取显示数,查段码百位?十位=1?a=0最后一位加符号段码送p0.位码送p2延时1ms修改位码显缓区地址减1加dp应加dp返回a/d中断服务:icl7135每一分钟完成3次据的采集工作,1/3秒完成后向cpu申请中断,cpu这时暂停工作,为中断服务.中断响应后关中断,将psw、acc压栈,判断是否首次中断,如果是首次中断,则将正负号标志位置入60h,再把百位置入61h中,如果不是首次中断,则跳到next处,如果是第二次中断,则将十位数置入62h中,如果是第三次中断,再将个位数置入63h中,第五次

42、中断则将小数点位置入64h中,同时个位置入64h中。同时清除中断次数寄存器30h中的值,完成中断后将acc、psw出栈,开中断。消隐的思想:每次电压采集后,cpu将数据送到led显示,将可能出现以下几种需要消隐的情况。200v档量程:01.需要消隐百位需要消隐百位、十位900.920v档量程:19.需要消隐百位9在采集到数据之后,置数之前判断档位,是2v档不消隐,是其他档位时再看要消隐的位之前有几个是零。第五章 程序及元件清单5.1程序(一)主程序t1: acall disply acall ini ajmp ffff: setb f1 ajmp ini ini: org 0000h ajmp

43、 main org 0003h ajmp int0 main: mov sp,#4fh mov ie,#81h setb it0 mov p2,#1fh mov p3,#03h mov 14h,#05hhh: acall dis1 jnb f0,gg setb p3.3 ajmp hhgg: jnb f1,ii setb p3.3 ajmp t1ii: clr p3.3 ajmp hh ret end(二)led显示自检(显示4位“0“和4位数字“8”)disply: nop clr r5 mov r5, #4 mov r2, #100disply1: setb p3.3 acall dl1 djnz r2, disply1 mov r2, #100 clr p3.3disply4: mov r0, #2ch mov r3, #01hdisply2: mov a, r3 mov p2, a clr a mov dptr,#tab1 movc a, a+dptr mov p0,a acall dl1 inc r0 mov a, r3 jb acc.4,disply3 rl a mov r3,a ajmp disply2disply3: djnz r2, disply4 mov r2, #100 mov r1, #2ch

温馨提示

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

评论

0/150

提交评论