收藏 分销(赏)

学位论文-—基于单片机的电源管理系统设计.doc

上传人:快乐****生活 文档编号:4886979 上传时间:2024-10-17 格式:DOC 页数:24 大小:397.50KB
下载 相关 举报
学位论文-—基于单片机的电源管理系统设计.doc_第1页
第1页 / 共24页
学位论文-—基于单片机的电源管理系统设计.doc_第2页
第2页 / 共24页
学位论文-—基于单片机的电源管理系统设计.doc_第3页
第3页 / 共24页
学位论文-—基于单片机的电源管理系统设计.doc_第4页
第4页 / 共24页
学位论文-—基于单片机的电源管理系统设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、基于单片机的电源管理系统设计1 引言本章简要的叙述了电源管理系统的市场需求和发展趋势,并系统的介绍了本文要研究的主要内容及特点。1.1 电源管理系统的现状及发展趋势随着电子产业的高速发展,给电源市场带来了巨大的挑战和市场机会。但同时也给电源提出了新的需求。需要自身独立的内置电源管理系统,保证其在移动或无人职守状态下工作,一般采用可充电的锂离子电池或镍氢电池作为设备内置电源(连续使用三到五年不更换)。但其却有限压的要求,蓄电池的使用和保护方法及剩余电量监测对电池寿命有着重大的影响,是产品性能的一个重要方面。合理的充电策略对维持畜电池性能延长其使用寿命都有重要的意义。电源管理是一个完整的系统,它不

2、仅包含对畜电池的电量检测和充放电管理和为设备提供标准电压等级和定制电压等级的电源输出,还应有人机交互的功能。现在地电源发展正在朝着以下几个方向发展:(1) 高效率、高功率;(2) 网络化、智能化的监控管理;(3) 全数字化控制;(4) 产品绿色环保。1.2 本文的主要内容及特点本论文主要研究的是基于AT89C51单片机的电源管理系统的设计,该系统具有输出电压、电流显示功能;电流保护功能,当电流超过安全范围时,系统停止电压输,过流保护后必须按复位键才能重新输出;充电和过放保护电路;供电功能。 系统的总体设计任务本论文分为硬件部分和软件部分。2.1 基于AT89C51的硬件设计任务(1) 蓄电池充

3、电电路的设计:为蓄电池充电,并且具有防止电池过量充电的功能。(2) 可调电源的设计:1.5V-12V连续可调电源的输出。(3) 系统稳压点烟的设计:这个设计的目的是为整个系统提供的稳压电源。(4) 模数转换电路的设计:把模拟的电压电流信号转换成数字信号。(5) 看门狗电路设计:这个设计的功能是在单片机的程序跑飞的情况下自动复位。(6) 显示模块设计:把输出的电压、电流情况显示出来。(7) 译码电路设计:译码电路选择显示的位置和AD采样。(8) AT89C51工作电路设计:使单片机正常工作。(9) 74LS161分频器设计:对AT89C51的ALE进行4分频为AD0809头、提供时钟频率。(10

4、) 辅助电路设计:单片机晶振电路、逻辑电路和按键电路。2.2 软件设计的主要任务(1)分析整个系统,把总系统分为几个子系统,并考虑几个子系统之间的内在的关系。本论文要完成的任务是:初始化程序设计、按键程序设计、充放电控制程序设计、A/D转换程序设计、过流保护程序设计、显示程序设计。(2)编写各个子系统的程序,最后组合在一起,得到整个系统。(3)编译、检查、修改。(4)看是否能得到我们需要的结果,如果得不到就回到上一步,直到得到想要的结果为止。3 电源管理系统的硬件设计3.1 AT89C51单片机AT89C51单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点。其特性如下:(1)一个

5、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.3 AT89C51基本工作电路设计本设计是基于单片机的电源管理电路设计,因此核心是单片机电路,考虑到需要两个中断输入,存储容量、外接接口对单片机端口的需求以及兼顾到节约成本的原则,本论文选用了常用的AT

6、89C51单片机。它采用Atmel公司的非易存储器制造技术,与MCS51的指令设置和芯片引脚可兼容。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是客反复擦写的Flash存储器可有效地降低开发成本。图2 AT89C51基本工作电路AT89C51工作的简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了,图2为单片机的简单的工作电路。图2中提到的MAX813芯片是看门狗电路,后面章节将对看门狗电路进行更为详细的分析。3.4 电源输出电路的设计3.4.1 LM317芯片的工作原理LM317作为输出电压可变

