数控直流电流源设计 数控与电子设备专业毕业设计 毕业论_第1页
数控直流电流源设计 数控与电子设备专业毕业设计 毕业论_第2页
数控直流电流源设计 数控与电子设备专业毕业设计 毕业论_第3页
数控直流电流源设计 数控与电子设备专业毕业设计 毕业论_第4页
数控直流电流源设计 数控与电子设备专业毕业设计 毕业论_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

精品文档PAGE欢迎下载摘要在电子设备中经常用到稳定性好、精度高、输出可预置的直流电流源。随着电子技术的不断进步,对电子仪器的要求也不断提高。电源作为电路的动力源泉更是扮演着越来越重要的角色,不管是学校实验室还是维修中心都离不开实验电流源,然而传统的电流源不管是在控制精度还是输出特性上都无法满足要求。该电流源具有设定准确、输出电流稳定、可调范围全程线性等特点。随着单片机技术的不断开展和D/A,A/D技术的不断成熟使得数控电源成为可能,数控电流源不管是在控制精度还是在可操作性上都有传统电源无法比较的优势。此设计在参考传统电流源以及普通数控电流源的根底上,在充分考虑性价比的同时极大地提高了数控电流源的准确性,通过软件修正以后在使用普通元件的情况下数控电流源的性能也到达了比较高的水平。关键字:高精度;D/A转换;电流源;软件修正DCCurrentSourceDesignNCAbstract:Oftenusedinelectronicequipmentingoodstability,highaccuracy,outputpresetdccurrentsource.Progressunremittinglytherequesttotheelectronicsinstrumenttechnicallytoalsoraisecontinuouslyalongwiththeelectronics,thepowersupplyisthemotivesourceoftheelectriccircuittoplayamoreandmoreimportantrolemore,istheschoolalaboratorystillrepaircentersestoallcannotgetawayfromanexperimentpowersupplyinspiteof,howeverthetraditionalpowersupplyiscontrolaccuracyoroutputthetopsofthecharacteristicinspiteofandcan'tsatisfyarequest.Thisdirectcurrentsourcenotonlycansteadilyoutput,butalsocanbeaccuratelyinitialized,andadjustedlinearlyatawiderange.AlongwithsingleslicemachinetechnicalofdevelopcontinuouslywiththeD/A,theA/Distechnicalcontinuouslythematuritymakethenumbercontrolpowersupplytomakepossible,counttocontroltheelectriccurrentsourceandiscontrolaccuracyinspiteofstillonthemaneuverabilityallthereistraditionalpowersupplycan'tcomparetoofadvantage.Thisdesigninmakingreferencetothefoundationthatthetraditionalelectriccurrentsourceandcommonnumbercontroltheelectriccurrentsource,atthefullconsiderationpricecompareofinthemeantimeraisedanumbertocontroltheaccuracyoftheelectriccurrentsourcebiggest,passthesoftwarecorrectionhereafterwhileusethecircumstanceofthecommoncomponentthenumbercontrolstheelectriccurrentsourceofthefunctionalsocomestoahigherlevel.Keywords:Highaccuracy;D/Aconverter;currentresource;Softwarecorrection目录摘要 I1. 绪论 51.1. 电流源简介 51.2. 数控电流源的研究意义 51.3. 数控电流源技术的开展 52. 数控电流源硬件系统总体设计 62.1. 传统电流源的设计方案 62.2. 数控电流源方案 62.3. 数控电流源的方案比较 72.4. 电流源的软件系统组成 82.5. 本系统的特点 83. 数控电流源硬件模块设计 93.1. 电源模块 93.1.1. 电源原理 93.1.2. 电源方案确定 103.1.3. 电源模块具体电路 103.1.4. 电源模块PCB设计 113.1.5. 显示模块 113.2. D/A电路 123.2.1. DAC0832简介 123.2.2. 具体电路设计 143.2.3. 控制电压产生电路 153.3. 电流输出模块 153.3.1. 具体电路图 173.4. 主控局部 183.4.1. AT89C52单片机系统及外围电路 183.4.2. 单片机时钟脉冲电路 183.4.3. 复位电路 183.4.4. 主控局部具体电路 194. 数控电流源的软件系统设计 204.1. 具体模块划分 204.2. 数值处理 215. 系统测试 225.1. 设计创新点 225.2. 系统性能检测 225.2.1. 减小纹波所采用的措施 235.2.2. 纹波电流测试 235.3. 误差分析 246. 结论 25致谢 26参考文献 27附录1 28附录2 41精品文档欢迎下载绪论电流源简介所谓恒流源就是输出电流极其稳定不随负载变化。为了保证电流不变,输出电压必须始终符合V=I*R。即负载需要多大电压,恒流源就必须输出多大电压,“无条件〞予以满足。从外部看,就是Ro=∞。如果R→∞,那么V→∞。所以理想恒流源都不允许输出开路。对于实际电路,当R大到一定程度,电压输出能力就会不够,输出电流必然下降,不再恒定。在一般恒流电路中大多采用电流负反应来恒定电流负反应的作用就是“使之稳定〞。通过时刻“检查〞控制对象的状态,并进行调整。发现小了,就设法使之增大,发现大了,就设法使之减小。形象地说,电流负反应电路那么是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定,因而,输出特性接近恒流源。衡量“接近〞程度的指标就是输出电阻R远大于零。一般希望Ro→∞。〔只能接近,不可能完全到达〕数控电流源的研究意义作为常用的电子仪器在学校和研发和检测部门都有者相当广泛的应用,特别在电路原理实验和电子元件老化测试中都离不开电流源。随着电子技术的不断进步对电子仪器的要求不断提高,电源作为电路的动力源泉更是扮演着越来越重要的角色,不管是学校实验室还是维修中心都离不开实验电源,然而传统的电源不管是在控制精度还是输出特性上都无法满足要求。首先从精度上来看传统电流源的调整大多采用旋转电位器的方式,在调整时电流值主要从电位器的刻度读出,容易产生读数误差。从可操作性来看传统电流原电位器上的刻度有限,不可能非常精细,仅仅靠电位器的几个刻度对操作者的技巧要求比较高,同时误差也比较大。传统的实验电源亟待改良电源。数控电流源技术的开展由于单片机技术的不断开展和D/A,A/D元件的普及使得数控电源成为可能,数控电源不管是在控制精度还是在可操作性上都有传统电源无法比较的优势,由于单片机的平民化,使得数控电源与传统电源的本钱日益接近。另外,SMT技术也是飞速开展,使得数控电源体积和重量都大大减小,为其在特殊领域的应用奠定了根底。数控电流源硬件系统总体设计传统电流源的设计方案电源作为常用的实验仪器,在电子领域有着非常广泛的应用,传统的电流源的控制局部一般采用模拟电路,即用电位器对基准电压源进行分压,再进行电压-电流转化,其电路设计简单,制造本钱低廉,该电路原理框图如图2.1所示:电压/电流变换基准电压源电位电压/电流变换基准电压源电位器放大电路电流表电流表图2.1传统电流源方案从框图我们不难发现传统的电流源方案存在着非常明显的缺点,首先,输出电流无法精确掌握。早期的电流源输出电流仅仅靠标在电位器或者指针表的读数读出,不仅读取很不方便.度数误差比较大,从实用的角度考虑,现在有些模拟电流源也使用了数字电流表作为电流显示,提高了其精确性.但是在可操作性方面依然存在一定的缺乏.另外用电位器产生参考电位的方法是不恰当的,在电子元件中电位器是最容易产生噪声的,对干扰也最为敏感,而且在使用一段时间以后,电位器作为机械元件会出现磨损的情况,此时该电流源的输出电流将变得不稳定,噪声大幅度提高,如不更换电位器该电流源将无法正常使用。在可控升级方面传统的电流源方案电路一旦确定可更改的余地较小,可升级性能差。几乎不存在什么升级的可能数控电流源方案随着单片机的日益成熟,其稳定性不断提高,价格不断下降使得数控电流源成为可能,从原理图来看,数控电流源和传统电流源相似。不同的是数控电流源是由单片机控制的D/A提供参考电压,取代了传统电流源的电位器,使得不管是在控制精度还是使用寿命上都有很大的提高。另外单片机具有可编程性,可以进行更为复杂的控制,如输出特定的波形,和电脑通讯,实现智能化控制等,这些功能都是传统电流源难于实现的。该电路原理框图如图2.2所示:经过多年的开展,传统电流源的电流控制电路已经相当成熟,在用D/A替代了电位器以后,其性能有很大的提高。D/A变换D/A变换缓冲电压/电流变换放大电路A/D变换MCU键盘LED显示器图2.2数控电流源原理图数控电流源的方案比较方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模〔D/A〕进行转换;再根据输出的电压量来控制电流的变化;同时;通过四个编码开关的BCD码送给4511及数码管显示。此方案的优点是电路原理简单,缺点是数据量大且存储器存储容量有限,在实验过程中发现编码开关不稳定,所以不宜采用。其电路方框图如图2.3所示:图2.3方案一方框图方案二:采用以89C52为核心的单片机系统来控制D/A的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数码管显示,再改变输出的电压量来控制电流的变化,此方案的优点是本钱低,电路简单,可升级性强。所以在电路设计和制作中采用方案二。其电路方框图如图2.4所示:图2.4方案二方框图电流源的软件系统组成相对来说本设计的软件系统较为简单,主流程图如图2.4所示图2.4软件主流程图本系统的特点在系统设计时充分考虑了系统的性价比,在电源模块采用了有源虑波,并且使用两个8位D/A来提高其分辨率,使得系统可以输出五万多个电流值,通过软件修正后可以非常准确的输出相应电流值,较以往的数控电流源大大提高。同时得益于有源虑波的引入,其输出纹波也大大减小。数控电流源硬件模块设计电源模块电源原理稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图3.1图3.1电源方框及波形图a整流和滤波电路:整流作用是将交流电压U2变换成脉动电压U3。滤波电路一般由电容组成,其作用是脉动电压U3中的大局部纹波加以滤除,以得到较平滑的直流电压U4。b稳压电路:由于得到的输出电压U4受负载、输入电压和温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压U0。仿真电路图如图3.1所示下:图3.2电源仿真电路图〔protel99〕仿真结果图3.3protel仿真结果本设计共用到电源有三种:即±5V+5V+12V.+5V其中+5V给AD0832供电以及单片机〔AT89C52〕、数码显示〔包括74LS595,CC7107〕、键盘;-5V为AD0832参考电压。由于要求输出的电流最大值为2000mA,而且取样电阻为1欧所以要求DA0832输出的电压至少为2伏,通过计算-5伏的电压足够实现上述要求。提供的12V的电源用于LM358和VCC.由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以及性价比考虑采用标准的7812扩流输出方案。电源方案确定待选方案:方案一:采用线性恒流电路,该方案具有噪声干扰小,电路简单,工作稳定的特点,但是由于功率器件工作于线性状态功率损耗大,发热较大,在满足设计要求时在极限条件下功率管的消耗功率接近20W。方案二:采用开关恒流方式进行电流控制,由于功率管只工作于翻开或者关闭状态,功率管损耗较低。发热量很小,但是由于开关管对强电流进行开关操作,干扰大大高于线性恒流源。结论:作为试验仪器,在一般情况下对仪器的体积要求相对小于对仪器性能的要求,而“干净〞的电源对于电流源来说非常重要,所以在设计中采用线性电流源方案,并在其根底上参加有源虑波,使得电源更为“干净〞所以采用方案二。电源模块具体电路如下图,+5V其中+5V给AD0832供电以及单片机〔AT89C52〕、数码显示〔包括74LS595,ICL7107〕、键盘;-5V为AD0832参考电压。由于要求输出的电流最大值为2000mA,而且取样电阻为1欧所以要求AD0832输出的电压至少为2伏,通过计算-5伏的电压足够实现上述要求。提供的12V的电源用于LM358和VCC.由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以及性价比考虑采用标准的7812扩流输出方案。图3.4电源原理图电源模块PCB设计电源模块为整个电路提供电源,具有电流大,发热高的特点,所以在pcb设计时采用的较粗的导线,并在大电流的地方渡锡处理。具体模办设计如下图显示模块74LS595为串行输入并行输出的移位存放器,可以作为静态显示器接口,接在89C52的串行口上用于数码的显示。数码显示模块如下图。图3.5预值数码显示模块原理图实际电流显示利用CC7107A/D转换器组装成3.5位数字电压表,该电路为CC7107,LED和假设干无源元件组成的数字电压表电路。该电路采用标准的3.5位显示电路进行显示,其中最高位可以显示千位的“1〞和显示负号。此外,由于该电路的两个输入端即COM与V+端的电位差具有很高的稳定性,可以作为参考电压源。因此,可以通过分压的方法来扩大它的量程。由于两个输入端最大承受电压为200mV因此要实现最大值为2000mV的显示可以用以下分压形式〔本设计所采用的〕如图2.6所示:图3.6数字电压表的外接电路通过上面的电路可以测量最大值为2000mV的电压,而在本设计中的采样电阻为1k欧所以被测电压值即为被测电流值.图3.63.5位数字电压表原理图D/A电路由于采用了粗调和细调分段控制使得系统,以及软件修正,使得电流输出精度大大提高,从本钱和元件采购方面综合考虑,采用DAC0832电路作为D/A转化电路。DAC0832简介DAC0832是一个8位D/A转换器芯片,单电源供电,从+5V~+15V均可正常工作,基准电压的范围为±10V,电流建立时间为1µs,CMOS工艺,低功耗20mA。其内部结构如图3.8所示,它由1个8位输入存放器、1个8位DAC存放器和1个8位D/A转换器组成和引脚排列如下图。图3.80832内部结构图图3.9DAC0832管脚图该D/A转换器为20引脚双列直插式封装,各引脚含义如下:(1)D7~D0——转换数据输入。(2)CS——片选信号〔输入〕,低电平有效。(3)ILE——数据锁存允许信号〔输入〕,高电平有效。(4)WR1——第一信号〔输入〕,低电平有效。该信号与ILE信号共同控制输入存放器是数据直通方式还是数据锁存方式:当ILE=1和XFER=0时,为输入存放器直通方式;当ILE=1和WR1=1时,为输入存放器锁存方式。(5)WR2——第2写信号(输入),低电平有效.该信号与信号合在一起控制DAC存放器是数据直通方式还是数据锁存方式:当WR2=0和XFER=0时,为DAC存放器直通方式;当WR2=1和XFER=0时,为DAC存放器锁存方式。(6)XFER——数据传送控制信号(输入),低电平有效。(7)Iout2——电流输出“1”。当数据为全“1”时,输出电流最大;为全“(8)Iout2——电流输出“2” DAC转换器的特性之一是:Iout1+Iout2=常数。(9)Rfb——反应电阻端即运算放大器的反应电阻端,电阻〔15KΩ〕已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,Rfb即为运算放大器的反应电阻,运算放大器的接法如图9.3所示。(10)Vref——基准电压,是外加高精度电压源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10V~+10V.(11)DGND——数字地(12)AGND——模拟地DAC0832利用WR1、WR2、ILE、XFER控制信号可以构成三种不同的工作方式。1)直通方式——WR1=WR2=0时,数据可以从输入端经两个存放器直接进入D/A转换器。2)单缓冲方式——两个存放器之一始终处于直通,即WR1=0或WR2=0,另一个存放器处于受控状态。3)双缓冲方式——两个存放器均处于受控状态。这种 工作方式适合于多模拟信号同时输出的应用场合。具体电路设计在设计中采用直通方式。电路图如3.10所示。图3.10D/A转化电路其中Vx、Vy分别为粗调和精调电压输出。Pcb板图如图3.11所示图3.11D/A电路PCB图控制电压产生电路该电路由两个运算放大器组成,对Vx、Vy进行Vout=Vx+0.005*Vy运算,使得控制精度到达1/51200,到达高精度控制的目的,同时也使得软件修正成为可能。仿真电路如图3.12所示:图3.12控制电压产生电路其中U1a用于运算,U1b用于缓冲,及其滤波,V2为假定干扰源仿真结果入下列图3.13所示:图3.13控制电压产生电路仿真图〔protel〕从图中我们可以看到该电路对于高频干扰具有较好的抑制性,这对提高电流源的输出性能具有一定的帮助。电流输出模块利用图3.14所示的恒流源电路,运放的输出端通过三极管与反向输出端相连,构成负反应电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即,又由于三极管的发射极与集电极电流仅相差微小的基极电流,可视为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小。例如:时,但是在测试对的控制比预期效果差,总是小于理论值。同时R2也是负反应电阻,当电路电流受外界影响而减小的时候,R2的端电压也随之降低,三极管的Ibe也会上升。由于三极管的驱动电流较大,在试验中输出电流偏小,达不到要求精度,所以采用方案二,用场效应管代替三极管输出,与三极管相比场效应管具有驱动电流小,电流噪声底,输出电流大的特点。仿真电路如图3.14所示。仿真波形图如图3.15所示。图2.14恒流源电路原理图图3.14恒流源电路仿真波形图〔protel99〕具体电路图在protel仿真结果的根底上设计了电流输出模块,电路原理图如图2.15所示图3.15电流输出原理图主控局部AT89C52单片机系统及外围电路在电路设计中我选择最常见的ATMEL公司的AT89C52单片机。此单片机与MCS-51产品指令系统完全兼容,由8K字节可重擦写Flash闪速存储器,256*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源。并且该单片机经济实用,使用广泛。单片机时钟脉冲电路AT89C52单片机的最高时钟脉冲频率已经到达了24MHz,它内部已经具备了振荡电路,只要在AT89C52的两个引脚〔即19、18脚〕连接到简单的石英振荡晶体的2端即可,晶体的2个管脚也要用30pF的电容耦合到地。复位电路89C52的复位引脚〔Reset〕是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1μs,两个机器周期为2μs,因此,在第9脚上连接一个4μs的高电平脉冲,即可产生复位动作。最简单的就是只要一个电阻跟一个电容的复位电路,如图3.17所示。图3.17通电瞬间复位电路图3.1889C52的根本外部电路主控局部具体电路图3.19主控电路原理图数控电流源的软件系统设计具体模块划分数据处理以及显示模块其具体流程图如4.1图所示:图4.1数据处理以及显示模块其具体流程图按键处理程序模块如图4.2所示:图4.2按键处理程序流程图数值处理考虑到运算放大器的工作点偏差问题输出控制采用链表方式,调整电路使得在两个D/A均为最大输出时,输出电流为2000mA,然后递减粗调和细调D/A同时用高精度电流表检测电流,当调整到适宜的电流时即将输出状态记录,并与输出电流相关联,从而修正D/A线性,运算放大器静态电流等问题造成的偏差,同时在参加温度探测电路以后可以方便的对温度影响进行补偿。系统具有良好的可升级性。键盘对单片机输入数据,〔所要得到的电流值〕,单片机将得到的数据进行转化成D/A转换器AD0832所需要的数字信号。假设键盘输入的电流值为I,由于AD0832为8位的D/A转换器,待转换的数字信号最大值为2^8-1=255,考虑到数值连续性问题细调D/A只采用200档,所以该系统最大分辨率为255*200=51000,在最大输出电流为2000mA时分辨率为2000/51000,小于0.1mA。采用软件修正后,使得最小步进为1mA,优于设计要求。系统测试设计创新点鉴于市场上高位D/A价格高,并且购置困难,在电路设计中将采用,两个八位D/A经过运算得到高精度的电压输出,并采用查表的方式对D/A进行控制,在不同的环境下采用不同的链表,从而对元器件的非线性以及温度的影响进行高精度补偿。采用有源虑波的方法降低电源杂波,纯洁的电源供应为良好的输出性能提供了保障。系统性能检测1.测试仪器 双踪示波器,数字示波器,万用表2.指标测试输出电流范围:20mA-2000mA可以通过按键设置电流值,并且实际输出值与给定值之间的偏差<=给1%+10mA。具有“+〞“-〞步进调整功能,步进电流<10mA。本设计要求输出电流范围为1mA—2000mA,根据图2.10恒流源模块可知,,将模拟量转换为数字量送给模数转换电路;然后输出模拟量。下面列出局部电流值及其对应的理论和实际的数字量如表5.1所示表5.1预值测量值电流值〔mA〕实际值〔mA〕偏差〔mA〕显示值〔mA〕偏差〔mA〕11.0220.0222154.960.0461109.890.111112019.790.2121110099.90.11022500500050331000100001003315001499114961电流值〔mA〕实际值〔mA〕偏差〔mA〕显示值〔mA〕偏差〔mA〕 注:数字万用表的型号为VC9801A+减小纹波所采用的措施由于电源电路存在纹波,必须尽量减小纹波系数,本设计采用措施有:ⅰ电源大面积共地〔注意大电流与小电流不能共地〕ⅱ在整流桥后加大电容虑波,本设计采用约为22000ⅲ为了进一步防止纹波电压对电路的干扰而产生的纹波电流,本设计又参加了有源滤波电路。电路如图5.1图5.1有源虑波电路纹波电流测试本设计要求纹波电流小于0.5毫安,根据恒流源模块电路,用低频交流毫伏表测采样电阻〔康铜丝绕制而成,由于该电路为直流电路没交流成分,所以不会产生感抗〕两端的电压,通过公式:纹波电流〔Iw〕=纹波电压(Uw)/采样电阻〔100欧〕,通过测试,列表如下:表5.2纹波系数测量电流值(mA)交流毫伏表测量结果示波器读数〔Vpp〕(mV)100mA0.1mA0.1mA500mA0.1mA0.1mA10000.2mA0.25mA注:交流毫伏表型号为:CALTEKCA2171示波器的型号为:CALTEKCA8022图5.2示波器测量结果图5.2交流毫伏表测试结果误差分析从上面的测试结果可以看出系统输出具有很高的准确性,这得益于有源虑波的所提供的高稳定电源,以及双D/A所带来的高分辨率的参考电压值,但是在电路设计初期没有充分考虑地线的干扰,对系统的控制精度产生了一定的不利影响,在今后的设计中需要进一步改良结论在参考传统电流源以及普通数控电流源的根底上,在充分考虑性价比的同时极大的提高了数控电流源的准确性,在采用软件修正以后在使用普通元件的情况下电流源的性能也到达了比较高的水平,同时高分辨率的参考电压源也为系统的进一步扩展提供了一个良好的硬件平台。但是也应为采用软件修正的缘故,该设计在软件编写的时候需要测量大量的数据,给批量生产带来了一定的不便,在今后的设计中将考虑设计该款电流源的数据自动生成系统,以利于批量生产同时在条件允许的情况下,参加温度探头在不同的温度下采用不同的修正方案使得该系统的热稳定性将进一步提高。

