开关电源模块并联供电系统

上传人:沈*** 文档编号:79895452 上传时间:2022-04-24 格式:DOC 页数:52 大小:430.42KB
收藏 版权申诉 举报 下载
开关电源模块并联供电系统_第1页
第1页 / 共52页
开关电源模块并联供电系统_第2页
第2页 / 共52页
开关电源模块并联供电系统_第3页
第3页 / 共52页
资源描述:

《开关电源模块并联供电系统》由会员分享,可在线阅读,更多相关《开关电源模块并联供电系统(52页珍藏版)》请在装配图网上搜索。

1、III宜宾学院2012届毕业设计(论文)本科生毕业论文(设计)题 目 开关电源模块并联供电系统 二级学院 物理与电子信息学院 专 业 通信工程 学生姓名 孙星 学 号 080305046 年级 2008 指导教师 甘德成 职称 讲师 教务处制表2012 年 4 月 15 日目录摘要IIIAbstractIV第一章 绪论11.1选题意义及目的11.2设计任务11.3设计要求21.3.1基本要求21.3.2 发挥部分要求2第二章 本系统总体方案设计32.1.系统方案设计与论证32.1.1 DC-DC变换器方案论证32.1.2均流控制方法及实现方案32.1.3 系统整体框图42.2.理论分析与参数计

2、算42.2.1 DC-DC变换器稳压方法42.2.2 电流电压检测分析与计算52.2.3 均流方法的分析62.2.4 过流保护及自恢复分析6第三章 硬件电路设计73.1 DC-DC电路设计73.2电流采集电路设计83.3 辅助供电模块设计8第四章 软件设计部分94.1 IAR FOR 430 简介94.2软件流程图9第五章 系统测试115.1 主要元器件115.2 测试方法115.3 测试仪器清单115.4负载调整额定功率测试125.5系统效率测试125.6 4A均流测试125.7 任意比分流点测试135.8过流保护及自动自恢复功能135.9其它功能测试135.10 误差分析13第六章 总体结

3、论14致谢15参考文献16附录17控制程序17摘要本设计采用超低功耗单片机MSP430F247为主要控制核心部件,应用同步BUCK拓扑结构作为高效率的DC-DC变换;设计并制作了开关电源模块并联供电系统。应用AMSCS原理和ECM控制模式实现动态均流控制;使用电流并联监视器件INA194作为电流检测;使用高效率TPS5430芯片设计辅助电源。实现了系统在500mA-4A范围内可自动分配或者手动任意预制两路DC-DC模块的电流比大小并显示相关参数。系统元件少,性价比高、系统效率高达85%以上、很好的完成了基本部分和发挥部分的要求,本设计获得全国大学生电子设计竞赛国家一等奖。关键字:MSP430F

4、247;AMSCS;ECM;动态均流;效率;AbstractThis design uses the low power consumption MCU, MSP430F247 ,as the main control the core part and uses the application of synchronous BUCK topology structure as high efficiency of the DC-DC transform .The design is made up of the switch power supply module parallel powe

5、r supply system and uses AMSCS principle and ECM control model to achieve dynamic all flow control. The design uses current parallel surveillance devices, INA194, as electric current detection and successfully uses a high efficiency chip, TPS5430, to design auxiliary power supply. Finally the design

6、 realized that current can be set range from 500 mA to 4 A automatically or manually arbitrary distribution prefabricated a DC-DC module of the current size ,and can display related parameters. The system is consist of less component, higher performance price ratio, especially the system efficiency

7、is as high as 85% above. So the system accomplished the basic part and the expression part successfully. Key word: MSP430F247; AMSCS; ECM; Dynamic all flow; Efficiency;III宜宾学院2012届毕业设计(论文)第一章 绪论1.1选题意义及目的随着电力电子技术的发展,电源技术被广泛应用于计算机 、工业仪器仪表 、军事 、航天等领域,涉及到国民经济各行各业 。各种电子装置对电源功率的要求越来越高,对电流的要求也越来越大,开关电源向更大

