版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的直流稳压电源几乎都是用旋纽开关调节电压,调节精度不高、难控制、体积大、结构复杂,而且经常跳变,使用麻烦。将单片机数字控制技术融入直流稳压电源的设计中,设计出的数字化直流稳压电源具有数码显示、数字输入调压、电压调节精度高的特点。而且通过软件编程,易于实现功能的扩展。数控电源目前的开展,主要朝着更高的数控精度和分辨率及更好的动态特性;更好的环保性能;智能化与高可靠性;更广泛的应用方向开展。本设计利用AT89S51作为主控芯片,控制数模转换模块DAC0832的输出电压,通过运算放大器OPA552放大输出。设置四个按键,来实现电压的增减,并带有数码显示模块。可以到达每步0.1V的精度,输出电压范围0~15V,电流可以到达200mA。关键词:数控电源;AT89S51;DAC0832;OPA552AbstractDirectcurrentvoltage-stabilizedpowersupplyisoneofthecommonlyusedequipmentinelectronictechnology.It’swidelyusedinteaching,researchingandotherfields.Mostofthetraditionaldirectcurrentvoltage-stabilizedpowersupplyusetheknobswitchtoadjustthevoltage.Ithasthetroubleoflow-precisionanddifficulttocontrol.Thestructureiscomplexandthevolumeislarge.Thenumericalcontroltechniqueofsinglechipmicrocomputerisadoptedinthedesignofdirectcurrentvoltage-stabilizedpowersupplyforadigitalized.Havingnumeraldisplay,thedirectcurrentpowercanadjustvoltageprogrammablyanddifferentiatevoltageprecisely.Moreover,it’seasytohaveitsfunctionenlargedthroughtheprogrammer.Numericalcontroldirectcurrentvoltage-stabilizedpowersupplymainlytowardtohigh-precision,high-resolution,betterdynamiccharacteristics,betterenvironmentalperformance,intelligent,highreliabilityandwiderapplicationdirection.Inthisdesign,usingtheAT89S51asmainmoduletocontroltheoutputvoltageofDAC0832.ThevoltageismagnifiedbyamplifierOPA552.Inthissystem,thestepofvoltageiscontrolbyfourkeys,andthedisplaymoduleisalsodesigned.Thestepprecisionis0.1V,theoutputvoltageisrangefrom0Vto15Vandthecurrentisupto200mA.Keywords:Numericalcontrolpower;AT89S51;DAC0832;OPA552目录摘要IAbstractII第1章绪论11.1课题的背景和意义11.2数控电源的开展1第2章方案设计3第3章系统硬件电路设计43.1主要电路的设计43.2具体电路介绍43.2.1主控单元电路43.2.2信号处理电路83.2.3电压放大电路123.2.4按键电路143.2.5显示电路15第4章系统软件设计184.1程序运行原理184.2程序流程194.2.1延时子程序流程194.2.2拆分送显存子程序流程194.2.3显示子程序流程204.2.4主程序流程21第5章设计仿真及调试225.1WAVE6000集成调试软件简介225.2程序调试的步骤23第6章电路调试及实验分析256.1实验仪器256.2电路焊接和调试256.3实际电压与显示电压比照分析256.4系统误差分析26结论27参考文献28附录1电路原理图29附录2程序清单30附录3实物图35致谢36第1章绪论1.1课题的背景和意义电源技术尤其是数控电源技术是一门实践性很强的工程技术,效劳于各行各业。电力电子技术是电能的最正确应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术开展而来的现代信息技术革命,给电力电子技术提供了广阔的开展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。数控电源是从80年代才真正的开展起来,期间系统的电力电子理论开始建立。这些理论为其后来的开展提供了一个良好的根底。在以后的一段时间里,数控电源技术有了长足的开展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比拟低、可靠性较差的缺点。因此数控电源主要的开展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的开展提供了有利的条件[1]。到90年代,随着新的变换技术和控制理论的不断开展,各种类型专用集成电路、数字信号处理器件的研制应用,己经出现了数控精度到达0.05V的数控电源,功率密度到达每立方英寸50W的数控电源[2]。从组成上,数控电源可分成器件、主电路与控制等三局部。目前在电力电子器件方面,传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小。因此,电压的调整精度不高,读数欠直观,电位器也易磨损,而且经常跳变,使用麻烦。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的缺乏。数控技术方面的开展是以51系列单片机为主控单元电路的开展和软开关技术等电子技术的完善为主要标志。数字化那么应属于控制方面的重要开展方向,随着信息技术的突飞猛进,将对数控电源技术的开展起到巨大推进作用。数控电源目前的开展,主要朝着更高的数控精度和分辨率及更好的动态特性;更好的环保性能;智能化与高可靠性;更广泛的应用等方向开展[3]。1.2数控电源的开展20世纪80年代,出现了一种开关式稳压电源,这种电源是采用功率半导体器件作为开关,通过控制开关的占空比调整输出电压。开关型稳压电路中的调整管工作在开关状态,因而功耗小,电路效率高。开关电源的种类很多,按调整管与负载的连接方式可分为串联和并联型,串连开关稳压电路是降压型电路,并联开关型稳压电路是升压型电路。按稳压的控制方式可分为脉冲宽度调制型〔PWM〕、脉冲频率调制型〔PFM〕和混合调制型。这其中尤以PWM最为盛行,这种电源在稳压方面功能非常优越,但在电压输出精度方面仍存在缺陷,旋钮式电源远不能满足工业需求,数控技术的开展给电源的开展注入新的活力,数控逐渐成为一种趋势[4]。随着人们生活水平的不断提高,数字化控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数控直流稳压电源就是一个很好的典型例子,但人们对它的要求也越来越高,要为现代人工作、科研、生活提供更好的,更方便的设施就需要从数字电子技术入手,一切向数字化,智能化方向开展。近年来出现了不少的数控电源产品,例如数控三步仿金电镀电源,具有自动稳压功能和软启动功能,时间在0~30秒内可调;具有稳压限流功能,稳压状态下输出电流超过正常电流10%,电源会自动进入限流状态;具有高可靠的过流,短路保护功能,输出电流超过额定值的50%时,电源自动封锁输出,同时发出声和光报警[5]。随着数控技术以及可编程器件的开展,出现了一种可编程直流数控电源,其中最典型的就是3645A型数控电源,它是一种输出电压范围在0~36V,负载工作电流可以到达3A的直流稳压电源,电压及电流均可任意调节。其主要功能有:电压设定、电流上限设定、电源输出电压上限设定、通讯设定、键盘锁定功能、功率上限设定、保存选项设定等功能,电压、电流、功率均以LCD显示,画面清晰、直观,操作方便。数控程度已很高,但本钱太贵,不利于大批生产[6]。第2章方案设计方案设计原理框图如图2-1所示。图2-1方案设计原理框图本方案是采用AT89S51芯片作为主控单元。AT89S51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash程序存储器和128bytes的随机存储器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的AT89S51为本设计提供了高性价比的解决方案。设置四个按键来实现电压的+0.1V、-0.1V、+1V、-1V。该系统使用3个数码管,采用动态扫描驱动方式,通过软件编程的方法,可以显示三位数,一个小数位,比方可以显示10.5V。从整个原理框图来看,该方案思路非常清晰,就是通过单片机控制DA的输出电压,通过运算放大器放大输出,而电压大小在三位数码管上显示。采用软件方法来解决电压的步进控制和电压的显示,使系统硬件更加简洁,各类功能易于实现。所以选择本方案。第3章系统硬件电路设计3.1主要电路的设计系统硬件电路局部主要包括:主控单元电路:采用51系列单片机AT89S51为主控单元。信号处理电路:数模转换模块DAC0832。电压放大电路:集成运算放大器OPA552。人机接口电路:按键电路。显示局部电路:8位并行数码显示管。附属电路:包括晶体振荡电路、重启电路、参考电压电路、滤波电路等。3.2具体电路介绍3.2.1主控单元电路采用51系列单片机AT89S51为主控单元。AT89S系列单片机是ATMEL公司研制生产的,优越的性能价格比使其成为颇受欢送的单片机。AT89S系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪存存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片(AT89S2051/1051),使整个硬件电路的体积更小。AT89S系列单片机有4种型号:AT89S51、AT89S52、AT89S2051、AT89S4051,其中AT89S2051/4051是ATMEL公司AT89S系列的新成员。它以较小的体积,良好的性能价格比受青睐,在家电产品、工业控制、计算机产品、医疗器械、汽车工业等应用方面成为用户降低本钱的首选器件。这里以AT89S51为代表对AT89S系列单片机做一阐述。AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S51单片机集Flash程序存储器和通用8位微处理器于单片芯片中,功能强大,价位低,可为许多应用场合提供高性价比的解决方案,可灵活应用于各种控制领域[7]。AT89S51芯片的引脚图如图3-1所示:图3-1AT89S51引脚图主要性能参数:与MCS-51产品指令系统完全兼容4k字节在系统编程〔ISP〕Flash闪速存储器1000次擦写周期4.0-5.5V的工作电压范围全静态工作模式:0Hz-33MHz三级程序加密锁128*8位内部RAM32个可编程I/O口线两个16位定时/计数器5个中断源全双工串行UART通道低功耗的闲置和掉电模式中断可从空闲模式唤醒系统看门狗〔WDT〕及双数据指针掉电标识和快速编程特性片内振荡器和时钟电路管脚说明:VCC:供电电压。GND:接地。P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。每位能驱动8个TTL逻辑门电路。当对管脚写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址的低8位和数据总线复用。在FIASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,此时P0外部须接上拉电阻P1口:P1口是一个带内部提供上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。P1口管脚写入1后,通过内部的上拉电阻把端口拉到高电平,此时可用作输入口,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉电阻的缘故。在FLASH编程和校验时,P1口接收低八位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2口的输出缓冲级可驱动4个TTL逻辑门电路,当P2口被写入“1”时,其管脚被内部上拉电阻拉高,此时可作为输入口。作为输入口时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉电阻的缘故。当P2口访问外部程序存储器或外部数据存储器时,P2口输出地址的高八位。在访问8位地址的外部数据存储器时,P2口线上的内容,在整个访问期间不改变。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动4个TTL逻辑门电路。当P3口写入“1”后,它们被内部上拉电阻拉为高电平,并可作为输入端口。作输入端时,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉电阻P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能可作为AT89S51的一些特殊功能口:P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2〔外部中断0〕P3.3〔外部中断1〕P3.4T0〔定时器0〕P3.5T1〔定时器1〕P3.6〔外部数据存储器写选通〕P3.7〔外部数据存储器读选通〕P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平将使单片机复位。ALE/:当访问外部存储器时,地址锁存允许管脚的输出电平用于锁存地址的低8位字节。在FLASH编程期间,此引脚用于输入编程脉冲。即使不访问外部存储器,ALE端仍以时钟振荡频率的1/6输出正脉冲信号,因此它可用作对外部输出脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址单元上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚会被略微拉高,单片机在执行外部程序时,应设置ALE无效。:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。/VPP:当保持低电平时,那么在此期间访问外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此期间访问内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电压VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡放大器的输出端。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石英晶体振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平符合要求的宽度。芯片擦除:在并行编程模式,利用控制信号的正确组合并保持ALE/引脚200ns-500ns的低电平脉冲宽度即可完成擦除操作。在串行编程模式,芯片擦除操作是利用擦除指令进行。在这种方式,擦除周期是自身定时的,大约为500ms。此外,AT89S51设有稳态逻辑,可以在零频率的条件下进入静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作,但RAM,定时器,计数器,串行口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所有其他芯片的功能,直到下一个硬件复位为止。3.2.2信号处理电路D/A转换器(DAC0832)引脚及功能介绍[8]:DAC0832为电压输入、电流输出的R-2R电阻网络型的8位D/A转换器,采用CMOS和薄膜Si-Cr电阻相容工艺制造,温漂低,逻辑电平输入与TTL电平兼容。它可直接与微处理器相连,采用双缓冲存放器,这样可在输出的同时,采集下一个数字量,以提高转换速度。DAC0832的内部功能框图如图3-2所示。图3-2DAC0832的内部功能框图引脚排列如图3-3所示。图3-3DAC0832的引脚排列图DAC0832的组成:DAC0832主要由3局部组成,第一局部是8位D/A转换器,输出为电流形式;第二局部是两个8位数据锁存器构成双缓冲形式;第三局部是控制逻辑。单片机可利用控制逻辑通过数据总线向输入锁存器存数据,因控制逻辑的连接方式不同,可使D/A转换器的数据输入具有双缓冲、单缓冲和直通3种方式。当、、及接低电平时,ILE接高电平,即不用写信号控制,使两个存放器处于开通状态,外部输入数据直通内部8位D/A转换器的数据输入端,这种方式称为直通方式。当、接低电平,使DAC0832中2个存放器中的一个处于开通状态,只控制一个存放器,这种工作方式叫做单缓冲工作方式。当ILE为高电平,和为低电平,8位输入存放器有效,输入数据存入存放器。当D/A转换时,、为低电平,使8位D/A存放器有效,将数据置入D/A存放器中,进行D/A转换。2个存放器均处于受控状态,输入数据要经过2个存放器缓冲控制后才进入D/A转换器。这种工作方式叫做双缓冲工作方式[9]。DAC0832管脚定义说明如下::片选输入端,低电平有效,与ILE共同作用,对信号进行控制。ILE:输入的锁存信号,高电平有效,当ILE=1且和均为低电平时,8位输入存放器允许输入数据;当ILE=0时,8位输入存放器锁存数据。:写信号1,低电平有效,用来将输入数据送入存放器中;当=1时,输入存放器的数据被锁定;当=0,ILE=1时,在为有效电平的情况下,才能写入数字信号。:写信号2,低电平有效,与组合,当和均为低电平时,输入存放器中的8位数据传送给8位DAC存放器;=1时8位DAC存放器锁存数据。:传输控制信号,低电平有效,控制有效。DI0~DI7:8位数字量输入端,其中DI0为最低位,DI7为最高位。Iout1:DAC电流输出1端,当DAC存放器全为1时,输出电流Iout1为最大;当DAC存放器中全都为0时,输出电流Iout1最小。Iout2:DAC电流输出2端,输出电流Iout1+Iout2=常数。Rfb:芯片内的反应电阻引出端,用来作为外接运算放大器的反应电阻。在构成电压输出DAC时,此端应接运算放大器的输出端。Vref:参考电压输入端,通过该引脚将外部的高精度电压源与片内的R-2R电阻网络相连,其电压范围为-10~+10V。VCC:电源电压输入端,电源电压范围为+5~+15V,最正确状态为+15V。DGND:数字电路接地端。AGND:模拟电路接地端,通常与DGND相连。为了将模拟电流转换为模拟电压,需把DAC0832的两个输出端Iout1和Iout2分别接到运算放大器的两个输入端,经过一级运放得到单极性输出电压U1。当需要把输出电压转换为双极性输出时,可由第二级运放对U1及基准电压Vref反相求和,得到双极性输出电压U2。如图3-4所示,电路为8位数字量DI0~DI7经D/A转换器转换为双极性电压输出的电路图[10]。图3-4D/A转换双极性输出电路图第一级运放的输出电压为:其中,D为数字量的十进制数。第二级运放的输出电压为:当R1=R2=2R3时,那么DAC0832与AT89S51的连接:DAC0832是一种典型的8位转换器,内部为双缓冲存放器即输入存放器和DAC存放器,和分别为相应两个存放器的写信号控制端,ILE为输入锁存使能端,高电平有效,为片选端,为传输控制端,它和共同控制DAC存放器的工作状态。DAC0832有两个接地端AGND〔模拟信号接地端〕和DGND〔数字信号接地端〕,一般情况下,这两个地端均应并联接地。DAC0832有三种工作方式:直通工作方式,单缓冲工作方式,双缓冲工作方式,在设计中选用单缓冲工作方式。DAC0832的D/A转换电路为倒T型R-2R电阻网络,有Iout1和Iout2两个电流输出端,根据不同的电路组成,该芯片可以有两种输出模式,一种为电流输出模式,这种模式基准电压加在Vref端,由Iout1和Iout2输出的电流经运算放大器相加后输出;另一种为电压输出模式,这种模式基准电压加在Iout1和Iout2之间,模拟电压从Vref端输出。本电路采用后一种模式,其基准电压通过电阻和LM336-5.0精密基准电压源组成的稳压电路提供,其基准电压为5.12V,作为电路设计的程序设计编码基准电压。由于DAC0832为8位转换器,所以采取把5.12V电压等分256份,得出DAC0832每一步进输出的电压值为0.02V。即:5.12V/256=0.02V。DAC0832与AT89S51的连接图如图3-5所示。图3-5DAC0832与AT89S51的连接图,和相连接P2.0,和相连共同接地,ILE接+5V,Iout1接参考电压,Iout2接地,Rfb空置不用,而Vref作为电压输出端接集成放大器[11]。DAC0832的11脚Iout1接参考电压,参考电压电路如图3-6所示。图3-6参考电压电路通过调节可调电阻调节LM336的输出电压为5.12V,所以在DAC的8脚输出电压的分辨率为5.12V/256=0.02V,也就是说DAC0832输入数据端每增加1,电压增加0.02V。3.2.3电压放大电路OPA552功能介绍[12]:OPA552是高电压,大电流,低本钱的运算放大器。它的最优化增益是5或者更大,转换率为24v/us,带宽为12MHz。适合于,音频,伺服,及测试应用中。主要特性:宽供电范围:±4V至±30V高输出电流:最大输出200mA低噪声:14nV/充分保护:热关闭输出电流限制:热关闭指示快速转换率:24V/us宽频带宽度:12MHzOPA552的引脚图如图3-7所示。图3-7OPA552的引脚图OPA552的典型应用电路如图3-8所示。图3-8OPA552的典型应用电路OPA552与DAC0832的连接:OPA552与DAC0832的连接图如图3-9所示图3-9OPA552与DAC0832的连接图从电路图可知,放大器输出信号就是电源的输出电压,根据需要选择不同的DAC0832输入的数字量的值即可获得不同的控制电压〔DAC0832输出电压〕,进而可获得所需的输出电压值。DAC0832的电压输出端Vref接放大器OPA552的输入端,放大器的放大倍数为〔10K+40K〕/10K=5,输出的电压分辨率=0.02V×5=0.1V。3.2.4按键电路本设计利用四个按键来控制输出电压的变化。按键电路如图3-10所示:图3-10按键电路KEY1为+0.1V按键,与单片机的P2.1相连,该键每按一次输出电压将在上一输出值的根底上增加0.1V。KEY2为-0.1V按键,与单片机的P2.2相连,该键每按一次输出电压将在上一输出值的根底上减少0.1V。KEY3为+1V按键,与单片机的P2.3相连,该键每按一次输出电压将在上一输出值的根底上增加1V。KEY4为-1V按键,与单片机的P2.4相连,该键每按一次输出电压将在上一输出值的根底上减少1V。3.2.5显示电路74LS164的引脚及功能介绍[13]:74LS164是串行输入/并行输出移位存放器,有两个串行数据DA、DB输入端,使用时一般把它们连在一起;为清零输入端,低电平有效,当该端参加低电平时,存放器输出Q0~Q7全为低电平。在正常情况下,清零输入端接高电平,当CP信号上升沿到来时,数据右移一位;Q0~Q7为并行数据输出端,同时Q7端也是串行数据输出端,对于串行输入的数据,最先输入的从Q7输出,最后进入的从Q0输出。CP为移位脉冲。74LS164的管脚排列如图3-11。图3-1174LS164的管脚排列显示电路的连接:显示电路连接图如图3-12所示。图3-12显示电路连接图显示电路由三个共阴级的数码管和一个74LS164组成。三个数码管分别组成显示电路的十位、个位、小数点位,比方可以显示10.5V。由于三个数码管至少需要21根I/O线,为节约资源,采用串行输入并行输出的74LS164进行驱动输出。单片机的两个并行口P1.4和P1.5分别作为74LS164的信号输入口和时钟控制信号。P1.0、P1.1、P1.2分别接十位、个位、小数位的片选端。Q0~Q7(第3~6和10~13引脚)并行输出端分别接在LED显示器的a-dp各段对应的引脚上。LED的8个段选端通过电阻和74LS164的并行输出口即8根选线相连接。采用动态扫描驱动方式[14]。显示数据以串行方式从AT89S51的P1.4口输出送往移位存放器74LS164的A、B端,然后将变成的并行数据从输出端Q0~Q7输出,选中LED相应的段。位选码由AT89S51的P1.0~P1.2口输出低电平,以对数码管LED1~LED3进行位选控制,这样,3个数码管便轮流显示。由于人眼的残留效应,这3个数码管看上去几乎是同时显示。第4章系统软件设计4.1程序运行原理软件要实现的功能是:键盘对单片机输入数据,单片机对获得的数据进行处理,送到8位数模转换器〔DAC0832〕,再送到数码管显示,实现数字量对电压的控制。本程序的设计思路是:当电源翻开的时候,单片机进行复位,存放器清零,DAC0832清零,再转换成BCD码送到数码显示局部,电源应该显示零。这时候程序循环检测是否有按键信号,如果KEY1按下,电压值加0.1V,把它送到DAC0832并且显示。如果KEY2按下,电压值减0.1V,把它送到DAC0832并且显示。如果KEY3按下,电压值加1V,把它送到DAC0832并且显示。如果KEY4按下,电压值减1V,把它送到DAC0832并且显示。该系统的软件编程采用MCS-51系列单片机汇编语言完成。本程序的运行原理是:设计中CPU的工作任务是单一的,程序的工作过程是当系统上电复位后,默认输出0伏电压,然后扫描KEY1,KEY2,KEY3,KEY4键,当KEY1,KEY2,KEY3,KEY4有键按下时,程序跳转至相应的按键处理程序,经按键程序处理后,再调用显示子程序。完成显示与输出操作后,继续扫描此四个按键。程序设计需要考虑的主要问题有两个方面。一方面要找出数字量与输出电压的关系,这是程序设计的依据;另一方面要建立显示值与输出电压值的对应关系,这是程序设计是否成功的标志。因为在本系统中,显示的输出电压值不是直接从输出电路中通过检测得到的,因此显示与输出并不存在直接联系。为了使显示值与实际输出值相一致,在程序编写时,必须人为地将两者建立某种关系。采用的方法是:在程序存储器中建立WORDTAB表格,存放数码显示器0-9字符所对应的数据[15]。编写拆分送显存子程序BIN_BCD,把要显示的数据按位拆分,送入不同的显存单元。分别存放在内存RAM中32H单元,31H单元和30H单元。这三个单元分别存放数码显示器十位的字符,个位的字符和小数位的字符。这样就能使显示值与输出值保持一一对应的关系,即显示器能准确地显示出电源输出电压值的大小,到达电路设计的目的。由于理论计算与实际情况还存在着一定的差异,为了使显示值更加接近实际输出值,本电路在装配时需要对输出电压进行校正。方法是:将输出电压调至15V(显示器显示值)选用精确度较高的数字万用表对实际输出电压值进行校正,通过调整可调电阻使实际输出电压到达15V;然后再将输出电压调至0V(均为显示器显示值),同样用数字表进行校正。如此反复校正几次,就能使显示器的显示值和实际的输出值一致,到达较好的效果。具体程序见附录。4.2程序流程4.2.1延时子程序流程图4-1延时子程序流程图4.2.2拆分送显存子程序流程图4-2拆分送显存子程序流程图4.2.3显示子程序流程图4-3显示子程序流程图4.2.4主程序流程图4-4主程序流程图第5章设计仿真及调试5.1WAVE6000集成调试软件简介WAVE6000集成调试软件在以前的版本根底上增加了许多功能,特别是在窗口管理、工程管理和源文件编辑工具上做了较大改良,在WAVE6000环境下的所有窗口均可以放在窗口的同一块区域,各窗口可以直接切换,节省了窗口的面积,使窗口管理更有效。WAVE6000还增强了工程管理和源文件编辑方面的功能,使得工程、文件切换更方便,有效地后退、前进功能使得修改程序更方便。新增加的书签窗口和断点窗口可以有效地管理断点和书签,使得程序员无需在众多的代码和断点中逐行查询,断点信息和书签信息在各自的窗口中显示一目了然[16]。工程窗口是用户和源程序文件、目标文件和用户设置等的桥梁,通过工程窗口可以建立工程、设置工程、添加源程序到工程、编译工程等工程操作。信息窗口显示工程操作和文件操作后的详细信息,例如翻开工程、保存工程、工程编译过程以及出错信息等等。在一个工程调试之前,必须经过新建工程、设置工程、添加模块和包含文件、保存工程、编译工程,最后进入调试工程,其中的所有成功和错误信息都会在该窗口中显示,因此用户在调试工程前,需要观察此窗口是否有错误信息,待排除错误前方可正确调试工程。观察窗口用于显示工程中的所有变量和用户自定义变量,能显示常量、函数入口地址、数组变量、结构变量、共用体变量、指针变量等多种复杂的数据类型。用户可以添加用户变量、设置变量类型,使用结合影子存储器、时效分析等功能分析用户程序、数据。变量一旦被修改,将很醒目的显示被修改正;支持直接修改变量的值,以方便程序的局部调试。断点窗口用于记录、显示用户在上次退出环境时设置的所有断点的信息〔包括无效断点〕,例如所在的文件、所在行的行号、PC值、是否有效等信息。在该窗口用户可以删除任意一个断点,或者迅速查找到该断点所在程序的位置。书签窗口同断点窗口类似,书签窗口用来管理用于记录、显示用户在上次退出环境时的所有书签的信息,例如所在文件、所在行的行号;用户可以在窗口中删除任意一个书签、迅速查找所在行。外设〔包括端口、定时器、串行口、中断〕菜单和相应的窗口是由SFR窗口寄生出来的外设菜单,专门用来显示外部设备的状态和相应的设置,可以通过该窗口生成用户修改设置后的汇编源码、C源码,用户可以脱离常用的手册直接修改各外设的工作方式,然后产生源码。设置文本编辑器窗口根据用户的喜好,可以设置文本编辑区的颜色属性和文本属性。5.2程序调试的步骤1、建立新程序。选择文件→新建文件,出现一个文件名为NONAME1的源程序窗口,在此窗口中输入源程序。2、保存程序。选择文件→保存文件或文件→另存为,给出文件所要保存的位置,例如:C:\WAVE6000\SAMPLES文件夹,再给出文件名MY1.ASM。保存文件,文件保存后,程序窗口上文件名变成了:C:\WAVE6000\SAMPLES\MY1.ASM3、建立新工程。选择文件→新建工程,新建工程会自动分三步走:参加模块文件。在参加模块文件的对话框中选择刚刚保存的文件MY1.ASM,按翻开键。如果是多模块工程,可以同时选择多个文件再翻开。参加包含文件。在参加包含文件对话框中,选择所要参加的包含文件〔可多项选择〕。如果没有包含文件,按取消键。保存工程。在保存工程对话框中输入工程名称。MY1无须加后缀。软件会自动将后缀设成“.PRJ〞。按保存键将工程存在与源程序相同的文件夹下。工程保存好后,如果工程是翻开的,可以看到工程中的“模块文件〞已有一个模块“MY1.ASM〞,如果工程窗口没有翻开,可以选择窗口→工程窗口来翻开。可以通过仿真器设置快捷键或双击工程窗口第一行选择仿真器和要仿真的单片机。4、设置工程选择设置→仿真器设置或按“仿真器设置〞快捷图标或双击工程窗口的第一行来翻开“仿真器设置〞对话框。在“仿真器〞栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。在“语言〞栏中,“编译器选择〞根据本设计程序选择为“伟福汇编器〞。5、编译程序选择工程→编译或按编译快捷图标或F9键,编译工程。在编译过程中,如果有错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将工程和程序存盘。在编译没有错误后,就可调试程序了。6、调试程序选择执行→跟踪或按跟踪快捷图标或按F7键进行单步跟踪调试程序。单步跟踪就是一条指令一条指令地执行程序,假设有子程序调用,也会跟踪到子程序中去。可以观察程序每步执行的结果,“→〞所指的就是下次将要执行的程序指令。由于条件编译或高级语言优化的原因,不是所有的源程序都能产生机器指令。源程序窗口最左边的“o〞代表此行为有效程序,此行产生了可以执行的机器指令。将光标移到程序想要暂停的地方,选择执行→执行到光标处或F4键或弹出菜单的“执行到光标处〞,程序全速执行到光标所在行。设置断点,将光标移到源程序窗口的左边灰色区,光标变成“手指圈〞,单击左键设置断点,也可以用弹出菜单的“设置/取消断点〞功能或用Ctrl+F8组合键设置断点。如果断点有效图标为“红圆绿勾〞,无效断点的图标为“红圆黄叉〞。断点设置好后,就可以用全速执行的功能,全速执行程序,当程序执行到断点时,会暂停下来,这时可以观察程序中各变量的值,及各端口的状态,判断程序是否正确。利用上述方法反复调试,直到程序到达设计的目的。第6章电路调试及实验分析6.1实验仪器实验面包板,单片机仿真器,编程器,示波器,实验电源,电烙铁,吸锡器,剪刀,剥线钳,电线假设干,镊子,数字万用表,螺丝刀等。6.2电路焊接和调试电路调试过程中遇到的问题和解决方法:1、电路线路比拟多,容易出现短路现象,数码显示由于短路出现显示不正常现象,整理线路后能够正常显示。2、在放大器的输入端串联10K的电阻,在输入端和输出端加100K反应电位器,调节电位器使得输出电压数值和显示值相等。3、制作和测试-24V电源时,由于没有认真参考整流管的接法和7924的芯片资料,出现整流电容爆裂。4、数码显示出现问题,检查电路发现出现虚焊,重焊后能正常显示。5、反复调节电路,使得符合设计要求。6.3实际电压与显示电压比照分析表6-1显示电压与实际电压对照表实际电压(V)显示电压(V)相对误差0.000.00.00%0.480.54.16%0.981.02.04%1.481.51.35%1.992.00.50%2.482.50.81%2.983.00.67%3.483.50.58%3.994.00.25%实际电压(V)显示电压(V)相对误差4.494.50.22%4.995.00.20%5.495.50.18%6.006.00.00%6.506.50.00%6.997.00.14%7.497.50.13%8.008.00.00%8.508.50.00%9.009.00.00%9.509.50.00%10.0110.00.10%10.5010.50.00%11.0111.00.09%11.5111.50.09%12.0212.00.17%12.5112.50.08%13.0113.00.08%13.5113.50.07%14.0114.00.07%14.5114.50.07%15.0115.00.07%6.4系统误差分析系统的主要误差来源于三个方面:1、DAC0832的量化误差。DAC0832为8位D/A转换器,满量程为15V的量化误差为±(1/2)LMBS=±(1/2)×(1/28)×15V≈±30mV。满度归一化的相对误差为:±(1/2)×(1/28)=±0.2%。2、基准电压温漂引入的误差。LM336在0~40℃范围内漂移不大于4mV,故相对误差=±2mV/5V=±0.04%3、由功率放大器引入的误差(主要考虑OPA552的温漂)引入的附加误差为±100μV。结论本设计利用AT89S51作为主控芯片,控制数模转换模块DAC0832的输出电压,通过运算放大器OPA552放大输出。设置四个按键,来实现电压的增减,并带有数码显示模块。可以到达每步0.1V的精度,输出电压范围0~15V,电流可以到达200mA。具有精度高,使用方便,硬件电路简单等特点,可以用在对直流电压要求较高的设备上,或在科研实验室中当作实验电源使用。相信随着单片机位数的提升,以及数模转换精度的提高,数控的精确度会不断得到提升。参考文献[1]刘楚湘,杜勇,尤双枫.基于单片机的数控直流稳压电源设计[J].新疆师范大学学报:自然科学版,2007,26(1):50-52.[2]万中波.基于单片机控制的数控直流稳压电源[J].湖南科技学院学报,2007,28(4):31-33.[3]夏克祖.实验用直流稳压电源的改制[J].实验室研究与探索,2004,20(5):53-54.[4]WIDLARRJ.NewDevelopmentsinICvoltageregulators[J].IEEEJournalofSolid-StateCircuits,2004,6(1):2-7.[5]陈学清,黄世震.一种新型数控直流稳压电源的设计[J].通信电源技术,2006,28(2):27-29.[6]贺洪江,李宪红,阎舒静.一种高精度数控直流稳压电源的设计[J].河北建筑科技学院学报,2004,17(1):36-39.[7]ThomasFloyd.ElectronicDevices[M].5thed.NewJersey:Prentice-HallInc,2003:67-71.[8]徐凤霞,齐跃斗,杨欣宇.等单片机原理及应用教程[M].哈尔滨:黑龙江科技出版社,2003:109-114.[9]张毅刚,彭喜元,姜守达,等.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003:203-210.[10]沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2003:56-61.[11]薛永毅.新型电源电路应用实例[M].北京:电子工业出版社,2005:23-31.[12]王新贤.通用集成电路速查手册[M].济南:山东科学技术出版社,2004:103-107.[13]JacobMillman,ArvinGrabel.Microelectronices[M].2nded.NewYork:McGraw-HillBookCompany,2004:122-127.[14]黄菊生.单片机原理与接口技术[M].北京:国防工业出版社,2007:132-138.[15]杨振江,杜铁军,李群.流行单片机实用子程序及应用实例[M].西安:西安电子科技大学出版社,2006:56-58.[16]李勋,刘源.单片机实用教程[M].北京:北京航空航天大学出版社,2004:54-62.附录1电路原理图附录2程序清单;DISEQUP1SIBITP1.4;定义驱动74LS164的数据脚为P1.4CLKBITP1.5;74LS164的时钟SW1BITP2.1;加一按键SW2BITP2.2;减一按键SW3BITP2.3;加十按键SW4BITP2.4;减十按键DBUFEQU30H;显存首地址BUFEQU21H;定义数据缓冲器HLEQU22H;定义上限存储单元LLEQU23H;定义下限存储单元;MOVSP,#60HMOVBUF,ACLRP2.0MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论