当前位置:文档之家› 南昌航空大学PWM波形发生器实验报告

南昌航空大学PWM波形发生器实验报告

PWM波信号发生器的研制课程设计说明书课程设计名称:单片机专业课设课程设计题目: PWM信号发生器的研制学院名称:信息工程学院专业:电子信息工程班级:学号:姓名:评分:教师:20 13 年 7 月 2 日摘要1PWM波信号发生器的研制随着电力电子全控开关器件的出现,脉宽调制技术(PWM)在电力电子变流技术中获得了,。

泛的应Hj,如直流开关电源(DC/DC变换)、交。

交变频(AC/AC变换)、交.直.交变频系统、UPS电源(DC/AC变换)、高功率因数整流(PWM整流或功率l灭l数校正PFC等)等电力电子各个应用领域,无不采用PWM控制技术。

PWM控制最基本的实现方法是通过载波和控制波的模拟电路调制米产生,如采用三角形载波(或锯齿波)和直流(或正弦波)控制信号比较器进行比较产生PWM波。

这种方法在模拟控制技术中广泛采用,并出现过许多产生PWM波控制芯片,如用于开关电源的TL494、SG3525、UC3842等。

随着数字控制技术的发展,又出现了许多数字式PWM集成芯片,如用于变频调速的三相PWM发生器HEF4752、SLE4520、MA818等。

但与迅速发展的微机控制技术相比,该方法显示出电路复杂、调制方式不够灵活等缺点,而采用软件计算的实时PWM控制策略越来越彼人们接受,并出现了许多不同的PWM波的计算方法,如采样SPWM法、谐波注入PWM法、均值PWM法、等面积PWM法等。

电力电子的微机PWM控制技术已成为一种必然趋势。

因此本文就PWM的单片机控制与实现进行分析研究,通过对外围电路芯片的设计实现PWM输出波形的频率、电压幅值、占空比的连续调节,达到产生PWM信号目的。

关键字:脉宽调制技术(PWM)、占空比、控制信号2PWM波信号发生器的研制单片机原理与接口技术课程设计任务书20 12 -20 13 学年第 2 学期第 17 周- 19 周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。

2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

目录3PWM波信号发生器的研制第一章系统的基本结构与分析 (5)1.1 系统设计内容与要求 (5)1.2系统的基本结构 (5)1.3系统的原理分析 (5)第二章软件设计 (6)2.1程序设计语言的区别与选择 (6)2.2 键盘功能介绍 (7)2.3 程序内部的具体说明 (8)2.3.1关键字的具体说明 (8)2.3.2单元地址介绍 (8)2.4软件流程图 (9)第三章硬件设计 (10)3.1 方案的选择 (10)3.2 各个电路模块的介绍 (11)3.2.1振荡电路 (11)3.2.2复位电路 (11)3.2.3 8253芯片定时/模块 (12)3.2.4键盘及显示电路 (15)第四章实验调试与结果分析 (17)4.1 实验调试器材 (17)4.2 实验调试过程 (17)4.3 测试结果分析 (18)结论 (19)参考文献 (20)附录A (21)附录B (23)4PWM波信号发生器的研制第一章系统的基本结构与分析1.1 系统设计内容与要求一、设计内容与要求:(4)采用定时/计数器8253(5) PWM信号的工作频率为500H(6)占空比可变且显示占空比1.2 系统的基本结构如图1.1所示为系统的基本结构框图。

第一个框图中的显示器是由HD7279来控制,HD7279芯片是管控制的显示与键盘。

第二个框图中锋的单片机用到的是89C51的核心控制单元。

第三个框图中的定时/计数器,选用的是8253芯片,并且用到了74LS138译码器的片选功能。

另外还用到一些门电路以及74LS373地址寄存器。

图1.1 基本结构框图1.3系统的原理分析在实验中,首先我们通过编写软件程序的,对8253计数器的写入值产生一系列幅值相等而宽度不等的脉冲。

其次,89C51单片机的作用是对PWM的显示器和定时/计数器进行控制。

最后,产生一系列有规则的脉冲PWM波形。

此外通过键盘按键的控制可以对8253计数器的初值进行改变,与此同时,数码管的占空比也能相应的显示出来。

5PWM波信号发生器的研制第二章软件设计2.1程序设计语言的区别与选择汇编语言和C语言他们的指令集,寻址方式不同,相当于两个机器各有各的操作方式汇编语言是低级语言,在编写程序的时候会把根据不同的情况指定使用不同的寻址方式,能够对内存和CPU里的通用寄存器直接操纵。

不同的计算机系列会有不同的汇编语言而C语言是高级语言,可以实现跨平台。

