基于单片机的正弦波逆变电源设计 毕业设计_第1页
基于单片机的正弦波逆变电源设计 毕业设计_第2页
基于单片机的正弦波逆变电源设计 毕业设计_第3页
基于单片机的正弦波逆变电源设计 毕业设计_第4页
基于单片机的正弦波逆变电源设计 毕业设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本科生毕业设计说明书论文题目:基于单片机的正弦波逆变电源设计 年 月 日摘要本次设计是基于单片机STC而设计的纯正弦波逆变电源。额定输入U=12V的直流电,输出为50Hz,220V的交流电。额定输出功率为300W。设计了全方位的保护电路。包含了可以根据温度来控制散热风扇的开启。实现了输入低压、过压的关断功能。当输入U过低时,逆变现象停止,这样可以防止蓄电池的损坏。当输入U过高时,停止逆变,可以防止损坏芯片。拥有输入防反接功能,当输入正负极接错时,关断输入与后级电路的连接,不会烧坏芯片或蓄电池。采用了一个液晶屏来显示输出的电压,输出频率等信息。采用一对发光二极管来指示工作状态。采用了一个蜂鸣器

2、,当产生错误时,发出蜂鸣报警。输出的交流电为标准的正弦波,而不是方波或修正波,可以实现更宽范围的带负载能力。根据实验分析,最终转换效率达到85%以上,输出结果稳定,达到了理想的实验效果。关键词单片机,逆变电源,正弦波,反接保护AbstractThe design is based on STC microcontroller designed for pure sine wave inverter. Rated input voltage of 12V DC, output is 50Hz, 220V AC. Rated output power of 300W. I designed a f

3、ull range of protection circuits. It can be included to control the temperature on the cooling fan. Achieve a input voltage, overvoltage shutdown function. When the input voltage is too low, the inverter is stopped, to prevent damage to the battery, when the input voltage is too high, the inverter i

4、s stopped to prevent damage to the chip. Has the input anti-reverse function when the input is negative then the wrong time, and after the shutdown input stage circuit connections will not burn chips or batteries. It uses a liquid crystal screen to display the output voltage, output frequency and ot

5、her information. It uses two light emitting diodes to indicate the operating status. It uses a buzzer when an error occurs, the alarm beeps. The standard AC output sine wave, rather than a square wave or modified wave, a wider range can be achieved with a load capacity. According to the test, the co

6、nversion efficiency of more than 85%, stable output, to achieve a good experimental result.Key WordsMCU, Inverter, Sine wave, reverse polarity protection 目录 TOC o 1-3 h z u HYPERLINK l _Toc370034516 摘要 PAGEREF _Toc370034516 h I HYPERLINK l _Toc370034517 Abstract PAGEREF _Toc370034517 h II HYPERLINK

7、l _Toc370034518 第一章 绪论 PAGEREF _Toc370034518 h 1 HYPERLINK l _Toc370034519 系统研究的背景 PAGEREF _Toc370034519 h 1 HYPERLINK l _Toc370034520 1.2 系统研究的意义 PAGEREF _Toc370034520 h 2 HYPERLINK l _Toc370034521 第二章 系统的工作原理与结构 PAGEREF _Toc370034521 h 3 HYPERLINK l _Toc370034522 系统的工作原理 PAGEREF _Toc370034522 h 3

8、HYPERLINK l _Toc370034523 系统的硬件结构 PAGEREF _Toc370034523 h 6 HYPERLINK l _Toc370034524 系统的软件设计 PAGEREF _Toc370034524 h 7 HYPERLINK l _Toc370034525 第三章 系统的硬件设计 PAGEREF _Toc370034525 h 8 HYPERLINK l _Toc370034526 主控制器 PAGEREF _Toc370034526 h 8 HYPERLINK l _Toc370034527 3.2 DC-DC模块 PAGEREF _Toc370034527

9、 h 9 HYPERLINK l _Toc370034528 3.2.1 PWM脉冲产生电路 PAGEREF _Toc370034528 h 9 HYPERLINK l _Toc370034529 变压器的设计 PAGEREF _Toc370034529 h 10 HYPERLINK l _Toc370034530 输出整流电路的设计 PAGEREF _Toc370034530 h 12 HYPERLINK l _Toc370034531 3.3 DC-AC模块 PAGEREF _Toc370034531 h 12 HYPERLINK l _Toc370034532 波驱动隔离 PAGEREF

10、 _Toc370034532 h 13 HYPERLINK l _Toc370034533 3.3.2 开关电路的设计 PAGEREF _Toc370034533 h 14 HYPERLINK l _Toc370034534 3.3.3 LC滤波电路设计 PAGEREF _Toc370034534 h 15 HYPERLINK l _Toc370034535 3.4 保护模块 PAGEREF _Toc370034535 h 16 HYPERLINK l _Toc370034536 3.4.1 温度保护 PAGEREF _Toc370034536 h 16 HYPERLINK l _Toc370

