项目管理项目报告程控电源项目管理及文档管理知识分析

上传人:冯** 文档编号:139610141 上传时间:2020-07-22 格式:DOCX 页数:30 大小:538.36KB
返回 下载 相关 举报
项目管理项目报告程控电源项目管理及文档管理知识分析_第1页
第1页 / 共30页
项目管理项目报告程控电源项目管理及文档管理知识分析_第2页
第2页 / 共30页
项目管理项目报告程控电源项目管理及文档管理知识分析_第3页
第3页 / 共30页
项目管理项目报告程控电源项目管理及文档管理知识分析_第4页
第4页 / 共30页
项目管理项目报告程控电源项目管理及文档管理知识分析_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《项目管理项目报告程控电源项目管理及文档管理知识分析》由会员分享,可在线阅读,更多相关《项目管理项目报告程控电源项目管理及文档管理知识分析(30页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的程控电源设计1、 项目背景 直流稳压源是一种常见的电子仪器,其广泛应用于实验教学和科学研究等领域。目前使用的直流稳压电源大部分存在诸多缺点,如输出不可调,电压不稳定等等,因而导致实验结果不精确。本次项目就设计一个基于单片机控制的程控电源。描述:使用单片机输出PWM去控制电源调压模块以控制电源电压输出,实现步进可调。项目参数:1 输入电压816V,如果输入电压低于8V或者高于16V,利用BEEP报警,并且关掉PWM的输出2 输出电压614V,如果输出电压低于6V或者高于14V,利用BEEP报警,同样关掉PWM的输出3 调压分辨率0.25V4 用按键输入电压预设值,然后通过按键的“+”

2、、“-”来步进调节电源的输出,达到预设值允许的范围内5 通过LM3037(LCD14432)来显示当前的电压预设值,当前电压的输出值以及分辨率2、 项目概要分析1、 硬件分析:2、 软件分析:1) 熟悉单片机的原理与应用2) BEEP报警程序设计3) 矩阵按键程序设计4) 液晶显示驱动程序设计5) 产生PWM程序设计6) 电压反馈AD采样程序设计3、 系统分析1、 硬件分析:1) 单片机与BEEP、矩阵按键、LM3037液晶显示以及AD采样转换芯片的具体连接。(单片机控制芯片)(BEEP电路部分)(矩阵按键输入部分)(LM3037液晶显示部分)(TLC549CD A/D转换)2) 程控电路部分

3、原理图:2、 软件分析:1)BEEP报警,P22引脚出现低电平,BEEP发出声音。2)矩阵按键的扫描,采用逐行扫描模式,扫描每个按键是否按下,并做键值处理。3)LM3037液晶的显示,可以采用并行显示或者串行显示,该液晶自带中文字库。4)AD549CD A/D转换芯片驱动程序的编写,5)定时器程序的编写 6)外部中断程序的编写7)PWM脉宽调制波的产生4、 程序流程图5、 程序设计#include#include/*-两个常用的宏定义-*/#define uint8 unsigned char #define uint16 unsigned int/*-AD采样时使用的延时定义-*/#defi

4、ne Wait1us_nop_();#define Wait2usWait1us;Wait1us;#define Wait4us Wait2us;Wait2us;#define Wait10us Wait4us;Wait4us;Wait2us;#define Wait20us Wait10us;Wait10us;sbit LED_Control = P20;/* -数码管显示函数的声明 -*/void SEG_Disp(uint8 dat);/*-扫描按键的说明-*/void KEY_Scan(void);/*-延时函数的说明-*/void Delay_ms(uint16 z);/*-数码管段

5、选的定义-*/sbit HC138_A0 = P11;sbit HC138_A1 = P12;sbit HC138_A2 = P13;/*-lcd14432的定义-*/sbit RS = P15;sbit RW = P16;sbit EN = P17;bit BUSY(void);void Write_cmd(uint8 cmd);void Write_dat(uint8 dat);void LCD14432_Init(void);void HZ_Disp(uint8 *p);void LCD_Test();/*-AD转换的引脚定义-*/sbit Tlc549_Dout = P23;sbit