8、功率方向发展 。研制各种各样的大功率 、高性能的开关电源成为趋势 。但受构成电源模块的半导体功率器件,磁性材料等自身性能的影响,单个开关电源模块的最大输出功率只有几千瓦,但实际应用中往往需用几百千瓦以上的开关电源为系统供电 。因此,大功率电源系统需要用若干台开关电源并联运行,以满足负载功率的要求 。同时考虑分布式与集中式电源系统相比所具有的优点,具体采用分布式电源系统供电 。这样每个变换器只处理较小功率,降低了应力,还可以应用冗余技术,提高了系统的稳定性,并且使用场合不受限制,根据需要组合,方便灵活 。其容量可以任意扩展 。同时可将模块的开关频率提高到兆赫级,从而提高模块的功率密度使电源系统的

9、体积 、重量下降 。可谓一举多得 。由于大功率电源负载需求的增加以及分布式电源系统的发展开关电源并联技术的重要性也日益电流,的关键 。在本次设计中,电子测量技术、单片机原理及应用,以及模拟/数字信号处理等的多种学科技术知识的综合运用。通过本设计,提高本专业各学科综合知识的实际运用能力,与此同时也提高自身的分析能力与实际动手能力,增强自身对设计的科学性、系统性、及全面性的理解。通过此次设计,能较好的掌握硬件电路的设计的工作流程,进一步体会汇编语言与C语言编写程序的优缺点。1.2设计任务设计并制作一个由两个额定输出功率均为16W的8V DC/DC模块构成的并联供电系统如下图1-1所示。图1-1 设

10、计任务1.3设计要求1.3.1基本要求(1) 调整负载电阻至额定输出功率输出状态,供电系统的直流输出电压(2) 额定输出功率工作状态下,供电系统的效率不低于60%。(3) 调整负载电阻,保持输出电压,使两个模块输出流之和Io=1.0A,且按I1:I2=1:1模式自动分配电流,每个模块的输出电流的相对绝对值不大于5%。(4) 调整负载电阻,保持输出电压,使两个模块输出电流之和Io=1.5A,且按I1:I2=1:2模式自动分配电流,每个模块的输出电流的相对绝对值不大于5%。 1.3.2 发挥部分要求 (1)调整负载电阻,保持输出电压,使负载电流Io在1.5-3.5A之间变化时,两个模块的输出电流可

11、在(0.5-2.0)范围内按指定的比例自动分配,每个模块的输出电流相对误差的绝对值不大于2%。 (2)调整负载电阻,保持输出电压,使两个模块输出电流之和Io=4.0A且按I1:I2=1:1模式自动分配电流,每个模块的输出电流相对误差的绝对值不大于2%。 (3)额定输出功率工作状态下,进一步提高供电系统效率。(4)具有负载短路保护及自动恢复工作,保护阈值电流为4.5A 。第二章 本系统总体方案设计2.1.系统方案设计与论证2.1.1 DC-DC变换器方案论证【方案一】:采用异步BUCK变换器,该拓朴结构简单,只需对一个开关管进行控制,因此控制思路非常简单。但由于在大电流时,异步BUCK电路中的续

12、流二极和开关管的功耗增加,成为电路中的主要功耗,这会使电路工作在大电流时的效率降低,故不采用此种结构。【方案二】:采用正激式变换器,该变换器为隔离型电路,通过变压器将输出与输入进行电气隔离,其控制方法与方案一类似。但由于变压器绕制过程复杂且会使电路系统效率降低。对于输出为8V的电压的电源系统,隔离问题并不是设计中的主要问题,因而变压器的优点在该系统中并未充分的体现,还会大大增加系统设计的成本,故也未采用此方案。【方案三】:采用同步BUCK变换器,由于采用MOS代替异步BUCK电路中的续流二极管,因此在低压大电流中的其效率非常高。此电路虽要控制两个MOS管,但采用一片浮栅驱动就可以当作一个管子来

13、控制,所以控制也很简单。根据上述的比较以及结合设计的实际需要,我们选用方案三。2.1.2均流控制方法及实现方案【方案一】:并联强迫均流。利用监控模块实现均流,由监控模块获得所有并联模块的平均电流值,再通过软件计算,用并联平均电流值与模块电流值进行比较,比较后的结果用来补偿电压基准,调整模块电压,使模块电流值与系统平均值电流相同。此方案易于实现,均流精度高,但其瞬态响应较差,调节时间长。【方案二】:运放反馈均流。主电路通过电压反馈稳定输出电压,从电路通过运放检测主从两路的电压差控制输出电压,使得两路压差为零,从而达到了均流的目的。该方案的实现与运放的参数有关,运放反馈回路的电容、电阻不好匹配。【

