




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1摘要本设计是基于单片机STC而设计的纯粹弦波逆变电源。额定输入电压为12V的直流电,输出为50Hz,220V的交流电。额定输出功率为300W。设计了全方位的保护电路。包含了可以根据温度来控制散热风扇的开启。实现了输入低压、过压的关断功能。当输入的电压过低时,停顿逆变,可以防止损坏蓄电池,当输入的电压过高时,停顿逆变,可以防止损坏芯片。拥有输入防反接功能,当输入正负极接错时,关断输入与后级电路的连接,不会烧坏芯片或蓄电池。采用了一个液晶屏来显示输出的电压,输出频率等信息。采用了两个发光二极管来指示工作状态。采用了一个蜂鸣器,当产生错误时,发出蜂鸣报警。输出的交流电为标准的正弦波,而不是方波或
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. Designed a full range of protection circuits. Can be inc
3、luded 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 is stopped to prevent damage to the chip. Has th
4、e 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. Uses a liquid crystal screen to display the output voltage, output frequency and other information. Uses two light emitting diodes to
5、 indicate the operating status. 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 conversion efficiency of more than 85%, stable output, to
6、achieve a good e*perimental results.Key Words:MCU,Inverter,Sine wave, reverse polarity protection目 录TOC o 1-2 h z uHYPERLINK l _Toc3589147451引言 PAGEREF _Toc358914745 h 3HYPERLINK l _Toc3589147461.1系统研究的背景 PAGEREF _Toc358914746 h 4HYPERLINK l _Toc3589147471.2 系统研究的意义 PAGEREF _Toc358914747 h 5HYPERLIN
7、K l _Toc3589147482 系统的工作原理与构造 PAGEREF _Toc358914748 h 5HYPERLINK l _Toc3589147492.1系统的工作原理 PAGEREF _Toc358914749 h 5HYPERLINK l _Toc3589147502.2系统的硬件构造 PAGEREF _Toc358914750 h 9HYPERLINK l _Toc3589147512.3系统的软件设计 PAGEREF _Toc358914751 h 10HYPERLINK l _Toc3589147523 系统的硬件设计 PAGEREF _Toc358914752 h 11
8、HYPERLINK l _Toc3589147533.1主控制器 PAGEREF _Toc358914753 h 11HYPERLINK l _Toc3589147543.2 DC-DC模块 PAGEREF _Toc358914754 h 12HYPERLINK l _Toc3589147553.3 DC-AC模块 PAGEREF _Toc358914755 h 16HYPERLINK l _Toc3589147563.4 保护模块 PAGEREF _Toc358914756 h 21HYPERLINK l _Toc3589147573.5直流5V电路设计 PAGEREF _Toc358914
9、757 h 24HYPERLINK l _Toc3589147583.6显示与报警模块 PAGEREF _Toc358914758 h 25HYPERLINK l _Toc3589147594.系统的软件设计 PAGEREF _Toc358914759 h 26HYPERLINK l _Toc3589147604.1开发环境介绍 PAGEREF _Toc358914760 h 27HYPERLINK l _Toc3589147614.2 SPWM程序设计 PAGEREF _Toc358914761 h 30HYPERLINK l _Toc3589147624.4液晶驱动程序设计 PAGEREF
10、 _Toc358914762 h 36HYPERLINK l _Toc3589147634.5 输出采样程序设计 PAGEREF _Toc358914763 h 40HYPERLINK l _Toc3589147645完毕语 PAGEREF _Toc358914764 h 42HYPERLINK l _Toc358914765致 PAGEREF _Toc358914765 h 43HYPERLINK l _Toc358914766参考文献 PAGEREF _Toc358914766 h 43HYPERLINK l _Toc358914767附录一系统原理图 PAGEREF _Toc358914
11、767 h 44HYPERLINK l _Toc358914768附录二系统源程序 PAGEREF _Toc358914768 h 45引言1.1系统研究的背景逆变电源是指将直流电源转换为交流电源的的装置。随着光伏发光的推广,汽车和车载电器数量的增加,UPS的广泛应用,逆变电源的应用场合也越来越多,成了电力电子技术中不可缺少的部件。而随着电子技术的开展,逆变电源也有一个高速开展的历程。最早的逆变系统采用的是,通过将直流电源供给直流电动机,直流电机通过机械传动带动交流发电机,来完成直交流的转换。这种转换方式占用空间大,重量大,产生一定的噪声,而且效率十分低下。到二十世纪六、七十年代,晶闸管的问世
12、使得逆变电源的技术得到了开展。逆变电源开场广泛使用晶闸管来作为主要器件,与传统的机械式转换相比,效率明显提高。但缺点也十清楚显,转换的波形为方波,而不是正弦波,无法带动电感类负载。限于晶闸管的功率,电源的输出功率较小。进入八十年代以后,电子元件的种类也越来越多,诞生了功率场效应管、MOS管、可关断晶闸管、电力用晶体管、绝缘栅极晶体管等类型的功率型器件。这些器件的出现为逆变电源技术的高速开展奠定了坚实的根底。使得逆变电源沉着量到频率等参数越来越高,占用的体积减小,逆变转换效率提高,各种品质指标也进一步提升。进入21世纪以后,随着微电子技术的开展,逆变电源在设计上,也渐渐使用微电子元件。得益于微电
13、子元件的精细程度,逆变电源的输出的稳定性,波形的准确度等都得到了保证。目前的逆变电源按照输出波形可分为三种。第一种是方波逆变电源。输出波形是标准的方波。这种逆变电源的优点是构造简单,转换效率较高,技术成熟。缺点是变压器和滤波器的体积、重量较大,工作的噪音较大。而由于输出波形是方波,上升和下降是突变的,当负载为感性负载时,由于电感对储能特性,会产生尖峰脉冲高压。造成负载或电源的损坏。第二种是修正波逆变电源。输出波形是将多个方波叠加而成的修正正弦波。大大减小了输出波形的谐波含量。与方波逆变电电源相比,性能得到了很大的提升。第三种是纯粹弦波逆变电源。其输出波形为谐波含量很小的正弦波。与市电相比波形根
14、本一致。可以带动所有类型的负载。但缺点是技术不够成熟。本钱较高。1.2系统研究的意义一方面目前私家车已经走进千家万户,而车可使用电器却因为电源受到诸多的限制。汽车的携带的蓄电池输出直流12V,而大局部电器的额定电压是市电交流220V。而目前常见的车载逆变电源有诸多缺点。如无输入低压保护,超额使用后,导致汽车无法启动。没有设计显示屏,用户无法查看输出参数。没有配置短路保护,过载保护等。另一方面随着太阳能发光的大力推广,逆变电源在太阳能发光的过程中有着不可缺少的作用。太阳能发光是将光能转换为电能存储在蓄电池中。而人们使用的家电无法直接通过蓄电池供电。必须通过逆变电源将直流电转换为交流电。随着逆变电
15、源应用的场合越来越多,对逆变电源技术的开展要求也越来越高。目前逆变电源的设计多采用纯硬件设计的分立式元件组成的构造。随着人们使用的电器数量和种类的增加,对逆变电源的波形、容量等参数的要求也越高,使得设计的逆变电源的复杂度也越来越高,采用的元件也越来越多。而由于元件数量过多,造成的电源稳定性较差,往往由于*一个元件的质量差而导致整个系统的损坏。而且传统逆变电源基于模拟元件的设计,没有可编程的能力,使得逆变电源的可扩展能力差,没有显示功能等问题。因此针对单片机来作为逆变电源主控制芯片的研究显的十分重要。2 系统的工作原理与构造2.1系统的工作原理逆变电源是一种将低压直流电转换为高压交流电的过程。一
16、个直流电源对一个负载的两端轮流供电时便在负载的两端形成一个交流电的过程。工作模型如图2-1所示。图2-1 逆变电源工作模型当图中的S1、S4闭合,S2、S3断开时。电流从负载的左侧流向右侧。负载两端的电压U0是一个正电压。电流方向和波形如图2-2所示。图2-2 S1、S4闭合时的电流方向和波形当图中的S2、S3闭合,S1、S4断开时。电流从负载的右侧流向左侧。负载两端的电压U0是一个负电压。电流方向和波形如图2-3所示。图2-3 S2、S3闭合时的电流方向和波形当开关开场和闭合的速度很快时,负载两端的电压便形成了一个交流电的过程。实际应用中,只要将图中的开关,改为可控的开关器件,这些开关器件组
17、成的电路称为全桥。全桥逆变电源主电路构造如图2-4所示。图2-4 全桥逆变电源构造图V1、V2、V3和四个开关管以及VD1、VD2、VD3和VD4四个续流二极管构成了左右两个桥臂。在任何时刻,左右两个桥臂的上下两个开关器件不可以同时翻开,否则输入电源将短路。四个开关器件也不可同时判断,否则输出出现不可控的状态。这些开关器件的控制信号可以采用周期调制信号。而这些周期信号经过正弦脉宽调制,称为SPWM调制,电路构造称为SPWM全桥构造。典型的SPWM调制方式有两种,分别为单极性调制和双极性调制。单极性调制是指全桥的输出包括正负两个电平,输出载波频率与开关工作频率一样。单极性调制的波形图如图2-5所
18、示。图2-5 单极性调制波形图在ur和uc的交点时刻控制开关管的通断,uof表示uo的基波分量。在波形ur的正半周,V1的状态为通, V2的状态为断。在uruc时, V3的状态为断, V4的状态为通。此时的uo=ud。在uruc时,V3的状态为通, V4的状态为断。此时的uo=0。在uruc时,开关管V1和V4的状态为通,开关管V2和V3状态为断。此时的uo=Ud。在ur2Qg/(VCC101.5)。经过计算,本次设计的自举电容为100uf/35V。自举二极管是组成自举电路的重要的自举器件,主要作用是阻断直流干线上的高压。自举二极管所需承受的电流是栅极电荷与开关频率之积。本次设计采用的自举二极
19、管为恢复二极管FM1S。该二极管拥有较小的反向漏电流,可以有效的减小电荷损失。3.3.2 开关电路的设计本次设计中开关管的输入电压在400V左右,输出功率在300W以上。因此必须使用功率足够的功率开关管。本次设计采用的是IRF840作为开关管。IRF840的最大漏源电压在500V,漏极电流为8A左右,足以满足本次设计的要求。设计的电路如图3-8所示。图3-8 开关电路原理图开关管的控制信号为IR2110S隔离后的SPWM正弦波,输入电压为400V左右的直流电,经过SPWM波形调制后,输出220V,50Hz的正弦波交流电。经过后级的LC滤波电路后,使输出波形的更加纯洁。3.3.3 LC滤波电路设
20、计为了滤除开关管输出的交流电中高频成分,以及增强电源的EMI特性。设计了一个LC滤波电路。电路原理图如图3-9所示。图3-9 LC滤波电路L1采用的是磁环绕制导线而成的差模电感。磁环为直径40MM的铁硅铝材料制作。采用1.18的线在磁环上绕90圈左右,使用的线长在4.5米左右。磁环的导磁率为125,电感量为1.5mH,导磁率为60。绕制时分两层,第一层为45圈,圈的线严密绕制,外圈线的每圈留有一个空隙。第二层为45圈,圈叠在第一层线上,外圈嵌在第一层的空隙中。3.4 保护模块3.4.1 温度保护本设计有两路温度控制电路。一个是当温度超过一定值时开启散热风扇。另一个是作为DC-DC模块的温度补偿
21、模块,当温度过高时,停顿前级DC-DC的转换。散热风扇的控制采用的是热保护器KSD9700。KSD9700是由两片不同材料的金属片组成的。正常温度情况下,两个金属片断开,相当于开关断开。风扇不工作。当金属片感知温度超过40摄氏度时,两个金属片粘合,相当于开关闭合,此时风扇开场工作。当温度恢复正常时,两个金属片又重新断开。设计的电路如图3-10所示。图3-10 散热风扇电路设计DC-DC模块的温度补偿传感器采用NTC热敏电阻。热敏电阻接入DC-DC模块中PWM脉冲产生芯片SG3525的关断端。当温度过高时,SG3525停顿工作。3.4.2输入保护输入的保护主要有三局部。一是防止输入反接。二是防止
22、输入电压过低。三是防止输入电压过高。逆变器的输入端为直流输入,存在输入接反的可能性。因此,设计了一防反接电路。当接反时,切断电源的输入,防止损坏后级电路。设计的电路如图3-11所示。图3-11 反接保护原理图当输入电源正确接入时,MOS管体二极管正向导通,MOS管的栅极电压大于源极电压,因此MOS管导通。后级负载正常工作。当输入电源接错时,二极管反射截止,MOS的截止,电路中没有电流流过,切断了后级负载与电源的连接。电路中Ri1与电容Ci1为缓冲电路,防止上电瞬间电压过高损坏MOS管。Z1为稳压管,防止MOS管的栅极和源极两端电压过高,损坏MOS管。输入电压保护采用一个LM324运放组成的电压
23、比较器。当输入电压过高或过低时,关断DC-DC模块中PWM的产生,即可停顿转换。同时,输出一个信号控制蜂鸣器发出蜂鸣声报警。设计的电路如图3-12所示。图3-12 输入电压保护电路原理图3.4.3输出保护输出保护的设计采用的是从开关管的输出局部取样,反响到一个LM393组成的电压比较器,一路送入单片机的AD端,经过AD转换后修正输出。另一路送入IR2110S的关断端(SD端)。当IR2110S的SD端接收到信号后,停顿驱动隔离,则不再输出SPWM波形。有效的保护的电路。设计的电路如图3-13所示。3-13 输出保护电路原理图3.5直流5V电路设计系统输入的电压为直流的12V,输出为交流220V
24、,而系统各芯片工作电压为直流5V。因此需要设计一个直流5V的产生电路,作为芯片的电源使用。本设计采用的方案为将输入的12V直流电压经过7805三端稳压集成电路,芯片输出稳定的直流5V电源。7805包含三条引脚,分别是输入、输出端和接地端。因此,所组成的稳压电路也十分简单,仅需配置几个滤波电容,便可以组成一个稳压电路。芯片部已经集成了过流、过热的保护电路。设计的稳压电路如图3-14所示。3-13 直流5V电源原理图3.6显示与报警模块3.6.1液晶显示本设计采用的液晶显示是12832液晶模块。常见的液晶模块的驱动方式有三种,分别为静态驱动、单矩阵驱动和主动矩阵驱动。矩阵驱动系统包括行驱动器,列驱
25、动器,偏压电路,电源等电路。行存放器在部的数据传输为串行方式,列存放器有两种数据传输方式,一种是串行传输,一种是并行数据传输。12832液晶模块引脚定义如表3-2所示。引脚名称功能说明1VO亮度调整,外部接电阻2VR亮度调整,外部接电阻3GND地4VCC电源5NC保存端6RS(CS)并行:选择存放器;串行:数据存放器片选端7RW(SID)并行:读写控制器;串行:数据输入端8E(SCLK)并行:读写数据起始端;串行:输入脉冲9D0数据0位,仅在并行有效10D1数据1位,仅在并行有效11D2数据2位,仅在并行有效12D3数据3位,仅在并行有效13D4数据4位,仅在并行有效14D5数据5位,仅在并行
26、有效15D6数据6位,仅在并行有效16D7数据7位,仅在并行有效17PSB控制信号,0为串行,1为并行18RST低有效的复位信号19LK液晶部背光源负极20LA液晶部背光源正极表3-2 LCD12831管脚为了节约管脚的使用,简化电路连接,本次设计采用的是串行口连接。当PSB引脚连接低电平时,液晶进入串行工作模式。在串行工作模式下,根据同步时钟线SCLK和串行数据线SID配合完成数据的发送与接收。设计的电路如图3-13所示。图3-13 液晶显示模块原理图3.6.2蜂鸣器报警当输入电压过高或过低时,会通过蜂鸣器产生蜂鸣声,蜂鸣器的电路设计如图3-14所示。图3-14 蜂鸣器电路原理图4.系统的软
27、件设计硬件是一个设计的身体,而软件则是一个设计的灵魂。两者缺一不可。因此,对系统的软件设计也很重要。系统的软件设计步骤有三个,一是选择开发环境的,即程序的编写、调试、编译等操作的环境与软件;二是各功能模块程序的设计;三是最终的程序调试,以实现要求的功能。4.1开发环境介绍本次设计采用Keil uVision3软件,由于Keil uVision3的库中并不包含STC系列的单片机,但STC与51系列单片机的核一样。因此,可以选择51的核,在程序中参加STC12C5410AD单片机宏定义的头文件即可使用。创立的步骤如下。首先需要新建一个文件夹,用于存放程序的工程文件。新建文件夹完成后启动Keil u
28、Vision3软件。之后新建一个工程,并将该工程保存在新建的文件夹中。创立工程的步骤为,点击Project下的New Project菜单,弹出一个对话框。在对话框中选择保存该工程的文件夹和工程名。将该工程保存在新建的文件夹中。点击保存按钮即可。如图4-1所示。图4-1 新建工程点击保存按钮后,需要选择单片机型号。选择Atmel的AT89C51即可。选择之后,点击确定按钮。如图4-2所示。图4-2 选择型号我们不需要仿真的配置文件,因此,在弹出的是否添加仿真配置文件的对话框中,选择“NO。如图4-3所示。图4-3 添加仿真配置一个新的工程创立成功。工程创立完成后,需要新建一个程序文件。点击Fil
29、e下的New菜单,在软件中弹出一个新的文本输入窗口。默认文件名为Te*t1,在该窗口中可以输入源程序。如图图4-4所示。图4-4 新建程序文件源程序输入完成后,点击保存。将该程序文件保存在工程的目录下。文件名需要加上扩展名,本次设计的程序设计采用C语言编写,因此,将程序文件命名为main.c。程序文件虽然创立保存成功,但并没有与工程关联,参加到工程中。因此,需要将程序文件参加到工程中。右击左侧目录树中的“Source Group1”,在弹出的下拉菜单中选择“Add file to Group,出现一个对话框,双击创立的main.c即可,关闭对话框完成向工程中添加文件。如图图4-5所示。图4-5
30、 添加文件程序文件添加完成后,需要将编写的程序编译成单片机能识别的he*文件。右击“Target 1,在弹出的菜单中选择“Options for Target Target1”。选择“output选项卡,将“create HE* file项打钩,点确定。便会在编译时,在工程文件的目录中产生he*文件。编译的快捷键是F7。每次修改程序后,按F7,都将重新产生一个he*文件,新he*文件将覆盖旧文件。编译完成后,在软件的下方状态栏中可以查看该程序生成的代码大小。4.2SPWM程序设计单片机STC12C5410AD自带四路可编程计数器阵列PCA/PWM模块电路,只需配置相关的存放器便可产生标准的PW
31、M波形。SPWM也是PWM的一种,是指在PWM的根底上改变了调制方式,冲量相等形状不同,脉冲的宽度按照正弦规律变化,输出波形即为正弦波。STC12C5410AD单片机PCA模块输出管脚如表4-1所示。管脚第一功能第二功能15P3.7PCA0/PWM09P3.5PCA1/PWM126P2.0PCA2/PWM210P2.4PCA3/PWM3表4-1 PCA/PWM模块管脚对应表STC12C5410AD部的PCA模块是一个16位的特殊功能的定时器,连接了四个捕获/比较模块。PCA定时器决定了这四个模块的时间基准。PCA模式存放器CMOD的位定义如表4-2所示。名称地址Bit7Bi6Bit5Bit4B
32、it3Bit2Bit1Bit0CMOD0*D9CIDL-CPS1CPS0ECF表4-2 CMOD存放器定义表中的CPSl和CPS0位是PCA计数脉冲选择位。两个位的决定了PCA脉冲源输入。PCA计数脉冲选择如表4-3所示。CPS1CPS0脉冲源00系统时钟/1201系统时钟/210T0的溢出脉冲11ECI外部时钟表4-3 PCA计数脉冲选择表PCA/PWM模块共有四种工作模式,分别为:上升/下降沿捕获模式,PWM脉冲输出模式,软件定时器模式,高速输出模式。SPWM生成主要工作PWM脉冲输出模式。PWM输出模式的框图如图4-6所示。图4-6 PWM输出模式的框图当工作在PWM脉冲输出模式时。CL
33、的值小于EP时,输出为低。当CL的值大于或等于EP时,输出为高。当CL的值为FF时,继续增加将产生溢出,溢出时变为0,此时EP的值装载到EPL和CCAPnL中。从而实现了在更新PWM时,不会产生干扰。CCAPMn存放器中的PWMn位和En位置位时可以使能PWM模式。本次设计采用的SPWM波形通过软件中断的形式来实现,综合使用了PWM模式和16位定时器模式。中断效劳子程序流程图如图4-7所示。图4-7 中断效劳程序流程图设计的中断效劳子程序如下。void int_time0(void) interrupt 1TH0=0*FE;/重装初值TL0=0*09;/重装计数值/TR0=1;/使能定时器CC
34、AP0H=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; /清0 else if(k318)/负半周的程序/j=k-159;pwm1=0;/清0pwm_2=m*pwmj/216; /计算宽度值 pwm2=(unsigned char)pwm_2; /转换为8位数值
35、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产生SPWM波形的根本原理是将载波周期值赋给CCAP1H和CCAP1L。PCA定时器的CH与CCAP1H,CL与CCAL1L比较,两者相等时,产生中断。在中断的效劳程序中,将下一个SPWM波要求的脉冲
36、宽度装载到CCAPOL中。SPWM波形脉宽示意图如图4-8所示。图4-8 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,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
37、,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
38、,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位计数/定时器CH、CL清0。PCA模式输助存放器清0。PCA比较/捕获模块存放CCAPMn定义为使能比较模式,匹配中断设为允许。将脉冲宽度值sinn装入CCAPnH。开PCA模块中断及总中断
39、。启动PCA计数。直到最大数值N,完成循环。经过以上的步骤后,在对应的PWM引脚上不断的产生随着正弦规律变化的脉冲宽度,显示出来的便为准确的SPWM波形。存放器定义的实现程序如下。void pwm_init() CMOD=0*02; /该指令为选择PCA计数器的工作频率输入源/ CCON=0*00; /将计数器和溢出标志清零/ CL=0*00; /将计数器的低8位清零/ CH=0*00;/ 将计数器的高8位清零/ CCAPM0=0*42; /设置第一路PWM口/ CCAPM1=0*42; /设置第二路PWM口/ CCAPM2=0*42; /设置第三路PWM口/ CCAPM3=0*42; /设置
40、第四路PWM口/ CCAP0L=0*00; /清空第一路的比较/捕捉存放器的低8位/ CCAP0H=0*00; /清空第一路的比较/捕捉存放器的高8位/ CCAP1L=0*00; /清空第二路的比较/捕捉存放器的低8位/ CCAP1H=0*00; /清空第二路的比较/捕捉存放器的高8位/ CCAP2L=0*00; /清空第三路的比较/捕捉存放器的低8位/ CCAP2H=0*00; /清空第三路的比较/捕捉存放器的高8位/ CCAP3L=0*00; /清空第四路的比较/捕捉存放器的低8位/ CCAP3H=0*00; /清空第四路的比较/捕捉存放器的高8位/ CR=1;/使能PCA计数器/4.4液
41、晶驱动程序设计本设计采用的12832液晶屏的控制器为矽创公司生产的ST7920。具有较强的控制显示功能。在程序编写时,仅需根据指令集输入对应的指令便可实现对液晶屏显示的控制。常用的操作指令有如下几个命令。(1)设定DDRAMDDRAM是指Display Data RAM,可以设置显示地址计数器。第一行地址为80H到87H,第二行的地址为90H到97H。(2)设定CGRAM即输入要显示的字符的ASCII码。(3)设定进入点在显示数据时,光标的移动方向,即位地址计数器是递增还是递减。(4)显示状态控制显示的开关,光标的开关,反白或正常显示。(5)读取忙碌标志读取忙碌标志位BF,可以查看上条指令是否
42、完成。返回值包含了位地址计数器的数据。在每次发送指令前,都要判断忙碌标志位。在对液晶屏进展显示之前要根据这些常用指令对液晶进展初始化操作。初始化的程序流程如图4-9所示。图4-9 液晶初始化流程图设计的液晶屏初始化程序如下。void init_lcd (void)/LCD的初始化程序 psb=0;/置为串行工作模式 wr_lcd (m,0*30); /*30H,选择根本指令集模式*/ wr_lcd (m,0*01);/*31H,清屏命令,将地址指针设在00H*/ delay (100);/延时 wr_lcd (m,0*06); /*设置光标的移动方向为向右*/ wr_lcd (m,0*0c);
43、 /*将显示翻开,关闭光标的显示*/当片选端CS=0时,同步时钟线SCLK无效,数据无法输入。当片选端CS=1时,同步时钟线SCLK有效。可以正常的输入数据。CS从0跳变到1时,将要传输的一组串行数据计数重新定义第一位。12832液晶模块的串行工作模式的时序如图4-10所示。图4-10 LCD 12832串行模式时序图单片机向液晶模块发送一个字节的数据时,一共需要24个有效的时钟脉冲。首先传输5位全是1的同步位元字串,实现的功能是重置传输计数以及同步串行传输。后两个位元为RW和RS。RW代表了数据的传输方向,即控制读数据或写数据。RS代表了数据与指令的选择,即本次发送的命令为数据或指令。第8位
44、位元为固定的0。在前8位数据传输完成后,将传输一个字节的命令。一个有效的一字节命令分两将传输,第一次传输命令的高4位,低4位置0,组成一个字节传输。第二次传输命令的低4位,低4位置0,组成一个字节传输。将这24位数据传输完成后,便完成一次数据的发送或接收。根据该时序图设计的程序如下。void wr_lcd (uchar dat_m,uchar content)/液晶屏发送数据子程序/两个参变量,第一个定义了命令是数据还是指令,第二个为具体的容uchar a,i,j;/定义临时变量delay (50);/延时a=content;/赋值命令的容cs=1;/置CS为1sclk=0;/置SCLK为0s
45、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_m)/判断是指令还是数据sid=1; /如果1,则为数据,将sid置1elsesid=0; /如果0,则为命令,将sid置0sclk=1; /置SCLK为1sclk=0; /置SCLK为0,产生一个时钟脉冲sid=0;/传输的第8位为0sclk=1; /置SCLK为1sclk=0; /置SCLK为0,产生一个时钟脉冲for(j=0;j2;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,产生一个时钟脉冲4.5 输出采样程序设计STC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东北电力大学《韩国文学作品》2023-2024学年第一学期期末试卷
- 中国药科大学《市场营销案例分析》2023-2024学年第二学期期末试卷
- 山东省滨州市卓越重点中学2025届初三下学期第二次模拟考化学试题试卷含解析
- 2024-2025学年西藏林芝第一中学高三5月半月考物理试题含解析
- 辽宁对外经贸学院《应急救护》2023-2024学年第二学期期末试卷
- 西南大学附中2025年高三第二次教学质量检查生物试题含解析
- 云南警官学院《精神医学实验技术》2023-2024学年第一学期期末试卷
- 福建对外经济贸易职业技术学院《建筑施工(实验)》2023-2024学年第二学期期末试卷
- 四川省宜宾市南溪区市级名校2024-2025学年初三5月模拟(三模)英语试题理试题含答案
- 广州民航职业技术学院《影视照明》2023-2024学年第二学期期末试卷
- 干花生产工艺(花道-干花技艺养成)智慧树知到课后章节答案2023年下云南林业职业技术学院
- 水培吊兰的方法与养护管理要点
- 抽油机井示功图课件
- 食品复检申请书
- 医院管理贵重药品管理制度
- 项目部管理岗位人员配置及职责表
- 成人癌性疼痛护理-中华护理学会团体标准2019
- 清明节主题班会缅怀先烈致敬英雄爱国主义教育PPT课件(含完整内容)
- 《病理学基础》知识考核试题题库与答案
- 定向井设计暨compass操作指南讲解
- 惯性导航PPT汇总
评论
0/150
提交评论