51单片机控制开关如何避开总开关给主板供电

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于51单片机,开关稳压电源设计【参考】.doc 54页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:75 &&
你可能关注的文档:
··········
··········
分类号TP303单位代码11395密级学号学生毕业设计(论文)题目 基于51单片机的开关稳压电源设计
作者 杨晓燕
院(系) 能源工程学院
专业 电气工程及其自动化
指导教师 杨宏斌
答辩日期 日
榆林学院毕业设计(论文)诚信责任书本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。论文作者签名:年月日 摘要电源在电视、计算机和移动通信终端等电子设备中占有重要位置,它是一切电路能否正常工作的基础。开关稳压电源由于具有体积小、重量轻、效率高、输出稳压范围宽等优势,被应用于各种电子、电器设备领域。近年来,随着便携式电子产品的迅速增长,与其配套的电源也具有越来越广泛的市场。由于人们对电子产品的功能及性能的要求不断提高以及对节能环保的重视,高效率及高精度已经成为设计中至关重要的因素,这也是本次设计的主要目的。本文设计了一个基于51单片机的开关稳压电源。以我国市电电压作为输入,经过变压、整流和滤波得到一个直流15V电压,然后以Boost斩波电路为核心,利用51单片机输出PWM,通过按键调节PWM占空比的大小,使得输出直流电压为30V~36V可调,输出最大电流可以达到2A,电压调整率和负载调整率较低,输出噪声纹波电压峰-峰值较小,DC-DC变换器的效率能够达到80%以上。整个电路采用多种保护功能来实现系统的可靠性,而且具有输出电压、电流的显示功能。关键词:Boost电路;51单片机;PWM;DC-DC变换器
Aswichingpowersupplybasedon51singlechipSCMABSTRACTPowerelectronicdevicessuchastelevisions,computersandmobilecommunicationterminaloccupiesanimportantposition,itisthebasisofallthecircuitworkscorrectly.Switchingpowersuppliesduetoitssmallsize,lightweight,highefficiency,widerangeofoutputvoltageandotheradvantages,areappliedinvariousareasofelectronicandelectricalequipment.Especiallyinrecentyears,withtherapidgrowthofportable,anditssupportingpoweralsohaveanincreasinglywiderangeofmarkets.Becauseofthefunctionalandperformancerequirementsforelectronicproductscontinuetoimprove,aswellasontheimportanceofenergyconservationandenvironmentalprotection,highefficiency,andhigh-precisionhasbecomeessentialaspectsofdesign,whichisthemainpurposeofthisdesign.Designbasedon51singlechipswitchingpowersupply.ToChinamainsvoltageasentered,aftertransformer,andrectifierandfilteringgetaDC15Vvoltage,thentoBoostchoppedwavecircuitforcore,using51singletabletsmachineoutputPWM,throughpressregulationPWMaccountedforemptythanofsize,makesoutputDCvoltagefor30V~36Vcanadjustable,outputmaximumcurrentreached2a,,voltageadjustmentrateandloadadjustmentrateaslow,outputnoiselineswavevoltagepeak-peakassmall,DC-DCtransformdeviceofeff
正在加载中,请稍后...查看: 1866|回复: 0
[求助]单片机主板电源由汽车蓄电池变压得到,这部分变压怎么设计
自己想一个板子,但是对上面的供电情况不清楚,问问大家下面几个1.的主板电源电压一般设计成多少伏的?2.我的单片机主板电源电压,想通过汽车自带的蓄电池供电,在单片机主板上应该加什么(是变压电路和稳压电路吗?自己猜的不知道对不对)。是要变成+5v的吗3.另外,蓄电池还要为主板上的GPS模块供电(是RS232的,用电得-10v-+10v吧),结合者2的话,这个电路怎么设计呢这个设计的“变压电路”(姑且这么叫吧),叫什么名字呢(适配器?变压器?稳压器?....)
Powered by基于51单片机的开关电源设计
我的图书馆
基于51单片机的开关电源设计
基于51单片机的开关电源设计基于51单片机的开关电源设计设计总说明直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通直流稳压电源品种很多, 但均存在以下二个问题:(1)输出电压是通过粗调(波段开关) 及细调(电位器)来调节。这样, 当输出电压需要精确输出, 或需要在一个小范围内改变时,困难就较大。另外, 随着使用时间的增加, 波段开关及电位器难免接触不良, 对输出会有影响。(2)稳压方式均是采用串联型稳压电路, 对过载进行限流或截流型保护, 电路构成复杂,稳压精度也不高。在家用电器和其他各类电子设备中,通常都需要电压稳定的直流电源供电。但在实际生活中,都是由220V 的交流电网供电,需要改交流为直流。传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小。 因此,电压的调整精度不高,读数欠直观,电位器也易磨损。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技术之一。从组成上,数控电源可分成器件、主电路与控制等三部分。数控技术方面的发展是以51系列单片机为主控单元电路的拓扑和软开关技术等电子技术的完善为主要标志。数字化则应属于控制方面的重要发展方向,随着信息技术的突飞猛进,将对开关电源技术的发展起到巨大推进作用。数控电源目前的发展,主要朝着更高的数控精度和分辨率及更好的动态特性;更好的环保性能;智能化与高可靠性;更广泛的应用等方向发展。本设计利用AT89C51作为主控芯片,控制数模转换模块DAC0832的输出电压大小,通过放大器放大,给电压模块作为最终输出的参考电压,真正的电压电流由电压模块LM350输出。设置三个按键,来实现电压的增减,并带有数码显示模块。用AT24C02实现保存最近10电压功能,当打开电源的时候,它显示和输出的必须是上次使用电压大小。电压编号的大小分别对应到相应地址电压大小。本论文设计制作的数控电源,可以达到每步0.1V的精度,输出电压范围0~15V,电流可以达到2A。关键词:数控电源;步进;AT89C51;DAC08321&&&&&&&& 绪论 1.1&&&&&&&& 数控电源的发展20世纪80年代,出现了一种叫作开关式稳压电源,这种电源是采用功率半导体器件作为开关,通过控制开关的占空比调整输出电压。开关型稳压电路中的调整管工作在开关状态,因而功耗小,电路效率高。开关电源的种类很多,按调整管与负载的连接方式可分为串联和并联型,串连开关稳压电路是降压型电路,并联开关型稳压电路是升压型电路。按稳压的控制方式可分为脉冲宽度调制型(PWM)、脉冲频率调制型(PFM)和混合调制。这其中尤以PWM最为盛行,这种电源在开关和稳压方面功能非常优越,但在电压输出精度方面仍存在缺陷,旋钮式远不能满足工业需求,数控技术的发展给电源的发展注入新的活力,数控逐渐成为一种趋势随着人们生活水平的不断提高,数字化控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数控制直流稳压电源就是一个很好的典型例子,但人们对它的要求也越来越高,要为现代人工作、科研,生活、提供更好的,更方便的设施就需要从数字电子技术入手,一切向数字化,智能化方向发展.本文所介绍的开关电源稳压电源与传统的稳压电源相比,具有操作方便,电压稳定度高的特点。近年来出现了不少的数控电源产品,例如数控三步仿金电镀电源,具有自动稳压功能、稳压度为3%;具有软启动功能,时间0-30秒可调;具有稳压限流功能,稳压状态下输出电流超过正常电流10%,电源会自动进入限流状态;具有高可靠的过流,短路保护功能,输出电流超过额定值的50%时,电源自动封锁输出,同时发出声或光报警。随着数控技术以及可编程器件的发展,出现了一种可编程直流数控电源,其中最典型的就是3645A型数控电源,它是一种能输出电压0~36V,负载工作电流0~3A稳压电源,电压及电流均可任意调节。其主要功能有:电压设定、电流上限设定、电源输出ON/OFF、STORE、RECALL、电压上限、键盘关闭/开启、通讯设定、键盘锁定功能、功率上限设定、保存选项设定等功能,使用时,操作方便,电压、电流、功率均以LCD显示,画面清晰、直观。数控程度已很高,但成本太贵,不利于大批生产。1.2&&&&&&&& 课题的背景和意义随着电子技术的高速发展,电子系统的应用领域越来越广泛,电子设备的种类也越来越多,电子设备与人们的 工作、生活的工资日益密切。任何电子设备都离不开可靠的电源,它们对电源的要求也越来越高。电子设备的小型化和低成本化使用电源以轻、薄、小和高效为发展方向。电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。随着经济全球化的发展,满足国际标准的产品才能获得进出的通行证。数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。利用数控电源,可以达到每步0.1V的精度,输出电压范围0~15V,电流可以达到2A。数控技术方面的发展是以51系列单片机为主控单元电路的拓扑和软开关技术等电子技术的完善为主要标志。数字化则应属于控制方面的重要发展方向,随着信息技术的突飞猛进,将对开关电源技术的发展起到巨大推进作用。数控电源目前的发展,主要朝着更高的数控精度和分辨率及更好的动态特性;更好的环保性能;智能化与高可靠性;更广泛的应用等方向发展。2&&&&&&&& 需求分析及总体方案的设计与论证 2.1&&&&&&&& 需求分析本设计利用AT89C51作为主控芯片,控制数模转换模块DAC0832的输出电压大小,通过放大器放大后作为最终输出的参考电压,真正的电压电流由电压模块LM350输出。输出电压范围0~15V,电流可以达到2A。按键方式实现0.1V的步进,并带有数码显示模块。2.2&&&&&&&& 总体方案的设计与论证&方案一:是采用各类数字电路来组成键盘控制系统。对一个0-15V的精密可调电源电路进行改造。用D/AC加运放的方法来控制精密可调电路的输出电压调整端,进而达到要实现的效果。电路原理图如图2-1所示。图2-1 方案一原理框图优点:思路简单,调试方便,所用元件较少。缺点:10位的D/AC价格太贵,需做双电源供电(必须为D/AC提供+5V电源),整个方案的成本高。0V输出难。仿真软件无法顺利仿真(早PROTEL的环境下缺少仿真库件),需手工焊接验证方案的可行性。改进方案:用拨动开关加电阻网络的方法将输出电压分为三等份,第一份0-9.9V。第二份10-14.9V,。这样改进之后,只需用到8位的D/AC,且需要8位256级里面的前100级就可以控制输出电压的变化。降低了制作成本,简化了控制方法,提高了控制的精度。结论:在实验的过程中,LM723集成IC的有很大局限性。曾试过再V-端加悬浮-2V电压的方法,试图将输出的最小电压降低为0V。但是考虑到输出电压与之前的元器件的公地问题,实验证明这种方面行不通,输出电压的值为3.2V至12.5V。且在能力的范围内无论如何改进都达不到要求的输出电压值。所以这个方案最终以失败告终,并且本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。方案二:电路原理框图如图2-2所示,本方案是采用AT89C51芯片作为主控单元。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。采用AT24C02存储器,它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,具有其它存储器没有的优点。&设置三个按键实现电压的步进和电压的预置,把最近设置的电压大小保存在EEROM里面,比如10个电压,按一下翻页键,电压变为下一个,省去了反复设置电压的麻烦。该系统使用3个数码管,通过软件编程的方法,可以显示三位数,一个小数位,比如可以显示12.5V,采用动态扫描驱动方式。图2-2方案二原理框图从整个框图来看,该方案思路非常清晰,就是通过MCU控制DA的输出电压大小,通过放大器放大,给电压模块作为最终输出的参考电压,真正的电压还是由电压模块LM350输出,而电压大小在三位数码管上显示。采用软件方法来解决数据的预置以及电压的步进控制和电压的显示,使系统硬件更加简洁,各类功能易于实现。所以选择本方案。3&&&&&&&& 系统硬件电路设计 3.1&&&&&&&& 主控电路单元AT89C系列单片机是ATMEL公司1983年开始研制生产的,优越的性能价格比使其成为颇受欢迎的单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51芯片的封装[6]形式如图3-1所示:图3-1 AT89C51封装图本设计采用AT89C51单片机作为主控单元,其中P0口和DAC0832的数据口直接相连,/DA的/CS和/WR1连接后接P2.0,/WR2和/XEFR接地,让DA工作在单缓冲方式下。还与掉电电路,按键电路,显示电路相连接,实现整体控制。如图3-2所示。图3-2 AT89C51的管脚连接图3.1.1&&&& 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。又如输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2&&&&&&&& 信号处理部分 3.2.1&&&& D/A转换器(DAC0832)功能介绍[6]DAC0832为电压输入、电流输出的R-2R电阻网络型的8位D/A转换器,DAC0832采用CMOS和薄膜Si-Cr电阻相容工艺制造,温漂低,逻辑电平输入与TTL电平兼容。DAC0832是一个8位乘法型CMOS数模转换器,它可直接与微处理器相连,采用双缓冲寄存器,这样可在输出的同时,采集下一个数字量,以提高转换速度。DAC0832的内部功能框图如图3-2所示,外引线排列如图3-3所示。图3-2& DAC0832的内部功能框图DAC0832的组成:图3-3& DAC0832的外引线排列图DAC0832主要由3部分构成,第一部分是8位D/A转换器,输出为电流形式;第二部分是两个8位数据锁存器构成双缓冲形式:第三部分是控制逻辑。计算机可利用控制逻辑通过数据总线向输入锁存器存数据,因控制逻辑的连接方式不同,可使D/A转换器的数据输入具有双缓冲、单缓冲和直通3种方式。当WR1、WR2、XFER及CS接低电平时,ILE接高电平.即不用写信号控制,使两个寄存器处于开通状态,外部输入数据直通内部8位D/A转换器的数据输入端,这种方式称为直通方式。当WR2、XFER接低电平,使0832中2个寄存器中的一个处于开通状态,只控制一个寄存器,这种工作方式叫单缓冲工作方式。当ILE为高电平,CS和WR1为低电平,8位输入寄存器有效,输入数据存入寄存器。当D/A转换时,WR2、XFER为低电平,LE2使8位D/A寄存器有效,将数据置入D/A寄存器中,进行D/A转换。2个寄存器均处于受控状态,输入数据要经过2个寄存器缓冲控制后才进入D/A转换器。这种工作方式叫双缓冲工作方式。为了将模拟电流转换为模拟电压,需把DAC0832的两个输出端IOUT1和IOUT2分别接到运算放大器的两个输入端,经过一级运放得到单极性输出电压VA1。当需要把输出电压转换为双极性输出时.可由第二级运放对VA1及基准电压VREF反相求和,得到双极性输出电压VA2如图3-4所示,电路为8位数字量D0~D7经D/A转换器转换为双极性电压输出的电路图。图3-4&& D/A转换双极性输出电路图第一级运放的输出电压为:&其中,D为数字量的十进制数.第二级运放的输出电压为:当R1=R2=2R3时,则3.2.2&&&& 高精度运算放大器OP07:OP07引脚图如图3-5所示:图3-5& 放大器OP07引脚图在本次设计中,DA的电压输出端接放大器OP07的输入端,放大器的放大倍数为:&(R9+R10)÷R9=(1K+4K)÷1K=5,输出到电压模块LM350的电压分辨率=0.02V×5=0.1V。所以,当MCU输出数据增加1的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1V的梯度增加或者降低电压。3.3&&&&&&&& 电压控制电路和参考电压电路LM150系列三端可调正稳压器可以在1.2V至33V输出范围内提供超过3A的电流。该系列稳压器只需两只外接电阻,即可设定输出电压。此外电压调整率和负载调整率都可与分立设计相比较。LM150系列包括内部电流限制、热过载保护和输出晶体管安全区保护功能,即使调节端没有连接,所有保护电路仍保留其功能。通常不需外接电容器,但器件远离电源滤波电容时,则需接入输入滤波电容。调节端可接电容以获得高的纹波抑制比。除取代固定稳压器外,因为LM150系列稳压器是“浮置的”,只要输入输出电压差不超过额定值,同时避免输出短路,就可以稳定数百伏的电源电压。LM150系列的调节端与输出之间接入一只电阻,可做成精密稳流器使用。把调节端钳位置地,输出将被设定在1.2V。用这种方法,可以做成具有电子关闭功能的电源。LM150系列采用标准TO-3和TO-220封装形式。主要性能包括:● 可调输出低至1.2V;● 输出电压容差1%(LM150A、LM350A);● 最大输出电流3A;● 电压调整率为(0.01%)/V(LM150A、LM350A);● 负载调整率为0.3%(LM150A、LM350A);● 86dB纹波抑制● 限流对温度恒定;● 保证热调整率;● 输出短路保护;● 100%电老化。DA的输出电压大小,通过放大器放大,给电压模块作为最终输出的参考电压,真正的电压,电流还是由电压模块LM350输出。为了达到2A的输出电流,LM350必须选用金属外壳封装,并且带稍大面积的散热片。DAC0832的输出的电压经放大器OP07放大了5倍,输出到电压模块LM350的电压分辨率=0.02V×5=0.1V。所以,当MCU输出数据增加1的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1V的梯度增加或者降低电压。电压控制电路如图3-6图3-6& 电压控制电路图DAC0832的11脚接参考电压,通过调节可调电阻调节LM336的输出电压为5.12V,所以在DAC的8脚输出电压的分辨率为5.12V/256=0.02V,也就是说DA输入数据端每增加1,电压增加0.02V。参考电压电路如图3-7所示:图3-7& 参考电压电路图3.4&&&&&&&& 掉电存储电路 3.4.1&&&& AT24C02性能概述AT24C02是一款常用的可掉电保存数据的ROM,内部含有256个8位字节,先进CMOS技术实质上减少了器件的功耗,24C02有一个16字节页写缓冲器,该器件通过I^C总线接口进行操作,有一个专门的写保护功能。在掉电状态下可保存10年以上。AT24C02系列内存的封装和普通的E2PROM不同,它的引脚端符合ISO/IEC7816-2标准 。图3-8 AT24C02封装及其引脚图和表3-1管脚描述。图3-8 AT24C02封装及其引脚图。表3-1管脚描述管脚名称功能A0、A1、A2器件地址选者SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V~6.0V工作电压Vss地图3-8和图3-9分别为AT24C02的连接电路图和运用电路图:&图3-8& 掉电存储电路图图3-9& AT24C02与单片机的连接图图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在AT89C51试验开发板上和单片机的P3.5连接。第6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P3.6连接。SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚需要接地。3.4.2&&&& 掉电存储电路功能掉电存储电路使用AT24C02。T24C02是美国ATMEL公司的低功耗CMOS串行EEPROM。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。本设计采用24C02主要用于实现保存最近10电压功能,当打开电源的时候,它显示和输出的必须是上次使用电压大小,所以在EEROM中使用11个地址保存数据,第一个地址保存当前电压编号,大小为1~10。第2个地址~第11个地址连续保存10个电压大小数据。电压编号的大小分别对应到相应地址电压大小。3.5&&&&&&&& 按键电路本电路设计三个按键,KEY1为翻页按键,最近设置的电压大小保存在EEROM里面,比如10个电压,按一下KEY1,电压变为下一个,省去了反复设置电压的麻烦,KEY2为电压+,KEY3为电压-,按一下KEY2,当前电压增加0.1V,按一下KEY3,当前电压减小0.1V。按键电路如图3-10所示:图3-10 按键电路图3.6&&&&&&&& 显示电路该系统使用3个数码管,可以显示三位数,一个小数位,比如可以显示12.5V,采用动态扫描驱动方式。显示数据以串行方式从89C51的P12口输出送往移位寄存器74LS164的A、B端,然后将变成的并行数据从输出端Q0~Q7输出,以控制开关管WT1~WT3的集电极,然后再将输出的LED段选码同时送往数码管LED1~LED3。位选码由89C51的P14~P16口输出并经译码器74LS138送往开关管Y1~Y8的基极,以对数码管LED1~LED8进行位选控制,这样,3个数码管便以100ms的时间间隔轮流显示。由于人眼的残留效应,这3个数码管看上去几乎是同时显示。3.6.1&&&&&&&&&& 74LS138的原理介绍[7]74LS138是一种常用的二进制译码器。有3个输入端A0、A1、A2接受二进制编码,输出端Y0~Y7共8条译码输出线。74LS138的管脚排列图如图3-11:图3-11 74LS138管脚排列图表3-2&& 74LS138译码器的真值表输入输出&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0×11111111×100000000× &&×&& ××&& ×&& ×0&&& 0&&& 00&&& 0&&& 10&&& 1&&& 00&&& 1&&& 11&&& 0&&& 01&&& 0&&& 11&&& 1&&& 01&&& 1&&& 11&&& 1&&& 1&&& 1&&& 1&&& 1&&& 1&&& 11&&& 1&&& 1&&& 1&&& 1&&& 1&&& 1&&& 10&&& 1&&& 1&&& 1&&& 1&&& 1&&& 1&&& 11&&& 0&&& 1&&& 1&&& 1&&& 1&&& 1&&& 11&&& 1&&& 0&&& 1&&& 1&&& 1&&& 1&&& 11&&& 1&&& 1&&& 0&&& 1&&& 1&&& 1&&& 11&&& 1&&& 1&&& 1&&& 0&&& 1&&& 1&&& 11&&& 1&&& 1&&& 1&&& 1&&& 0&&& 1&&& 11&&& 1&&& 1&&& 1&&& 1&&& 1&&& 0&&& 11&&& 1&&& 1&&& 1& &&1&&& 1&&& 1&&& 03.6.2&&&& 74LS164的原理介绍[7]74LS164有两个串行数据DA、DB输入端,使用时一般把它们连在一起;&为清零输入端,低电平有效,当该端加入低电平时,寄存器输出Q0~Q7全为低电平。在正常情况下,清零输入端接高电平,当CP信号上升沿到来时,数据右移一位;Q0~Q7为并行数据输出端,同时Q7端也是串行数据输出端,对于串行输入的数据,最先输入的从Q7输出,最后进入的从Q0输出。CP为移位脉冲。74LS164的管脚排列如图3-12。图3-12 74LS164管脚排列图其功能表见表3-3:表3-3& 74LS164功能表输入输出&&& CP& &D&&& D50&&& ×&& ×& &×1&&& 0&& &×&& ×1&&& ↑ &&1&&& ×1&& &↑ &&×&& 0Q0&& Q1&& Q2&& Q3&& Q4&& Q5&& Q6&& Q70 &&&0&&& 0&&& 0&&& 0&&& 0&&& 0&&& 0Q0&& Q1&& Q2&& Q3&& Q4&& Q5&& Q6&& Q71&& &Q1&& Q2&& Q3&& Q4&& Q5&& Q6&& Q70&& &Q1&& Q2&& Q3&& Q4&& Q5&& Q6&& Q70& &&Q1&& Q2&& Q3&& Q4&& Q5&& Q6&& Q7图3-11所示是其具体显示电路图:图 3-13& 显示电路图4&&&&&&&& 系统软件设计 4.1&&&&&&&& 程序设计思路软件的设计主要完成三方面的功能:1.设置电压并且保存,主要是对EEROM的操作。2.把设置的电压送到DA,主要是对DA的操作。3.中断显示,把设置的电压显示到LED数码管上。该数控电压源实现保存最近10电压功能,当打开电源的时候,它显示和输出的必须是上次使用电压大小,所以在EEROM中使用11个地址保存数据,第一个地址保存当前电压编号,大小为1~10。第2个地址~第11个地址连续保存10个电压大小数据。电压编号的大小分别对应到相应地址电压大小。本程序设计思路是:当电源打开的时候,MCU进行复位,寄存器清零。接着电源应该显示和输出上次关机前的电压大小,这时候MCU先读取EEPROM中保存的电压编号,根据电压编号读出对应电压,把该数据送到DA,在转换成BCD码送到显示部分。这时候程序循环检测是否有按键信号,如果KEY1按下,电压编号指向下一个,保存该电压编号,读对应电压,把他送到DA并且显示。如果KEY2按下,当前电压数据加1,相对应输出电压(POWER—OUT引脚)增加0.1V,保存设置电压数据。如果KEY3按下,电压数据减1,输出电压减少0.1V,保存设置电压数据。4.2&&&&&&&& 主程序流程图该系统的软件编程采用MCS-51系列单片机汇编语言完成,整个程序包括模数转换部分,电压控制程序,显示程序,键盘扫描程序等几个主要模块。具体的程序编码和总电路原理图见附录。图4.1所示是系统流程图和图4-2是显示流程图。&&& &&图4.1 系统总流程图           图4-2& 显示程序流程5&&&&&&&& 调试本设计主要为硬件调试。利用Keil uVision 7.50a集成开发软件对设计的各部分子程序的编译并烧录到AT89S52芯片。根据PCB原理图把硬件焊接成实物,外接一个可以提供+15V、-15V、+5V的电压源,进行硬件调试。6&&&&&&&& 系统使用说明以上设计设计的是数码显示,精密可调的数控电源,采用三位数码显示,具体显示形式如图6.1所示:图6.1 数控电源外观图其中:图中最上面的键为K1----------翻页按键图中中间的键盘为K2----------加0.1V按键图中最下面的键为K3----------减0.1V按键。7&&&&&&&& 结论与展望经过这次毕业设计,使我受益良多。四年的理论知识学习以及应用和实践。了解进行项目设计的步骤和注意问题。以前简单的单任务开发的比较简单,毕业设计能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。在设计过程中,前期,我在资料的收集、课题的选择、方案的选定方面做了不少的工作。我还对所学的与设计有关的课程作了系统的复习。经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的详细过程。在将来的工作和学习当中都会有很大的帮助。并且学会了怎样查阅资料和利用工具书。在设计中有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,学习更多的专业知识。实践能力得到了进一步提高,在设计过程中积累了一些经验。在此处研究的是数控电源的相关方面的设计。该数控电源的工作模式是步进式,以51系列单片机为控制单元,以数模转换器DAC0832输出参考电压,以该参考电压控制电压转换模块LM350的输出电压大小,真正的电压电流由电压模块LM350输出。按键方式实现步进,并带有数码显示模块。该数控电压源经过时间实际使用说明,具有精度高,使用方便,硬件电路简单等特点。相信随着单片机位数的提升,以及数模转换精度的提高,数控的精确度会不断得到提升。数控电源在很大程度上满足了用户的需求。由于本人电子水平有限,电子设计实践经验较少,论文中难免会存在缺点和错漏,恳请各位老师同学批评纠正。谢谢8&&&&&&&& 鸣& 谢在本设计完成之制,我要感谢我的指导xxx老师给予我的指导和帮助,还有我班xxxx等同学,他们在我的设计过程中给予了很多帮助。在此表示衷心的感谢。同时感谢在我四年大学生活中教导我的老师和同学。谢谢答辩组的老师百忙中对我设计的阅览和指导。9&&&&&&&& 参考文献[1] 胡斌.电子线路快速识图[M],2005[2] 曲学基, 王增福, 曲敬铠 .稳定电源电路设计手册[M],2003[3] 周志敏, 周纪海.开关电源实用技术----设计与应用[M],2003[4] 张占松,蔡宣三 .开关电源的原理与设计(修订版).北京:电子工业出版社,2006[5] 周志敏, 周纪海, 纪爱华.开关电源实用电路[M],2006[6] 万福君,潘松峰.单片微机原理系统设计与应用[M]. 合肥:中国科学技术大学出版社,2005[7] 阎石.数字电子技术基础.北京:高等教育出版社[M],2004 [8] 赵学泉,张国华.电源电路[M],1995[9] 文艳,谭鸿.Protel 99 SE 电子电路设计[M].北京:机械工业出版社,2006[10] 段九州.电源电路实用设计手册[M].辽宁:辽宁科学技术出版社.2002[11] 沙占友.单片开关电源最新应用技术] [M],2003[12] [日]户川治郎著;何伟仁译.实用电源电路设计手册[中译文] [M],1990[13] 户川治朗 著,高玉苹等译.实用电源电路设计[中译文] [M]&,2005[14] 车京春、韩晓东.PROTEL DXP印制电路板设计指南[M], 中国铁道出版社 2004[15] 李朝青.单片机原理及接口技术.北京航空航天大学出版社 1999[16] 赵文博,刘文涛.单片机语言C51程序设计编著.人民邮电出版社2005附& 录&2&&&&&& 附总电路图:2&&&&&&& 总程序源代码:ORG 0000HSCL BIT P1.0;定义24C02的串行时钟线SDA BIT P1.1定义24C02的串行数据线LJMP STARTSTART:LCALL STAR;调用MOV R2,#08H;一个数据有8位MOV DPTR,#0600H;定义源数据的位置LOOP:MOV A,#00HMOVC A,@A+DPTRLCALL SDATALCALL ACKJC LOOPINC DPTRDJNZ R2,LOOPLCALL STOP;调用停止子程序STAR:SETB SDASETB SCLNOPNOPNOPNOPCLR SDANOPNOPNOPNOPCLR SCLRETSDATA:MOV R0,#10HLOOP0:RLC AMOV SDA,CNOPNOPSETB SCLNOPNOPNOPNOPCLR SCLDJNZ R0,LOOP0RETACK:SETB SDANOPNOPSETB SCLNOPNOPNOPNOPMOV C,SDACLR SCLRETSTOP:CLR SDANOPNOPNOPNOPSETB SCLNOPNOPNOPNOPSETB SDANOPNOPNOPNOPRETMAIN1:ORG& 0060H&& MOV& R3,#0A0H&& ;(命令1010+器件3位地址+读/写。 器件地址一个芯片,是000)MOV& R4,#00H&& ;& 置片内字节地址MOV&& R1,#71H& ;置欲写数据存放地址指针MOV&& R7,#01H& ;置连续写字节数nEEPR: MOV P1,#0FFHCLR  P1.0;发开始信号  MOV  A,R3;送器件地址ACALL SUBS;调发送单字节子程序MOV A,R4;送片内字节地址ACALL SUBSMOV P1,#0FFHCLR P1.0   再发开始信号MOV A,R3SETB ACC.0  ;发读命令ACALL SUBSMORE: ACALL SUBRMOV @R1,AINC R1DJNZ R7,MORECLR P1.0ACALL DELAYSETB P1.1ACALL DELAYSETB P1.0 ;送停止信号RETSUBR: MOV  R0,#08H ;接受单字节子程序LOOP2: SETB  P1.1ACALL DELAYMOV C,& P1.0RLC ACLR P1.1ACALL DELAYDJNZ R0,LOOP2CJNE R7,#01H,LOWSETB P1.0  ;若是最后一个字节置A=1AJMP SETOKLOW: CLR P1.0  ;否则置A=0SETOK: ACALL DELAYSETB  P1.1ACALL DELAYCLR  P1.1ACALL DELAYSETB P1.0  ;应答毕,SDA置1RETLCALL& DADA:& MOV& A,P0MOV& DPTR,#FEFFHMOV&& @DPTR,ARETMAIN:& ORG&& 001BHLJMP& TINTORG& 0030HLCALL& INIT初始化子程序:INIT:&&& CLR& RS0CLR& RS1MOV& R0,#10H&&&&& MOV&& R1,#00H&&&&& MOV&& P1,#0FFH&&&&& CLR&& TR1MOV& TMOD,#19HMOV& TL1,#19HMOV& TH1,#0FCHSETB& TR1SETB& ET1SET& EARET定时扫描子程序:TIINT:SETB& RS0CLR& EACLR& TR1MOV& A,#1EHADD& A,TL1MOV& TL1,AMOV& A,#0FCHADDC& A,TH1MOV&& TH1,ASETB&& TR1SETB& EATIINT1:CJNE R1,#08H,TINT2MOV& 10H,20HMOV& 11H,21HMOV& 12H,22HMOV& 13H,23HMOV& 14H,24HMOV& 15H,25HMOV& 16H,26HMOV& 17H,27HTIINT2:CJNE& R1,#08。,TIINT3&&&&&&&& MOV&& A,@R0SJMP&& TIINT4TIINT3:MOV& A,@R0ADD& A,#15MOVC& A,@A+PCTIINT4:LCALL SENDLEDINC& R0INC&& R1TIINTE:CLR& RS0DB&&&& 03H,9FH,25H。0DH,99H49H,41H,1FH,01H,09H显示子程序:SENDLED:CLR& P1.3MOV&& R2,#8SLED0:RRC& AJNC&& SLED1SETB& P1.2SJMP&& SLED2SLED1:CLR& P1.2SLED2:CLR& P1.1NOPSETB& P1.1DJNZ& R2,SLED0MOV& A,R1MOV&& C,ACC.0MOV& P1.6 ,CMOV& C,ACC.1MOV& P1.5,CMOV& C,ACC.2MOV& P1.4,CSTTB& P1.3RETMAIN2: ORG 0030HMOV SP,#5FHMOV P2,#0FFHLOOP:ACALL KEY ;调用键盘程序JNB F0,LNEXT ;如果无键按下,则继续LNEXT:AJMP LOOP ;反复循环,主程序到此结ACALL KEYPROC ;否则调用键盘处理程序DELAY:MOV R7,#100D1: MOV R6,#100DJNZ R6,$DJNZ R7,D1RET-------------------延时程序,键盘处理中调用)JB& ACC.1 , key1& ;;1号键按下转JB& ACC.2 , key2& ;2号键按下转JB& ACC.3 , key3& ;3号键按转AJMP KEY_RETKey1:MOV&& @R0,P1&&&&&& MOV& A,@R0&&&&&& ;取当前计时单元数据到A&&&&&&&&&& DEC& R0&&&&&&&&& ;指向前一地址&&&&&&&&&& SWAP& A&&&&&&&&&& ;A中数据高四位与低四位交换&&&&&&&&&& ORL & A,@R0&&&&&& ;前一地址中数据放入A中低位&&&&&&&&&&&&ADD& A,#01H&&&&& ;A加1操作&&&&&&&&&&&&&DA & A&&&&&&&&&& ;十进制调整&&&&&&&&&&&&&MOV&& R3,A&&&&&&& ;移入R3寄存器&&&&&&&&&&&&&ANL & A,#0FH&&&&& ;高四位变0&&&&&&&&&&&&&MOV & @R0,A&&&&&& ;放回前一地址单元&&&&&&&&&&&&&MOV& A,R3&&&&&&& ;取回R3中暂存数据&&&&&&&&&&&&&&INC& R0&&&&&&&&& ;指向当前地址单元&&&&&&&&&&&&&&SWAP& A&&&&&&&&&& ;A中数据高四位与低四位交换&&&&&&&&&&&&&&&ANL & A,#0FH&&&&& ;高四位变0&&&&&&&&&&&&&&MOV& @R0,A&&&&&& ;数据放入当前地址单元中&& MOV&& P1,@R1AJMP KEY_RETKey2:MOV&& @R0,P1&&&&&& MOV& A,@R0&&&&&& ;取当前计时单元数据到A&&&&&&&&&&&&&&&&&& DEC& R0&&&&&&&&& ;指向前一地址&&&&&&&&&&&&&&&&&& SWAP& A&&&&&&&&&& ;A中数据高四位与低四位交换&&&&&&&&&&&&&&&&&& ORL & A,@R0&&&&&& ;前一地址中数据放入A中低四位&&&&&&&&&&&&&&&&&& DEC A,#01H&&&&& ;A加1操作&&&&&&&&&&&&&&&&&& DA & A&&&&&&&&&& ;十进制调整&&&&&&&&&&&&&&&&&& MOV&& R3,A&&&&&&& ;移入R3寄存器&&&&&&&&&&&&&&&&&& ANL & A,#0FH&&&&& ;高四位变0&&&&&&&&&&&&&&&&&& MOV & @R0,A&&&&&& ;放回前一地址单元&&&&&&&&&&&&&&&&&& MOV& A,R3&&&&&&& ;取回R3中暂存数据&&&&&&&&&&&&&&&&&& INC& R0&&&&&&&&& ;指向当前地址单元&&&&&&&&&&&&&&&&&& SWAP& A&&&&&&&&&& ;A中数据高四位与低四位交换&&&&&&&&&&&&&&&&&& ANL & A,#0FH&&&&& ;高四位变0&&&&&&&&&&&&&&&&&& MOV& @R0,A&&&&&& ;数据放入当前地址单元中MOV& P1,@R1AJMP KEY_RETKey3:MOV& A,71HADD&& A& #01HMOV&&& 71H,ALCALL& MAINLCALL&& EEPWLCALL& AGAINLCALL& SUBSLCALL& LOOPLCALL& REPLCALL&& DELAYAJMP KEY_RETKEY_RET: RETKEY:CLR F0 ;清F0,表示无键按下。ORL P2,#B ;将P2口的接有键的四位置1MOV A,P2 ;取P2的值ORL A,#B ;将其余4位置1CPL A ;取反JZ K_RET ;如果为0则一定无键按下ACALL DELAY ;否则延时去键抖ORL P2,#BMOV A,P2ORL A,#BCPL AJZ K_RETMOV B,A ;确实有键按下,将键值存入B中SETB F0 ;设置有键按下的标志K_RET:ORL P2,#B ;此处循环等待键的释放MOV A,P2ORL A,#BCPL AJZ K_RET1 ;直到读取的数据取反后为0说明键释放了,才从键盘处理程序中返回AJMP K_RETRET;写串行E2PROM子程序EEPW; R3=(命令1010+器件3位地址+读/写。 器件地址一个芯片,是000); (R4)=片内字节地址; (R1)=欲写数据存放地址指针; (R7)=连续写字节数nMAIN3: ORG& 0060H&&&&&&& MOV& R3,#0A0H&& ;(命令1010+器件3位地址+读/写。 器件地址一个芯片,是000)MOV& R4,#00H&& ;& 置片内字节地址MOV&& R1,#71H& ;置欲写数据存放地址指针MOV&& R7,#01H& ;置连续写字节数nEEPW: MOV P1,#0FFH  CLR  P1.0  ;发开始信号  MOV  A,R3  ;送器件地址  ACALL  SUBS  MOV  A,R4  ;送片内字节地址  ACALL SUBSAGAIN: MOV A,@R1  ACALL SUBS ;调发送单字节子程序INC   R1  DJNZ  R7,AGAIN;连续写n个字节  CLR    P1.0  ;SDA置0, 准备送停止信号ACALL DELAY ;延时以满足传输速率要求SETB   P1.1  ;发停止信号ACALL DELAYSETB   P1.0RETSUBS: MOV R0,#08H ;发送单字节子程序LOOP: CLR P1.1  RLC  A  MOV  P1.0,CNOPSETB P1.1ACALL DELAYDJNZ R0,LOOP ;循环8次送8个bitCLR  P1.1ACALL DELAYSETB P1.1REP: MOV C,P1.0  JC  REP  ;判应答到否,未到则等待  CLR  P1.1RETDELAY: NOPNOPRETMAIN4:LCALL&& STLCALL& STRTLCALL& LOOP;调用子程序LCALL&& STAR;同上LCALL& SDATA;同上LCALL& ASK;同上LCALL& STOP;同上ST:MOV& A,P0MOV& R0,#10HMOV& R1,#0600HMOV&& @R1,AINC& R1DJNZ& R0& STRETEND
馆藏&119625
TA的推荐TA的最新馆藏[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 单片机开关量输入电路 的文章

 

随机推荐