毕业论文数控稳压电源.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流毕业论文数控稳压电源.精品文档.数控稳压电源设计摘 要在现代随着经济和科学发展,家庭中各种电器不断出现,但是每个电器不一定都适合用同一种电源,因此要求各种不同值的电源出现,这样就使得家庭购买不同的电源。电源的数字化控制是人们追求的目标之一 ,人们对它的要求也越来越高,因此设计家们在不断地对此研究及创新。数控直流稳压电源能给人们带来很大的方便,为我们生活、工作、科研提供更好的,更便捷的服务。本次设计将结合单片机数字控制技术,设计出一款经济、适用的数控稳压电源, 使其能够显示数据、数字输入按键调压、电压调节灵敏度高等特点,并且通过编程,使功能更加完善。关键词:电源;数字化;单片机DESIGN OF NUMERICAL CONTROL VOLTAGE-STABILIZED SOURCEABSTRACTWith the development of economy and science in the modern society, various appliances emerged constantly in the family,but not each electrical appliances are necessarily appropriate for the same kind of power source,so it requires to provide various different values of the power source,also the family can buy the different power supply.Digital control of power is one of the goal of the people to pursue,the designer in constant to research this and innovate,because of the requirements of the people it more and more high. Numerical control DC power to give people a great deal of convenience, for our life, work, scientific research, and to provide better and more convenient service. The design will combine with the digital control technology with single chip microcomputer, to design the numerical control voltage-stabilized source.It has the characteristics of digital display, digital input pressure regulating, high precision voltage regulation and so on. And by the programming of software,to realize the function of the expansion.KEY WORDS power source; digital; Single-chip microcomputer目 录摘 要IABSTRACTII目 录III引 言11总体方案论证11.1 稳压电源的分类11.2 稳压电源设计方案12采用单片机设计数控稳压电源的具体方案及芯片选择22.1控制器部分22.1.1 AT89C51主要功能指标32.1.2 AT89C51的引脚及功能介绍32.2 按键控制部分42.3显示部分42.4 D/A转化部分52.4.1 DAC0832的主要特性52.4.2 DAC0832引脚及功能介绍52.5 比较电路62.6 稳压输出部分63硬件电路设计73.1 微控制器部分的设计83.2 按键控制部分的设计83.3 显示部分的设计93.4 数模转化部分的设计103.5 电压比较部分的设计113.6 稳压输出部分的设计124软件设计124.1 仿真开发平台Proteus124.2 软件程序开发平台Keil134.3 程序设计135系统测试与误差分析145.1 软件测试145.2 系统分部测试及最后结果分析15结 论16参考文献17附录1 仿真电路图18附录2 C语言程序19致 谢24引 言在当今世界,我们的生活离不开各种电器,而电源是电器运行的基础,电源技术应用于各个行业。电子技术中的重要设备就是直流稳压电源,当今的电源技术融合了控制理论、材料、系统集成、电气、电子等诸多学科领域。目前所用的电源大多是只有固定电压输出(例如常用的有:±5V、±12V或±15V)。其缺点是输出电压不可人为的改变;输出精度和安全稳定性都不高。所以我们要寻找出一种方便又节约的电源1。在我国,电信与数据通讯设备的技术更新使电源行业得竞争越来越强并且使它们向更高灵活性和智能化方向发展。目前在国内外电源行业中,占主导地位的产品有各种线性稳压电源、DC/DC开关电源、通讯用的AC/DC开关电源、电解电镀电源等。而用户一直最关心的问题就是产品价格的高低、性能指标的好坏、品牌效应的好坏以及使用寿命的长短。这就促使国内外电源生产商朝着性价比高的方向发展。本次课题的设计要求是利用单片机、D/A转换器、运放、电压源芯片设计一个输出电压可数字控制的稳压电源,具体要求为:(1)输出电压通过按键设置并用数码管显示。(2)输出电压为210V。(3)输出误差0.1V。(4)额定输出电流为500mA。论文结构可分为:(1)介绍数控稳压电源的背景意义和国内外发展情况,以及该次课题的实现目标及如何实现。(2)稳压电源的分类及设计方案。(3)如何用单片机设计数控稳压电源的方案及芯片选择。(4)各个部分具体线路设计。(5)写程序与修改。(6)系统测试与误差分析。1总体方案论证1.1 稳压电源的分类 稳压电源可以分为直流稳压电源和交流稳压电源。交流稳压电源又可以分为自耦调整型稳压电源、改变抽头型、大功率补偿型、参数调整型、开关型稳压电源。直流稳压电源可以分为化学电源、线性电源、通信电源、开关型电源、DC/DC 电源、模块电源、电台电源、特种电源2。我们必须分析各个种类的优缺点,才能选出最佳方案。1.2 稳压电源设计方案方案1:使用小功率稳压电源,其组成的四部分为电源变压器、整流电路、滤波电路和稳压电路,如图1-1所示。电源变压器可以将来自市电的220V交流电U1降低为整流电路需要的交流电压U2。降压后的交流电压,通过整流电路变成单向直流电U3,但其幅度变化大(即脉动大)。滤波器大部分是由电容组成的它的主要作用是把脉动直流电压U3中的大部分纹波加以滤除,以得到较平滑的直流电压UI。稳压电路的作用是稳定滤波电路输出的直流电压,使这一电源电路输出的直流电压U0可以稳定在某一电压上3。但是因为该方案需要许多器件、且焊点和线路繁多,功耗不小,连接费时、灵活性差,使成品的稳定性和精度受到一定的影响。 图1-1 方案1电路原理方案2:此方案把单片机作为整个系统的核心单元,通过按键控制,来改变输入数字量,从而使电源输出电压发生变化。经过D/A转换器把数字量转换成模拟量输出,再经过比较电路和稳压电路的控制,使得输出电压达到设计目的4。如图1-2所示。图1-2 方案 2电路原理方案1电压数值太单一,所以与方案1相比,方案2中提及的智能稳压电源具有智能化、模块化、效率高、成本低、安全性高和干扰低等优点。终上所述,选择方案2。2采用单片机设计数控稳压电源的具体方案及芯片选择2.1控制器部分在众多的51系列单片机中,增强型的产品有8032/8052/8752,低功耗型有80C31/87C51/80C51,专用型有8044/8744,超8位型有80C552/87C552/83C552,片内闪烁存储器型有AT89C51。通过综合考虑,此次设计采用AT89C51作为基本控制核心。首先它的性能成熟稳定,它和8051指令、管脚完全兼容,而且其片内带有闪烁(flash)存储器,闪烁存储器允许在线(+5V)电擦除、电写或使用编程器对其重复编程5。还有此芯片指令简单,易学易懂。这种单片机外围简单,硬件设计方便,因此对开发设备的要求很低,开发时间也大大缩短。再着,AT89C51、AT89S51目前的售价较低,容易购买。AT89C51芯片引脚图如图2-1所示。图2-1 AT89C51引脚图2.1.1 AT89C51主要功能指标AT89C51提供以下标准功能:能与MCS-51的指令集完美结合;全静态操作:0Hz24MHz;可编程4K字节Flash存储器(寿命:1000写/擦循环);128×8字节内部RAM,三级程序存储器保密锁定;32条的可编程I/O线;可编程串行UART通道;两个16位的定时/计数器;6个中断源;低功耗闲置和掉电模式;时钟电路和片内振荡器。2.1.2 AT89C51的引脚及功能介绍(1)VCC:用于接电源。(2)GND:接地。(3)P0口:双向8位三态I/O口。PO口在片内无固定上拉电阻。(4)P1口:8位准双向I/O口。在片内有固定上拉电阻(5)P2口:8位准双向I/O口。在片内有固定上拉电阻。(6)P3口:8位准双向I/O口,双功能复用口。在片内有固定上拉电阻P3口还可作为AT89C51的一些特殊功能口,如表2-1所示:表2-1 P3口的备选功能P3口同时为闪烁编程和编程校验接收一些控制信号。(7)ALE/ /PROG:ALE引脚输出为地址锁存允许信号。/PROG为本引脚的第二功能。(8)/PSEN:程序存储器允许输出控制端。(9)/EA:外部允许访问端。(10)RST:复位输入信号。当振荡器工作时,要保持RST脚两个机器周期的高电平时间来使单片机复位。(11)XTAL1:接外部晶体的一个引脚。(12)XTAL2:接外部晶体的另一个引脚,在该引脚内部接至内部反相放大器的输出端6。2.2 按键控制部分方案1:采用矩阵式键盘,矩阵式键盘有个很明显的特点就是按键多,所以可实现电压值的直接键入可以不采用步进而且有多种选择。矩阵式键盘可以在水平线和垂直线的交叉处设置一个按键,比如5*5键盘就有25个按键。当所需按键数量较多时,为了减少I/O口的占用,一般将按键排列成矩阵形式。方案2:采用独立式键盘接口,实现方法很简单,但一个端口最多实现8个按键7。当设计需要多个键时,可以采用矩阵法来做键盘。在本课题中由于键盘数目较少,经过所查阅的参考资料以及综合考虑最终决定采用方案2即独立式键盘,其电路配置灵活,这样可以充分利用I/O口,简化软件编程。2.3显示部分方案1:使用LCD1602液晶显示。可以在LCD显示屏上完整显示数字、32个英文字符和日文等一些字符。方案2:应用128*64液晶显示模块。128*64液晶界面美观,可视面积大,抗干扰能力强,使用方便简单。缺点:价格偏贵。方案3:使用7SEG-MPX4-CC。优点:操作简单,价格便宜。通过比较,并结合本系统要显示的只是单纯的数字,所以我们选方案三。7SEG-MPX4-CC是四个共阴二极管显示器, 1234是阴公共端,可以通过这四根线决定对应位熄灭或者点亮。如图2-2所示。图2-2 7SEG-MPX4-CC引脚图2.4 D/A转化部分D/A转换器的作用是将数字量转换成模拟量,D/A转换器有两种输出形式:电压和电流输出形式。它的要求是输出电压Vo和输入数字量能成正比,即: (2-1) 其中, Vr为参考电压。本次课题采用DAC0832芯片,如图2-3所示。图2-3 DAC0832芯片引脚图DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器,集成电路内有两级输入寄存器,可直接与MCS-51单片机相连接。这个D/A转换芯片具有接口简单、价格低廉、转换容易控制等优点,广泛应用于单片机应用系统中。D/A转换器由8位输入寄存器、8位DAC寄存器、8位D/A转换器组成。2.4.1 DAC0832的主要特性DAC0832有以下主要功能指标:分辨率为8位;可单一电源供电(+5+15V);电流输出的稳定时间为1us;可单缓冲、双缓冲或直接数字输入;在满量程下可以调整线性度;低功耗为20mW8。2.4.2 DAC0832引脚及功能介绍(1)VCC:芯片供电电压端。范围为+5V+15V,最佳工作状态是+15V。 (2)ILE:数据锁存允许控制端,高有效。 (3)/CS:片选端,当/CS为低时,本芯片被选中。(4)/WR1:写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时,必须和 ILE同时有效),低有效。 (5)/WR2:写信号2,低电平有效。(6)/XFER:数据传送输控制,低有效。 (7)DI7DI0:8位数字信号输入端,与单片机的数据总线相连,用于接收单片机送来的待转换的数字量,DI7为最高位。 (8)IOUT1:D/A转换器电流输出1端。当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。 (9)IOUT2:IOUT1+IOUT2=常数。 (10)Rfb:是集成在片内的外接运放的反馈电阻。(11)VREF:基准电压(-1010V)。 (12)AGND:模拟信号地,即模拟电路接地端。 (13)DGND:数字信号地,最好与基准电压共地。 DAC0832的工作方式有三种:(1)直通方式:/LE1和/LE2均为1,外来的数据直接通过两级锁存器到达D/A转换器。这种方式适用于连续反馈控制线路。(2)单缓冲方式:一个寄存器工作于直通状态,一个工作于受控锁存器状态。这种方式适用于只有一路模拟量输出或几路模拟量异步输出的情况。(3)双缓冲方式:两个寄存器都工作在受控锁存器状态。这种方式对于多个D/A转换同步输出的情况适用。2.5 比较电路本次的比较电路采用LM324四预算放大器芯片。由于LM324四预算放大器具有电源电压范围宽,可以作为单电源使用,静态时功耗小,价格便宜等优点,因此在各种电路中被广泛应用。LM324既可适合于电源电压范围很宽的单电源使用(330V), 也适用于双电源(±1.5V±15V)工作模式,它的输入电压可低到地电位,而输出电压范围为OVcc,驱动功耗低。它的应用范围非常广,包括直流增益模块、传感放大器和其他所有可以用到单电源供电的使用运算放大器的场合。 如图2-4所示的符号为运算放大器,它有5个引脚,其中“5”、“6”为两个信号输入端,“4”、“11”为正、负电源端,“7”为输出端。图2-4 LM324芯片引脚图LM324的特点:保护输出;差动输入级;共模范围可以扩展到负电源;行业标准的引脚排列;输入端有静电保护等。2EXg838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电222.6 稳压输出部分LM317L是三端可调正稳压器集成电路。LM317L输出的电压范围是1.2V37V,负载电流不能超过1.5A。它使用简单,仅需外接两个电阻来控制电压输出。LM317L的优点在于其内部有限流、过载保护电路、输出晶体管安全区保护电路等。一般情况下LM317L不需要再外接电容。LM317L有许多特殊的用法。比如把调整端控制到一个较高的电压上,就可以调节高达数百伏的电压,只要输入输出压之差不超过LM317L的最高限就行。当然还要注意输出端不要短路。LM317L芯片引脚如图2-5所示。图2-5 LM317L芯片引脚图LM317L输出电压的计算,以下图2-6为例:图2-6LM317L输出的电压是由电阻R2,R1的比例决定的,把R2定为一个固定电阻. 因为LM317L控制端消耗非常少的电流,忽略不计。因此控制端的电压是I x R2,又因为LM317L控制端Vadj, 输出端Vout接脚间的电位差为1.25 V,所以Out(输出端)的电压是: (2-2) (2-3)结论:这个计算说明了一件事:适当调整R2、R1,可以达到稳压的目的。LM317L使用时,如果R2并联了一个电容,就可以大大提高抵抗谐波的功能.而且在并联电容的时,再多加一个二极管,就能保护LM317L在电容放电时,不被损坏。3硬件电路设计硬件电路主要由模拟电路和数字电路两大部分组成。本设计中主要控制模块为51单片机,数模转换器为DAC0832,把四运算放大器LM324作为比较输出芯片,LM317L作为稳压芯片,键盘模块由四个独立按键组成,系统实现闭环控制。系统主要由控制器部分、按键控制部分、显示部分、D/A转换部分、电压比较部分和稳压输出部分六部分构成,具有电压可预置、可步进控制、同时显示预制的电压和输出的电压。系统框图如图3-1所示。图3-1 系统总体框图3.1 微控制器部分的设计单片机控制模块即为核心部分,整个控制都是依靠单片机完成。AT89C51的P1 口接数码管作为输出数据显示传输,同时P3.4、P3.5、P3.6、P3.7是数码管控制端口;P0 口接 DAC0832 作为输出数据传输,P3.0 为DAC0832 控制端口;P2.4、P2.5、P2.6、P2.7接四个独立按键作为输入数据传输9。单片机控制电路如图3-2所示。图3-2 单片机控制电路3.2 按键控制部分的设计本系统采用独立式键盘结构,独立式键盘就是各键互不干涉,每一个按键分别接一根输入线。因为是单独工作,所以每个按键的工作不会影响其它I/O口线的状态,通过检测输入线的电平状态就可以很容易地判断出哪个按键已经被按下。图3-3 键盘接口图键盘在单片机系统中可以实现向单片机输入和控制数据、传送指令等功能,是人工干预单片机的重要手段。键盘开关利用了机械触点的合、断作用,在行线输出电压上是高电平或低电平,就是键的闭合与否的结果。我们常使用查询式结构来判断独立式按键软件,先逐位查询每一根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可以断定该I/O口线所对应的按键已被按下,然后,再转向该键的功能处理程序。本设计共设计四个按键,分别为“加1”键,“减1”键,“设置”键,“完成”键四个按键分别与P2.4,P2.5,P2.6,P2.7连接,电路图如图3-3所示。3.3 显示部分的设计七段数码管分共阳极与共阴极,而7SEG-MPX4-CC是共阴极,所以需按照共阴极的方法编程。共阴极的数码表为:Uchar dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;共阴极数码管就是指其公共阴极端接0V,当各段阳极上的电平为“1”时,该段被点亮,电平为“0”时,该段熄灭10。如图3-4所示为显示电路。图3-4 7SEG-MPX4-CC显示电路3.4 数模转化部分的设计本设计采用DAC0832的数模转换器,P0口和DAC0832的数据口直接相连,DAC0832的/XEFR和/WR2连接输出,/WR1和/CS连接后同时也接地, DAC0832的8脚接参考电压12V,ILE和VCC引脚接5V的正电压,芯片处于直通状态,此时8位数字量一旦到达DI0DI7输入线上,就可以立刻进行D/A转换并输出结果。通过独立式键盘给单片机输入一数据,这个数据在数码管上显示,单片机保存该数据,然后在键盘上按完成键,就是把DAC0832电路打开把数据传输过去,DAC0832芯片把传输过来的数字信号转换成模拟信号后经过比较电路(LM324)最终输出所要的电压。如图3-5所示为数模转换模块原理图。因为DAC0832是8位的D/A转换器,所以可以得输出电压得知Vo与输入数字量B的关系为: (3-1)式中,;为一常数。显然,Vo和输入数字量B成正比。B为0时,Vo也为0,输入数字量为255时,Vo为最大值,输出电压为单极性。图3-5 模数转换电路3.5 电压比较部分的设计本设计通过两个集成型电压比较器LM324的来实现电压比较的,具体的设计如图3-6所示,DAC0832的11脚接LM324的2脚,LM324的3脚接地,4脚和11脚分别连接+12V和-12V,DAC的9脚接0.5K的滑动变阻器与运放的1脚相连,构成其中一个比较回路。通过第一个LM324的1端连接一个0.4K的电阻,电阻与另一个LM324的2端连接,其他引脚都连接好后形成另一个电压比较回路。选择LM324是为了使电路工作更加安全可靠,同时该类芯片具有负载能力强、抗干扰性好等特点,可以更好地实现电路功能。图3-6 电压比较电路3.6 稳压输出部分的设计LM317L的运作是通过3端输入电压,此时的电压是由交流电压通过变压器和整流桥而输到LM317L的3端,V0为输出端口。而且在运行之前需把AC1的电压设为220V,频率设为50Hz。如图3-7所示为稳压输出电路。图3-7 稳压输出电路4软件设计本次的软件设计我们采用C语言来编程。因为相较于机器语言的不易懂以及编程语言的局限性,C语言具有语法简洁紧凑,运算符丰富,数据结构类型,丰富结构化,语法要求不严格,可移植性高,功能强大的特点。本设计中首先对系统进行初始化,读取预置电压1.26V,并将其发送给数码管显示。之后再判断是否有键按下,当按下设置键时,按其它键数值才能变动。当数值变换后,把数值传送给数模转换器, DAC0832通过换算把输入的数字量转化成模拟电压量,输出电压。最后经过比较和稳压电路输出电压。软件的设计分为键盘的软件设计、显示的软件设计、D/A的软件设计等。4.1 仿真开发平台ProteusProteus嵌入式系统的仿真与开发平台是由英国Labcenter Electronics公司研究开发的。它是一种可视化的支持多种型号单片机,并且支持与当前流行的单片机开发环境连接调试的软硬件仿真系统。它在全球拥有庞大的企业用户群。是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具11。Proteus具有如下特点:(1)拥有强大的元件库;(2)拥有个性化编辑环境;(3)能快速选取与放置器件;(4)层次化的设计;(5)原理图能自动连线且自动生成仿真日志12;4.2 软件程序开发平台KeilKeil是德国Keil公司推出的单片机开发软件,是目前使用广泛的51单片机开发工具之一。Keil软件提供了数量丰富的库函数和功能完善的集成开发调试工具,操作是Windows界面。Keil生成目标代码效率很高,生成的汇编代码紧凑,易懂。在开发大型软件时能更好地体现高级语言的优势。仿真时需要把Keil和Proteus互连。4.3 程序设计系统软件流程图的设计:分为主程序流程图和中断控制流程图。主程序中开始后进行初始化系统,接着进入中断显示设定的值,然后送入DAC0832进行模数转换,最后经过比较稳压电路输出电压。如图4-1所示。中断程序中需先判断“设置”键是否被按下,否则按其他的键则无效。按下“设置”键后来判断是否对显示器中位1,位2,位3,位4进行设置。可以通过“加1”或者“减1”键来增减数值,结果在数码管上显示。最后按下“完成”键,就可以送入DAC0832进行数模转换。如图4-2所示。显示设定值送D/A转换输出电压比较稳压电路结束进入中断开始是否按下设置键选择相应的位设置是否按下加1键是否按下减1键YYY数值加1数值减1NN是否按下完成键Y保存设定值,送入DAC结束NN图4-1 主程序流程图 图4-2 中断程序流程图 5系统测试与误差分析5.1 软件测试(1)测试软件使用程序编译器keil uvision2。 (2)编译结果在编完C语言后,即在keil uvision2 界面下,如果有错误则进行调试,当系统正常工作时,如图5-1所示。图5-1 编译结果图5.2 系统分部测试及最后结果分析(1)分部测试对键盘电路和显示电路的调试,打开Proteus原理图,进行仿真,通过按键点击“设置”,“加1”,“减1”,“完成”四个按键观察数码管显示结果是否正确。数码管显示和万用表显示相差是否小。(2)测量结果如表5-1所示。表5-1 测试数据及误差分析测量次数设置值(V)测得值(V)误差(V)11.261.26021.271.260.0131.281.260.0241.291.260.0351.301.260.0461.311.31071.321.310.0181.331.310.0291.341.310.03101.351.310.04111.361.360123.563.530.03133.573.580.01145.385.360.02157.667.670.01168.738.730从表5-1中测试的数据可以看出,本设计的误差小于0.04V。从电路的原理框图可以看出,系统的误差主要来源于三个方面:DAC0832的量化误差,输入失调电压引入的误差,其它器件和线路由于温漂、不稳定等原因引起的误差。结 论经过2个多月的设计研究,我终于能比较完美地完成毕业设计。虽然过程比较艰难,但是这都比不上完成时那种喜悦的心情。因为在此次设计之前,我参加过学校举办的电子设计大赛,当时就已经有设计过电源电路,采用的方法就是文中提到的方案1的小功率稳压电源,所以就能很实际地感受到2种设计方法的区别。显然,方案1输出的电压太过单一,不易选择,而方案2就恰恰解决了这个缺点。此次设计采用单片机控制电压稳压输出的方法,其中模数转换部分是必不可少的,其电压输出的级数与D/A的位数密切相关,如果用12位的D/A转换器来代替8位的D/A转换器,那么电源的精度会更高。 当然在设计过程中也出现很多问题,比如刚开始设计这个课题时不了解它的基本原理,不过这个问题在查了一段时间的资料后就解决了。在了解了基本原理后就是要设计出它的实际电路了,要把各种芯片合理地连接起来也是一项难度系数很高的任务,所以在连接之前也请教了同学、老师,在他们的帮助下,所以最终也完美地解决了。我相信,经过这次的毕业设计,不仅能巩固我们的专业知识,也使我们借助互联网、参考文献查询资料的能力大大提高,使我们体会到把理论运用到实际的重要性,这对我们以后的工作学习都有很大的帮助。参考文献1 陈学锋.电源技术基础M.黄河水利出版社,2011.82 徐海明,刘璐,沈琼.现代电源应用技术手册M.中国电力出版社,2007.8 3 罗会昌,周新云,电子技术M.机械工业出版社,2010.54 徐小涛.数字电源技术及其应用M.人民邮电出版社,2011.35 吴汉清.常用的典型单片机资料J.无线电,2007,(11): 72806 李朝青.单片机原理及接口技术M.北京:北京航空航天大学高出版社,20067 朱贵宪.基于单片机的数控稳压电源设计J.自动化与仪表,2011,(6): 50538 高玉芹.单片机原理与应用及C51编程技术M.机械工业出版社,2011.89 常喜茂,孔英会 ,付小宁. C51基础与应用实例M. 北京:电子工业出版社,2009.110 赵建领.51系列单片机开发宝典M. 北京:电子工业出版社,2007.411 朱清慧,张凤蕊,王志奎. Proteus教程:电子线路设计、制版与仿真(第2版)M. 北京:清华大学出版社,2011.612 周润景,张丽娜,基于PROTEUS的电路及单片机系统设计M. 北京:北京航空航天大学出版社,2006附录1 仿真电路图附录2 C语言程序#include"reg51.h"#define uint unsigned int /程序初始化#define uchar unsigned char#define DATA_LED P1#define DATA_0832 P0sbit LED1=P34;sbit LED2=P35;sbit LED3=P36;sbit LED4=P37;sbit JIA1=P24;sbit JIAN1=P25;sbit SENT=P26;sbit OK=P27;sbit dian=P17;void mdleay(uint Delaytime);void SHUJU(void);uchar data a=0,b=1,c=2,d=6,n=0,flag; float data VCC=1.26;void mdleay(uint Delaytime)uint j=0;for(j=0;Delaytime>0;Delaytime-)for(j=0;j<130;j+) /延时1ms子程序void innt0() interrupt 0 using 1uchar key;mdleay(5); key=P2&0xf0; switch(key)case(0xe0):if(n=1) /加1键if(a=9) a=9;else a+;if(n=2)if(b=9)b=9;elseb+;if(n=3) if(c=9) c=9; else c+;if(n=4) if(d=9)d=9; else d+; break;case(0xd0):if(n=1) /减1键if(a=0)a=0;else a-; if(n=2)if(b=0) b=0; else b-; if(n=3)if(c=0)c=0;elsec-;if(n=4)if(d=0)d=0; else d-;break;case(0xb0):if(n=4) /设置键n=1;else n+;break;case(0x70):n=0; /完成键flag=1; VCC=10*a+b+0.1*c+0.01*d; if(VCC>12.0)VCC=12; a=1;b=2;c=d=0;if(VCC<1.26) VCC=1.26;a=0;b=1; c=2;d=6;VCC=(VCC-1.26)/0.048;DATA_0832=(int)VCC; break;default: break;main() uchar Tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; uchar flash_cnt=0;DATA_0832=0;DATA_LED =0xff;EA=1;EX0=1; IT0=1; n=0;flag=0;while(1) flash_cnt+; if(flash_cnt=100)flash_cnt=0; LED1=1;LED2=1;LED3=1;LED4=1; DATA_LED=Taba;if(n=1) if( flash_cnt<50 ) LED1=0; else LED1=0; mdleay(1);LED1=1;LED2=1;LED3=1;LED4=1;DATA_LED=Tabb|0x80;if(n=2) if( flash_cnt<50 )LED2=0;else LED2=0;mdleay(1);LED1=1;LED2=1;LED3=1;LED4=1;DATA_LED=Tabc; if(n=3) if( flash_cnt<50 ) LED3=0; else LED3=0;mdleay(1);LED1=1;LED2=1;LED3=1; LED4=1;DATA_LED=Tabd;if(n=4) if( flash_cnt<50 )LED4=0;else LED4=0;mdleay(1);致 谢 大学四年的时间如白驹过隙,一眨眼我已经面临毕业了。在这分别的季节,我的心中有很多感概,许多不舍,当然也有许多想要感谢的人。首先要感谢的是我的指导老师?老师。在论文的设计过程当中,老师能够在忙碌的教学当中抽出时间来悉心指导我,审查我的论文进度,让我感激不尽。每当我遇到设计难题询问老师时,老师也能够不厌其烦地讲解给我听。还要感谢四年来所有教育指导过我的老师,你们严谨、一丝不苟的教育态度一直是我学习、工作中的榜样,在以后的日子里会依旧激励着我。感谢四年来一直陪伴在我身边的同学、朋友,尤其是我的室友们。生活中,每次遇到挫折,她们总是能在第一时间过来安慰我,开导我。学习上,平时遇到问题时,大家能够一起研究解决,分享了学习的快乐。就是有了你们的关心支持谅解,使我度过了充实的四年大学生活。还要感谢我的父母,从小到大能够一直支持我,容忍我的一切小脾气,如今我长大了,也是回报