14、方案三】:用单片机实现动态均流。通过单片机实时采集两路DC-DC模块的电流和负载电压,然后通过内环电流外环电压,软件模拟硬件最大值均流的算法控制两路DC-DC模块PWM波形的占空比来调节电流。该方案优点控制精度高、外围电路简单,用软件模拟硬件,成本低,整个系统的效率高。根据上述三种方案的比较结合题目的控制要求最终选择方案三实现均流控制。2.1.3 系统整体框图图2-1 系统整体框图该系统的工作原理是单片机产生两路PWM控制两个DCDC模块,采用电压反馈电路实现了电压的实时采集控制单片机的定时器产生相应占空比的PWM波形稳定输出电压;该系统应用AMSCS原理和ECM控制模式实现动态均流控制实现了

15、电流任意比的设置与显示。2.2.理论分析与参数计算2.2.1 DC-DC变换器稳压方法本系统采用同步整流技术实现了DC-DC变换器,在连续电流输出的模式下,其输出-输入电压变换比为:D为输出PWM的占空比,由此式2-1可以求得输出PWM的占空比单片机通过电压反馈回路采集输出电压的大小然后通过算法实时调节占空比使输出电压稳定在8V0.4的范围内。为了保证精确控制电感量的计算,计算公式如下:-输入电压,Uo-输出电压,Io-输出电流,-开关管导通时间。由上式可得经过验证电感值取575uH。2.2.2 电流电压检测分析与计算系统使用单片机自带的12位A/D,根据A/D转换器的分辨率公式有,分辨率为V

16、ref-单片机供电电压,n-AD位数,可见内置A/D完全可以满足设计的需求。2.2.2.1 电压检测该系统的电压检测比较简单,只需一个电阻分压网便可实现。其原理图如图2-2,采样电压Vo如下:图2-2 电阻分压网络2.2.2.2 电流检测根据系统的均流方案的要求,需对两路DC-DC模块中的电流分别进行采集。由于两路DC-DC模块是并联连接,所以只能采用高测的方式来检测电流。这种方式不但克服了低测方式只能测出两路DC-DC模块总电流的缺点,还避免了系统中的数字部分的高频噪声对电流检测的影响,提高系统的稳定性。因为数字电路在0和1间切换,导至电流是动态的,这将在地平面上形成高频噪声,从而影响模拟部

17、分的精度。当系统正常工作时,在输出端的电流检测点有8V的共模电压,所以采用的电流检测运放的共模输入电压范围必须大于24V。这里可采用差分放大器OPA2234或专用电流检测器INA194,他们的共模输入电压范围都大于8V。但要使OPA2234的共模输入电压范围大于8V,OPA2234的供电电压必须大于8V,而且当采用12V供电时,线性度在采样电压的两极限值附近变坏。然而INA194是专用的电流临测器,在5V供电时共模输入电压范围高达80V,还可以避免在调试过程中因输出电压升高而烧坏芯片。此外,它的瞬态响应快,特别适合闭环系统中的快速检测。所以在此选用INA194。2.2.3 均流方法的分析本系统

18、的均流是通过软件模拟硬件实现最大值均流法,充分利用了ECM(外置控制器模式)易于实现动态交叉处理和AMSCS(最大值均流技术)的优点。在硬件最大值均流法中,一般用一个二极管把各路电流与均流母线上的电流进行比较,从而选最大电流,这种方式的优点响应迅速,但缺点是分流比固定,缺乏灵活性。本系统采用的ECM方式,克服了这样的不足,能灵活地实现任意分流比。系统采用MSP430F247作为控制核心,内置的ADC12分别对A路、B路电流和输出负载电压U进行采集。通过软件代替硬件方式中的二极管,选择出最大流,并通过MSP430F247内置的TimerA产生相应的PWM去控制相应BUCK中的浮栅驱动器。PWM的