11、034537 输入保护 PAGEREF _Toc370034537 h 16 HYPERLINK l _Toc370034538 输出保护 PAGEREF _Toc370034538 h 17 HYPERLINK l _Toc370034539 直流5V电路设计 PAGEREF _Toc370034539 h 18 HYPERLINK l _Toc370034540 显示与报警模块 PAGEREF _Toc370034540 h 18 HYPERLINK l _Toc370034541 液晶显示 PAGEREF _Toc370034541 h 18 HYPERLINK l _Toc370034

12、542 蜂鸣器报警 PAGEREF _Toc370034542 h 20 HYPERLINK l _Toc370034543 第四章 系统的软件设计 PAGEREF _Toc370034543 h 21 HYPERLINK l _Toc370034544 开发环境介绍 PAGEREF _Toc370034544 h 21 HYPERLINK l _Toc370034545 4.2 SPWM程序设计 PAGEREF _Toc370034545 h 23 HYPERLINK l _Toc370034546 液晶驱动程序设计 PAGEREF _Toc370034546 h 28 HYPERLINK

13、l _Toc370034548 第五章 结束语 PAGEREF _Toc370034548 h 32 HYPERLINK l _Toc370034549 参考文献 PAGEREF _Toc370034549 h 33 HYPERLINK l _Toc370034550 致谢 PAGEREF _Toc370034550 h 34 HYPERLINK l _Toc370034551 附录一系统原理图 PAGEREF _Toc370034551 h 35 HYPERLINK l _Toc370034552 附录二系统源程序 PAGEREF _Toc370034552 h 36第一章 绪论系统研究的背

14、景逆变电源是指将直流电源转换为交流电源的的装置。随着光伏发光的推广,汽车和车载电器数量的增加,UPS的广泛应用,逆变电源的应用场合也越来越多,成了电力电子技术中不可缺少的部件。而随着电子技术的发展,逆变电源也有一个高速发展的历程。最早的逆变系统采用的是,通过将直流电源供给直流电动机,直流电机通过机械传动带动交流发电机,来完成直交流的转换。这种转换方式占用空间大,重量大,产生一定的噪声,而且效率十分低下。到二十世纪六、七十年代,晶闸管的问世使得逆变电源的技术得到了发展。逆变电源开始广泛使用晶闸管来作为主要器件,与传统的机械式转换相比,效率明显提高。但缺点也十分明显,转换的波形为方波,而不是正弦波

15、,无法带动电感类负载。限于晶闸管的功率,电源的输出功率较小。进入八十年代以后,电子元件的种类也越来越多,诞生了功率场效应管、MOS管、可关断晶闸管、电力用晶体管、绝缘栅极晶体管等类型的功率型器件。这些器件的出现为逆变电源技术的高速发展奠定了坚实的基础。使得逆变电源从容量到频率等参数越来越高,占用的体积减小,逆变转换效率提高,各种品质指标也进一步提升。进入21世纪以后,随着微电子技术的发展,逆变电源在设计上,也渐渐使用微电子元件。得益于微电子元件的精密程度,逆变电源的输出的稳定性,波形的精确度等都得到了保证。目前的逆变电源按照输出波形可分为三种。第一种是方波逆变电源。此电源结构简单,转换效率较高

16、,技术成熟。不足的是变压器和滤波器的体积、重量较大,工作的噪音较大。而由于输出波形是方波,上升和下降是突变的,当负载为感性负载时,由于电感对储能特性,会产生尖峰脉冲高压。造成负载或电源的损坏。第二种是修正波逆变电源。输出波形是将多个方波叠加而成的修正正弦波。大大减小了输出波形的谐波含量。与方波逆变电电源相比,性能得到了很大的提升。第三种是纯正弦波逆变电源。其输出波形为谐波含量很小的正弦波。与市电相比波形基本一致。可以带动所有类型的负载。但缺点是技术不够成熟。成本较高。 系统研究的意义一方面目前私家车已经走进千家万户,而车内可使用电器却因为电源受到诸多的限制。汽车的携带的蓄电池输出直流12V,而

17、大部分电器的额定电压是市电交流220V。而目前常见的车载逆变电源有诸多缺点。如无输入低压保护,超额使用后,导致汽车无法启动。没有设计显示屏,用户无法查看输出参数。没有配置短路保护,过载保护等。另一方面随着太阳能发光的大力推广,逆变电源在太阳能发光的过程中有着不可缺少的作用。太阳能发光是将光能转换为电能存储在蓄电池中。而人们使用的家电无法直接通过蓄电池供电。必须通过逆变电源将直流电转换为交流电。随着逆变电源应用的场合越来越多,对逆变电源技术的发展要求也越来越高。目前逆变电源的设计多采用纯硬件设计的分立式元件组成的结构。随着人们使用的电器数量和种类的增加,对逆变电源的波形、容量等参数的要求也越高,

