ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:230.94KB ,
资源ID:6637866      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6637866.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(毕业设计论文基于单片机控制的开关电源设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业设计论文基于单片机控制的开关电源设计.docx

1、毕业设计论文基于单片机控制的开关电源设计基于单片机控制的开关电源设计系 部: 电子与通信工程系 姓 名: 专业班级: 电信10D1 学 号: 指导老师: 2012年9月21日声 明本人所呈交的基于单片机控制的电源开关设计,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名: 日 期: 【摘要】开关电源体积小、效率高,被誉为高效节能电源,现己成为稳压电源的主导产品。随着开关电源在计算机、通信、航空航天、仪器仪表及家用电器等方面

2、的广泛应用, 人们对其需求量日益增长, 并且对电源的效率、体积、重量及可靠性等方面提出了更高的要求。开关电源以其效率高、体积小、重量轻等优势在很多方面逐步取代了效率低、又笨又重的线性电源。本文介绍了一款基于PWM技术的DC-DC开关稳压电源,用proteus仿真,输出纹波小,电压稳定可靠.关键词:开关电源,DC-DC,单片机,proteusAbstract: The small size of the switching power supply, high efficiency, known as energy-efficient power supply, has now become t

3、he leading products of the regulated power supply.With the wide application of switching power supplies in computers, communications, aerospace, instrumentation and household appliances, people growing their demand and higher power efficiency, size, weight, and reliabilityrequirements. Switching pow

4、er supply for its high efficiency, small size, light weight advantages in many ways to gradually replace the inefficient, clunky, heavy linear power.This article describes a DC-DC switching power supply based on PWM technology, with proteus simulation output ripple voltage is stable and reliable.Key

5、words: switching power supplies, DC-DC, single-chip, proteus一、引 言本设计中采用的是脉宽调制型, Pwm技术是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。在脉宽调制中因为频率不变,所以无论是对电路中的磁性元件及晶体管的测试和设计都很方便,而且对射频干扰的抑制也变得比较容易。利用单片机可以实现对开关电源的智能控制,实现智能化开关电源的制作。高度集成、

6、功能强大的开关型稳压电源代表着开关电源发展的主流方向,其技术也日驱成熟。二、总体设计本课题的主要思想是利用单片机可以实现对开关电源的智能控制,实现智能化开关电源的制作。通过键盘预置电压,控制单片机进行脉宽调制,使输出电压在大范围内可调。通过单片机软件控制,实现电源的智能保护,可以设定某个规定的电压或者电流,当超过该电压或者电流时,单片机关断开关管,电源不再工作,以便保护电源。三、硬件设计(一)硬件总体设计本设计中拟采用脉宽调制型,先通过电压及功率变换设计出一个DC12V左右的电压源,再对12V的电压源,通过脉宽调制,实现步进0.1V、输出电流500 mA、LCD显示的直流电压。利用单片机可以实

7、现对开关电源的智能控制,实现智能化开关电源的制作。硬件总体框图如图3-1所示。图3-1硬件总体框图(二)AT89C52单片机概述1.AT89C52单片机组成图3-2 AT89C52单片机组成结构图AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51

8、指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2AT89C52单片机引脚结构(1)89C51外部引脚图:; 引脚说明:(1)电源引脚 Vcc(40脚):典型值5V。 Vss(20脚):接低电平。 (2)外部晶振 X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地。 (3)输入输出口引脚: P0口:I/O双向口。作输入口时,应先软件置“ 1”。 P1口:I/O双向口。作输入口时,应先软

9、件置“ 1”。 P2口:I/O双向口。作输入口时,应先软件置“ 1”。 P3口:I/O双向口。作输入口时,应先软件置“ 1”。 (4)控制引脚 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作、计时完成后,RST引脚输出96个晶振周期的高电平。DISROT默认状态下,复位高电平有效。1ALE/PROG(30引脚):一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。2PSEN(29引脚):外部程序存储信号时外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两

10、次。3EA/VPP(31引脚):访问外部程序存储器控制信号,为使能从0000H到FFFFH的外部程序存储器读取指令,必须接END。4XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。5XTAL2(18引脚):振荡器反相放大器的输入端。P1口作为LCD液晶屏的数据口,采用并口数据传输模式,P2口中的P2.0、P2.1、P2.2、作为控制信号输出口,分别接RS、R/W、E控制端,P2.3、P2.4分别接湿温度传感器的SCK和DATA,P2.5.、P2.6、P2.7接按键电路,P1口的P1.0、P1.1、P1.2分别接ADC0831的控制端,P1.4接报警的蜂鸣器。 3AT89C5

11、2单片机的最小系统 图3-4 AT89C52单片机组成结构图(1)复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C取10u,R取10K。原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。(2) 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串

12、口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作),在本电路中,取12M。(三)开关电源系统硬件设计1.开关电源电路设计图3-3开关电源电路如图3-3可看出,DC50V输入,经Q1,Q2,Q3,进行交流变换,输入给储能性元件L1,当输出电压有波动时,调整管Q4调整输入电压,反过来抑制输出电压的波动。2.电压反馈电路 电压反馈部分,当电压达到12V时,电流流经稳压二极管D4、三极管Q2 B,E极、电阻R8 使Q2导通,Q2导通将使三极管13003提前进入关断区,从而使输出电压稳定在12V左右。3.限流电路 当R11上流经的电流到达一定值,在R11上将产生压降,当压降超过0.7V,三