编写程序无需指定CPU的指令执行情况,一段程序可以在不同体系结构的计算机上使用,综合我们的实验要求,我们选择用汇编语言对程序进行编写。

6PWM 波信号发生器的研制72.2键盘功能介绍我们键盘功能需要使用到的芯片是HD7279,HD7279A 是一片具有串行接口的,可驱动8位共阴式数码管(或64只独立LED )的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED 显示、键盘接口的全部功能。

产品特点:串行接口,无需外围元件可直接驱动LED 各位独立控制译码/不译码及消隐和闪烁属性 (循环)左移/(循环)右移指令 具有段寻址指令,方便控制独立LED 64键键盘控制器,内含去抖动电路 有DIP 和SOIC 两种封装形式供选择。

图2.2-1 图2.2-2HD7279A 芯片图 HD7279A 芯片及键盘图PWM波信号发生器的研制2.3程序内部的具体说明2.3.1关键字的具体说明表2.3.1 关键字说明2.3.2单元地址介绍表2.3.2 单元地址介绍8PWM波信号发生器的研制2.4软件流程图对7279初始化,判断是否有按键按下,若没有按键按下,再次判断,重新进行键盘扫描;若键按下,判断是哪个键按下,并进行相应的操作。

最后通过ALE不断给8253计数器时钟信号,进而改变占空比,对计数器0口不同输出,进而达到实验要求。

9PWM波信号发生器的研制第三章硬件设计3.1方案的选择通过研究占空比可调信号的产生方法,采用三种不同的方案使用汇编语言的产生。

方案一:的原理是分频,即用计数器计算时钟脉冲的上升沿个数,再通过输出电平反复翻转得到计数个数(脉冲宽度)可控的PWM信号;方案二:的原理是锯齿波比较法,首先编程产生阶梯状的锯齿波,再通过锯齿波与输入占空比值(数值可控的直线)比较产生脉冲宽度随输入占空比数值变化的PWM 信号。

方案三:是用有限状态机产生有用信号,首先定义两个状态,再通过计数器值与输入占空比值比较控制状态的切换,产生PWM信号。

方案四:选用可编程芯片8253的计数器0作为PWM信号发生器,8253的计数器0工作在可重复触发单稳态方式1下,它的输出口OUT0产生宽度可调的PWM信号脉冲,该输出脉冲宽度为:W=N/f;输出的占空比为:P=W1×(f/N) 通过使用proteus软件采用汇编语言能仿真证实了上文提到的四种PWM信号产生方案都是可行的,都能产生切实可用的PWM信号,四种方案中均可以通过修改输入端口占空比来控制产生信号的脉宽,且可以通过在程序中修改计数器的计数上限和分频模块的分频比改变信号的周期及频率,实现了多参数可调,使整体设计具有灵活的现场可更改性和较好的可移植性。

且实现功能的程序简单易懂,设计过程中思路阐述清晰,流程介绍明了,且程序易于修改,可读性好但是我综合各个因素我选择方案四。

103.2各个电路模块的介绍3.2.1振荡电路振荡器能够输出某一指定频率的正弦波,因此闭合环路中包含选频网络。

若选频网络由RC元件构成,则该振荡器称为RC振荡器,一般用来产生1赫至几兆赫范围内的低频信号;若选频网络由LC元件组成,则该振荡器称为LC振荡器,一般用来产生几百千赫以上的高频信号。

若在LC振荡电路的选频网络中加入晶振元件,我们则称该电路为石英晶体振荡器,其目的是为了提高输出信号的频率稳定度。

3.2.2 复位电路按键按下会复位,单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。

当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。

随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。

根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。

单片机系统自动复位。

总结:1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。

2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。

图3.2.2复位电路图3.2.1复位与振荡电路仿真图3.2.3 8253芯片定时/模块这个芯片和模块的功能对于此次实验起着这关重要的作用,下面先来介绍一下这块芯片的控制字和具体的工作方式。

图3.2.3-1 8253控制字每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。

8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。

采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。

最大计数值是9999。

与此计数器相对应,每个通道内设有一个16位计数值锁存器。

必要时可用来锁存计数值。

当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。

OUT端将有输出。

表示计数次数到。

当某个通道用作定时器时。

由CLK输入一定频率的时钟脉冲。

根据要求定时的时间长短确定所需的计数值。

并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。

OUT 将有输出,表示定时时间到。

允许从CLK输入的时钟频在1~2MHz范围内。

因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。

而后者是内时钟脉冲进行减“1”计数。

作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。

作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:定时系数=需要定时的时间/时钟脉冲周期①设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;②计数/定时:向通道写入计数值,启动计数操作;③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。

相关主题