
摘要:目前的移动终端设备如手机、PDA、掌上电脑已广泛应用于消费、通信、工控、视频监控等多个领域,它们的电源管理设计是很大的挑战,因为在目前的移动终端上,它不仅要支持各种语音采集功能,还有长时间进行Web/WAP接入的需要,以及如视频监控的功能,这些功能会消耗大量的电能。因此,开关稳压电源广泛的应用,特别是高新技术领域的应用,推动了高新技术产品的小型化,便携化。本实验设计十分简易,本课程设计是C51单片机控制的开关稳压电源,就是通过单片机的控制,通过非门,电压放大,和三级稳压管实现其功能。而现在使用移动终端设备大多使用集成的电源芯片。如手机使用的电源芯片是MT6305或MT6318实现手机的各个功能的控制。
关键词:开关稳压电源、ATC51、LM324、74LS00
1、设计要求
1、 利用单片机系统实现控制
2、 要求有稳定的持续的电压输出
3、 有硬件电路支持验证
4、 统一利用电源芯片MT6305
5、 主时钟部分不统一
二、概述
在设计基于C51单片机的开关电源时,方案是特别多,关于最优方案的选择,我们设计了两套方案。
方案一:C51单片机与IC电源芯片MT6305相结合,实现移动终端开关电源的设计。首先,我们给电源芯片MT6305芯片供电3.6V,使移动终端开机,使MT6305的32脚得到开机触发,32脚的高电平变成低电平,使单片机得到供电复位后,12MHz的C51的外部晶振晶振起振,CPU开始工作,然后CPU给电源芯片MT6305的32脚一个开机维持信号,然后让MT6305芯片的电压输出引脚反馈到89C51的VCC引脚,使单片机工作。同时也用电源IC电源输出电压经过电压放大、稳压等操作,实现稳定的电压输出。
方案二:本方案是通过基于C51的开关电源设计,相对方案一来说,该方案比较简单。先通过单片机控按键控制功能,用单片机的P1口输出高低电平,对输出的电压进行放大,稳压,输出想要得到的电压。
本实验我们选用的方案二。
三、硬件电路设计
<一>C51简介
VCC` :ATC51 电源正极输入,接+5V电压。
GND :电源接地端。
XTAL1 (19脚):接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,这些引脚应接地。
XTAL2(20脚) :接外部晶振的一个引脚。 在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。
RST(9脚) :ATC51 的复位信号输入引脚,高电位工作,当要对芯片复位时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,ATC51 便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。
ALE/PROG(30脚) :ALE 是英文"ADDRESS LATCH ENABLE"的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8位锁存器 (如 74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率是系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以 1/12振荡频率输出。
/VPP(31脚) :接高电平时,单片机内部程序存储器。当扩展有外部ROM时,当读取完内部ROM后将自动读取外部ROM。
PSEN(29脚) :程序存储器允许输出控制端,低电平有效。以实现外部程序存储器的=单元的读操作。
P0 :P0 口(P0.0~P0.7)(39脚到32脚)是一个 8 位漏极开路双向输入输出端口,51单片机P0口内部没有上拉电阻,为高阻态,所以我们不能正常的输出高低电平,因此,在该组I/O口在使用时务必外接上拉电阻,一般是外接排阻。
P2 :P2 口(P2.0~P2.7)(21脚到28脚)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),当访问外部程序存储器时,它是高8 位地址。外部不扩展而单片应用时,则作一般双向 I/O 口用。每一个引脚可以推动 4个LSTL负载。
P1 :P1 口(P1.0~P1.7)(1脚到8脚)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),其输出可以推动 4个LSTTL负载。仅供用户作为输入输出用的端口。
P3 : P3 口(P3.0~P3.7)(10脚到17脚)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。
其特殊功能引脚分配如下:
| P3.0 | RXD | 串行通信输入 |
| P3.1 | TXD | 串行通信输出 |
| P3.2 | INT0 | 外部中断0输入,低电平有效 |
| P3.3 | INT1 | 外部中断1输入,低电平有效 |
| P3.4 | T0计数器 | 0外部事件计数输入端 |
| P3.5 | T1计数器 | 1外部事件计数输入端 |
| P3.6 | WR | 外部随机存储器的写选通,低电平有效 |
| P3.7 | RD | 外部随机存储器的读选通,低电平有效 |
74LS00是常用的2输入四与非门集成电路,采用14脚双列直插塑料封装,其引脚图为:
记住74S00的管脚分配情况,便于实验的进行:1、2输入,3输出;4、5输入,6输出;7接地;9,、10输入,8输出;11、12输入,13输出;14接电源。
其真值表是:
| 输入1 | 输入2 | 输出 |
| A | B | Y |
| L | L | H |
| L | H | H |
| H | L | H |
| H | H | L |
LM324为四运放集成电路,采用14脚双列直插塑料封装。,内部有四个运算放大器,有相位补偿电路。电路功耗很小,lm324工作电压范围宽,可用正电源3~30V,或正负双电源±1.5V~±15V工作。它的输入电压可低到地电位,而输出电压范围为O~Vcc。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。
本实验我我们使用同向运算电路设计,如图:
记住:LM324的管脚分配情况,便于实验的进行:2、3输入,1输出;5、6输入,7输出;11接地;9,、10输入,8输出;12、13输入,14输出;4接电源。同时还得注意同相输入端和反相输入端不能接反了。
<四>LM7805简介
三端稳压集成电路lm7805。电子产品中,常见的三端稳压集成电路有正电压输出的lm78 ×× 系列和负电压输出的lm79××系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有lm9013样子的TO-92封装。系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜7805引脚正确的顺序:1脚接输入,2脚接地,3脚接输出。此外,还应注意,散热片总是和最低电位的第③脚相连。本实验使用最基本的应用,其电路图为:
lm78XX系列集成稳压器的典型应用电路图,是一个输出正5V直流电压的稳压电路。IC集成稳压器LM7805,C1、C2分别为输入端和输出端滤波电容 。当输出电流较大时,lm7805应配上散热板。
<五>时钟电路设计
C51单片机的内部工作时钟也可以有外部振荡器提供,即外接一个晶振。外部振荡器的信号接至XTAL2和XTAl1,即内部时钟发生器的输入端和内部反相放大器的输入端,如图:
晶振通过振荡电路起振(单片机内部自带)形成与晶振频率相应的时钟信号,单片机在时钟信号的作用下运行程序指令,完成指令要求的任务
<六>复位电路设计
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。 单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,,实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由RC电路计算出时间常数。
四、软件设计
<一>总体程序设计框图
N
N
<二>按键扫描子程序流程
否
是
否
是
是
五、实验结果与感想
<一>方案选择:
这是老师给我们的第一次自己动手动脑的课程设计,我们在网上,在各种电源书籍上找了很多关于设计移动终端开关电源的设计,这不仅使我们不断复习我们以前所学的单片机知识。按照课程设计要求,我们寻找到MT6305的资料。按照资料我们不断的摸索,于是我们开按照设计要求,为了达到稳定的输出电压,不到的寻求合适的单元电路。为了稳定输出电压,一定得用到稳压管,当我们设计完电路时,结果发现市场上没有MT6305芯片的出售,于是我们改用了方案。
虽然我们没有采用第一套设计方案,但是让我们学到了很多东西,是课本上没有的知识。
<二>硬件电路
在有电路板之前,一定得有电路图,不是很熟悉DXP软件,但是只要经过耐心的学习,什么都能学会的。
在焊接各个单元电路的时候,应该特别的小心谨慎,虽然在焊接过程中,出现了或多或少的问题,但我们都一一的排除。
但是在调试的时候,问题就不断的出现。一开始我们的给电路外部供电,按下P1.2脚的按键,却达不到实验目的,于是我们用万用表测了各个芯片引脚的电压是否与理论的相符,我们通过不断的尝试,不断的检查电路和修改程序,在检查电路的时候,发现程序的P1.0的引脚电压设置错了,修改后,还是没达到实验结果。不断的摸索,但最终还是没有达到与理论相符的结果。
<三>程序编辑
按照实验目的,和事先准备好的程序流程图,写好了程序的初稿,但是那错误,多得吓人。在编辑程序的时候我们一定把输入法调至英文输入法的条件下。同时还出现了不少的语法错误,特别是在函数声明的时候一定的先声明变量。单片机的C语言程序的头文件一定是 总之,在这次亲自写动手做课程设计是我收获了很多,不管是硬件设计还是软件设计,让我学到在做任何一件事情是,靠的是积极的学习态度,和耐心的实践方式。 六、附件 <一>实验元件清单 <三>实验程序 #include #define uint unsigned int //宏定义 void delayms(uint); //声明子函数 sbit key=P1^2; //特殊功能位申明 sbit aa=P1^0; sbit bb=P1^1; void keyscan1() //键盘扫描子程序 ,第一次按键,有稳定电压输出 { if(key==0) { delayms(10); if(key==0) { while(!key) //等待按键释放 { aa=1; bb=0; } } } } void keyscan2() //按键扫描子程序,第二次按键,停止稳定电压输出 { if(key==0) { delayms(10); if(key==0) { while(!key) //等待按键释放 { aa=1; bb=1; } } } } void main() //主函数 { while(1) { keyscan1(); delayms(100); while(key); //等待按键再次按下 keyscan2(); delayms(100); } } void delayms(uint xms) //延时子函数体 { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); }
<二>实验电路图元件名称 数量 元件名称 数量 电阻1.5K 1 按键 2 电阻3.5K 1 晶振12MHz 1 电阻1K 3 ATC51单片机 1 电阻10K 1 运放LM324 1 电容0.1uF 1 三端稳压管 1 电容0.33uF 1 与非门74LS00 1 电容30pF 2 单片机插槽 1 发光二极管 1 电容10uF 1