18、使得设计的逆变电源的复杂度也越来越高,采用的元件也越来越多。而由于元件数量过多,造成的电源稳定性较差,往往由于某一个元件的质量差而导致整个系统的损坏。而且传统逆变电源基于模拟元件的设计,没有可编程的能力,使得逆变电源的可扩展能力差,没有显示功能等问题。因此针对单片机来作为逆变电源主控制芯片来研究成为当今的热点。第二章 系统的工作原理与结构逆变电源是一种将低压直流电转换为高压交流电的过程。一个直流电源对一个负载的两端轮流供电时便在负载的两端形成一个交流电的过程。工作模型如图2-1所示。图2-1 逆变电源工作模型当图中的S1、S4闭合,S2、S3断开时。电流从负载的左侧流向右侧。负载两端的电压U0

19、是一个正电压。电流方向和波形如图2-2所示。图2-2 S1、S4闭合时的电流方向和波形当图中的S2、S3闭合,S1、S4断开时。电流从负载的右侧流向左侧。负载两端的电压U0是一个负电压。电流方向和波形如图2-3所示。图2-3 S2、S3闭合时的电流方向和波形当开关开始和闭合的速度很快时,负载两端的电压便形成了一个交流电的过程。实际应用中,只要将图中的开关,改为可控的开关器件,这些开关器件组成的电路称为全桥。全桥逆变电源主电路结构如图2-4所示。图2-4 全桥逆变电源结构图V1、V2、V3和四个开关管以及VD1、VD2、VD3和VD4四个续流二极管构成了左右两个桥臂。在任何时刻,左右两个桥臂的上

20、下两个开关器件不可以同时打开,否则输入电源将短路。四个开关器件也不可同时关断,否则输出出现不可控的状态。这些开关器件的控制信号可以采用周期调制信号。而这些周期信号经过正弦脉宽调制,称为SPWM调制,电路结构称为SPWM全桥结构。典型的SPWM调制方式有如下两种。单极性调制是指H桥输出包括两个相反的电平,输出载波f1与开关工作f2相同。单极性调制的波形图如图2-5所示。图2-5 单极性调制波形图在ur和uc的相交的时刻控制开关管的导通与关闭,uof表示uo的基波分量。在波形ur的正半周,V1的状态为通, V2的状态为断。在uruc时, V3的状态为断, V4的状态为通。此时的uo=ud。在uru

21、c时,V3的状态为通, V4的状态为断。此时的uo=0。在uruc时,开关管V1和V4的状态为通, 开关管V2和V3状态为断。此时的uo=Ud。在ur2Qg/(VCC101.5)。经过计算,本次设计的自举电容为100uf/35V。自举二极管是组成自举电路的重要的自举器件,主要作用是阻断直流干线上的高压。自举二极管所需承受的电流是栅极电荷与开关频率之积。本次设计采用的自举二极管为恢复二极管FM1S。该二极管拥有较小的反向漏电流,可以有效的减小电荷损失。3.3.2 开关电路的设计本次设计中开关管的输入电压在400V左右,输出功率在300W以上。因此必须使用功率足够的功率开关管。本次设计采用的是IR

22、F840作为开关管。IRF840的最大漏源电压在500V,漏极电流为8A左右,足以满足本次设计的要求。设计的电路如图3-7所示。图3-7 开关电路原理图开关管的控制信号为IR2110S隔离后的SPWM正弦波,输入电压为400V左右的直流电,经过SPWM波形调制后,输出220V,50Hz的正弦波交流电。经过后级的LC滤波电路后,使输出波形的更加纯净。3.3.3 LC滤波电路设计为了滤除开关管输出的交流电中高频成分,以及增强电源的EMI特性。设计了一个LC滤波电路。电路原理图如图3-8所示。图3-8 LC滤波电路L1采用的是磁环绕制导线而成的差模电感。磁环为直径40MM的铁硅铝材料制作。采用1.1

23、8的线在磁环上绕90圈左右,使用的线长在4.5米左右。磁环的导磁率为125,电感量为1.5mH,导磁率为60。绕制时分两层,第一层为45圈,内圈的线紧密绕制,外圈线的每圈留有一个空隙。第二层为45圈,内圈叠在第一层线上,外圈嵌在第一层的空隙中。3.4 保护模块3.4.1 温度保护设计的电路如图3-9所示。图3-9 散热风扇电路设计本设计有两路温度控制电路。一个是当温度超过一定值时开启散热风扇。另一个是作为DC-DC模块的温度补偿模块,当温度过高时,停止前级DC-DC的转换。散热风扇的控制采用的是热保护器KSD9700。KSD9700是由两片不同材料的金属片组成的。正常温度情况下,两个金属片断开

