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

下载本文档

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

文档简介

本科生毕业设计说明书论文题目基于单片机的正弦波逆变电源设计年月日摘要本次设计是基于单片机STC而设计的纯正弦波逆变电源。额定输入U12V的直流电,输出为50HZ,220V的交流电。额定输出功率为300W。设计了全方位的保护电路。包含了可以根据温度来控制散热风扇的开启。实现了输入低压、过压的关断功能。当输入U过低时,逆变现象停止,这样可以防止蓄电池的损坏。当输入U过高时,停止逆变,可以防止损坏芯片。拥有输入防反接功能,当输入正负极接错时,关断输入与后级电路的连接,不会烧坏芯片或蓄电池。采用了一个液晶屏来显示输出的电压,输出频率等信息。采用一对发光二极管来指示工作状态。采用了一个蜂鸣器,当产生错误时,发出蜂鸣报警。输出的交流电为标准的正弦波,而不是方波或修正波,可以实现更宽范围的带负载能力。根据实验分析,最终转换效率达到85以上,输出结果稳定,达到了理想的实验效果。关键词单片机,逆变电源,正弦波,反接保护ABSTRACTTHEDESIGNISBASEDONSTCMICROCONTROLLERDESIGNEDFORPURESINEWAVEINVERTERRATEDINPUTVOLTAGEOF12VDC,OUTPUTIS50HZ,220VACRATEDOUTPUTPOWEROF300WIDESIGNEDAFULLRANGEOFPROTECTIONCIRCUITSITCANBEINCLUDEDTOCONTROLTHETEMPERATUREONTHECOOLINGFANACHIEVEAINPUTVOLTAGE,OVERVOLTAGESHUTDOWNFUNCTIONWHENTHEINPUTVOLTAGEISTOOLOW,THEINVERTERISSTOPPED,TOPREVENTDAMAGETOTHEBATTERY,WHENTHEINPUTVOLTAGEISTOOHIGH,THEINVERTERISSTOPPEDTOPREVENTDAMAGETOTHECHIPHASTHEINPUTANTIREVERSEFUNCTIONWHENTHEINPUTISNEGATIVETHENTHEWRONGTIME,ANDAFTERTHESHUTDOWNINPUTSTAGECIRCUITCONNECTIONSWILLNOTBURNCHIPSORBATTERIESITUSESALIQUIDCRYSTALSCREENTODISPLAYTHEOUTPUTVOLTAGE,OUTPUTFREQUENCYANDOTHERINFORMATIONITUSESTWOLIGHTEMITTINGDIODESTOINDICATETHEOPERATINGSTATUSITUSESABUZZERWHENANERROROCCURS,THEALARMBEEPSTHESTANDARDACOUTPUTSINEWAVE,RATHERTHANASQUAREWAVEORMODIFIEDWAVE,AWIDERRANGECANBEACHIEVEDWITHALOADCAPACITYACCORDINGTOTHETEST,THECONVERSIONEFFICIENCYOFMORETHAN85,STABLEOUTPUT,TOACHIEVEAGOODEXPERIMENTALRESULTKEYWORDSMCU,INVERTER,SINEWAVE,REVERSEPOLARITYPROTECTION目录摘要IABSTRACTII第一章绪论111系统研究的背景112系统研究的意义2第二章系统的工作原理与结构321系统的工作原理322系统的硬件结构623系统的软件设计7第三章系统的硬件设计831主控制器832DCDC模块9321PWM脉冲产生电路9322变压器的设计10333输出整流电路的设计1233DCAC模块12331SPWM波驱动隔离13332开关电路的设计14333LC滤波电路设计1534保护模块16341温度保护16342输入保护16343输出保护1735直流5V电路设计1836显示与报警模块18361液晶显示18362蜂鸣器报警20第四章系统的软件设计2141开发环境介绍2142SPWM程序设计2343液晶驱动程序设计28第五章结束语32参考文献33致谢34附录一系统原理图35附录二系统源程序36第一章绪论11系统研究的背景逆变电源是指将直流电源转换为交流电源的的装置。随着光伏发光的推广,汽车和车载电器数量的增加,UPS的广泛应用,逆变电源的应用场合也越来越多,成了电力电子技术中不可缺少的部件。而随着电子技术的发展,逆变电源也有一个高速发展的历程。最早的逆变系统采用的是,通过将直流电源供给直流电动机,直流电机通过机械传动带动交流发电机,来完成直交流的转换。这种转换方式占用空间大,重量大,产生一定的噪声,而且效率十分低下。到二十世纪六、七十年代,晶闸管的问世使得逆变电源的技术得到了发展。逆变电源开始广泛使用晶闸管来作为主要器件,与传统的机械式转换相比,效率明显提高。但缺点也十分明显,转换的波形为方波,而不是正弦波,无法带动电感类负载。限于晶闸管的功率,电源的输出功率较小。进入八十年代以后,电子元件的种类也越来越多,诞生了功率场效应管、MOS管、可关断晶闸管、电力用晶体管、绝缘栅极晶体管等类型的功率型器件。这些器件的出现为逆变电源技术的高速发展奠定了坚实的基础。使得逆变电源从容量到频率等参数越来越高,占用的体积减小,逆变转换效率提高,各种品质指标也进一步提升。进入21世纪以后,随着微电子技术的发展,逆变电源在设计上,也渐渐使用微电子元件。得益于微电子元件的精密程度,逆变电源的输出的稳定性,波形的精确度等都得到了保证。目前的逆变电源按照输出波形可分为三种。第一种是方波逆变电源。此电源结构简单,转换效率较高,技术成熟。不足的是变压器和滤波器的体积、重量较大,工作的噪音较大。而由于输出波形是方波,上升和下降是突变的,当负载为感性负载时,由于电感对储能特性,会产生尖峰脉冲高压。造成负载或电源的损坏。第二种是修正波逆变电源。输出波形是将多个方波叠加而成的修正正弦波。大大减小了输出波形的谐波含量。与方波逆变电电源相比,性能得到了很大的提升。第三种是纯正弦波逆变电源。其输出波形为谐波含量很小的正弦波。与市电相比波形基本一致。可以带动所有类型的负载。但缺点是技术不够成熟。成本较高。12系统研究的意义一方面目前私家车已经走进千家万户,而车内可使用电器却因为电源受到诸多的限制。汽车的携带的蓄电池输出直流12V,而大部分电器的额定电压是市电交流220V。而目前常见的车载逆变电源有诸多缺点。如无输入低压保护,超额使用后,导致汽车无法启动。没有设计显示屏,用户无法查看输出参数。没有配置短路保护,过载保护等。另一方面随着太阳能发光的大力推广,逆变电源在太阳能发光的过程中有着不可缺少的作用。太阳能发光是将光能转换为电能存储在蓄电池中。而人们使用的家电无法直接通过蓄电池供电。必须通过逆变电源将直流电转换为交流电。随着逆变电源应用的场合越来越多,对逆变电源技术的发展要求也越来越高。目前逆变电源的设计多采用纯硬件设计的分立式元件组成的结构。随着人们使用的电器数量和种类的增加,对逆变电源的波形、容量等参数的要求也越高,使得设计的逆变电源的复杂度也越来越高,采用的元件也越来越多。而由于元件数量过多,造成的电源稳定性较差,往往由于某一个元件的质量差而导致整个系统的损坏。而且传统逆变电源基于模拟元件的设计,没有可编程的能力,使得逆变电源的可扩展能力差,没有显示功能等问题。因此针对单片机来作为逆变电源主控制芯片来研究成为当今的热点。第二章系统的工作原理与结构21系统的工作原理逆变电源是一种将低压直流电转换为高压交流电的过程。一个直流电源对一个负载的两端轮流供电时便在负载的两端形成一个交流电的过程。工作模型如图21所示。图21逆变电源工作模型当图中的S1、S4闭合,S2、S3断开时。电流从负载的左侧流向右侧。负载两端的电压U0是一个正电压。电流方向和波形如图22所示。图22S1、S4闭合时的电流方向和波形当图中的S2、S3闭合,S1、S4断开时。电流从负载的右侧流向左侧。负载两端的电压U0是一个负电压。电流方向和波形如图23所示。图23S2、S3闭合时的电流方向和波形当开关开始和闭合的速度很快时,负载两端的电压便形成了一个交流电的过程。实际应用中,只要将图中的开关,改为可控的开关器件,这些开关器件组成的电路称为全桥。全桥逆变电源主电路结构如图24所示。图24全桥逆变电源结构图V1、V2、V3和四个开关管以及VD1、VD2、VD3和VD4四个续流二极管构成了左右两个桥臂。在任何时刻,左右两个桥臂的上下两个开关器件不可以同时打开,否则输入电源将短路。四个开关器件也不可同时关断,否则输出出现不可控的状态。这些开关器件的控制信号可以采用周期调制信号。而这些周期信号经过正弦脉宽调制,称为SPWM调制,电路结构称为SPWM全桥结构。典型的SPWM调制方式有如下两种。单极性调制是指H桥输出包括两个相反的电平,输出载波F1与开关工作F2相同。单极性调制的波形图如图25所示。图25单极性调制波形图在UR和UC的相交的时刻控制开关管的导通与关闭,UOF表示UO的基波分量。在波形UR的正半周,V1的状态为通,V2的状态为断。在URUC时,V3的状态为断,V4的状态为通。此时的UOUD。在URUC时,V3的状态为通,V4的状态为断。此时的UO0。在URUC时,开关管V1和V4的状态为通,开关管V2和V3状态为断。此时的UOUD。在UR2QG/VCC1015。经过计算,本次设计的自举电容为100UF/35V。自举二极管是组成自举电路的重要的自举器件,主要作用是阻断直流干线上的高压。自举二极管所需承受的电流是栅极电荷与开关频率之积。本次设计采用的自举二极管为恢复二极管FM1S。该二极管拥有较小的反向漏电流,可以有效的减小电荷损失。332开关电路的设计本次设计中开关管的输入电压在400V左右,输出功率在300W以上。因此必须使用功率足够的功率开关管。本次设计采用的是IRF840作为开关管。IRF840的最大漏源电压在500V,漏极电流为8A左右,足以满足本次设计的要求。设计的电路如图37所示。RF9I84017K32DNHVO_56LC/WG图37开关电路原理图开关管的控制信号为IR2110S隔离后的SPWM正弦波,输入电压为400V左右的直流电,经过SPWM波形调制后,输出220V,50HZ的正弦波交流电。经过后级的LC滤波电路后,使输出波形的更加纯净。333LC滤波电路设计为了滤除开关管输出的交流电中高频成分,以及增强电源的EMI特性。设计了一个LC滤波电路。电路原理图如图38所示。PFTAP图38LC滤波电路L1采用的是磁环绕制导线而成的差模电感。磁环为直径40MM的铁硅铝材料制作。采用118的线在磁环上绕90圈左右,使用的线长在45米左右。磁环的导磁率为125,电感量为15MH,导磁率为60。绕制时分两层,第一层为45圈,内圈的线紧密绕制,外圈线的每圈留有一个空隙。第二层为45圈,内圈叠在第一层线上,外圈嵌在第一层的空隙中。34保护模块341温度保护设计的电路如图39所示。FANS1KD970G2V图39散热风扇电路设计本设计有两路温度控制电路。一个是当温度超过一定值时开启散热风扇。另一个是作为DCDC模块的温度补偿模块,当温度过高时,停止前级DCDC的转换。散热风扇的控制采用的是热保护器KSD9700。KSD9700是由两片不同材料的金属片组成的。正常温度情况下,两个金属片断开,相当于开关断开。风扇不工作。当金属片感知温度超过40摄氏度时,两个金属片粘合,相当于开关闭合,此时风扇开始工作。当温度恢复正常时,两个金属片又重新断开。DCDC模块的温度补偿传感器采用NTC热敏电阻。热敏电阻接入DCDC模块中PWM脉冲产生芯片SG3525的关断端。当温度过高时,SG3525停止工作。342输入保护输入的保护主要有三部分。一是防止输入反接。二是防止输入电压过低。因此,设计了一避免反接电路。如果电路接反时,立刻切断电源的输入,防止损坏后续电路。设计的电路如图310所示。RF1I3205IZCGND_V图310反接保护原理图当输入电源正确接入时,MOS管体二极管正向导通,MOS管的栅极电压大于源极电压,因此MOS管导通。后级负载正常工作。当输入电源接错时,二极管反射截止,MOS的截止,电路中没有电流流过,切断了后级负载与电源的连接。电路中RI1与电容CI1为缓冲电路,防止上电瞬间电压过高损坏MOS管。Z1为稳压管,防止MOS管的栅极和源极两端电压过高,损坏MOS管。输入电压保护采用一个LM324运放组成的电压比较器。当输入电压过高或过低时,关断DCDC模块中PWM的产生,即可停止转换。同时,输出一个信号控制蜂鸣器发出蜂鸣声报警。设计电路如图311。OP46789LMKSHUTKB图311输入电压保护电路原理图343输出保护输出保护的设计采用的是从开关管的输出部分取样,反馈到一个LM393组成的电压比较器,一路送入单片机的AD端,经过AD转换后修正输出。另一路送入IR2110S的关断端SD端。当IR2110S的SD端接收到信号后,停止驱动隔离,则不再输出SPWM波形。有效的保护的电路。设计的电路如图312所示。1KR45OUTINA23GDB67VC8LM90UF_SRE312输出保护电路原理图35直流5V电路设计系统输入的电压为直流的12V,输出为交流220V,而系统内各芯片工作电压为直流5V。因此需要设计一个直流5V的产生电路,作为芯片的电源使用。本设计采用的方案为将输入的12V直流电压经过7805三端稳压集成电路,芯片输出稳定的直流5V电源。7805包含三条引脚,分别是输入、输出端和接地端。因此,所组成的稳压电路也十分简单,仅需配置几个滤波电容,便可以组成一个稳压电路。芯片内部已经集成了过流、过热的保护电路。设计的稳压电路如图313所示。F313直流5V电源原理图36显示与报警模块361液晶显示本设计采用的液晶显示是12832液晶模块。常见的液晶模块的驱动方式有三种,分别为静态驱动、单矩阵驱动和主动矩阵驱动。矩阵驱动系统包括行驱动器,列寄存器,偏压电路,电源等电路。行寄存器在内部的数据传输为串行方式,列寄存器有两种数据传输方式,一种是单一方向传输,一种是双向数据传输。12832液晶模块引脚定义如表32所示。表32LCD12831管脚引脚名称功能说明1VO亮度调整,外部接电阻2VR亮度调整,外部接电阻3GND地4VCC电源5NC保留端6RSCS并行选择寄存器;串行数据寄存器片选端7RWSID并行读写控制器;串行数据输入端8ESCLK并行读写数据起始端;串行输入脉冲9D0数据0位,仅在并行有效10D1数据1位,仅在并行有效11D2数据2位,仅在并行有效12D3数据3位,仅在并行有效13D4数据4位,仅在并行有效14D5数据5位,仅在并行有效15D6数据6位,仅在并行有效16D7数据7位,仅在并行有效17PSB控制信号,0为串行,1为并行18RST低有效的复位信号19LK液晶内部背光源负极20LA液晶内部背光源正极为了节约管脚的使用,简化电路连接,本次设计采用的是串行口连接。当PSB引脚连接低电平时,液晶进入串行工作模式。在串行工作模式下,根据同步时钟线SCLK和串行数据线SID配合完成数据的发送与接收。设计的电路如图314所示。12345678LCDGNVS_EIKB图314液晶显示模块原理图362蜂鸣器报警当输入电压过高或过低时,会通过蜂鸣器产生蜂鸣声,蜂鸣器的电路设计如图315所示。UQ0RZ图315蜂鸣器电路原理图第四章系统的软件设计硬件是一个设计的身体,而软件则是一个设计的灵魂。两者缺一不可。因此,对系统的软件设计也很重要。系统的软件设计步骤有三个,一是选择开发环境的,即程序的编写、调试、编译等操作的环境与软件;二是各功能模块程序的设计;三是最终的程序调试,以实现要求的功能。41开发环境介绍本次设计采用KEILUVISION3软件,由于KEILUVISION3的库中并不包含STC系列的单片机,但STC与51系列单片机的内部核心基本相同。因此,可以选择51的内核,在程序中加入STC12C5410AD单片机宏定义的头文件即可使用。创建的步骤如下。首先需要新建一个文件夹,用于存放程序的工程文件。新建文件夹完成后启动KEILUVISION3软件。之后新建一个工程,并将该工程保存在新建的文件夹中。创建工程的步骤为,点击PROJECT下的NEWPROJECT菜单,弹出一个对话框。在对话框中选择保存该工程的文件夹和工程名。将该工程保存在新建的文件夹中。点击保存按钮即可。如图41所示图41新建工程点击保存按钮后,需要选择单片机型号。选择ATMEL的AT89C51即可。选择之后,点击确定按钮。如图42所示。图42选择型号我们不需要仿真的配置文件,因此,在弹出的是否添加仿真配置文件的对话框中,选择“NO”。如图43所示。图43添加仿真配置一个新的工程创建成功。工程创建完成后,需要新建一个程序文件。点击FILE下的NEW菜单,在软件中弹出一个新的文本输入窗口。默认文件名为TEXT1,在该窗口中可以输入源程序。如图图44所示。图44新建程序文件源程序输入完成后,点击保存。将该程序文件保存在工程的目录下。文件名需要加上扩展名,本次设计的程序设计采用C语言编写,因此,将程序文件命名为MAINC。程序文件虽然创建保存成功,但并没有与工程关联,加入到工程中。因此,需要将程序文件加入到工程中。右击左侧目录树中的“SOURCEGROUP1”,在弹出的下拉菜单中选择“ADDFILETOGROUP”,出现一个对话框,双击创建的MAINC即可。如图45所示。图45添加文件程序文件添加完成后,需要将编写的程序编译成单片机能识别的HEX文件。右击“TARGET1”,在弹出的菜单中选择“OPTIONSFORTARGETTARGET1”。选择“OUTPUT”选项卡,将“CREATEHEXFILE”项打钩,点确定。便会在编译时,在工程文件的目录中产生HEX文件。编译的快捷键是F7。每次修改程序后,按F7,都将重新产生一个HEX文件,新HEX文件将覆盖旧文件。编译完成后,在软件的下方状态栏中可以查看该程序生成的代码大小。42SPWM程序设计单片机STC12C5410AD自带四路可编程计数器阵列PCA/PWM模块电路,只需配置相关的寄存器便可产生标准的PWM波形。SPWM也是PWM的一种特殊形式,是指在PWM的基础上方式有所改变,I相等但不同大小,脉冲的大小按照一定的规律变化,输出结果即为正弦波。STC12C5410AD单片机PCA模块输出管脚如表41所示。表41PCA/PWM模块管脚对应表管脚第一功能第二功能15P37PCA0/PWM09P35PCA1/PWM126P20PCA2/PWM210P24PCA3/PWM3STC12C5410AD内部的PCA模块是一个16位的特殊功能的定时器,连接了四个捕获/比较模块。PCA定时器决定了这四个模块的时间基准。PCA模式寄存器CMOD的位定义如表42所示。表42CMOD寄存器定义名称地址BIT7BI6BIT5BIT4BIT3BIT2BIT1BIT0CMOD0XD9CIDLCPS1CPS0ECF表中的CPSL和CPS0位是PCA计数脉冲选择位。两个位的决定了PCA脉冲源输入。PCA计数脉冲选择如表43所示。表43PCA计数脉冲选择表CPS1CPS0脉冲源00系统时钟/1201系统时钟/210T0的溢出脉冲11ECI外部时钟PCA/PWM模块共有四种工作模式,分别为上升/下降沿捕获模式,PWM脉冲输出模式,软件定时器模式,高速输出模式。SPWM生成主要工作PWM脉冲输出模式。PWM输出模式的工作原理如下当工作在PWM脉冲输出模式时。CL的值小于EPCN时,输出为低。当CL的值大于或等于EPCN时,输出为高。当CL的值为FF时,继续增加将产生溢出,溢出时变为0,此时EPCN的值装载到EPCNL和CCAPNL中。从而实现了在更新PWM时,不会产生干扰。CCAPMN寄存器中的PWMN位和ECOMN位置位时可以使能PWM模式。本次设计采用的SPWM波形通过软件中断的形式来实现,综合使用了PWM模式和16位定时器模式。流程图如图46所示。中断入口CF、CCF1位清0CCAP1重新赋值CH、CL清0中断次数加1中断次数为N中断次数清0脉宽值送入CCAP0HYN中断返回图46中断服务程序流程图设计的中断服务子程序如下。VOIDINT_TIME0VOIDINTERRUPT1TH00XFE/重装初值TL00X09/重装计数值/TR01/使能定时器CCAP0HPWM0/装入第一路脉冲宽度值/CCAP1HPWM1/装入第二路脉冲宽度值/CCAP2HPWM2/装入第三路脉冲宽度值/CCAP3HPWM3/装入第四路脉冲宽度值/K/中断次累计IFK159/正半周/IK/重新赋值PWM_1MPWMI/216/计算宽度值PWM1UNSIGNEDCHARPWM_1/转换为8位数值PWM20/清0ELSEIFK317JK159PWM10/清0PWM_2MPWMJ/216/计算宽度值PWM2UNSIGNEDCHARPWM_2/转换为8位数值PWM10/清0ELSE/周期结束/K0/清0IK/清0PWM_1MPWMI/216PWM1UNSIGNEDCHARPWM_1PWM20VOLTAGE_REGULATION/占空比调整实现稳压V_BATADAD_BATTERY400/256/取得电压的值I_OUTADAD_IOUTI_C/256/取得电流STC12C5410AD产生SPWM波形的基本原理是将载波周期值赋给CCAP1H和CCAP1L。PCA定时器的CH与CCAP1H,CL与CCAL1L比较,两者相等时,产生中断。在中断的服务程序中,将下一个SPWM波要求的脉冲宽度装载到CCAPOL中。SPWM波形脉宽示意图如图47所示。图47SPWM波形脉宽示意图脉冲宽度值需要通过MATLAB来计算出220V,50HZ交流电的正弦表,本次设计选出了159个典型值,存入数组中。选出的正弦数组如下。UNSIGNEDCHARCODEPWM1590,4,8,13,17,21,25,29,34,38,42,46,50,54,59,63,67,71,75,79,83,86,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,203,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脉冲宽度值通过正弦表格的形式存入程序中的数组中,在每个载波周期,输入对应数值。设计如下。1将PCA模块0的工作模式通过寄存器定义为8位的PWM模式。216位计数/定时器CH、CL清0。3PCA模式输助寄存器清0。4PCA比较/捕获模块寄存CCAPMN定义为使能比较模式,匹配中断设为允许。5将脉冲宽度值SINN装入CCAPNH。6开PCA模块中断及总中断。7启动PCA计数。8直到最大数值N,完成循环。经过以上的步骤后,在对应的PWM引脚上不断的产生随着正弦规律变化的脉冲宽度,显示出来的便为准确的SPWM波形。寄存器定义的实现程序如下。VOIDPWM_INITCMOD0X02/该指令为选择PCA计数器的工作频率输入源/CCON0X00/标志位清零/CL0X00/寄存器低8位置零/CH0X00/寄存器高8位置零/CCAPM00X42/设置第一路PWM口/CCAPM10X42/设置第二路PWM口/CCAPM20X42/设置第三路PWM口/CCAPM30X42/设置第四路PWM口/CCAP0L0X00/清空第一路的比较/捕捉寄存器的低8位/CCAP0H0X00/清空第一路的比较/捕捉寄存器的高8位/CCAP1L0X00/清空第二路的比较/捕捉寄存器的低8位/CCAP1H0X00/清空第二路的比较/捕捉寄存器的高8位/CCAP2L0X00/清空第三路的比较/捕捉寄存器的低8位/CCAP2H0X00/清空第三路的比较/捕捉寄存器的高8位/CCAP3L0X00/清空第四路的比较/捕捉寄存器的低8位/CCAP3H0X00/清空第四路的比较/捕捉寄存器的高8位/CR1/使能PCA计数器/43液晶驱动程序设计本设计采用的12832液晶屏的控制器为台湾矽创公司生产的ST7920。具有较强的控制显示功能。在程序编写时,仅需根据指令集输入对应的指令便可实现对液晶屏显示的控制。常用如下命令。1设定DDRAMDDRAM是指DISPLAYDATARAM,可以设置显示地址计数器。第一行地址为80H到87H,第二行的地址为90H到97H。2设定CGRAM即输入要显示的字符的ASCII码。3设定进入点当数据出现时,位地址增减用光标的移动来观察。4显示状态5读取忙碌标志读取忙碌标志位BF,可以查看上条指令是否完成。返回值包含了位地址计数器的数据。在每次发送指令前,都要判断忙碌标志位。在对液晶屏进行显示之前要根据这些常用指令对液晶进行初始化操作。初始化的程序流程如图48所示。上电初始化延时选择串行模式延时清除显示延时设定显示点初始化完成图48液晶初始化流程图液晶屏INTIAL程序如下。VOIDINIT_LCDVOID/LCD的初始化程序PSB0/置为串行工作模式WR_LCDCOMM,0X30WR_LCDCOMM,0X01/清屏命令/DELAY100/延时WR_LCDCOMM,0X06/设置光标的移动方向为向右/WR_LCDCOMM,0X0C当片选端CS0时,同步时钟线SCLK无效,数据无法输入。当片选端CS1时,同步时钟线SCLK有效。可以正常的输入数据。CS从0跳变到1时,将要传输的一组串行数据计数重新定义第一位。12832液晶模块的串行工作模式的时序如图49所示。图49LCD12832串行模式时序图单片机向液晶模块发送一个字节的数据时,一共需要24个有效的时钟脉冲。首先传输5位全是1的同步位元字串,实现的功能是重置传输计数以及同步串行传输。后两个位元为RW和RS。RW代表了数据的传输方向,即控制读数据或写数据。RS代表了数据与指令的选择,即本次发送的命令为数据或指令。第8位位元为固定的0。在前8位数据传输完成后,将传输一个字节的命令。一个有效的一字节命令分两将传输,第一次传输命令的高4位,低4位置0,组成一个字节传输。第二次传输命令的低4位,低4位置0,组成一个字节传输。将这24位数据传输完成后,收发数据。再利用该时序图设计如下程序。VOIDWR_LCDUCHARDAT_COMM,UCHARCONTENT/液晶屏发送数据子程序/两个参变量,第一个定义了命令是数据还是指令,第二个为具体的内容UCHARA,I,J/定义临时变量DELAY50/延时ACONTENT/赋值命令的内容CS1/置CS为1SCLK0/置SCLK为0SID1/置SID为1,前5个1为同步元字串FORI0I5I/发送5次时钟SCLK1/将时钟线置1SCLK0/将时钟线置0/产生了一个下降沿,即为一个有效的时钟脉冲SID0/置SID为0,即为写指令SCLK1/置SCLK为1SCLK0/置SCLK为0,产生一个时钟脉冲IFDAT_COMM/判断是指令还是数据SID1/如果1,则为数据,将SID置1ELSESID0/如果0,则为命令,将SID置0SCLK1/置SCLK为1SCLK0/置SCLK为0,产生一个时钟脉冲SID0/传输的第8位为0SCLK1/置SCLK为1SCLK0/置SCLK为0,产生一个时钟脉冲FORJ0J3J/传输后两个字节,FORI0I4I/将命令拆分AA1/将数据移位SIDCY/得到数据的溢出位,进行传输SCLK1/置SCLK为1SCLK0/置SCLK为0,产生一个时钟脉冲SID0/将后两个字节的低4位置0FORI0I4I/输出低4位的0SCLK1/置SCLK为1SCLK0/置SCLK为0,产生一个时钟脉冲第五章结束语本设计采用单片机STC12C5410AD控制的标准正弦波逆变电源。由于单片机的引入,使得输出的波形形状得到了保证。设计了液晶显示模块,可以显示输出的电压、频率等参数。得益于单片机自带AD转换器和四路PWM模块,使得设计出的电路简单、可靠。拥有全方位的保护功能,可以方便的使用。调试时,采用一个12V的蓄电池作为输入,经过示波器十倍衰减后观察输出的波形,正弦波很标准。负载分别测试了白炽灯、小功率洗衣机、电视机等电器。均正常使用。带动感性负载时无方波逆变电源式“嗞嗞”响。经过测试,可带动负载为300W左右。由于电器在启动时产生的瞬间电流较大,调序的峰值输出功率在800W左右。达到了良好的转换效果。参考文献1田闯,直流电源屏电池单片机监测系统J西铁科技,2001,12李海涛,关于如何提高单片机系统可靠性的探讨J宁夏机械,2005,33高彦波,李岩,毕晓燕,PC与单片机之间的远距离并行通讯卡J电站设备自动化,2001,34李艳红,单片机I/O口不宜用作直接驱动出口J电站设备自动化,2003,25彭同明,杨少华,“单片机原理及应用”课程改革的分析J武汉电力职业技术学院学报,2004,16宋青松,张旭东,王立贤,眭众国,MCS96系列单片机与IBMPC系列微机之间通讯的实现J电站设备自动化,2001,17李广弟等单片机基础M北京航空航天出版社,20018王东峰等单片机C语言应用100例M电子工业出版社,20099陈海宴51单片机原理及应用M北京航空航天大学出版社,201010刘守义等单片机技术基础M西安电子科技大学出版社,200711钟富昭等8051单片机典型模块设计与应用M人民邮电出版社,200712李平等单片机入门与开发M机械工业出版社,2008致谢经过半年多的努力,本设计终于顺利的完成。在此,首先感谢我的导师对我的培养、悉心指导和关心。从选题到帮助解决实际遇到的问题,从做论文的经验到查找资料的方法,从硬件的设计到后期论文的审阅,导师都投入了很大的心血。同时,导师兢兢业业的精神也深深感染了我,教会了我人生的真谛,让我少了些浮躁、多了些踏实。感谢在大学里陪伴我成长的老师,教诲了我很多的知识。同时也要感谢所有给过我指导和交流的同学。经过这次设计,对即将工作的我,有了很大的作用,让我在以后的工作保持认真的态度,增加了一定的设计经验。附录一系统原理图P3102XTAL456789GNDVCRSUYMPFFKIROOTISHUCBEJKH_EZQN/VW附录二系统源程序INCLUDE“STC12C5410ADH“INCLUDE“INTRINSH“INCLUDE“SIDLIBH“INCLUDE“MATHH“INCLUDE“ABSACCH“DEFINEAD_FEEDBACK1DEFINEX10X80DEFINEX20X88DEFINEAD_BATTERY0DEFINEAD_IOUT2DEFINEY0X80DEFINEMINGLING0DEFINESHUJU1DEFINENONE_PARITY0DEFINEODD_PARITY1DEFINEEVEN_PARITY2DEFINEMARK_PARITY3DEFINESPACE_PARITY4DEFINEPARITYBITEVEN_PARITYTYPEDEFUNSIGNEDCHARBYTETYPEDEFUNSIGNEDINTWORDUNSIGNEDINTM,PWM_1,PWM_2INTK0,I,J,PWM1,PWM2,T0UNSIGNEDCHARCODEPWM_TAB1590,4,8,13,17,21,25,29,34,38,42,46,50,54,59,63,67,71,75,79,83,86,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,203,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,4BITBUSYCHARITC_RESULT3INTV_BAT,V_OUT,I_OUTUNSIGNEDCHARIV_S,OV_S,OI_SSBITCSP21SBITSIDP22/SIDSBITSCLKP23/CLKVOIDLCD_WRITEUCHARSHUJU_MINGLING,UCHARCONTENTVOIDDELAYUINTUSVOIDDELAYUNSIGNEDINTTXUNSIGNEDINTX0YFORX0XTXXFORY0Y1500YVOIDINIT_SPWMCCAPM10X42/CCAPM20X42/CMOD0X02/CCON0X00/CL0X00/CH0X00/CCAP1H0X00/CCAP2L0X00/CCAP2H0X00/CCAPM00X42/CCAPM30X42/CCAP0H0X00/CCAP0L0X00/CCAP1L0X00/CCAP3L0X00/CCAP3H0X00/CR1/VOIDTIME_INITIFPARITYBITNONE_PARITYSCON0X50ELIFPARITYBITODD_PARITY|PARITYBITEVEN_PARITY|PARITYBITMARK_PARITYSCON0XDAELIFPARITYBITSPACE_PARITYSCON0XD2ENDIFTMOD0X00TMOD|0X20ET01TH00XFETL00X09/TR01TH1TL1FOSC/12/32/BAUDTR11ES1VOIDSENDSTRINGCHARSUCHARI,JLCD_WRITEMINGLING,0X30LCD_WRITEMINGLING,0X80FORJ0J4JFORI0I16ILCD_WRITESHUJU,CHNJ16IVOIDCON_DI

温馨提示

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

评论

0/150

提交评论