基于单片机的电源管理系统设计_第1页
基于单片机的电源管理系统设计_第2页
基于单片机的电源管理系统设计_第3页
基于单片机的电源管理系统设计_第4页
基于单片机的电源管理系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的电源管理系统设计PAGEPAGE241引言本章简要的叙述了电源管理系统的市场需求和发展趋势,并系统的介绍了本文要研究的主要内容及特点。1.1电源管理系统的现状及发展趋势随着电子产业的高速发展,给电源市场带来了巨大的挑战和市场机会。但同时也给电源提出了新的需求。需要自身独立的内置电源管理系统,保证其在移动或无人职守状态下工作,一般采用可充电的锂离子电池或镍氢电池作为设备内置电源(连续使用三到五年不更换)。但其却有限压的要求,蓄电池的使用和保护方法及剩余电量监测对电池寿命有着重大的影响,是产品性能的一个重要方面。合理的充电策略对维持畜电池性能延长其使用寿命都有重要的意义。电源管理是一个完整的系统,它不仅包含对畜电池的电量检测和充放电管理和为设备提供标准电压等级和定制电压等级的电源输出,还应有人机交互的功能。现在地电源发展正在朝着以下几个方向发展:高效率、高功率;网络化、智能化的监控管理;全数字化控制;产品绿色环保。1.2本文的主要内容及特点本论文主要研究的是基于AT89C51单片机的电源管理系统的设计,该系统具有输出电压、电流显示功能;电流保护功能,当电流超过安全范围时,系统停止电压输,过流保护后必须按复位键才能重新输出;充电和过放保护电路;供电功能。2系统的总体设计任务本论文分为硬件部分和软件部分。2.1基于AT89C51的硬件设计任务蓄电池充电电路的设计:为蓄电池充电,并且具有防止电池过量充电的功能。可调电源的设计:1.5V-12V连续可调电源的输出。系统稳压点烟的设计:这个设计的目的是为整个系统提供的稳压电源。模数转换电路的设计:把模拟的电压电流信号转换成数字信号。看门狗电路设计:这个设计的功能是在单片机的程序跑飞的情况下自动复位。显示模块设计:把输出的电压、电流情况显示出来。译码电路设计:译码电路选择显示的位置和AD采样。AT89C51工作电路设计:使单片机正常工作。74LS161分频器设计:对AT89C51的ALE进行4分频为AD0809头、提供时钟频率。辅助电路设计:单片机晶振电路、逻辑电路和按键电路。2.2软件设计的主要任务(1)分析整个系统,把总系统分为几个子系统,并考虑几个子系统之间的内在的关系。本论文要完成的任务是:初始化程序设计、按键程序设计、充放电控制程序设计、A/D转换程序设计、过流保护程序设计、显示程序设计。(2)编写各个子系统的程序,最后组合在一起,得到整个系统。(3)编译、检查、修改。(4)看是否能得到我们需要的结果,如果得不到就回到上一步,直到得到想要的结果为止。3电源管理系统的硬件设计3.1AT89C51单片机AT89C51单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点。其特性如下:(1)一个8位的CPU,包括了运算器和控制器两部分。(2)片内128个字节的RAM是以高速RAM的形式集成,可以加快运行速度。(3)4K字节可编程闪烁存储器。(4)32可编程I/O线。(5)两个16位定时器/计数器。(6)5个中断源。(7)可编程串行通道。(8)低功耗的闲置和掉电模式。(9)片内振荡器和时钟电路。3.2基于AT89C51的电源管理系统设计框图图1为系统框图:图1电源管理系统设计框图3.3AT89C51基本工作电路设计本设计是基于单片机的电源管理电路设计,因此核心是单片机电路,考虑到需要两个中断输入,存储容量、外接接口对单片机端口的需求以及兼顾到节约成本的原则,本论文选用了常用的AT89C51单片机。它采用Atmel公司的非易存储器制造技术,与MCS51的指令设置和芯片引脚可兼容。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是客反复擦写的Flash存储器可有效地降低开发成本。图2AT89C51基本工作电路AT89C51工作的简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了,图2为单片机的简单的工作电路。图2中提到的MAX813芯片是看门狗电路,后面章节将对看门狗电路进行更为详细的分析。3.4电源输出电路的设计3.4.1LM317作为输出电压可变的集成三端稳压块,是一种使用方便、应用广泛的集成稳压块。稳压电源的输出电压可用下式计算,Vo=1.25(1+R2/R1)。仅仅从公式本身看,R1、R2的电阻值可以随意设定。然而作为稳压电源的输出电压计算公式,R1和R2的阻值是不能随意设定的。首先317稳压块的输出电压变化范围是Vo=1.25V—37V(高输出电压的317稳压块如LM317HVA、LM317HVK等,其输出电压变化范围是Vo=1.25V—45V),所以R2/R1的比值范围只能是0—28.6。1、2脚之间为1.25V电压基准。其次是317稳压块都有一个最小稳定工作电流,有的资料称为最小输出电流,也有的资料称为最小泄放电流。最小稳定工作电流的值一般为1.5mA。由于317稳压块的生产厂家不同、型号不同,其最小稳定工作电流也不相同,但一般不大于5mA。当317稳压块的输出电流小于其最小稳定工作电流时,317稳压块就不能正常工作。当317稳压块的输出电流大于其最小稳定工作电流时,317稳压块就可以输出稳定的直流电压。在应用中,为了电路的稳定工作,在一般情况下,还需要接二极管作为保护电路,防止电路中的电容放电时的高压把317烧坏。3.4.2图3中的D42、D43用于保护LM317通过单片机输出相应的信号,就可以控制输出相应的电压大小。为了保证稳压器的输出性能,R41应小于240欧姆。改变1脚和地之间的阻值即可调整稳压电压值。该电路是中输入的是经过稳压处理的电压,后面是一个三级管开关电路,当P1.3输出为低的时候,经过反相器在三极管的基极产生一个高电压是三级管导通,导通后在23F的线圈里面就有了电流,产生磁性,使开关K3导通,在Vout端输出需要的电压。图3基于LM317的电源输出电路3.5蓄电池充电电路图4为蓄电池充电电路,该电路具有防止过充的功能,充电电压是220V、50Hz的市电。蓄电池在输出电压为12V,功率在20W时可连续工作5小时。本电路包括下面几个电路:降压整流电路:又变压器T、整流二极管D11、D12组成。Q11可控硅触发电路:由电阻R11、二极管D14、可控硅Q11组成。大电流充电电路:整流电路及可控硅Q11组成。小电流充电电路:由整流电路、二极管D13、电阻R12、电位器r13组成。大电流切断电路:由电阻R11、R17和可控硅Q12、稳压管D15、电位器R15以及电阻R14等组成。图4蓄电池充电电路本电路防止过量充电的原理是:当Q11被触发导通后即对蓄电池进行大电流充电。当充电电压升高到规定的上限值时,由于预先调节R15,使电位器R15的滑动点与地之间的电压等于稳压管D15的稳压值与可控硅触发电压之和,所以这时可控硅Q12被触发导通。Q12导通后,Q11触发电路受蓄电池电压反向偏置而关断。此后,电源通过D13、R12、R13对蓄电池进行小电流充电。调节R13使电流限制在允许范围内。3.6系统稳压电源设计本论文的设计是基于AT89C51单片机的电源管理系统,其中使用到了+12V和+5V的电源,输入由蓄电池提供的12V电源。电路中使用到的两个芯片是LM7812和LM7805,下面将分别作出介绍。3.6.1LM781278xx/79xx系列三端稳压器件是最常用的线性降压型DC/DC转换器,目前也有大量先进的DC/DC转换器层出不穷,例如低压差线性稳压器LDO等,78xx/79系列简单易用、价格低廉,直到今天还在大多电路中采用。图5为其这个系列芯片的引脚图。78xx/79xx系列在降压电路中应注意以下事项:(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电流不能太大,1.5A是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。LM7805是常用的三端稳压器,一般使用的是TO-220封装,能提供DC5V的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不通的电压和电流,正面朝上第一脚是正极输入二脚是负极三脚是正极输出。图5LM系列芯片的引脚图3.6LM7812是12V的稳压芯片,LM7805是5V的稳压芯片,这种芯片的好处是应用比较的简单,只需要接上几个电容就可以试用了。而且如果前段电源有轻微的波动几乎对后面的输出没有影响,这种芯片具有自动调节功能。图6为稳压电源电路。图6稳压电源电路3.7ADC0809模数转换电路ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。3.7(1)ADC0809的内部逻辑结构ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2)引脚结构IN0-IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。通道选择表如表1所示。000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表1通道地址选择表START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三态处处锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高位。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。EOC为转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。Vcc为+5V电源。Vref为参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V,Vref(-)=-5V).3.7(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2)初始化时,使ST和OE信号全为低电平。(3)送要转换的哪一通道的地址到A,B,C端口上。(4)在ST端给出一个至少有100ns宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。3.7.3ADC0809是一个8位模拟数字转换器件,如图7所示。其中IN0—IN7一共8个输入通道,但每次只能用其中的一个,通道的选择由ADD_A、ADD_B、ADD_C三根地址信号控制,本设计选用IN_0和IN1,通道的选择可以通过ADD_A的高低电平来区分。2_1—2_8是8位输出,接入单片机的AT89C51的P0.0—P0.7引脚。其中2_8的低位应该接P0.0,2_1的高位接P0.7。引脚10是时钟输入端,时钟频率位640KHz—1280KHz。引脚6、22是开始采样端,高电平有效,引脚9是使能端。AD0809只能对电压信号进行模拟转换,而且输入的电压在0V—5V之间的,如果输入的电流信号,必须进行电流信号转换位电压信号,如果输入的电压信号大于5V,可以通过分压电路进行分压。图7中的IN_0输入的是电压信号,其中R72和R73组成了分压电路。IN_1输入的是电流信号,该电流信号通过R71转换成电压信号。Ref(-)接地,ref(+)接5V电压。图7ADC0809数模转换电路3.874LS161分频器电路设计模拟数字转换器件ADC0809要正常工作,必须要有一个时钟频率,在AT89C51的第30引脚ALE是单片机输入时钟频率的1/6,由于单片机的时钟是12M的晶振,所以这里也就是2M,而ADC0809需要一个500K—800K的时钟,所以只需要对ALE引脚的输出信号进行3分频,本论文所用的分频器是74LS161计数器进行分频。3.8.174LS161芯片的功能介绍74LS161芯片的清除端是异步的。当清除端CLEAR位低电平时,不管时钟端CLOCK状态如何,即可完成清除功能。161芯片的预置是同步的。当置入控制器LOAD位低电平时,在CLOCK上升沿作用下,输出端Q0—Q3与数据输入端相一致。对于74161而言,当CLOCK由低至高跳变或跳变前,如果计数控制端ENP、ENT位高电平,则LOAD应避免由低电平至高电平的跳变,而74LS161则无此限制。161的计数是同步的,靠CLOCK同时加在四个触发器上而实现的。当ENP、ENT均为高电平时,在CLOCK上升沿作用下Q0—Q3同时变化,从而消除了异步计数器中出现的计数尖峰。对于74LS161,只有当CLOCK为高电平时,ENP、ENT跳变与CLOCK无关。161有超前进位功能。当计数溢出时,进位输出端(RCO)输出一个高电平脉冲,其宽度位QA的高电平部分。对于74LS161,在CLOCK出现前,即使ENP、ENT、CLEAR发生变化,电路的功能也不受影响。3.8.274LS161芯片各引脚功能说明如表2所示:PCO进位输出端CLOCK时钟输入端(上升沿有效)CLEAR异步清除输入端(低电平有效)ENP计数控制端ENT计数控制端ABCD并行数据输入端LOAD同步并行置入控制端(低电平有效)Q0—D3输出端表274LS161芯片各引脚功能说明3.8.3分频器电路设计74LS161同步四位二进制计数器,其电路设计如图8所示:图8分频器电路3.9看门狗电路设计应用系统受到干扰后,都要进行复位,而一般的电路往往不能保证系统的安全可靠工作,因此便出现了看门狗。看看门狗就是监控定时器的简称,它是用来检测微处理器是否正常工作,如果工作不正常,程序就会跑飞或者死机,看门狗电路的输入端没有被及时触发,那么看门狗就会产生一个复位脉冲,能有效的使系统复位使系统恢复正常运转。所谓看门狗电路,就是一个能发出“复位”信号的计数器或定时器电路,MAX813L芯片就是这么一种芯片。该芯片具有监控电路,如图9所示。图9中提到的MAX813芯片是看门狗电路,是具有监控电路的微处理芯片,它具有4个功能:(1)具有独立的看门狗计时器,如果看门狗输入在1.6s内无变化,就会产生看门狗输出;(2)掉电或电源电压低于1.25V时,产生掉电输出;(3)上电时能自动产生200ms宽的复位脉冲;(4)具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。MAX813芯片各引脚功能如下:MR(1脚):手动复位端。当该端输入低电平保持240ma以上,MAX813就能产生复位信号,该复位信号脉宽为200ms(见7脚)。Ccc(2脚):工作电源接+5V。GND(3脚):电源接地端。PFI(4脚):电源故障输入端。当该端输入电压低于1.25V时,MAX813使电源故障输出端产生的信号由高电平变为低电平(见5脚)。PFO(5脚):电源故障输出端。电源正常时,保持高电平;电源电压变低或掉电时,输出由高电平变为低电平。WDI(6脚):看门狗信号输入端(喂狗信号)。程序正常运行时,必须每隔1.6s之内向该端送一次信号;若超过1.6s,MAX813接受不到喂狗信号,则产生看门狗输出(见8脚)。RESET(7脚):复位信号输出端。上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。WDO(8脚):看门狗信号输出端。正常工作时输出保持高电平;看门狗输出时,该端输出信号由高电平变为低电平。3.9.2看门狗电路本电路的工作原理是:单片机P1.7作为看门狗的“喂狗”信号定时给出一个脉冲,当程序正常运行时,单片机每隔一段时间输出一个脉冲给WDI触发MAX831L电路,使RESET始终为低电平;若单片机程序一旦出现异常,不能在1.6s内送出“喂狗”脉冲,MAX813L的RESET将产生一个正脉冲到单片机的RESET口,使单片机系统复位,使其能重新正常运行。看门狗电路如图9所示:图9看门狗电路3.10显示模块设计和译码电路设计3.10.174HC245芯片功能及管脚介绍74HC245是总线驱动器,典型的TTL型三态缓冲门电路。由于单片机等CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。74LS245芯片的各管脚定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2--9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入,A1输出,其它类同。第11--18脚“B”信号输入输出端,功能与“A”端一样。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地。第20脚VCC,电源正极。3.10.274LS138芯片介绍74LS138为3线--8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其74LS138的工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。74LS138功能是利用G1、/(G2A)和/(G2B)可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。3.10.3显示模块及译码电路分析本次毕业设计显示是采用7个八段共阴数码管,第一个数码管显示的是标志位,显示当前输出的电压是什么状态。总共有3个状态,分别是:1表示当前输出的是12V,2表示当前输出的是9V,3表示当前输出的是1.5V—12V的连续可调电压。后面的三个数码管显示的是输出的电压的大小,前两个是电压的整数部分,后一个是电压的小数部分;最后三个数码管显示的是当前输出的电流大小,前一个是电流的整数部分,后两个显示的是电流的小数部分。每个数码管都有8跟数据线和一根公共线,公共线接正,表示数码管为共阳,公共线接地,表示数码管为共阴,每一根线对应一根发光二极管。图10为显示电路和3-8译码电路。图中通过单片机的P0端口向数码管送显示的数据,通过P2.5、P2.6、P2.7三根地址线经过3-8译码器选择显示的位置。其中最后一个Y7可以作为P0端口送数据到数码管还是从AD0809读取数据的选择信号。图10显示电路和3-8译码电路3.11辅助电路设计辅助电路虽然比较简单,但却是每个系统中必不可缺的部分。有些时候,系统的稳定性就取决于这些看似不起眼的辅助电路上。3.11.1晶振电路设计图11为晶振电路,是单片机工作的必须的部件。它是正弦波震荡电路,供其他数字电路整形后作时钟源。图11晶振电路3.11.2逻辑电路设计图12为逻辑电路的电路图,经过逻辑变化,实现单片机控制ADC0809,使其正常工作。图12逻辑电路3.10.3电源滤波电路图13是电源滤波电路,可以有效的防止信号的互相干扰,可以使器件更稳定的工作。图13经过以上的各个部分的详细介绍后,我们只需要把以上的各个模块按照资源分配、主次、先后的不同按一定的顺序排列在一起就可以实现本论文想要实现的功能了。4电源管理系统设计的软件部分对于高效的软件工程,良好的设计师关键,一个设计的好的软件系统应该是直接实现和易于维护、易懂、可靠的。设计的不好的系统,尽管可以工作,但很可能维护起来费用昂贵、测试困难、不可靠。因此,设计阶段是软件开发过程中最重要的阶段。软件设计在很大程度上仍是一个特定过程。一般用自然语言给定一个需求集,预先作非正式设计,常常用流程图的形式说明,接着开始编码,当系统实现时还需要修改。4.1软件设计流程流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程图来指示算法的执行方向。由于它简单直观,所以应用广泛,特别是在早期语言阶段,只有通过流程图才能简单地表述算法,流程图成为程序员们交流的重要手段。本论文由于控制信号比较多,AT89C51单片机的引脚已经不能满足需要了,所以采用AD0809和数码管显示端口复用的技术,这就需要在编写程序的时候特别小心这些信号之间的关系。除此之外,程序设计中还设计了过了两个中断程序,一个是AD0809数模转换中断,一个是电压过低自动充电中断,这两个中断的设计比较重要也比较难。由于电压、电流出现小数部分,而单片机处理小数相对比较困难,我们通过对电压乘以10和对电流乘以100的处理方法,然后再数码管的相应的地方通过硬件点亮小数点的方法解决小数问题,实际证明了这样的方法大大简化了整个的程序设计。图14为整个系统程序设计的流程图。图14整体程序流程图4.2编写程序有了硬件的基础,再加上流程图的疏导,下面的工作就是编写各个模块的程序了,在附录中的程序中添加了适当的注释,这样的话便于修改程序,也便于以后程序的维护。软件部分的程序见附录部分。4.3仿真程序和调试联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络89C51和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。本系统中的键盘、显示部分都是串行连接的。89C51属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。结束语:本设计是基于单片机的电源管理系统,本文所介绍的电源管理系统采用的单片机是AT89C51,其丰富的片内资源使得外围扩展器件少,体积小,方便制板和安装,降低了成本,减少了硬件故障率,使之便于应用在便携式移动测试设备中。本系统以单片机为核心,软件与硬件相结合,用动态的方法对电能的输入输出进行智能化的管理,为设计提供了安全可靠的电源解决方案。参考文献:[1]王建校、杨建国等。《51系列单片机及程序设计》。北京:科学出版社。2002年[2]杨忠煌、黄博俊、李文昌。《单芯片8051实务与应用》。北京:中国水利水电出版社。2001年[3]马忠梅、马岩、张凯等。《单片机的C语言应用程序设计》。北京:北京航空航天大学出版社。1997年[4]马忠梅、马岩、张凯等。《单片机的C语言应用程序设计》。北京:北京航空航天大学出版社。2003年[5]周立功等。《单片机基础实验指导书》。广州:广州周立功单片机发展有限公司。2003年[6]李广弟、朱月秀、王秀山。《单片机基础》。北京:北京航空航天大学出版社。2001年[7]何立民。《单片机高级教程》。北京:北京航空航天出版社。2000年[8]许兴存、曾琪琳。《微型计算机接口技术》。北京:电子工业出版社。2003[9]朱宇光。《单片机应用新技术教程》。北京:电子工业出版社。2000附录:ORG0000HLJMPMAINORG0003HLJMPINTTOORG0013HLHMPINTT1ORG0100HINT0FLAGEQU20H;中断0到来标注位IRETFLAGEQU21H;过流保护复位标志位DISFLAGEQU22H;显示功能的选择标注位CONTFLAGEQU23H;连续电压输出标注位VOUTEQU30H;电压A/D转换输入IOUTEQU31H;电流A/D转换输入V0EQU32H;电压的小数部分V1EQU33H;电压的整数部分的个位V2EQU34H;电压的整数部分的十位I0EQU35H;电流的小数部分的第二位I1EQU36H;电流的小数部分的第一位I2EQU37H;电流的整数部分***********键盘扫描程序***************KEYSCAN:SETBP2.0CLRCMOVC,P2.0JCKEYJUMP1SETBIRETFLAGKEYJUMP1:SETBP2.1CLRCMOVC,P2.1JCKEYJUMP2KEYJUMP2:;连续电压输出按键SETP2.2CLRCMOVC,P2.2JCKEYJUMP3CLRP3.0;打开总电源输出开关CLRVFLAGSETBCONTFLAGKEYJUMP3:RET;**********电压输出程序**********VTJUMP:MOVDISFLAG,#06H;1.5V—12V的连续可调电压输出SETBP1.1SETBP1.2CLRP1.3RET;**********电压、电流A/D转换中断服务子程序**********INTTO:PUSHACCPUSHPSWSETBP2.5SETBP2.6SETBP2.7CLRP3.4;复位ADCSETBINT0FLAG;中断到,标志位置1CLRP3.5;允许读AD0809JBP3.6,INT0JUMP1MOVVOUT,P0;存放电压的数据LJMPINT0JUMP2INT0JUMP1:MOVIOUT,P0;存放电流的数据INT0JUMP2:SETBP3.5;禁止读信号CLREX0POPPSWPOPACCRETI;**********电压过低充电电路**********INTTI:PUSHACCPUSHPSWSETBP1.0POPPSWPOPACCRETI;**********电流处理程序*********IDEAL:CLRCMOVA,IOUTSUBBA,#0C8HJNCIDEALJUMPCLRIRETFLAG;清楚过流保护的标志位SETBP3.0;关所有的电源输出LCALLKEYSCANJNBIRETFLAG,$LJMPMAIN;过流保护IDEALJUMP:MOVB,#64HMOVA,IOUTDIVABMOVI2,A;得到电流的整数部分MOVR1,BMOVB,#0AHMOVA,R1DIVABMOVI1,A;得到电流的小数部分的第一位MOVI0,B;得到电流的小数部分的第二位RET;**********电压处理程序**********VDEAL:MOVB,#05HMOVA,VOUTDIVABMOVR2,AMOVB,#03HMOVA,R2MULABMOVVOUT,BMOVB,#64HMOVA,VOUTDIVABMOVV2,A;得到电压的整数部分的十位MOVR3,BMOVB,#0AHMOVA,R3DIVABMOVV1,A;得到整数部分的各位MOVV0,B;得到小数部分ERT;**********显示程序设计**********DISPLAY:MOVDPTR,#TABCLRP2.5CLRP2.6CLRP2.7MOVA,I0MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电流的小数部分的第二位CLRP2.5CLRP2.5SETBP2.7MOVA,I1MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电流的小数部分的第一位CLRP2.5SETBP2.6CLRP2.7MOVA,I2MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电流的整数部分CLRP2.5SETBP2.6SETBP2.7MOVA,V0MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电压的小数部分SETBP2.5CLRP2.6CLRP2.7MOVA,V1MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电压的整数部分的个位SETBP2.5CLRP2.6SETBP2.7MOVA,V2MOVCA,@A+DPTRMOVP0,ALCALLDELAY;显示电压的整数部分的个位SETBP2.5SETBP2.6CLRP2.7MOVA,DISFLAGMOVCA,@A+DPTRMOVP0,ALCALLDELAYRET;**********延时程序**********DELAY:MOVR5,#0FFHLOOP0:MOVR6,#0FFHLOOP1:DJNZR6,LOOP1DJNZR5,LOOP0RET;**********0—9七段码—共阴**********TAB:DB3FH,06H,5bH,ZfH,66H,6Dh,07H,7fH,6Fh;**********初始化主程序**********MAIN:ANLTCON,#00HMOVSP,#60HSETBEA;打开全部的中断使能MOVVOITFLAG,#03HSETBIRETFLAG;置过流保护复位标注位SETBP3.0;关所有的电源输出JUMP1:LCALLKEYSCAN;扫描键盘JBP3.0,JUMP1LCALLVOUTPUT;根据键盘控制,输出相应的电压CLRINT0FLAGSETBEX0;打开INTT0中断的使能CLRP3.7;片选A/D转换器SETBP3.5;禁止读信号CLRP3.4;复位ADCSETBP3.6;选择AD0809的IN1通道SETBP3.4;在START/ALE上产生启动A/D转换的信号JNBINT0FLAG,$LCALLIDEAL;电流处理CLRINT0FLAGSETBEX0;打开INTT0中断的使能CLRP3.7;片选A/D转换器SETBP3.5;禁止读信号CLRP3.4;复位ADCCLRP3.6;选择AD0809的IN0通道SETBP3.4;在START/ALE上产生启动A/D转换的信号JNBINT0FLAG,$LCALLVDEAL;电压处理LCALLDISPLAY;调用显示程序LJMPJUMP1END致谢:短暂而又宝贵的毕业设计就要结束了。在大家的帮助下,我通过了自己的努力终于完成了毕业设计。这期间我对自己四年的大学生活做了回顾,把四年来学习的理论知识做了一个系统的整合和运用。对自己的专业知识有了新的认识和了解,也让我学会了如何使用所学的知识去学习和研究新的问题。这次的毕业设计的研究不是很全面,里面还有很多需要修改和补充的地方,这需要我以后用更多的时间去研究和学习。当今的社会是竞争的社会,而毕业设计对于我们来讲使一次很好的锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走入社会增强能力和自信!在设计中经常遇到问题,书到用时方恨少,还需要我继续的去学习知识。感谢郭建昌老师和石明吉老师一直以来的细心指导,使我接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,指导最后论文的成型。在这里请接受我诚挚谢意。最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。80196单片机IP研究与实现,TN914.42AT89S52单片机实验系统的开发与应用,TG155.1F406基于单片机的LED三维动态信息显示系统,O536TG174.444基于单片机的IGBT光伏充电控制器的研究,TV732.1TV312基于89C52单片机的印刷品色彩质量检测系统的研究,TP391.41基于单片机+CPLD体系结构的信标机设计,TU858.3TN915.62基于单片机SPCE061A的汽车空调控制系统,TM774TM621.3带有IEEE488接口的通用单片机系统方案设计与研究,TN015基于VC的单片机软件式开发平台,TG155.1F406基于VB的单片机虚拟实验软件的研究与开发,TG155.1F406采用单片机的电阻点焊智能控制器开发,TG155.1F406基于51系列单片机的PROFIBUS-DP智能从站研究,TG155.1F406八位单片机以太网接入研究与实现,TG155.1F406基于单片机与Internet的数控机床远程监控系统的研发,R319TP319基于单片机和DSP控制的医用输液泵的研究,U467.11基于单片机控制新型逆变稳压电源的设计与仿真,F426.22TP311.52基于8位单片机的摩托车发动机电控单元软硬件的开发,TB61基于430单片机的变压器监控终端的研究,TG155.1F406逆变点焊单片机控制系统研究,TG131TG113.14单片机控制数字变量柱塞泵的研究,F426.22TP311.52基于单片机控制的高通量药物筛选及检测系统开发,R730.55R734.2MCS8051以及DS80C320单片机软核的设计,TP391基于AVR单片机的应用设计实践,TN015LPC2210单片机的KGW脉冲固体激光掩膜加工控制系统研究,TG131TG113.14基于单片机控制的交流伺服系统的多梳栉经编机的研究,TN916TP31780C196单片

温馨提示

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

评论

0/150

提交评论