24、,相当于开关断开。风扇不工作。当金属片感知温度超过40摄氏度时,两个金属片粘合,相当于开关闭合,此时风扇开始工作。当温度恢复正常时,两个金属片又重新断开。DC-DC模块的温度补偿传感器采用NTC热敏电阻。热敏电阻接入DC-DC模块中PWM脉冲产生芯片SG3525的关断端。当温度过高时,SG3525停止工作。输入的保护主要有三部分。一是防止输入反接。二是防止输入电压过低。因此,设计了一避免反接电路。如果电路接反时,立刻切断电源的输入,防止损坏后续电路。设计的电路如图3-10所示。图3-10 反接保护原理图当输入电源正确接入时,MOS管体二极管正向导通,MOS管的栅极电压大于源极电压,因此MOS管

25、导通。后级负载正常工作。当输入电源接错时,二极管反射截止,MOS的截止,电路中没有电流流过,切断了后级负载与电源的连接。电路中Ri1与电容Ci1为缓冲电路,防止上电瞬间电压过高损坏MOS管。Z1为稳压管,防止MOS管的栅极和源极两端电压过高,损坏MOS管。输入电压保护采用一个LM324运放组成的电压比较器。当输入电压过高或过低时,关断DC-DC模块中PWM的产生,即可停止转换。同时,输出一个信号控制蜂鸣器发出蜂鸣声报警。设计电路如图3-11。图3-11 输入电压保护电路原理图输出保护的设计采用的是从开关管的输出部分取样,反馈到一个LM393组成的电压比较器,一路送入单片机的AD端,经过AD转换

26、后修正输出。另一路送入IR2110S的关断端(SD端)。当IR2110S的SD端接收到信号后,停止驱动隔离,则不再输出SPWM波形。有效的保护的电路。设计的电路如图3-12所示。3-12 输出保护电路原理图系统输入的电压为直流的12V,输出为交流220V,而系统内各芯片工作电压为直流5V。因此需要设计一个直流5V的产生电路,作为芯片的电源使用。本设计采用的方案为将输入的12V直流电压经过7805三端稳压集成电路,芯片输出稳定的直流5V电源。7805包含三条引脚,分别是输入、输出端和接地端。因此,所组成的稳压电路也十分简单,仅需配置几个滤波电容,便可以组成一个稳压电路。芯片内部已经集成了过流、过

27、热的保护电路。设计的稳压电路如图3-13所示。3-13 直流5V电源原理图3.6显示与报警模块3.6.1液晶显示本设计采用的液晶显示是12832液晶模块。常见的液晶模块的驱动方式有三种,分别为静态驱动、单矩阵驱动和主动矩阵驱动。矩阵驱动系统包括行驱动器,列寄存器,偏压电路,电源等电路。行寄存器在内部的数据传输为串行方式,列寄存器有两种数据传输方式,一种是单一方向传输,一种是双向数据传输。12832液晶模块引脚定义如表3-2所示。表3-2 LCD12831管脚 引脚名称功能说明1VO亮度调整,外部接电阻2VR亮度调整,外部接电阻3GND地4VCC电源5NC保留端6RS(CS)并行:选择寄存器;串

28、行:数据寄存器片选端7RW(SID)并行:读写控制器;串行:数据输入端8E(SCLK)并行:读写数据起始端;串行:输入脉冲9D0数据0位,仅在并行有效10D1数据1位,仅在并行有效11D2数据2位,仅在并行有效12D3数据3位,仅在并行有效13D4数据4位,仅在并行有效14D5数据5位,仅在并行有效15D6数据6位,仅在并行有效16D7数据7位,仅在并行有效17PSB控制信号,0为串行,1为并行18RST低有效的复位信号19LK液晶内部背光源负极20LA液晶内部背光源正极为了节约管脚的使用,简化电路连接,本次设计采用的是串行口连接。当PSB引脚连接低电平时,液晶进入串行工作模式。在串行工作模式

29、下,根据同步时钟线SCLK和串行数据线SID配合完成数据的发送与接收。设计的电路如图3-14所示。图3-14 液晶显示模块原理图3.6.2蜂鸣器报警当输入电压过高或过低时,会通过蜂鸣器产生蜂鸣声,蜂鸣器的电路设计如图3-15所示。图3-15 蜂鸣器电路原理图第四章 系统的软件设计硬件是一个设计的身体,而软件则是一个设计的灵魂。两者缺一不可。因此,对系统的软件设计也很重要。系统的软件设计步骤有三个,一是选择开发环境的,即程序的编写、调试、编译等操作的环境与软件;二是各功能模块程序的设计;三是最终的程序调试,以实现要求的功能。开发环境介绍本次设计采用Keil uVision3软件,由于Keil u

30、Vision3的库中并不包含STC系列的单片机,但STC与51系列单片机的内部核心基本相同。因此,可以选择51的内核,在程序中加入STC12C5410AD单片机宏定义的头文件即可使用。创建的步骤如下。首先需要新建一个文件夹,用于存放程序的工程文件。新建文件夹完成后启动Keil uVision3软件。之后新建一个工程,并将该工程保存在新建的文件夹中。创建工程的步骤为,点击Project下的New Project菜单,弹出一个对话框。在对话框中选择保存该工程的文件夹和工程名。将该工程保存在新建的文件夹中。点击保存按钮即可。如图4-1所示图4-1 新建工程点击保存按钮后,需要选择单片机型号。选择At