19、占空比可通过软件任意设计,从而实现任意比分流。2.2.4 过流保护及自恢复分析单片机实时采集输出电流的大小,然后与过流保护阈值比较,当采集的电流大于电流阈值时,单片机停止输出PWM使DC-DC模块停止工作,然后以一定时间间隔采用试触法采集输出电流,当采集的电流低于阈值电流,则单片机按上电时刻设定的占空比输出PWM使DC-DC重新工作。第三章 硬件电路设计3.1 DC-DC电路设计为了实现高效率的DC-DC转换,本模块采用同步整流技术实现了高效率的DC-DC转换。该模块电路采用MOS管驱动芯片IRF21094驱动同步半桥,半桥输出端通过选择合适的电容,电感构成的LC低通滤波器实现了DC-DC的转

20、换,此种拓扑结构控制简单,原理通俗易懂,经过多方论证该电路的转换效率高满足本设计的要求,该模块电路中一路DC-DC变换器原理图如图3-1所示。图3-1 DC-DC同步BUCK变换电路原理图3.2电流采集电路设计在电流检测模块中,使用两个阻值为10毫欧的分流器串入两路DC-DC模块,通过电流并联监视器INA194采集分流器两端的电压。根据同步BUCK开关电源输出电流的特点,采集得的电流即为电感电流,而电感电流为三角波电流,通过分流器和INA194放大后的电压为三角波电压,不能直接供给单片机采集。因此在INA194放大器后用一个10uF的钽电容的RC滤波器对其进行滤波,把三角波电压滤成直流电压。为

21、了避免滤波器的幅频特性影响电流采集的线性度,所以在滤波器后面用一个电压跟随器进行阻抗匹配,再供给单片机进行采样。电压跟随器选用5V单电源供电运算放大器TLC272。该电流采集任意一路的电路原理图如图3-2所示。图3-2 电流采集电路图3.3 辅助供电模块设计该辅助供电模块采用高效率的电源管理芯片TPS5430设计并制作了两路供电模块为系统的外围模块供电,该芯片输入电压范围宽,效率高,可达90%以上。电路原理简单,效率高,该芯片通过电阻分压网络的调节4脚电压的大小从而调节输出电压的大小。其典型应用电路的如图3-3所示。图3-3 TPS5430典型接线图第四章 软件设计部分4.1 IAR FOR

22、430 简介IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,迄今已有27年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C+编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。国内普及的MSP430开发软件种内不多,主要有IAR公司的Embedded Workbench for MSP430(简称为EW430)和AQ430。目前IAR的用户居多。IAR EW430软件提供了工程管理,程序编辑,代码下载,调试等所有功能。并且软件界面和操作方法与IAR EW for ARM

23、等开发软件一致。因此,学会了IAR EW430,就可以很顺利地过渡到另一种新处理器的开发工作。现在IAR的最新版本为V5.10版,不过本文主要是以V4.11版讲解。各个版本之间差异不大。掌握了V4.11,别的版本也能很快上手。 4.2软件流程图MSP430F247采用16M晶振,执行速度快,从而满足了闭环系统快速响应的需求。当采得的A路电流大于B路电流时,用MSP430F247产生的一路PWM去控制A路同步BUCK电路,根据反馈的负载电压恒定输出电压Uo,然后用MSP430F247产生的另一路PWM去控制B路同步BUCK电路,使A、B两路的电流达到对应的比例关系。反之,当B路电流大于A路电流时

24、,与上面的控制方式一样。这样通过动态寻找两路输出电流的最大电流的一路电路,来实现恒定输出电压;动态寻找它们输出电流最小电流的一路来实现按相应比例的分流。由于在前面的动态跟踪过程中,两路的占空比会同时出现过大或过小,使输出电压偏离8V过大,所以在此还加入了大流占空比的控制。把输出总电流分成三个档位:高电流(大于1.3A)、中电流(0.7至1.3A)、低电流(小于0.7A)。分别对这三个档位的最大占空比和最小占空比的限制,从而使输出稳定在8V。具体程序流程图如下图4-1所示:图4-1 软件流程图第五章 系统测试5.1 主要元器件表5-1主要元器件元件名称型号数量单片机MSP430F2471浮栅驱动