7、的集成三端稳压块,是一种使用方便、应用广泛的集成稳压块。稳压电源的输出电压可用下式计算,Vo1.25(1R2/R1)。仅仅从公式本身看,R1、R2的电阻值可以随意设定。然而作为稳压电源的输出电压计算公式,R1和R2的阻值是不能随意设定的。首先317稳压块的输出电压变化范围是Vo1.25V37V(高输出电压的317稳压块如LM317HVA、LM317HVK等,其输出电压变化范围是Vo1.25V45V),所以R2/R1的比值范围只能是028.6。1、2脚之间为1.25V电压基准。其次是317稳压块都有一个最小稳定工作电流,有的资料称为最小输出电流,也有的资料称为最小泄放电流。最小稳定工作电流的值一

8、般为1.5mA。由于317稳压块的生产厂家不同、型号不同,其最小稳定工作电流也不相同,但一般不大于5mA。当317稳压块的输出电流小于其最小稳定工作电流时,317稳压块就不能正常工作。当317稳压块的输出电流大于其最小稳定工作电流时,317稳压块就可以输出稳定的直流电压。在应用中,为了电路的稳定工作,在一般情况下,还需要接二极管作为保护电路,防止电路中的电容放电时的高压把317烧坏。3.4.2 基于LM317的电源输出电路图3中的D42、D43用于保护LM317通过单片机输出相应的信号,就可以控制输出相应的电压大小。为了保证稳压器的输出性能,R41应小于240欧姆。改变1脚和地之间的阻值即可调

9、整稳压电压值。该电路是中输入的是经过稳压处理的电压,后面是一个三级管开关电路,当P1.3输出为低的时候,经过反相器在三极管的基极产生一个高电压是三级管导通,导通后在23F的线圈里面就有了电流,产生磁性,使开关K3导通,在Vout端输出需要的电压。图3 基于LM317的电源输出电路3.5 蓄电池充电电路图4为蓄电池充电电路,该电路具有防止过充的功能,充电电压是220V、50Hz的市电。蓄电池在输出电压为12V,功率在20W时可连续工作5小时。本电路包括下面几个电路:(1) 降压整流电路:又变压器T、整流二极管D11、D12组成。(2) Q11可控硅触发电路:由电阻R11、二极管D14、可控硅Q1

10、1组成。(3) 大电流充电电路:整流电路及可控硅Q11组成。(4) 小电流充电电路:由整流电路、二极管D13、电阻R12、电位器r13组成。(5) 大电流切断电路:由电阻R11、R17和可控硅Q12、稳压管D15、电位器R15以及电阻R14等组成。图4 蓄电池充电电路本电路防止过量充电的原理是:当Q11被触发导通后即对蓄电池进行大电流充电。当充电电压升高到规定的上限值时,由于预先调节R15,使电位器R15的滑动点与地之间的电压等于稳压管D15的稳压值与可控硅触发电压之和,所以这时可控硅Q12被触发导通。Q12导通后,Q11触发电路受蓄电池电压反向偏置而关断。此后,电源通过D13、R12、R13

11、对蓄电池进行小电流充电。调节R13使电流限制在允许范围内。3.6系统稳压电源设计本论文的设计是基于AT89C51单片机的电源管理系统,其中使用到了+12V和+5V的电源,输入由蓄电池提供的12V电源。电路中使用到的两个芯片是LM7812和LM7805,下面将分别作出介绍。3.6.1 LM7812和LM7812芯片的工作原理78xx/79xx 系列三端稳压器件是最常用的线性降压型 DC/DC 转换器,目前也有大量先进的 DC/DC 转换器层出不穷,例如低压差线性稳压器 LDO等, 78xx/79 系列简单易用、价格低廉,直到今天还在大多电路中采用。图5为其这个系列芯片的引脚图。78xx/79xx