31、mel的AT89C51即可。选择之后,点击确定按钮。如图4-2所示。图4-2 选择型号我们不需要仿真的配置文件,因此,在弹出的是否添加仿真配置文件的对话框中,选择“NO”。如图4-3所示。图4-3 添加仿真配置一个新的工程创建成功。工程创建完成后,需要新建一个程序文件。点击File下的New菜单,在软件中弹出一个新的文本输入窗口。默认文件名为Text1,在该窗口中可以输入源程序。如图图4-4所示。图4-4 新建程序文件 源程序输入完成后,点击保存。将该程序文件保存在工程的目录下。文件名需要加上扩展名,本次设计的程序设计采用C语言编写,因此,将程序文件命名为main.c。程序文件虽然创建保存成功

32、,但并没有与工程关联,加入到工程中。因此,需要将程序文件加入到工程中。右击左侧目录树中的“Source Group1”,在弹出的下拉菜单中选择“Add file to Group”,出现一个对话框,双击创建的main.c即可。如图4-5所示。图4-5 添加文件程序文件添加完成后,需要将编写的程序编译成单片机能识别的hex文件。右击“Target 1”,在弹出的菜单中选择“Options for Target Target1”。选择“output”选项卡,将“create HEX file”项打钩,点确定。便会在编译时,在工程文件的目录中产生hex文件。编译的快捷键是F7。每次修改程序后,按F7

33、,都将重新产生一个hex文件,新hex文件将覆盖旧文件。编译完成后,在软件的下方状态栏中可以查看该程序生成的代码大小。4.2 SPWM程序设计单片机STC12C5410AD自带四路可编程计数器阵列PCA/PWM模块电路,只需配置相关的寄存器便可产生标准的PWM波形。SPWM也是PWM的一种特殊形式,是指在PWM的基础上方式有所改变,I相等但不同大小,脉冲的大小按照一定的规律变化,输出结果即为正弦波。STC12C5410AD单片机PCA模块输出管脚如表4-1所示。表4-1 PCA/PWM模块管脚对应表管脚第一功能第二功能15PCA0/PWM09PCA1/PWM126PCA2/PWM210PCA3

34、/PWM3STC12C5410AD内部的PCA模块是一个16位的特殊功能的定时器,连接了四个捕获/比较模块。PCA定时器决定了这四个模块的时间基准。PCA模式寄存器CMOD的位定义如表4-2所示。表4-2 CMOD寄存器定义名称地址Bit7Bi6Bit5Bit4Bit3Bit2Bit1Bit0CMOD0XD9CIDLCPS1CPS0ECF表中的CPSl和CPS0位是PCA计数脉冲选择位。两个位的决定了PCA脉冲源输入。PCA计数脉冲选择如表4-3所示。表4-3 PCA计数脉冲选择表CPS1CPS0脉冲源00系统时钟/1201系统时钟/210T0的溢出脉冲11ECI外部时钟PCA/PWM模块共有

35、四种工作模式,分别为:上升/下降沿捕获模式,PWM脉冲输出模式,软件定时器模式,高速输出模式。SPWM生成主要工作PWM脉冲输出模式。 PWM输出模式的工作原理如下:当工作在PWM脉冲输出模式时。CL的值小于EPCn时,输出为低。当CL的值大于或等于EPCn时,输出为高。当CL的值为FF时,继续增加将产生溢出,溢出时变为0,此时EPCn的值装载到EPCnL和CCAPnL中。从而实现了在更新PWM时,不会产生干扰。CCAPMn寄存器中的PWMn位和ECOMn位置位时可以使能PWM模式。本次设计采用的SPWM波形通过软件中断的形式来实现,综合使用了PWM模式和16位定时器模式。流程图如图4-6所示

36、。图4-6 中断服务程序流程图设计的中断服务子程序如下。void int_time0(void) interrupt 1TH0=0XFE;/重装初值TL0=0X09;/重装计数值/TR0=1;/使能定时器CCAP0H=pwm0;/装入第一路脉冲宽度值/CCAP1H=pwm1; /装入第二路脉冲宽度值/CCAP2H=pwm2; /装入第三路脉冲宽度值/ CCAP3H=pwm3; /装入第四路脉冲宽度值/ k+;/中断次累计 if(k159)/正半周/i=k;/重新赋值pwm_1=m*pwmi/216;/计算宽度值 pwm1=(unsigned char)pwm_1;/转换为8位数值pwm2=0;

37、 /清0 else if(k=317)j=k-159;pwm1=0;/清0pwm_2=m*pwmj/216; /计算宽度值 pwm2=(unsigned char)pwm_2; /转换为8位数值pwm1=0; /清0 else/周期结束/k=0;/清0i=k; /清0pwm_1=m*pwmi/216;pwm1=(unsigned char)pwm_1; pwm2=0;voltage_regulation();/占空比调整实现稳压v_bat=ad(AD_BATTERY)*400/256; /取得电压的值i_out=ad(AD_IOUT)*i_c/256; /取得电流 STC12C5410AD产生

