简易可编程稳压电源设计(修改后文件)

上传人:woxinch****an2018 文档编号:38985756 上传时间:2018-05-10 格式:DOC 页数:18 大小:135KB
返回 下载 相关 举报
简易可编程稳压电源设计(修改后文件)_第1页
第1页 / 共18页
简易可编程稳压电源设计(修改后文件)_第2页
第2页 / 共18页
简易可编程稳压电源设计(修改后文件)_第3页
第3页 / 共18页
简易可编程稳压电源设计(修改后文件)_第4页
第4页 / 共18页
简易可编程稳压电源设计(修改后文件)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《简易可编程稳压电源设计(修改后文件)》由会员分享,可在线阅读,更多相关《简易可编程稳压电源设计(修改后文件)(18页珍藏版)》请在金锄头文库上搜索。

1、 单位代码 11660 单位名称 重庆理工大学 计算机控制技术综合应用设计论文论文题目:简易可编程稳压电源设计简易可编程稳压电源设计专业:电气工程及其自动化专业:电气工程及其自动化学院:电子信息与自动化学院学院:电子信息与自动化学院 组员:组员:姓名:何展东姓名:何展东 学号:学号:11007990208姓名:刘一步姓名:刘一步 学号:学号:11007990218姓名:黄鑫鹏姓名:黄鑫鹏 学号:学号:11007990211中 国 重 庆2013 年 12 月简易可编程稳压电源设计简易可编程稳压电源设计绪绪 论论直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流

2、稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通直流稳压电源品种很多但均存在以下问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时(如 1.021.03V) ,困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。常常通过硬件对过载进行限流或截流型保护,电路构成复杂,稳压精度也 不高。本文设计了一种以单片机为核心的智能化高精度简易直流电源,克服了传统直流电压 源的缺点,具有很高的应用价值。电源采用数字控制,具有以下明显优点:1)易于采用先进的控制方法和智能控制策略,使电源模

3、块的智能化程度更高,性能更完美。2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。3)控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。4)系统维护方便,一旦出现故障,可以很方便地通过 RS232 接口或 RS485接口或 USB 接口进行调试,故障查询,历史记录查询,故障诊断,软件修复,甚至控制参数的在线修改、调试;也可以通过 MODEM 远程操作。5)系统的一致性好,成本低,生产制造方便。由于控制软件不像模拟器件那样存在差异,所以,其一致性很好。由于采用软件控制,控制板的体积将大大减小,生产成

4、本下降。6)易组成高可靠性的多模块逆变电源并联运行系统。为了得到高性能的并联运行逆变电源系统,每个并联运行的逆变电源单元模块都采用全数字化控制,易于在模块之间更好地进行均流控制和通讯或者在模块中实现复杂的均流控制算法(不需要通讯),从而实现高可靠性、高冗余度的逆变电源并联运行系统。一、系统设计一、系统设计1.1 设计任务与要求设计任务与要求1.1.1 设计任务设计任务设计一个简易可编程稳压电源。设计一个简易可编程稳压电源。在设计过程中,选择 12 个单元电路使用仿真软件(例如 Protuse 等)进行仿真调试。用计算机绘制所有的电路图。1.1.2 设计要求设计要求输出电压范围 3-12v,步进

5、值为 0.1V电压调整率 Sv /包含_nop_()函数定义的头文件#define DataPort P3 /定义数据端口 sbit RS=P13; /寄存器选择位,将 RS 位定义为 P2.3 引脚sbit RW=P14; /读写选择位,将 RW 位定义为 P2.4 引脚sbit E =P15; /使能信号位,将 E 位定义为 P2.5 引脚sbit BF=P37; /忙碌标志位,将 BF 位定义为 P3.7 引脚/*以下是对液晶模块的操作程序*/*函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙*/unsigned char BusyTe