25、IR210942运放TLC2722N沟道MOS管IRF32054电流并联监视器INA19425.2 测试方法24VDCDC-DC同步BUCK结构结构DC-DC同步BUCK结构AAAVV负载A图5-1测试框图5.3 测试仪器清单这次我们整个测试用到的仪器有:表5-2测试仪器清单序号仪器名称型号指标1双踪示波器RIGLO DS1102D100Mhz带宽 1Gs/s采样率2滑动变阻器200R/5A200R/5A3数字万用表RIGOL DM30686位半4数字万用表MY633位半5直流稳压电源UNI-T UTG9065C0-32.5V/3A5.4负载调整额定功率测试测试条件:Uin=24V,负载由1K

26、减少到2表5-3:负载调整率负载R()100050010050201052电压U(V)8.138.138.118.148.138.128.138.14从表5-3中可以看出,看出我们实测Uo最大为0.14V,题目要求输出Uo为8V,相对误差Io不超过0.4V,所以完全达到题目要求。5.5系统效率测试测试条件:Uin=24V、输出电压Uo=8.13V左右 、输出电流Io=4A。表5-4系统效率测试输入电压为输入电流输出电压输出电流输入功率输出功率效率24V1595mA8.13V4010mA38.28W32.6W85.2%24V1625mA8.14V4280mA39.00W34.84W89.3%24

27、.1V1560mA8.12V3990mA37.59W32.4W86.2%24V1580mA8.14V3980mA37.92W32.39W85.4%23.9V1570mA8.12V4050mA37.82W32.88W86.9%从表5-4可以看出系统效率在85.2%以上,根据题目的要求60%以上,我们大大提高整个系统的效率.且较好的完成的发挥部分的要求。5.6 4A均流测试 表5-5均流偏差测试实测输出电压A路电流B路电流电流之比(I1:I2)总电流8.14V2.007A2.013A1:14.020A8.13V2.015A2.025A1:14.040A8.14V2.020A2.025A1:14.0

28、45A8.12V2.010A2.020A1:14.030A8.14V2.010A1.996A1:14.006A从表5-5中可以看出,在调整负载电阻状态下,电流在4A处满足题目要求按照1:1分配,题目要求相对误差在2%(40mA)范围内,我们测试结果最大相对误差为7mA完全达到题目要求。5.7 任意比分流点测试 表5-6任意比分流测试分流比设定实测输出电压(V)A路电流实际值(A)A路电流理论值(A)A路相对绝对误差B路实际电流(A)B路电流理论值(A)B路相对绝对误差总电流(A)1:38.130.4100.41250.0061.2351.23750.0021.653:58.130.6810.6

29、90.0131.1501.150.0001.844:18.141.9982.0000.0020.5020.5000.0022.502:38.111.1001.1480.0411.761.7220.0222.875:48.121.9201.9110.0041.5181.5290.0073.44从表5-6中可以看出,任意分流比时,各路相对误差绝对值在0到2.2%之间。而题目的要求是在5%的范围内,我们较好的完成了题目的要求。5.8过流保护及自动自恢复功能表5-7过流保护及自动恢复是否能实现负载短路保护及自恢复功能实测保护阀值电流能4.5A能4.35A能4.4A能4.55A能4.38A 从表5-7可

30、以看出,我们实现了4.5A左右的过流保护和自动恢复功能,完成了题目的要求。5.9其它功能测试表5-8其他功能测试功能一具有过流声光报警功能二LCD显示和按键选择是否进入低功耗模式功能三超低纹波系数(4A的工作状态纹波为4mV左右) 从表5-8可以看出,我们在较好的完成了题目的基本部分和发挥部分之外,还另外增加了以上三种实用的其他功能。5.10 误差分析我们测量的误差主要来源是电磁干扰,由于测试场地有许多电脑和仪器使用开关电源,电磁噪声很大,采样电路的限流器与电路板的接触不好,电阻的精度不高等,并且测量仪表类型很多且精度不够高,人为读数存在误差,测量的数据达不到理论计算值,但是我们通过多次测量去

31、平均把误差降低到最小。第六章 总体结论 通过此次的毕业设计,提高了对本专业各个学科综合知识的实际运用能力,提高了实际动手能力,提高了自身的科学性、系统性、及全面性的综合设计素质,并且较好的掌握了硬件开发的工作流程及步骤。本设计采用更少的元件,更低成本实现了稳压,均流,过流保护自恢复等功能,通过巧妙的模拟电路设计,在输出电流相对误差等方面达到了指标要求,特别是85%以上的供电系统效率远超过了基本部分的指标,设计中所选的器件均具有相当高的性价比,如MSP430F247,IR21094浮栅驱动器,相当于传统方案,本作品更经济简洁,实用性更强。由于时间限制,开关电源模块并联供电系统还有一些不足,需要进