13、极管Q3饱和导通Q3集电极电压为0,自激式振荡回路终止,输出电流变小,当R11上的电流小到足够的值,R11两端的电压低于0.7V,Q3又截止,自激振荡回路又继续振荡。图三、软件设计(一)总的软件设计思想系统的软件设计采用C语言,对单片机进行编程实现各项功能。程序是采用keil c51软件编写的,可以使液晶显示屏对特定数字、英文字母以及汉字组成的句子进行显示,并通过按键对显示内容实现控制、转换等功能。主程序主要起到一个导向和决策功能,决定液晶显示屏该显示什么内容,该如何显示。液晶显示屏各种功能的实现主要通过调用具体的子程序。(二)各部分的软件框图和程序1.主程序设计文字描述下 例如(通电之后,系

14、统开始工作,若是有键按下,就根据按键程序进行工作,并把结果显示到LCD液晶显示屏上,若是没有按键,定时时间一到,气体传感)2数据显示子程序3.键盘扫描子程序4.键值处理子程序流程图四、程序清单/*/* */* *头文件及宏定义* */* */*#include#includeincludes.h#define uchar unsigned char #define uint unsigned int#define SCANPORT P2 #define TIME1H 80#define TIME1L 80 /定时器1溢出时间/sbit wr=P31;sbit rd=P30;sbit P27=P

15、27;unsigned long int shuchu=500; /默认的开机电压/uint zhuhuandata;unsigned long int ch=0;uchar i=0; /按键标记/uchar uca_LineScan3=0xEF,0xDF,0xBF;void chuli(); /函数定义/uchar getkey(); /函数定义/*/* */* *将键值累加并送显示* */* */*void qiuhe(uchar t) if(i=1) ch=t; vShowOneChar(6,89,ucat); if(i=2) ch=ch*10+t; vShowOneChar(6,103

16、,ucat); if(i=3) ch=ch*10+t; vShowOneChar(6,111,ucat); /*/* */* *按键功能函数* */* */*void key_chuli(uchar x) uchar t; switch(x) case 42: t=0; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /0 case 31: t=1; i+; qiuhe(t); if(i=3) vShowOne

17、Chin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /1 case 32: t=2; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /2 case 33: t=3; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin

18、(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /3 case 21: t=4; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /4 case 22: t=5; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,

19、59,uca_wenhao); break; /5 case 23: t=6; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /6 case 11: t=7; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /7 case 1

20、2: t=8; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /8 case 13: t=9; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /9 case 41: if(i=3) /ok ch=ch*256/512; sh

21、uchu=ch; ch=0; TH0=65200; TL0=65200; vShowOneChin(2,49,uca_0); vShowOneChin(2,64,uca_0); vShowOneChin(4,48,uca_SHU); vShowOneChin(4,64,uca_CHU); vShowOneChar(6,88,uca_HEN); vShowOneChar(6,104,uca_HEN); vShowOneChar(6,112,uca_HEN); i=0; break; void vTimer0(void) interrupt 1 using 2 uchar a,d; unsigne

22、d long int c=0; uchar data tab3; a=(zhuhuandata&0xf0)4)*100/16); d=(zhuhuandata&0x0f)*100/256); c=(a+d)*5.12; tab0=c%10; tab1=c/10%10; tab2=c/100%10; vShowOneChar(2,89,ucatab2); vShowOneChar(2,103,ucatab1); vShowOneChar(2,111,ucatab0); TH0=TIME1H; TL0=TIME1L; void main(void) SCANPORT=0x8F; ClearLCD(

23、0x00); vShowOneChar(2,89,uca5); vShowOneChar(2,96,uca_XIAOSHU); vShowOneChar(2,103,uca0); vShowOneChar(2,111,uca0); vShowOneChar(2,120,uca_V); vShowOneChin(0,0,uca_DANG); vShowOneChin(0,16,uca_QIAN); vShowOneChin(0,32,uca_GONG); vShowOneChin(0,48,uca_ZUO); vShowOneChin(0,64,uca_DIAN); vShowOneChin(0

24、,80,uca_YA); vShowOneChin(0,96,uca_MAOHAO); vShowOneChin(4,0,uca_QING); vShowOneChin(4,16,uca_SHE); vShowOneChin(4,32,uca_ZHI); vShowOneChin(4,48,uca_SHU); vShowOneChin(4,64,uca_CHU); vShowOneChin(4,80,uca_DIAN); vShowOneChin(4,96,uca_YA); vShowOneChin(4,112,uca_MAOHAO); vShowOneChar(6,96,uca_XIAOSH

25、U); vShowOneChar(6,88,uca_HEN); vShowOneChar(6,104,uca_HEN); vShowOneChar(6,113,uca_HEN); vShowOneChar(6,119,uca_V); / TMOD=0X01; TH0=TIME1H; TL0=TIME1L; ET0=1; /T/C0开中断 TR0=1; /开定时器0中断 IT0=1; /外中断方式:下降沿。 EX0=1; /开启外部中断。 EA=1;/ while(1) wr=0; wr=1; chuli(); if(zhuhuandatashuchu)P27=1; if(zhuhuandata=shuchu)P27=0; void chuli() rd=0; zhuhuandata=P0;/*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1