6、st(void)bit result;RS=0; /根据规定,RS 为低电平,RW 为高电平时,可以读状态RW=1;E=1; /E=1,才允许读写_nop_(); /空操作_nop_();_nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间result=BF; /将忙碌标志电平赋给 resultE=0; /将 E 恢复低电平return result;/*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*/void WriteInstruction (unsigned char dictate) while(BusyTest()=1); /如果忙就等待

7、RS=0; /根据规定,RS 和 R/W 同时为低电平时,可以写入指令RW=0; E=0; /E 置低电平(根据表 8-6,写指令时,E 为高脉冲,/ 就是让 E 从 0 到 1 发生正跳变,所以应先置“0“_nop_();_nop_(); /空操作两个机器周期,给硬件反应时间P3=dictate; /将数据送入 P0 口,即写入指令或地址_nop_();_nop_();_nop_();_nop_(); /空操作四个机器周期,给硬件反应时间E=1; /E 置高电平_nop_();_nop_();_nop_();_nop_(); /空操作四个机器周期,给硬件反应时间E=0; /当 E 由高电平跳

8、变成低电平时,液晶模块开始执行命令/*函数功能:指定字符显示的实际地址入口参数:x*/void WriteAddress(unsigned char x)WriteInstruction(x|0x80); /显示位置的确定方法规定为“80H+地址码 x“/*函数功能:将数据(字符的标准 ASCII 码)写入液晶模块入口参数:y(为字符常量)*/void WriteData(unsigned char y)while(BusyTest()=1); RS=1; /RS 为高电平,RW 为低电平时,可以写入数据RW=0;E=0; /E 置低电平(根据表 8-6,写指令时,E 为高脉冲,/ 就是让 E

9、 从 0 到 1 发生正跳变,所以应先置“0“P3=y; /将数据送入 P3 口,即将数据写入液晶模块_nop_();_nop_();_nop_();_nop_(); /空操作四个机器周期,给硬件反应时间E=1; /E 置高电平_nop_();_nop_();_nop_();_nop_(); /空操作四个机器周期,给硬件反应时间E=0; /当 E 由高电平跳变成低电平时,液晶模块开始执行命令/*函数功能:对 LCD 的显示模式进行初始化设置*/void LcdInitiate(void)delaynms(15); /延时 15ms,首次写指令时应给 LCD 一段较长的反应时间WriteInst

10、ruction(0x38); /显示模式设置:162 显示,57 点阵,8 位数据接口delaynms(5); /延时 5ms ,给硬件一点反应时间WriteInstruction(0x38);delaynms(5);WriteInstruction(0x38); /连续三次,确保初始化成功delaynms(5);WriteInstruction(0x0c); /显示模式设置:显示开,无光标,光标不闪烁delaynms(5);WriteInstruction(0x06); /显示模式设置:光标右移,字符不移delaynms(5);WriteInstruction(0x01); /清屏幕指令,将

11、以前的显示内容清除delaynms(5);void string(unsigned char *str) /屏幕显示程序unsigned char *s;s=str;while(*s)WriteData(*s);s+;#include #include “delay.h“#include “display.h“#define vodata P2sbit KEY_Function =P10; /功能sbit KEY_Addition =P11; /+加sbit KEY_Subtraction=P12; /-减sbit LED=P16;unsigned char KEY_Number=0,vose

12、t=0,ms=0;unsigned char last_function=1,last_add=1,last_sub=1;unsigned char code str = “vset= “; /定义字符数组显示提示信息void keyscan();/*-主函数-*/ main()vodata=0X00;TH0=(-500)/256;TL0=(-500)% 256;TMOD=0x01;ET0=1;EA=1;TR0=1;LcdInitiate(); /调用 LCD 初始化函数 while (1) /主循环keyscan();void keyscan()if(KEY_Function)last_function=KEY_Function;if(KEY_Number=1)if(KEY_Addition)if(KEY_Number=1)LED=0;WriteAddress(0x00); string(str);delaynms(1);vodisplay=voset+30;WriteData(0x30+vodis

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号