32、一步完善,也可以进行部分功能扩展。在此提出一些建议:1.系统利用的是单片机控制核心,由于受单片机类型的影响(如:运算速度等不够)另外在PCB的布局上做改进(考虑电磁兼容等),用DSP作为本系统的控制核心这样对精度和稳定度会有进一步的提高。2.可以用红外遥控来控制本系统3.修改程序可以任意设置过流保护的上限制由于作者水平有限,在设计上难免有考虑不周之处,希望大家提出宝贵意见,并批评指正。谢谢!致谢在论文完成之际,首先要感谢我的指导老师甘德成老师。再本文从前期的选题,到最后论文的完成,都是在指导老师的悉心指导和严格要求下进行的。甘老师学识渊博、治学严谨。他不仅在学习给了我很多帮助和启发,而且让我学

33、会了做事、做学问的态度和方法,将使我终身受益。在此,向指导老师甘德成老师表示衷心的感谢和深深的敬意!再次要感谢学校给我们提供这么好的一个培训环境,在为期两个多月的培训中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了,尤其要强烈感谢帮助过我的张雪平老师和李庆老师,他对我进行了无私的指导和帮助,不厌其烦的帮助我们在设计细节上的改进,另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。最后在此向帮助和指导过我的各位老师表示最中心的感谢,同时感谢各位授课老师,在我学习期间,正是你们孜孜不倦的教诲使我能够顺利完成学业,你们的潜移默化使我在这四年的学习生涯中积累了一笔宝贵的

34、财富,这将使我在今后的学习工作中受益终生。感谢我的同学、感谢我的家人和朋友,在我求学的过程中,给予我莫大的支持和帮助,没有你们就没有我今天的收获和成果。在本论文撰写过程中,参考并引用了许多作者的文献,他们的研究成果给了我极大的帮助和启迪,在此谨表示衷心的感谢!向在百忙之中抽出时间对本论文进行评审及评阅的各位专家表示衷心的感谢!参考文献1 童诗白,华成英 模拟电子技术基础 高等教育出版社 2006年2江思敏,姚鹏翼 编著:PCB设计机械工业出版社2010-103 张占松,蔡宣三 开关电源的原理与设计 电子工业出版社 2002年4 Abraham l.Pressman 开关电源设计 电子工业出版社

35、 2005年5 李爱文 现代通信基础开关电源的原理和设计 科学出版社 2001年6 高吉湘 全国大学生电子设计竞赛培训系列教程 电子工业出版社 2007年7(美)Sanjaya Maniktala 著,王志强等译 精通开关电源设计人民邮电 2008年09月 8(美)普利斯曼 著,莫瑞 著,王志强 等译 开关电源设计电子工业出版社 2010-6-19 王水平 开关稳压电源原理设计及实用电路(修订版) 西安电子科技大学出版社; 第1版 (2005年10月1日)10 王志强等译 开关电源设计与优化电子工业出版社 2006-12-111 马尼克塔拉(Sanjaya Maniktala) 开关电源故障诊

36、断与排除 人民邮电出版社 2010-10-27 12(英国)布朗 译者:徐德鸿 等 开关电源设计指南(原书第2版)机械工业出版社2008-9-0113张占松主编 开关电源的原理与设计(修订版) 电子工业出版社 2004-09-0114 李智奇MSP430系列超低功耗单片机原理与系统设计 西安电子科技大学出版社 200815 曹磊MSP430单片机C程序设计与实践 北京航空航天大学出版社 2007秦龙MSP430单片机应用系统开发典型实例 中国电力出版社 200516 秦龙 MSP430单片机C语言应用程序设计实例精讲 电子工业出版社 200617 沈建华 杨艳琴 翟骁曙 MSP43系列16位超

37、低功耗单片机原理与应用 清华大学出版社 2004年附录控制程序1.main函数程序#include msp430x24x.h#include keypad.h#include Cry12864.h#include Functions.h#include Menu.h#include Init_430.h#include key_contorl_disp.h#include init_adc12.h#include PWM.hvoid main( void ) / Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDT

38、HOLD; InitSys_times();/系统时钟初始化 init_PI(); /OCP_DIR;/关闭过流 /OCP_closed; PWM_init(); /Init_Key2(); /键盘初始化,中断 Init_Key1(); /键盘初始化,扫描 Ini_Lcd(); /12864初始化 Clear_GDRAM(); MenuInitialation(); /菜单初始化 Init_ADC12(); _EINT();/ while(1) key_event();/如果用中断方式就把此句屏蔽了 / key_contorl_disp(); if(adc_flag=1) adc12data_

39、process(); adc_flag=0; 2.keypad.h#include#ifndef _KEYPAD_H#define _KEYPAD_H/*pX 高4位接上啦电阻端 上拉电阻 1 + + + + 2 + + + + 3 + + + + PX.0 PX.1 PX.2 PX.3 PX.4 PX.5 PX.6 PX.74 + + + + | | | | | | | | 5 6 7 8 1 2 3 4 5 6 7 8 */#define PX_DIR P2DIR#define PX_OUT P2OUT#define PX_IN P2IN#define PX_SEL P2SEL#defin

40、e PX_IE P2IE#define PX_IFG P2IFG#define PX_IES P2IESunsigned char key_num=1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16;/设置键盘逻辑键值与程序计算键值的映射unsigned char key_flag; /按键是否被释放标志 1-是 0-否unsigned char key_val; /存储键值/*函数名称: Init_Key1功 能:扫描方式键盘的初始化参 数:无返回值 :无*/void Init_Key1(void) /初始化矩阵键盘 PX_DIR=0x0f; /高四位输入,低四位输出

41、 PX_OUT=0x0f; /低四位输出全为一 key_flag=0; /无键释放 key_val=0; /初始默认为0/*函数名称:check_key功 能:扫描键盘的IO端口,获得键值参 数:无返回值 :无*/void check_key(void) /检测是否有键按下 unsigned char row,col,tmp1,tmp2; for(row=0;row4;row+) /扫描行 tmp1 = 0x01; tmp1=row; PX_OUT=0x0f; PX_OUT-=tmp1; /P1.0p1.3输出四位中有一个为0 if(PX_IN&0xf0)0xf0) /是否P1IN的P1.4P

42、1.7中有一位为0 for(col=0;col4;col+) /循环扫描列 tmp2 = 0x10; tmp2=col; if(PX_IN&tmp2)=0x00) /是否是该行,等于0为是 key_val=key_numrow*4+col; return; /获得键值,并退出循环 /*函数名称:delay_key功 能:延时约15ms,完成消抖功能参 数:无返回值 :无*/void delay_key(unsigned long scan_time) /键盘延时时间i*5+6个时钟周期(8M0.125us)(10ms80000,15ms120000) while(scan_time-);/*函

43、数名称:key_event功 能:检测按键,并获取键值参 数:无返回值 :无*/void key_event(void) PX_OUT =0x00;/ 设置P1OUT全为0,等待按键输入 if (PX_IN & 0xf0) 0xf0) /如果有键按下 delay_key(60000); /延时消抖 if (PX_IN & 0xf0) 0xf0) /如果有键按下 check_key(); / 调用check_Key(),获取键值 while(PX_IN & 0xf0)!= 0xf0); /如果按键已经释放 key_flag = 1; / 设置key_Flag标识 /*函数名称: Init_Key

44、2功 能:中断方式键盘的初始化参 数:无返回值 :无*/void Init_Key2() PX_SEL=0X00;/选择i0方式 PX_DIR=0X0F;/选择高四位输入,低四位输出 PX_OUT &= 0XF0;/低四位为零输出 while(PX_IFG!=0x00)PX_IFG=0x00; PX_IES |= 0Xf0;/下降沿触发 PX_IE=0Xf0;/选择高四位中断功能 key_flag = 0; key_val = 0;/*函数名称: 键盘中断功 能:参 数:无返回值 :无*/#pragma vector=PORT2_VECTOR_interrupt void Port2() PX