38、SPWM波形的基本原理是将载波周期值赋给CCAP1H和CCAP1L。PCA定时器的CH与CCAP1H,CL与CCAL1L比较,两者相等时,产生中断。在中断的服务程序中,将下一个SPWM波要求的脉冲宽度装载到CCAPOL中。SPWM波形脉宽示意图如图4-7所示。图4-7 SPWM波形脉宽示意图脉冲宽度值需要通过MATLAB来计算出220V,50Hz交流电的正弦表,本次设计选出了159个典型值,存入数组中。选出的正弦数组如下。unsigned char code pwm159=0,4,8,13,17,21,25,29,34,38,42,46,50,54,59,63,67,71,75,79,83,8

39、6,90,94,98,102,105,109,113,116,120,123,127,130,134,137,140,143,147,150,153,156,159,161,164,167,170,172,175,177,179,182,184,186,188,190,192,194,196,198,199,201,203,204,205,207,208,209,210,211,212,213,213,214,214,215,215,216,216,216,216,216,216,215,215,214,214,213,213,212,211,210,209,208,207,205,204,2

40、03,201,199,198,196,194,192,190,188,186,184,182,179,177,175,172,170,167,164,161,159,156,153,150,147,143,140,137,134,130,127,123,120,116,113,109,105,102,98,94,90,86,83,79,75,71,67,63,59,54,50,46,42,38,34,29,25,21,17,13,8,4;脉冲宽度值通过正弦表格的形式存入程序中的数组中,在每个载波周期,输入对应数值。设计如下。将PCA模块0的工作模式通过寄存器定义为8位的PWM模式。16位计数/

41、定时器CH、CL清0。PCA模式输助寄存器清0。PCA比较/捕获模块寄存CCAPMn定义为使能比较模式,匹配中断设为允许。将脉冲宽度值sinn装入CCAPnH。开PCA模块中断及总中断。启动PCA计数。直到最大数值N,完成循环。经过以上的步骤后,在对应的PWM引脚上不断的产生随着正弦规律变化的脉冲宽度,显示出来的便为准确的SPWM波形。寄存器定义的实现程序如下。void pwm_init() CMOD=0X02; /该指令为选择PCA计数器的工作频率输入源/ CCON=0X00; /*标志位清零*/ CL=0X00; /*寄存器低8位置零*/ CH=0X00;/*寄存器高8位置零*/ CCAP

42、M0=0X42; /设置第一路PWM口/ CCAPM1=0X42; /设置第二路PWM口/ CCAPM2=0X42; /设置第三路PWM口/ CCAPM3=0X42; /设置第四路PWM口/ CCAP0L=0X00; /清空第一路的比较/捕捉寄存器的低8位/ CCAP0H=0X00; /清空第一路的比较/捕捉寄存器的高8位/ CCAP1L=0X00; /清空第二路的比较/捕捉寄存器的低8位/ CCAP1H=0X00; /清空第二路的比较/捕捉寄存器的高8位/ CCAP2L=0X00; /清空第三路的比较/捕捉寄存器的低8位/ CCAP2H=0X00; /清空第三路的比较/捕捉寄存器的高8位/

43、CCAP3L=0X00; /清空第四路的比较/捕捉寄存器的低8位/ CCAP3H=0X00; /清空第四路的比较/捕捉寄存器的高8位/ CR=1;/使能PCA计数器/本设计采用的12832液晶屏的控制器为台湾矽创公司生产的ST7920。具有较强的控制显示功能。在程序编写时,仅需根据指令集输入对应的指令便可实现对液晶屏显示的控制。常用如下命令。(1)设定DDRAMDDRAM是指Display Data RAM,可以设置显示地址计数器。第一行地址为80H到87H,第二行的地址为90H到97H。(2)设定CGRAM即输入要显示的字符的ASCII码。(3)设定进入点当数据出现时,位地址增减用光标的移动

44、来观察。(4)显示状态(5)读取忙碌标志读取忙碌标志位BF,可以查看上条指令是否完成。返回值包含了位地址计数器的数据。在每次发送指令前,都要判断忙碌标志位。在对液晶屏进行显示之前要根据这些常用指令对液晶进行初始化操作。初始化的程序流程如图4-8所示。图4-8 液晶初始化流程图液晶屏intial程序如下。void init_lcd (void)/LCD的初始化程序 psb=0;/置为串行工作模式 wr_lcd (comm,0 x30); wr_lcd (comm,0 x01);/*清屏命令*/ delay (100);/延时 wr_lcd (comm,0 x06); /*设置光标的移动方向为向右

45、*/ wr_lcd (comm,0 x0c); 当片选端CS=0时,同步时钟线SCLK无效,数据无法输入。当片选端CS=1时,同步时钟线SCLK有效。可以正常的输入数据。CS从0跳变到1时,将要传输的一组串行数据计数重新定义第一位。12832液晶模块的串行工作模式的时序如图4-9所示。图4-9 LCD 12832串行模式时序图单片机向液晶模块发送一个字节的数据时,一共需要24个有效的时钟脉冲。首先传输5位全是1的同步位元字串,实现的功能是重置传输计数以及同步串行传输。后两个位元为RW和RS。RW代表了数据的传输方向,即控制读数据或写数据。RS代表了数据与指令的选择,即本次发送的命令为数据或指令

