1、单片机占空比可调的PWM波形发生器机电高等专科学校电气工程系微控制器技术课程设计报告设计题目:占空比可调的PWM波形发生器微控制器技术课程设计任务书设计题目: 占空比可调的PWM波形发生器 设计时间: 2013.10.2120610.27 设计任务:在Proteus中画出原理图或使用实物,编制程序,实现以下功能:1、 理解PWM的工作原理。2、 编制PWM程序,使用八段发光字符管显示占空比。3、 可与电机连接,驱动电机以不同的转速旋转。背景资料:1、单片机原理与应用2、 检测技术3、 计算机原理与接口技术进度安排:1、 第一天,领取题目,熟悉设计容,分解设计步骤和任务;2、 第2天,规划设计软
2、硬件,编制程序流程、绘制硬件电路。3、 第3天,动手制作硬件电路,或编写软件,并调试。4、 第4天,中期检查,书写设计报告。5、 第5天,提交设计报告,整理设计实物,等待答辩。6、 第6天,设计答辩。题目:占空比可调的PWM波形发生器一、 设计目的掌握PWM的工作原理;学会编制PWM程序,使用八段发光字符管显示占空比; 并与电机连接,驱动电机以不同的转速旋转。二、 设计思路直流电机PWM控制系统的主要功能包括:实现对直流电机转速的调整,能够 很方便的实现电机的智能控制。主体电路:即直流电机PWM控制模块。这部分电路主要III AT89C51单片机的 I/O端口、定时计数器、外部中断扩展等调整直
3、流电机的转速,能够很方便的实 现电机的智能控制。其间是通过AT89C51单片机产生脉宽可调的脉冲信号并输入 到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路 模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现对直流电机 的加速、减速控制。设计控制部分:主要由AT89C51单片机的外部中断扩展电路组成。直流电机 PWM控制实现部分主要山一些二极管、电机和L298直流电机驱动模块组成。设计显示部分:LED数码显示部分,实现对PWM脉宽调制占空比的实时显示。三、 方案设计系统框架设计总体设讣方案的硕件部分详细框图如图一所示。方案说明:直流电机PWM调速系统以
4、AT89C51单片机为控制核心,山命令输 入模块、LED显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的 输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形, H型驱动电路完成电机正,反转和急停控制;同时单片机不停的将PWM脉宽调制占 空比送到LED数码管完成实时显示。四、系统硬件设计4.1硬件模块组成(1) 单片机控制模块(2) L298电机驱动模块(3) LED显示模块(4) 独立键盘控制模块3. 3系统硬件各模块电路4.2单片机整个控制模块这里利用定时计数器让单片机P2 口的P2.6、P2.7引脚输出占空比不同的方 波,然后经驱动芯片L298放大后控制
5、直流电机。驱动芯片的输入电压是两引脚的 电压差,在调速时一根引脚线为低电平,另一个引脚产生调速方波,这样两个引 脚的电压差就可通过控制其中一个引脚来控制。当需要改变电机转动方向时,两 个引脚的输出相反。定时计数器若干时间(1US)中断一次,就使P2. 6或P2. 7产生一个高电平或 低电平。直流电机的速度分成100个等级,因此一个周期就有100个脉冲,周期 为一百个脉冲的时间,速度等级对应一个周期的高电平脉冲的个数。占空比为高 电平脉冲个数占一个周期总脉冲个数的白分数。一个周期加在电机两端的电压为 脉冲高电压乘以占空比。占空比越大,加在电机两端的电压越大,电机转动越快。 电机的平均速度等于在一
6、定的占空比下电机的最大速度乘以占空比。当我们改变 占空比时,就可以得到不同的电机平均速度,从而达到调速的目的。五、 PWM的基本工作原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电圧, 进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个 固定的频率来接通和断开电源,并根据需要改变一个周期“接通”和“断开”时 间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小, 从而控制电动机的转速。六、 软件设计主程序设计:主程序部分主要对定时计数器T1的工作方式、中断入口地址、计 数初值、中断产生、进行设置,为了方便程序编程。Ml MO:工作模式选
7、择位,具体如下:TMOD寄存器GATEC/TMlM2 GATE C/T MlM00001 0000M1MO=OO:模式0 (13位定时/计数器)M1MO=O1:模式1(16位定时/计数器)M1M0二10:模式2 (8位自动重装常数的定时/计数器)M1MO=11:模式3 (2个8位定时/计数器,仅对T0)因在程序中TO是作为定时器,TO的C/T控制位就应设置为0; T0工作在模 式1, TMOD中控制T0的M1M0应设置为01,其它位全部设置为0,即应给工作模式寄 存器TMOD赋值01H。2.工作方式1及初值计算当M1,MO二01时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路 仍以
8、定时器0为例,定时器1与之完全相同。方式0和方式1的区别仅在于计数器的位数不同,方式0为13位,而方式1 则为16位,由THO作为高8位,TLO为低8位,有关控制状态字(GATA、C/T、 TFO、TRO)和方式0相同。在工作方式1下,计数器的计数值围是:165536 (216)。当为定时工作 方式1时,定时时间的计算公式为:(2诚一计数初值)X晶振周期X12如果单片机的晶振选为6. 000MHz,则最小定时时间为:213 (2161) Xl/6X10X12=2X10 (s) =2 (us) (2160)X1/6X10X12=131072X10_6(s) =131072 (us)定时/计数器中
9、的计数器是在计数初值基础上以加法讣数的,并能在计数器从 全“1”变为全“0”时自动产生溢出中断请求。因此,可以把计数器计数初值设 定为TC,定时器定时时间T的计算公式为:T= (M-TC) T计数式中M为计数器 模值,该值和计数器工作模式有关。在模式1时M为216。在定时器模式下,T计 数是单片机振荡周期的12倍。上式也可写成:TC=M-T/T计数在程序设计中工作 模式为模式1,则计数器模值M二216二63536;假设单片机仿真器的晶振频率为22.1184MHz,则:T 计数=12/ (22.1184 X106) =5. 425347 X10若定时时间长度为30ms,则:TC=65536-30
10、X 10-3/5. 425347X 10-7二 10240二2800H给定时器赋值时:MOV TLO, #00H;MOV THO, #28H3.中断设置除特殊功能寄存器TCON和SCON中的某些位与中断有关以外,还有一个特殊 功能寄存器即中断允许寄存器IE用来设定各个中断源的打开和关闭。中断系统的结构框图IE寄存器各位的含义如下:EA (IE. 7) : CPU的中断总允许标志位。当EA二1时,CPU允许中断;当EA二0 时,CPU禁止所有的中断请求。ES (IE. 4):串行口中断允许位。当ES二1时,允许串行口中断;当ES二0时, 禁止中断。ET1 (IE. 3):定时器T1的溢出中断允许
11、位。当ET1二1时,允许T1中断;当 ET1二0时,禁止T1中断。EXI (IE.2):外部中断1的中断允许标志位。当EX1二1时,允许外部中断1 中断;当ES二0时,禁止外部中断1中断。ETO(IE. 1):定时器TO溢出中断允许位。当ETO二1时,允许T0中断;当ETO二0 时,禁止T0中断。EXO (IE. 0):外部中断0允许位。当EXO二1时,允许外部中断0中断:当EXO二0时,禁止外部中断0中断。定时中断子程序流程根据程序的需要,先为IE的各位赋值:外部中断0的中断允许位:EXO二1,允许外部中断SETB EXO定时器T0溢出中断允许位:ETO二1,允许中断请求SETB ETO允许
12、中断(EA二1, CPU允许中断)SETB EA串行口中断允许位:ES二1,允许串行口中断SETB ES以上各位等于1时,CPU开放中断;等于0时,CPU禁止该中断。单片机系 统复位后,IE中各位均被清零,即禁止所有中断。因此程序中开T0中断则应将 ETO置1,另外如果要使用中断EA也要置1,故应给IE赋值为82H。七、系统功能调试直流电机的调试功能仿真如下图:加速分3档,波形依次如下:减速分3档,波形如下:八、设计总结通过本次课程设讣,使我学到了许多书本上无法学到的知识,也使我深刻体会 到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固, 同时也对单片机这一门课程产生了更大
13、的兴趣。在本次课程设汁过程中,我学会 了有关本设计的各硬件的资源,其中包括:直流电机PWM调速、AT89C51单片机、 L289引脚图及其引脚功能、LED数码管显示等知识。参考文献11林志琦基于Proteus的单片机可视化软硬件仿真M.:航空航天大学,2006. 9 周润景,丽娜基于PROTEUS的电路及单片机系统设计与仿真M.:航空航天大 学,2006. 5靖武,周灵彬单片机系统的PROTEUS设计与仿真M:电子工业,2007. 44周润景,丽娜.PROTEUS入门实用教程M:机械工业,2007. 9楼然苗,光飞.51系列单片机设计实例M:航空航天大学,2003. 3楼然苗,光飞单片机课程设
14、计指导M:航空航天大学,2007. 76直流电机PWM调速C语言程序:#include#includeinclude /* * 自左义变量 */define uint unsigned int /自左义变量define uchar unsigned charchar gw, sw, bw, qw;ucharucharsbitsbitsbitsbitsbitsbitucharuchar/* * 水控制位左义 * * * * */uchar codesmg12 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x73, 0
15、x71;/ 程 序 存储区定义字型码表位码char data led 4 = 0x08, 0x04, 0x02, 0x01;/数码管显示的数值/数码管显示延时函数uint x;display 0;delays 0;key();displays 0;/*主函数*/main (void)/TO方式1泄时计数 Tl方式1计数/装入初值 20MS/ 计数567TM0D=0x51;THO二Oxbl;TLO二OxeO;TH1二0x00;TL1二0x00;TRO二1;TR1=1;/启动tO/启动tlgw=sw=bw=qw=0; /数码管初始化 P0二0xc0;P2=l;while (1)无限循环displa
16、y0; 数码管显示 key();/* * * * 数码管显示 * * * * */ display 0uchar i; gw=x%10;sw=(x/10)%10; bw=(x/100)%10; qw=x/1000;for(i=0;i0;i);/*泄时*中断函数*/void t0() interrupt 1 using 2THO二Oxbl; /重装 tOTL0=0xe0;f;if (k=0)if(ft)PIO二1;elseP10=0;Pll=0;elseif(f=5)t=5;if(P14=0) /减速while (P14=0); if(tl) t二 1;if (P15=0)while(P15=0); EA=O;PIO二0;Pl1=0;停止/* END */
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1