基于STC12系列单片机的串联型开关电源设计与实现.pdfVIP

基于STC12系列单片机的串联型开关电源设计与实现.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

单片机及模数综合系统设计

课题名称:基于STC12系列单片机的串联型开关电源设计与实现

—-单片机控制部分

一、实验目的:本模拟电路课程设计要求制作开关电源的模拟电路部分,在掌握

原理的基础上将其与单片机相结合,完成开关电源的设计。本报告旨在详述开

关电源的原理分析、计算、仿真波形、相关控制方法以及程序展示。

二、总体设计思路

本设计由开关电源的主电路和控制电路两部分组成,主电路主要处理电能,

控制电路主要处理电信号,采用负反馈构成一个自动控制系统。开关电源采用PWM

控制方式,通过给定量与反馈量的比较得到偏差,通过调节器控制PWM输出,从而

控制开关电源的输出。当键盘输入预置电压后,单片机通过PWM输出一个固定频率

的脉冲信号,作用于串联开关电源的二极管和三极管,使三极管以一定的频率导

通与断开,然后输出进行AD转化,转化后的结果再给单片机进行输出,进行数码管

显示。

系统的基本框图及控制部分如下:

控制过程原理分析:单片机所采用的芯片为STC12C5A60S2,该芯片在拥有8051内核

的基础上加入了10为AD和PWM发生器。通过程序,即可控制单片机产生一定占空比的PWM

脉冲,将此脉冲输入到模拟电路部分,在模拟电路的输出端即可产生一定的输出电压,可比

较容易的通过程序来实现对输出电压的控制。但上述的开环控制是无法达到精确的调节电压,

因此需要采用闭环控制来精确调制.即,对输出电压进行AD采样,将其输入回单片机中进行

数据处理.单片机根据处理的结果来对输出电压做出修正,经过这样的逐步调节即可达到闭环

的精密输出。由此原理,可以将整个过程分成一下模块:PWM波形输出模块,模拟电路模块,

AD转换模块,数码管显示模块,键盘输入模块。

控制过程基本思路为:首先从键盘输入一个电压值,并把该电压值在数码管上面显示

出来,再由A/D转换模块对串联开关电源电路的输出端进行电压采集,将采集到的电压值与键

盘输入的电压值进行比较,通过闭环算法,控制PWM的脉宽输出,由此控制串联开关电压电

源电路,改变输出的电压值,使得输出值与设定的电压值相等。

三、系统各单元模块电路设计

1、键盘输入数据部分

分别接到单片机的P2。4,P2.5,P2。6,P2.7。每路通过电阻进行上拉,可以编程实现控制

单片机运行不同程序。为了判断键盘上面的按键是否有按下的,可以事先对P2。4,P2。5,

P2.6,P2.7端口赋值,便可以知道具体是哪个按键被按下了.例如:P2.4=0,便可知道P2.4

对应的按键已经按下了。

键盘输入模块程序如下:

voidkey()//键盘扫描函数

if(P2_6==0)

{

delay(10);//延时去抖动

if(P2_6==0)

while(P2_6==0)

if(a9)

{a++;}

elsea=0;}

}

if(P2_5==0)

{

delay(10);//延时去抖动

if(P2_5==0)

{

while(P2_5==0);

if(b〈9)

{b++;}

else(b=0);}

if(P2_4==0)

delay(10);//延时去抖动

if(P2_4==0)

while(P2_4==0);

if(c5)

{c++;}

elsec=0;}}

if(P2_7==0)

{

delay(10);

if(P2_7==0)

{

while(P2_7==0);

P1_5=!P1_5;

}}}

2、数码管数据显示部分

知道了上面在键盘输入的数值后,便要在数码管上面显示出来.

该实验板的8位数码管是共阴极的数码管,使用端口为P0和P2。0—P2。4口,且为动态数

码管,因此在同一时间,只有一个数码管是亮着,但由于人眼的视觉残留,使得看上去是全部

文档评论(0)

156****2818 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档