6、Tlc549_CS = P24;sbit Tlc549_Clock = P22;uint8 Read_ADConvert(void);/* -T0的函数声明-*/void Timer0_Init(void);/*-PWM的输出端口-*/sbit PWM0 = P12;void PWM_Out(uint8 rate);uint8 key_value=0;/按键值uint8 count = 0;/记录定时次数uint8 count1 = 0;/uint8 rate1 = 50;uint8 flag = 0;/*-09的数码管断码表-*/uint8 SEG_data10=0x3f,0x06,0x5b

7、,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uint8 AD_Value5;int main(void)uint8 i=0;uint8 Convert_value=0;uint8 temp=0,temp1=0,temp2=0;LED_Control = 0;Timer0_Init();/初始化定时器0LCD14432_Init();LCD_Test();while(1)/*本程序只显示一位*/Convert_value = Read_ADConvert();Convert_value = Convert_value +0.5;temp = Convert_value

8、 /51;temp = temp *2;/temp = (float)temp *10;/temp1 =(float) temp/10;/temp2 =(float) temp%10;Write_cmd(0x83);Write_dat(0x30+key_value);/预设电压值8VWrite_dat(V);Write_cmd(0x87);/输出电压值Write_dat(0x30+temp);/Write_dat(.);/Write_dat(0x30+temp2);Write_dat(V);/HZ_Disp(8);/程控电源显示界面/SEG_Disp(temp);KEY_Scan();if(f

9、lag=1)/+分辨率rate1 = rate1+2;if(rate198)rate1 = 98;flag = 0;if(flag=2)/+分辨率rate1 = rate1-2;if(rate18)rate1 = 8;flag = 0;/SEG_Disp(count1);return 0;/*函数名称:void SEG_Disp(uint8 dat)函数功能:数码管的显示函数入口参数:显示09出口参数:无调用模块:MAIN*/void SEG_Disp(uint8 dat)P0 = SEG_datadat;HC138_A0 = 0;HC138_A1 = 0;HC138_A2 = 0;void

10、KEY_Scan(void)uint8 temp;P3 = 0xf0;/设置输入输出/*-扫描第一行-*/P3 = 0xfe;/第一行输出 0temp = P3;/读取P3的值temp = temp & 0xf0;/屏蔽高4位,if( temp!= 0xf0)/判断是否有键按下Delay_ms(100);if( temp!= 0xf0)/判断是否有键按下switch(temp)/做键值处理case 0xe0:key_value = 1;break;case 0xd0:key_value = 2;break;case 0xb0:key_value = 3;break;case 0x70:key_

11、value = 4;break;/有键按下/temp = temp & 0xf0;/判断按键有没有松开,如果按键松开程序继续执行,/如果没有松开,不断读取P3口的值来作为while的判断条件while(temp!=0xf0)/等待松开按键temp = P3;/读取P3的值temp = temp & 0xf0;/屏蔽高4位,/*-扫描第二行-*/P3 = 0xfd;/第二行输出 0temp = P3;/读取P3的值temp = temp & 0xf0;/屏蔽高4位,if( temp!= 0xf0)/判断是否有键按下Delay_ms(100);if( temp!= 0xf0)/判断是否有键按下sw

12、itch(temp)/做键值处理case 0xe0:key_value = 5;break;case 0xd0:key_value = 6;break;case 0xb0:key_value = 7;break;case 0x70:key_value = 8;break;/有键按下/temp = temp & 0xf0;/判断按键有没有松开,如果按键松开程序继续执行,/如果没有松开,不断读取P3口的值来作为while的判断条件while(temp!=0xf0)/等待松开按键temp = P3;/读取P3的值temp = temp & 0xf0;/屏蔽高4位,/*-扫描第三行-*/P3 = 0xfb;/第二行输出 0temp = P3;/读取P3的值temp = temp & 0xf0;/屏蔽高4位,if( tem

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

当前位置:首页 > 商业/管理/HR > 企业文档

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