参考文献曲学基.稳定电源电路设计手册.北京:电子工业出版社,2003张立科·单片机通信技术与工程实践·北京:人民邮电出版社,2005王新贤.通用集成电路速查手册.济南:山东科学技术出版社,2002朱宇光编著·单片机应用新技术教程·北京:电子工业出版社,2000余永权·89系列FLASH单片机原理与应用·北京:电子工业出版社,2000楼然苗,李光飞·51系列单片机设计实例·北京:北京航空航天大学出版社,2003李东生·PROTEL99SE电路设计技术入门与应用·北京:电子工业出版社,2002张有顺编著·MCS-51/96系列单片机简明教程·北京:中国脊梁出版社,1998附录1源程序PORTEQU0FE00HPORTAEQU0FE01HPORTBEQU0FE02HPORTCEQU0FE03HDISP0EQU30HDISP1EQU31HDISP2EQU32HDISP3EQU33HDISP4EQU34HDISP5EQU35HDISP6EQU36HDISP7EQU37HWEIEQU38H;位码DATB1EQU27;乘0.54DATBEQU50;除PPPPEQU85;想少数响要增大数值ADADHEQU0FB00H;AD地址DAADHEQU0F700H;DA地址DBUFHEQU3CH;DA高四位DBUFLEQU3DH;DA低八位LENG1EQU24;双字节二进制变BCD,40H~44HLENG2EQU4LENG3EQU3NUMB1EQU40HNUMB2EQU43HORG0000HAJMPMAINORG000BHAJMPLEDORG0013HAJMPKEYSCANMAIN:CLRP1.1SETBP1.1CLRP1.1MOVR0,#00HMOVR1,#00HMOVSP,#50HSETBPT0MOVTMOD,#01HMOVTH0,#0F8H;2MS,显示扫描间隔MOVTL0,#30HSETBEASETBET0SETBTR0SETBIT1SETBEX1CLR00H;电流千位合法位CLR01H;显示闪烁MOV3EH,#00H;显示数据MOV3FH,#00HMOV39H,#00H;合字暂存MOV3CH,#00HMOV3DH,#00HMOV45H,#00H;拆字暂存SETBP1.0;过载MOVDPTR,#PORT;AB出C口入MOVA,#03HMOVX@DPTR,AMOVDPTR,#PORTA;列扫描输出低电平MOVA,#0HMOVX@DPTR,AMOV3AH,#00HMOV3BH,#00HMOV30H,#0MOV31H,#0MOV32H,#0MOV33H,#0MOV34H,#0MOV35H,#0MOV36H,#0MOV37H,#0MOVWEI,#00HSETBRS0SETBRS1MOVR0,#DISP0;显示指针一定要用俩组MOVR6,#8;显示位数MOVR1,#DISP0;键盘指针MOVR7,#4;键盘位数CLRRS0CLRRS1LOOP:ACALLLOOPPACALLDTOAACALLATODAJMPLOOP;******************电流设置子程序***************LOOPP:MOVA,3AHCJNEA,#15,PASS1ACALLSETONEPASS1:CJNEA,#10,PASS2ACALLJIAPASS2:CJNEA,#11,PASS3ACALLJIANPASS3:RET;******************DA转换子程序*****************DTOA:PUSHPSWSETBRS0MOVR2,3CHMOVR3,3DH;MOVR2,#00H;MOVR3,#00HCLRP3.5SETBP3.5SETBP2.3CLRCCLRAMOVA,R2MOVR7,#4LOOP11:RLCADJNZR7,LOOP11MOVR7,#4LOOP22:LCALLPRDDJNZR7,LOOP22CLRCCLRAMOVA,R3MOVR7,#8LOOP34:LCALLPRDDJNZR7,LOOP34CPLP2.3POPPSWRETPRD:RLCAMOVP3.0,CSETBP3.1CPLP3.1RET;*****************************AD采样子程序******************************ATOD:HUMID:MOVDPTR,#0FB00HCLRAMOVX@DPTR,AWAIT:JNBP3.4,READ;转换结束信号SJMPWAITREAD:MOVXA,@DPTRMOVB,#8MULABMOV40H,A;低位MOV41H,B;高位;MOV40H,#0F8H;MOV41H,#07HMOV42H,#00H;双字节二进制变BCD;入口二进制42H,41H,40H高到低;出口44H~43H,高到低MUBTD:MOVR0,#NUMB2MOVR7,#LENG2CLRALOOP18:MOV@R0,AINCR0DJNZR7,LOOP18MOVR7,#LENG1LOOP48:MOVR1,#NUMB1MOVR6,#LENG3CLRCLOOP28:MOVA,@R1RLCAMOV@R1,AINCR1DJNZR6,LOOP28MOVR5,#LENG2MOVR0,#NUMB2LOOP38:MOVA,@R0ADDCA,@R0DAAMOV@R0,AINCR0DJNZR5,LOOP38DJNZR7,LOOP48;拆字程序*************MOVR0,#DISP4MOVA,44HACALLSEPA1MOVR0,#DISP6MOVA,43HACALLSEPA1RETSEPA1:MOV45H,AANLA,#0F0HSWAPAMOV@R0,AINCR0MOVA,45HANLA,#0FH;SWAPAMOV@R0,A;RETMOVDPTR,#0FB01HCLRAMOVX@DPTR,AWAIT1:JNBP3.4,READ1;转换结束信号SJMPWAIT1READ1:MOVXA,@DPTRCLRC;MOVA,#68CJNEA,#PPPP,LLILLI:JNCLL2;集电极电压大于5V那么不报警CLRP1.0;负载电压大于10VRETLL2:SETBP1.0RET;闭环*****************************CLRCMOVA,43HSUBBA,3FHMOV46H,A;低MOVA,44HSUBBA,3EHMOV47H,A;高;***********键盘显示中断程序*****************;用定时中断0,显示扫描,30H~37H是段码存放地址,38H是位码地址;8155PB0~PB3段码输出,PB4~PB7位码输出;用外部中断1键盘扫描,PA0~PA3列扫描输出,PC0~PC3;输入,P2.0接CS,P2.1接IO/M;出口数值是0~15,存在3AH中,3BH用作放键暂存;用存放器第3组;已用R0,R2,R3,R4,R5,R6,其中R0,R6为显示用,R1,R2,R3,R7为键盘用,R4,R5延时用;*******************中断显示扫描子程序*****************LED:PUSHPSWPUSHACCPUSHBPUSHDPHPUSHDPLSETBRS0SETBRS1MOVTH0,#0F8H;2MSMOVTL0,#30HMOVA,@R0ADDA,WEIMOVDPTR,#PORTBMOVX@DPTR,AMOVA,WEIADDA,#10HMOVWEI,AINCR0;ACALLDELAYDJNZR6,LED1MOVWEI,#00HMOVR0,#DISP0MOVR6,#8LED1:POPDPLPOPDPHPOPBPOPACCPOPPSWRETI;**************中断键盘扫描子程序************KEYSCAN:PUSHPSWPUSHACCPUSHBPUSHDPHPUSHDPLSETBRS0SETBRS1ACALLDELAY1;消抖延时JNBP3.3,LISTMOVDPTR,#PORTA;恢复B口输出低电平MOVA,#00HMOVX@DPTR,APOPDPLPOPDPHPOPBPOPACCPOPPSWRETI;没有按LIST:MOVDPTR,#PORTCMOVXA,@DPTRMOV3BH,AMOVR2,#0FEHMOVR3,#00HLINE0:MOVDPTR,#PORTAMOVA,R2MOVX@DPTR,AMOVDPTR,#PORTCMOVXA,@DPTRJBACC.0,LINE1MOVA,#0AJMPTRYKLINE1:JBACC.1,LINE2MOVA,#1AJMPTRYKLINE2:JBACC.2,LINE3MOVA,#2AJMPTRYKLINE3:JBACC.3,NEXTMOVA,#3AJMPTRYKNEXT:;INCR3MOVA,R3ADDA,#4MOVR3,AMOVA,R2JNBACC.3,EXITRLAMOVR2,AAJMPLINE0EXIT:MOVDPTR,#PORTA;恢复B口输出低电平MOVA,#00HMOVX@DPTR,APOPDPLPOPDPHPOPBPOPACCPOPPSWRETI;没有按TRYK:ADDA,R3MOV3AH,ALETK:MOVDPTR,#PORTCMOVXA,@DPTRXRLA,3BHJZLETKMOVDPTR,#PORTA;恢复B口输出低电平MOVA,#00HMOVX@DPTR,APOPDPLPOPDPHPOPBPOPACCPOPPSWRETI;*******************电流设置****************SETONE:SETBRS0SETBRS1;SETB01H;置显示闪烁位SETONE1:MOVA,3AHCJNEA,#10,L1L1:JNCSETONE1JB00H,L3CJNEA,#2,L2;2000MAMOVDISP0,#2MOVDISP1,#0MOVDISP2,#0MOVDISP3,#0;CLR01HCLRRS0CLRRS1PUSHPSWSETBRS1ACALLBCDHEX;十六位BCD变十六进制ACALLSUBBV;*2再送DAPOPPSWCLRARETL2:MOV3AH,#0FFHJNCSETONE1SETB00HL3:MOV@R1,A;即时刷新显示缓冲区INCR1MOV3AH,#0FFHDJNZR7,SETONEMOVR7,#4MOVR1,#30HCLR00H;CLR01HCLRRS0CLRRS1PUSHPSWSETBRS1ACALLBCDHEX;16字节BCD变二进制ACALLSUBBV;*5/8POPPSWCLRARET;**********加电流JIA:MOV3AH,#0FFHMOVA,DISP3INCAMOVDISP3,ACJNEA,#10,OUTMOVDISP3,#0MOVA,DISP2INCAMOVDISP2,ACJNEA,#10,OUTMOVDISP2,#0MOVA,DISP1INCAMOVDISP1,ACJNEA,#10,OUTMOVDISP1,#0MOVA,DISP0INCAMOVDISP0,ACJNEA,#2,OUTMOVDISP0,#1MOVDISP1,#9MOVDISP2,#9MOVDISP3,#9OUT:PUSHPSWSETBRS1ACALLBCDHEXACALLSUBBVPOPPSWCLRARET;**********减电流JIAN:MOV3AH,#0FFHMOVA,DISP3DECAMOVDISP3,ACJNEA,#0FFH,OUT1MOVDISP3,#9MOVA,DISP2DECAMOVDISP2,ACJNEA,#0FFH,OUT1MOVDISP2,#9MOVA,DISP1DECAMOVDISP1,ACJNEA,#0FFH,OUT1MOVDISP1,#9MOVA,DISP0DECAMOVDISP0,A

温馨提示

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

评论

0/150

提交评论