45、_IFG=0X00; key_event(); #endif3. Cry12864.h程序#include typedef unsigned char uchar;typedef unsigned int uint;/*与msp430f149接口有关的宏定义*/#define LCD_DataIn P5DIR=0x00 /数据口方向设置为输入#define LCD_DataOut P5DIR=0xff /数据口方向设置为输出#define LCD2MCU_Data P5IN#define MCU2LCD_Data P5OUT#define LCD_CMDOut P3DIR|=BIT0+BIT1

46、+BIT2+BIT3 /P3口的低五位设置为输出BIT0+#define LCD_RS_H P3OUT|=BIT0 /P3.0 指令寄存器#define LCD_RS_L P3OUT&=BIT0 /P3.0 数据寄存器#define LCD_RW_H P3OUT|=BIT1 /P3.1 读#define LCD_RW_L P3OUT&=BIT1 /P3.1 写#define LCD_EN_H P3OUT|=BIT2 /P3.2 使能#define LCD_EN_L P3OUT&=BIT2 /P3.2#define LCD_RET_H P3OUT|=BIT3 #define LCD_RET_L

47、P3OUT&=BIT3 /LCD复位/#define LCD_PSB_H P6OUT|=BIT4 /并行传送/#define LCD_PSB_L P6OUT&=BIT4 /串行传送/*指令集的宏定义*/#define BASIC_SET 0x30 /基本指令集 0x30#define EXTEND_SET 0x34 /扩展指令集 0x34#define DRAW_ON 0x36 /绘图显示开 0x36#define DRAW_OFF 0x34 /绘图显示关 0x34/*函数名称:Delay_1ms功 能:延时约1ms的时间参 数:无返回值 :无*/void Delay_1ms(void)uin

48、t i;for(i = 150;i 0;i-) _NOP(); /*函数名称:Delay_Nms功 能:延时N个1ms的时间参 数:n-延时长度返回值 :无*/void Delay_Nms(uint n) uint i; for(i = n;i 0;i-) Delay_1ms();/*函数名称:Wait_BF_0功 能:等待BF位为0参 数:无返回值 :无*/void Wait_BF_0(void) uchar lcdtemp; LCD_RS_L; LCD_RW_H; LCD_DataIn; do /判忙 LCD_EN_H; _NOP(); lcdtemp = LCD2MCU_Data; LC

49、D_EN_L; while(lcdtemp & 0x80); /*函数名称:Read_Data功 能:读取参 数:无返回值 :读取的数据*/uchar Read_Data(void) uchar data; LCD_RS_H; LCD_RW_H; LCD_DataIn; LCD_EN_H; _NOP(); data = LCD2MCU_Data; _NOP(); _NOP(); _NOP(); _NOP(); LCD_EN_L; return data;*函数名称:Write_Cmd功 能:向液晶中写控制命令参 数:cmd-控制命令返回值 :无*/void Write_Cmd(uchar cm

50、d) Wait_BF_0(); LCD_DataOut; LCD_RW_L; MCU2LCD_Data = cmd; LCD_EN_H; _NOP(); LCD_EN_L;/*函数名称:Write_Data功 能:向液晶中写显示数据参 数:dat-显示数据返回值 :无*/void Write_Data(uchar dat) Wait_BF_0(); LCD_DataOut; LCD_RS_H; LCD_RW_L; MCU2LCD_Data = dat; LCD_EN_H; _NOP(); LCD_EN_L; /*函数名称:Ini_Lcd功 能:初始化液晶模块参 数:无返回值 :无*/void

51、Ini_Lcd(void) LCD_CMDOut; /液晶控制端口设置为输出 LCD_RET_H; /LCD_PSB_H; Delay_Nms(500); Write_Cmd(BASIC_SET); /基本指令集 Delay_1ms(); Write_Cmd(BASIC_SET); /基本指令集 Delay_1ms(); Write_Cmd(0x02); / 地址归位 Delay_1ms();Write_Cmd(0x0c); /整体显示打开,游标关闭 Delay_1ms();Write_Cmd(0x01); /清除显示 Delay_1ms();Write_Cmd(0x06); /游标右移 Delay_1ms();Write_Cmd(0x80); /设定显示的起始地址/*函数名称:Disp_HZ功 能:控制液晶显示汉字参 数:addr-显示位置的首地址 pt-指向显示数据的指针 n

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!