12、系列在降压电路中应注意以下事项: (1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电流不能太大,1.5A 是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿; (3)输入输出压差也不能太小,大小效率很差。 LM7805是常用的三端稳压器,一般使用的是TO-220封装,能提供DC 5V的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不通的电压和电流,正面朝上第一脚是正极输入二脚是负极三脚是正极输出。图5 LM系列芯片的引脚图 3.6.2 稳压电源电路LM7812是12V的稳压芯片,

13、LM7805是5V的稳压芯片,这种芯片的好处是应用比较的简单,只需要接上几个电容就可以试用了。而且如果前段电源有轻微的波动几乎对后面的输出没有影响,这种芯片具有自动调节功能。图6为稳压电源电路。图6 稳压电源电路3.7 ADC0809模数转换电路ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 3.7.1 ADC0809芯片介绍(1)ADC0809的内部逻辑结构 ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量

14、分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2)引脚结构 IN0IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通

15、道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。通道选择表如表1所示。000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表1 通道地址选择表START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三态处处锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。为三态缓冲输

16、出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高位。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。 EOC为转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。Vcc为+5V电源。Vref为参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V).3.7.2 ADC0809应用说明 (1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

17、(2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 3.7.3 ADC0809数模转换电路ADC0809是一个8位模拟数字转换器件,如图7所示。其中IN0IN7一共8个输入通道,但每次只能用其中的一个,通道的选择由ADD_A、ADD_B、ADD_C三根地址信号控制,本设计选用IN_0和IN1,通道的选择可以通过ADD_A的高低电平来区分。2_12_8是8位输出,接入单片机的AT89C51的P0.0P0.7引脚。其中2_8的低位应该接P0.0, 2

18、_1的高位接P0.7。引脚10是时钟输入端,时钟频率位640KHz1280KHz。引脚6、22是开始采样端,高电平有效,引脚9是使能端。AD0809只能对电压信号进行模拟转换,而且输入的电压在0V5V之间的,如果输入的电流信号,必须进行电流信号转换位电压信号,如果输入的电压信号大于5V,可以通过分压电路进行分压。图7中的IN_0输入的是电压信号,其中R72和R73组成了分压电路。IN_1输入的是电流信号,该电流信号通过R71转换成电压信号。Ref(-)接地,ref(+)接5V电压。图7 ADC0809数模转换电路3.8 74LS161分频器电路设计模拟数字转换器件ADC0809要正常工作,必须

19、要有一个时钟频率,在AT89C51的第30引脚ALE是单片机输入时钟频率的1/6,由于单片机的时钟是12M的晶振,所以这里也就是2M,而ADC0809需要一个500K800K的时钟,所以只需要对ALE引脚的输出信号进行3分频,本论文所用的分频器是74LS161计数器进行分频。3.8.1 74LS161芯片的功能介绍74LS161芯片的清除端是异步的。当清除端CLEAR位低电平时,不管时钟端CLOCK状态如何,即可完成清除功能。161芯片的预置是同步的。当置入控制器LOAD位低电平时,在CLOCK上升沿作用下,输出端Q0Q3与数据输入端相一致。对于74161而言,当CLOCK由低至高跳变或跳变前

20、,如果计数控制端ENP、ENT位高电平,则LOAD应避免由低电平至高电平的跳变,而74LS161则无此限制。161的计数是同步的,靠CLOCK同时加在四个触发器上而实现的。当ENP、ENT均为高电平时,在CLOCK上升沿作用下Q0Q3同时变化,从而消除了异步计数器中出现的计数尖峰。对于74LS161,只有当CLOCK为高电平时,ENP、ENT跳变与CLOCK无关。161有超前进位功能。当计数溢出时,进位输出端(RCO)输出一个高电平脉冲,其宽度位QA的高电平部分。对于74LS161,在CLOCK出现前,即使ENP、ENT、CLEAR发生变化,电路的功能也不受影响。3.8.2 74LS161芯片

21、各引脚功能说明如表2所示:PCO进位输出端CLOCK时钟输入端(上升沿有效)CLEAR异步清除输入端(低电平有效)ENP计数控制端ENT计数控制端ABCD并行数据输入端LOAD同步并行置入控制端(低电平有效)Q0D3输出端表2 74LS161芯片各引脚功能说明3.8.3 分频器电路设计74LS161同步四位二进制计数器,其电路设计如图8所示:图8 分频器电路3.9 看门狗电路设计应用系统受到干扰后,都要进行复位,而一般的电路往往不能保证系统的安全可靠工作,因此便出现了看门狗。看看门狗就是监控定时器的简称,它是用来检测微处理器是否正常工作,如果工作不正常,程序就会跑飞或者死机,看门狗电路的输入端

22、没有被及时触发,那么看门狗就会产生一个复位脉冲,能有效的使系统复位使系统恢复正常运转。所谓看门狗电路,就是一个能发出“复位”信号的计数器或定时器电路,MAX813L芯片就是这么一种芯片。该芯片具有监控电路,如图9所示。图9中提到的MAX813芯片是看门狗电路,是具有监控电路的微处理芯片,它具有4个功能:(1)具有独立的看门狗计时器,如果看门狗输入在1.6s内无变化,就会产生看门狗输出;(2)掉电或电源电压低于1.25V时,产生掉电输出;(3)上电时能自动产生200ms宽的复位脉冲;(4)具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。MAX813芯片各引脚功能如下:MR(1脚):

23、手动复位端。当该端输入低电平保持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

24、脚):复位信号输出端。上电时,自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。WDO(8脚):看门狗信号输出端。正常工作时输出保持高电平;看门狗输出时,该端输出信号由高电平变为低电平。3.9.2 看门狗电路本电路的工作原理是:单片机P1.7作为看门狗的“喂狗”信号定时给出一个脉冲,当程序正常运行时,单片机每隔一段时间输出一个脉冲给WDI触发MAX831L电路,使RESET始终为低电平;若单片机程序一旦出现异常,不能在1.6s内送出“喂狗”脉冲,MAX813L的RESET将产生一个正脉冲到单片机的RESET口,使单片机系统复位,使其能重新正常运行。看门狗电路如图9所

25、示:图9 看门狗电路3.10 显示模块设计和译码电路设计3.10.1 74HC245芯片功能及管脚介绍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=

26、“0”则B1输入,A1输出,其它类同。 第11-18脚“B”信号输入输出端,功能与“A”端一样。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 第10脚GND,电源地。 第20脚VCC,电源正极。3.10.2 74LS138芯片介绍74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其74LS138的工作原理如下: 当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。74LS13

27、8功能是利用G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。3.10.3 显示模块及译码电路分析本次毕业设计显示是采用7个八段共阴数码管,第一个数码管显示的是标志位,显示当前输出的电压是什么状态。总共有3个状态,分别是:1表示当前输出的是12V,2表示当前输出的是9V,3表示当前输出的是1.5V12V的连续可调电压。后面的三个数码管显示的是输出的电压的大小,前两个是电压的整数部分,后一个是电压的小数部分;最后三个数码管显示的是当前输出的电流大小,前一个是电流的整数部

28、分,后两个显示的是电流的小数部分。每个数码管都有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为晶

29、振电路,是单片机工作的必须的部件。它是正弦波震荡电路,供其他数字电路整形后作时钟源。图11 晶振电路3.11.2 逻辑电路设计图12为逻辑电路的电路图,经过逻辑变化,实现单片机控制ADC0809,使其正常工作。图12 逻辑电路3.10.3 电源滤波电路图13是电源滤波电路,可以有效的防止信号的互相干扰,可以使器件更稳定的工作。图13经过以上的各个部分的详细介绍后,我们只需要把以上的各个模块按照资源分配、主次、先后的不同按一定的顺序排列在一起就可以实现本论文想要实现的功能了。4 电源管理系统设计的软件部分对于高效的软件工程,良好的设计师关键,一个设计的好的软件系统应该是直接实现和易于维护、易懂、

30、可靠的。设计的不好的系统,尽管可以工作,但很可能维护起来费用昂贵、测试困难、不可靠。因此,设计阶段是软件开发过程中最重要的阶段。软件设计在很大程度上仍是一个特定过程。一般用自然语言给定一个需求集,预先作非正式设计,常常用流程图的形式说明,接着开始编码,当系统实现时还需要修改。4.1 软件设计流程流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程图来指示算法的执行方向。由于它简单直观,所以应用广泛,特别是在早期语言阶段,只有通过流程图才能简单地表述算法,流程图成为程序员们交流的重要手段。本论文由于控制信号比较多,AT89C51单片机的引脚已经不能满足需要了,所以采用

31、AD0809和数码管显示端口复用的技术,这就需要在编写程序的时候特别小心这些信号之间的关系。除此之外,程序设计中还设计了过了两个中断程序,一个是AD0809数模转换中断,一个是电压过低自动充电中断,这两个中断的设计比较重要也比较难。由于电压、电流出现小数部分,而单片机处理小数相对比较困难,我们通过对电压乘以10和对电流乘以100的处理方法,然后再数码管的相应的地方通过硬件点亮小数点的方法解决小数问题,实际证明了这样的方法大大简化了整个的程序设计。图14为整个系统程序设计的流程图。图14 整体程序流程图4.2 编写程序 有了硬件的基础,再加上流程图的疏导,下面的工作就是编写各个模块的程序了,在附

32、录中的程序中添加了适当的注释,这样的话便于修改程序,也便于以后程序的维护。软件部分的程序见附录部分。4.3 仿真程序和调试联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络89C51和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来

33、实现。本系统中的键盘、显示部分都是串行连接的。89C51属于可编程器件,因而很难划分硬件和软件,往往在调试中即使电路安装正确没有一定的指令去指挥它工作,也是无法发现硬件的故障。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在本系统中采取了先对显示器调试,再对键盘调试。结束语:本设计是基于单片机的电源管理系统,本文所介绍的电源管理系统采用的单片机是AT89C51,其丰富的片内资源使得外围扩展器件少,体积小,方便制板和安装,降低了成本,减少了硬件故障率,使之便于应用在便携式移动测试设备中。本系统以单片机为核心,软件与硬件相结合,用动态的方法对电能的输入输出进行智能化的管理,为

34、设计提供了安全可靠的电源解决方案。参考文献:1 王建校、杨建国等。51系列单片机及程序设计。北京:科学出版社。2002年2 杨忠煌、黄博俊、李文昌。单芯片8051实务与应用。北京:中国水利水电出版社。2001年3 马忠梅、马岩、张凯等。单片机的C语言应用程序设计。北京:北京航空航天大学出版社。1997年4 马忠梅、马岩、张凯等。单片机的C语言应用程序设计。北京:北京航空航天大学出版社。2003年5 周立功等。单片机基础实验指导书。广州:广州周立功单片机发展有限公司。2003年6 李广弟、朱月秀、王秀山。单片机基础。北京:北京航空航天大学出版社。2001年7 何立民。单片机高级教程。北京:北京航

35、空航天出版社。2000年8 许兴存、曾琪琳。微型计算机接口技术。北京:电子工业出版社。20039 朱宇光。单片机应用新技术教程。北京:电子工业出版社。2000附录:ORG 0000HLJMP MAINORG 0003HLJMP INTTOORG 0013HLHMP INTT1ORG 0100HINT0FLAG EQU 20H ;中断0到来标注位IRETFLAG EQU 21H ;过流保护复位标志位DISFLAG EQU 22H ;显示功能的选择标注位CONTFLAG EQU 23H ;连续电压输出标注位VOUT EQU 30H ;电压A/D转换输入IOUT EQU 31H ;电流A/D转换输入

36、V0 EQU 32H ;电压的小数部分V1 EQU 33H ;电压的整数部分的个位V2 EQU 34H ;电压的整数部分的十位I0 EQU 35H ;电流的小数部分的第二位I1 EQU 36H ;电流的小数部分的第一位I2 EQU 37H ;电流的整数部分*键盘扫描程序*KEYSCAN: SETB P2.0 CLR C MOV C,P2.0JC KEYJUMP1SETB IRETFLAGKEYJUMP1: SETB P2.1 CLR CMOV C,P2.1JC KEYJUMP2KEYJUMP2: ;连续电压输出按键SET P2.2CLR CMOV C,P2.2JC KEYJUMP3 CLR P

37、3.0 ;打开总电源输出开关CLR VFLAGSETB CONTFLAGKEYJUMP3:RET;*电压输出程序*VTJUMP: MOV DISFLAG,#06H ;1.5V12V的连续可调电压输出 SETB P1.1 SETB P1.2 CLR P1.3 RET;*电压、电流A/D转换中断服务子程序*INTTO:PUSH ACC PUSH PSW SETB P2.5 SETB P2.6 SETB P2.7 CLR P3.4 ;复位ADC SETB INT0FLAG ;中断到,标志位置1 CLR P3.5 ;允许读AD0809 JB P3.6,INT0JUMP1MOV VOUT,P0 ;存放电

38、压的数据LJMP INT0JUMP2INT0JUMP1: MOV IOUT,P0 ;存放电流的数据INT0JUMP2: SETB P3.5 ;禁止读信号CLR EX0POP PSWPOP ACCRETI;*电压过低充电电路*INTTI:PUSH ACC PUSH PSW SETB P1.0 POP PSW POP ACC RETI;*电流处理程序*IDEAL: CLR C MOV A,IOUT SUBB A,#0C8H JNC IDEALJUMP CLR IRETFLAG ;清楚过流保护的标志位 SETB P3.0 ;关所有的电源输出 LCALL KEYSCAN JNB IRETFLAG,$

39、LJMP MAIN ;过流保护IDEALJUMP: MOV B,#64H MOV A,IOUT DIV AB MOV I2,A ;得到电流的整数部分 MOV R1,B MOV B,#0AH MOV A,R1 DIV AB MOV I1,A ;得到电流的小数部分的第一位 MOV I0,B ;得到电流的小数部分的第二位 RET;*电压处理程序*VDEAL: MOV B,#05H MOV A,VOUT DIV AB MOV R2,A MOV B,#03H MOV A,R2 MUL AB MOV VOUT,B MOV B,#64H MOV A,VOUT DIV AB MOV V2,A ;得到电压的整数

40、部分的十位 MOV R3,BMOV B,#0AHMOV A,R3DIV ABMOV V1,A ;得到整数部分的各位MOV V0,B ;得到小数部分ERT;*显示程序设计*DISPLAY: MOV DPTR,#TABCLR P2.5CLR P2.6CLR P2.7MOV A,I0MOVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电流的小数部分的第二位CLR P2.5CLR P2.5SETB P2.7MOV A,I1MOVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电流的小数部分的第一位CLR P2.5SETB P2.6CLR P2.7MOV A,I2M

41、OVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电流的整数部分CLR P2.5SETB P2.6SETB P2.7MOV A,V0MOVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电压的小数部分SETB P2.5CLR P2.6CLR P2.7MOV A,V1MOVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电压的整数部分的个位SETB P2.5CLR P2.6SETB P2.7MOV A,V2MOVC A,A+DPTRMOV P0,ALCALL DELAY ;显示电压的整数部分的个位SETB P2.5SETB P2.6CLR

42、P2.7MOV A,DISFLAGMOVC A,A+DPTRMOV P0,ALCALL DELAYRET;*延时程序*DELAY: MOV R5,#0FFHLOOP0:MOV R6,#0FFHLOOP1:DJNZ R6,LOOP1 DJNZ R5,LOOP0 RET;*09七段码共阴*TAB:DB 3FH,06H,5bH,ZfH,66H,6Dh,07H,7fH,6Fh;*初始化主程序*MAIN:ANL TCON,#00HMOV SP,#60HSETB EA ;打开全部的中断使能MOV VOITFLAG,#03HSETB IRETFLAG ;置过流保护复位标注位SETB P3.0 ;关所有的电源

43、输出JUMP1:LCALL KEYSCAN ;扫描键盘JB P3.0,JUMP1LCALL VOUTPUT ;根据键盘控制,输出相应的电压CLR INT0FLAGSETB EX0 ;打开INTT0中断的使能CLR P3.7 ;片选A/D转换器SETB P3.5 ;禁止读信号CLR P3.4 ;复位ADCSETB P3.6 ;选择AD0809的IN1通道SETB P3.4 ;在START/ALE上产生启动A/D转换的信号JNB INT0FLAG,$LCALL IDEAL ;电流处理CLR INT0FLAGSETB EX0 ;打开INTT0中断的使能CLR P3.7 ;片选A/D转换器SETB P3.5 ;禁止读信号CLR P3.4 ;复位ADCCLR P3.6 ;选择AD0809的IN0通道SETB P3.4 ;在START/ALE上产生启动A/D转换的信号JNB INT0FLAG,$LCALL VDEAL ;电压处理LCALL DISP

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服