46、。第8位位元为固定的0。在前8位数据传输完成后,将传输一个字节的命令。一个有效的一字节命令分两将传输,第一次传输命令的高4位,低4位置0,组成一个字节传输。第二次传输命令的低4位,低4位置0,组成一个字节传输。将这24位数据传输完成后,收发数据。再利用该时序图设计如下程序。void wr_lcd (uchar dat_comm,uchar content)/液晶屏发送数据子程序/两个参变量,第一个定义了命令是数据还是指令,第二个为具体的内容uchar a,i,j;/定义临时变量delay (50);/延时a=content;/赋值命令的内容cs=1;/置CS为1sclk=0;/置SCLK为0s

47、id=1;/置SID为1,前5个1为同步元字串for(i=0;i5;i+)/发送5次时钟sclk=1;/将时钟线置1sclk=0;/将时钟线置0/产生了一个下降沿,即为一个有效的时钟脉冲sid=0;/置SID为0,即为写指令sclk=1;/置SCLK为1sclk=0;/置SCLK为0,产生一个时钟脉冲if(dat_comm)/判断是指令还是数据sid=1; /如果1,则为数据,将sid置1elsesid=0; /如果0,则为命令,将sid置0sclk=1; /置SCLK为1sclk=0; /置SCLK为0,产生一个时钟脉冲sid=0;/传输的第8位为0sclk=1; /置SCLK为1sclk=

48、0; /置SCLK为0,产生一个时钟脉冲for(j=0;j3;j+)/传输后两个字节,for(i=0;i4;i+)/将命令拆分 a=a1;/将数据移位sid=CY;/得到数据的溢出位,进行传输sclk=1; /置SCLK为1sclk=0; /置SCLK为0,产生一个时钟脉冲sid=0; /将后两个字节的低4位置0for(i=0;i4;i+)/输出低4位的0sclk=1; /置SCLK为1sclk=0; /置SCLK为0,产生一个时钟脉冲第五章 结束语本设计采用单片机STC12C5410AD控制的标准正弦波逆变电源。由于单片机的引入,使得输出的波形形状得到了保证。设计了液晶显示模块,可以显示输出

49、的电压、频率等参数。得益于单片机自带AD转换器和四路PWM模块,使得设计出的电路简单、可靠。拥有全方位的保护功能,可以方便的使用。调试时,采用一个12V的蓄电池作为输入,经过示波器十倍衰减后观察输出的波形,正弦波很标准。负载分别测试了白炽灯、小功率洗衣机、电视机等电器。均正常使用。带动感性负载时无方波逆变电源式“嗞嗞”响。经过测试,可带动负载为300W左右。由于电器在启动时产生的瞬间电流较大,调序的峰值输出功率在800W左右。达到了良好的转换效果。参考文献1 田闯,. HYPERLINK :/zhidao.baidu /search?word=%E7%9B%B4%E6%B5%81%E7%94%

50、B5%E6%BA%90&fr=qb_search_exp&ie=utf8 t _blank 直流电源屏电池单片机监测系统J. 西铁科技,2001,(1).2 HYPERLINK :/zhidao.baidu /search?word=%E6%9D%8E%E6%B5%B7%E6%B6%9B&fr=qb_search_exp&ie=utf8 t _blank 李海涛,. 关于如何提高单片机系统可靠性的探讨J. 宁夏机械,2005,(3).3 高彦波, HYPERLINK :/zhidao.baidu /search?word=%E6%9D%8E%E5%B2%A9&fr=qb_search_exp&

51、ie=utf8 t _blank 李岩,毕晓燕,. PC与单片机之间的远距离并行通讯卡J. 电站设备自 动化,2001,(3).4 HYPERLINK :/zhidao.baidu /search?word=%E6%9D%8E%E8%89%B3&fr=qb_search_exp&ie=utf8 t _blank 李艳红,. 单片机I/O口不宜用作直接驱动出口J. 电站设备自动化,2003,(2).5 彭同明, HYPERLINK :/zhidao.baidu /search?word=%E6%9D%A8%E5%B0%91%E5%8D%8E&fr=qb_search_exp&ie=utf8 t

52、_blank 杨少华,. “ HYPERLINK :/zhidao.baidu /search?word=%E5%8D%95%E7%89%87%E6%9C%BA%E5%8E%9F%E7%90%86%E5%8F%8A%E5%BA%94%E7%94%A8&fr=qb_search_exp&ie=utf8 t _blank 单片机原理及应用” HYPERLINK :/zhidao.baidu /search?word=%E8%AF%BE%E7%A8%8B%E6%94%B9%E9%9D%A9&fr=qb_search_exp&ie=utf8 t _blank 课程改革的分析J. HYPERLINK :

53、/zhidao.baidu /search?word=%E6%AD%A6%E6%B1%89%E7%94%B5%E5%8A%9B%E8%81%8C%E4%B8%9A%E6%8A%80%E6%9C%AF%E5%AD%A6%E9%99%A2&fr=qb_search_exp&ie=utf8 t _blank 武汉电力职业技术学院学报,2004,(1).6 HYPERLINK :/zhidao.baidu /search?word=%E5%AE%8B%E9%9D%92&fr=qb_search_exp&ie=utf8 t _blank 宋青松, HYPERLINK :/zhidao.baidu /se

54、arch?word=%E5%BC%A0%E6%97%AD%E4%B8%9C&fr=qb_search_exp&ie=utf8 t _blank 张旭东, HYPERLINK :/zhidao.baidu /search?word=%E7%8E%8B%E7%AB%8B&fr=qb_search_exp&ie=utf8 t _blank 王立贤,眭众国,. MCS96系列单片机与IBM-PC系列微机之间通讯 的实现J. 电站设备自动化,2001,(1).7 HYPERLINK :/zhidao.baidu /search?word=%E6%9D%8E%E5%B9%BF&fr=qb_search_e

55、xp&ie=utf8 t _blank 李广弟等.单片机基础M.北京航空航天出版社,2001.8 HYPERLINK :/zhidao.baidu /search?word=%E7%8E%8B%E4%B8%9C%E5%B3%B0&fr=qb_search_exp&ie=utf8 t _blank 王东峰等.单片机C语言应用100例M. HYPERLINK :/zhidao.baidu /search?word=%E7%94%B5%E5%AD%90%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE&fr=qb_search_exp&ie=utf8 t _b

56、lank 电子工业出版社,2009.9 HYPERLINK :/zhidao.baidu /search?word=%E5%8D%95%E7%89%87%E6%9C%BA%E5%8E%9F%E7%90%86%E5%8F%8A%E5%BA%94%E7%94%A8&fr=qb_search_exp&ie=utf8 t _blank 单片机原理及应用M. HYPERLINK :/zhidao.baidu /search?word=%E5%8C%97%E4%BA%AC%E8%88%AA%E7%A9%BA%E8%88%AA%E5%A4%A9%E5%A4%A7%E5%AD%A6&fr=qb_search_

57、exp&ie=utf8 t _blank 北京航空航天大学出版社,2010.10 刘守义等.单片机技术基础M. HYPERLINK :/zhidao.baidu /search?word=%E8%A5%BF%E5%AE%89%E7%94%B5%E5%AD%90%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6&fr=qb_search_exp&ie=utf8 t _blank 西安电子科技大学出版社,2007.11 HYPERLINK :/zhidao.baidu /search?word=51%E5%8D%95%E7%89%87%E6%9C%BA&fr=qb_searc

58、h_exp&ie=utf8 t _blank 51单片机典型模块设计与应用M. HYPERLINK :/zhidao.baidu /search?word=%E4%BA%BA%E6%B0%91%E9%82%AE%E7%94%B5%E5%87%BA%E7%89%88%E7%A4%BE&fr=qb_search_exp&ie=utf8 t _blank 人民邮电出版社,2007.12 李平等.单片机入门与开发M. HYPERLINK :/zhidao.baidu /search?word=%E6%9C%BA%E6%A2%B0%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%

59、E7%A4%BE&fr=qb_search_exp&ie=utf8 t _blank 机械工业出版社,2008.致谢经过半年多的努力,本设计终于顺利的完成。在此,首先感谢我的导师对我的培养、悉心指导和关心。从选题到帮助解决实际遇到的问题,从做论文的经验到查找资料的方法,从硬件的设计到后期论文的审阅,导师都投入了很大的心血。同时,导师兢兢业业的精神也深深感染了我,教会了我人生的真谛,让我少了些浮躁、多了些踏实。感谢在大学里陪伴我成长的老师,教诲了我很多的知识。同时也要感谢所有给过我指导和交流的同学。经过这次设计,对即将工作的我,有了很大的作用,让我在以后的工作保持认真的态度,增加了一定的设计经验

60、。附录一系统原理图附录二系统源程序#include STC12C5410AD.H#include intrins.h#include sidlib.h#include math.h#include absacc.h#define AD_FEEDBACK 1#define x1 0 x80#define x2 0 x88#define AD_BATTERY 0 #define AD_IOUT 2 #define y 0 x80#define mingling 0#define shuju 1#define NONE_PARITY 0#define ODD_PARITY 1#define EVEN

温馨提示

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

评论

0/150

提交评论