ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:219.65KB ,
资源ID:874401      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-874401.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机 占空比可调的PWM波形发生器概要Word下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机 占空比可调的PWM波形发生器概要Word下载.docx

1、实现对直流电机转速的调整,能够很方便的实现电机的智能控制。主体电路:即直流电机PWM控制模块。这部分电路主要由AT89C51单片机的I/O端口、定时计数器、外部中断扩展等调整直流电机的转速,能够很方便的实现电机的智能控制。其间是通过AT89C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。该直流电机PWM控制系统由以下电路模块组成:设计输入部分:这一模块主要是利用带中断的独立式键盘来实现对直流电机的加速、减速控制。设计控制部分:主要由AT89C51单片机的外部中断扩展电路组成。直流电机PWM控制实现部分主要由一些二极管、电机和L298直流电机驱动模块组成。设计显示

2、部分: LED数码显示部分,实现对PWM脉宽调制占空比的实时显示。三、方案设计系统框架设计总体设计方案的硬件部分详细框图如图一所示。方案说明:直流电机PWM调速系统以AT89C51单片机为控制核心,由命令输入模块、LED显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转和急停控制;同时单片机不停的将PWM脉宽调制占空比送到LED数码管完成实时显示。四、系统硬件设计4.1 硬件模块组成(1)单片机控制模块(2)L298电机驱动模块(3)LED显示模块(4)独立键盘控制模块3.3系统硬

3、件各模块电路4.2 单片机整个控制模块 这里利用定时计数器让单片机P2口的P2.6、P2.7引脚输出占空比不同的方波,然后经驱动芯片L298放大后控制直流电机。驱动芯片的输入电压是两引脚的电压差,在调速时一根引脚线为低电平,另一个引脚产生调速方波,这样两个引脚的电压差就可通过控制其中一个引脚来控制。当需要改变电机转动方向时,两个引脚的输出相反。定时计数器若干时间(1us)中断一次,就使P2.6或P2.7产生一个高电平或低电平。直流电机的速度分成100个等级,因此一个周期就有100个脉冲,周期为一百个脉冲的时间,速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的

4、百分数。一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越大,加在电机两端的电压越大,电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时,就可以得到不同的电机平均速度,从而达到调速的目的。五、PWM的基本工作原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。六、软件设计主程序设计:主程序部分

5、主要对定时计数器T1的工作方式、中断入口地址、计数初值、中断产生、进行设置,为了方便程序编程。 主程序流程图 定时中断子程序设计1. 定时计数器TMOD设置选用T0 作为产生脉冲用的定时器并且使它工作在模式1 下。在模式1 中,寄存器TH0 和TL0 以全8 位参与操作,构成一个16 位定时/计数器,当TH0 溢出时向中断标志位TF0进位,并申请中断。在这种模式下T0 定时时间最长,有利于在更大的范围内对电机进行调速。 工作模式寄存器TMODTMOD 的高4 位用于T1,低4 位用于T0,4 种符号含义如下:GATE:门控位。C/T :定时/计数器方式选择位。C/T =0 为定时器方式,C/T

6、 =1时为计数器方式。M1M0:工作模式选择位,具体如下:TMOD寄存器GATE C/T M1 M2 GATE C/T M1 M0 0 0 0 1 0 0 0 0M1M0=00:模式0(13 位定时/计数器)M1M0=01:模式1(16 位定时/计数器)M1M0=10:模式2(8 位自动重装常数的定时/计数器)M1M0=11:模式3(2 个8 位定时/计数器,仅对T0)因在程序中T0 是作为定时器,T0 的C/T 控制位就应设置为0;T0 工作在模式1,TMOD中控制T0的M1M0应设置为01,其它位全部设置为0,即应给工作模式寄存器TMOD赋值01H。 2. 工作方式1及初值计算当M1,M0

7、=01时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路 仍以定时器0为例,定时器1与之完全相同。方式0和方式1的区别仅在于计数器的位数不同,方式0为13位,而方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字(GATA、C/T 、TF0、TR0)和方式0相同。在工作方式1下,计数器的计数值范围是:165536(216)。当为定时工作方式1时,定时时间的计算公式为:(216计数初值)晶振周期12 如果单片机的晶振选为6.000MHz,则最小定时时间为:213(2161)1/610-612=210-6(s)=2(us)(2160)1/610-612=13107210-

8、6(s)=131072(us)定时/计数器中的计数器是在计数初值基础上以加法计数的,并能在计数器从全“1”变为全“0”时自动产生溢出中断请求。因此,可以把计数器计数初值设定为TC,定时器定时时间T 的计算公式为:T=(M-TC)T 计数2式中M 为计数器模值,该值和计数器工作模式有关。在模式1 时M 为216。在定时器模式下,T 计数是单片机振荡周期的12 倍。上式也可写成:TC=M-T/T 计数在程序设计中工作模式为模式1,则计数器模值M=216=65536;假设单片机仿真器的晶振频率为22.1184MHz,则:T 计数12/(22.1184106)=5.42534710 若定时时间长度为3

9、0ms,则:TC=65536-3010-3/5.42534710-7=10240=2800H给定时器赋值时:MOV TL0, #00H;MOV TH0, #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的溢

10、出中断允许位。当ET1=1时,允许T1中断;当ET1=0时,禁止T1中断。EX1(IE.2):外部中断1的中断允许标志位。当EX1=1时,允许外部中断1中断;当ES=0时,禁止外部中断1中断。ET0(IE.1):定时器T0溢出中断允许位。当ET0=1时,允许T0中断;当ET0=0时,禁止T0中断。EX0(IE.0):外部中断0允许位。当EX0=1时,允许外部中断0中断;当EX0=0时,禁止外部中断0中断。 定时中断子程序流程根据程序的需要,先为IE的各位赋值:外部中断0的中断允许位: EX0=1,允许外部中断 SETB EX0定时器T0溢出中断允许位: ET0=1,允许中断请求 SETB ET

11、0允许中断(EA=1,CPU允许中断) SETB EA串行口中断允许位: ES=1,允许串行口中断 SETB ES以上各位等于1 时,CPU 开放中断;等于0 时,CPU 禁止该中断。单片机系统复位后,IE 中各位均被清零,即禁止所有中断。因此程序中开T0 中断则应将ET0置1,另外如果要使用中断EA 也要置1,故应给IE 赋值为82H。七、系统功能调试仿真整体图如下:直流电机的调试功能仿真如下图:加速分5档,波形依次如下:减速分5档,波形如下:八、设计总结通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,

12、同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了有关本设计的各硬件的资源,其中包括:直流电机PWM调速、AT89C51单片机、L289引脚图及其引脚功能、LED数码管显示等知识。参考文献 1 林志琦.基于Proteus的单片机可视化软硬件仿真M.北京:北京航空航天大学出版社,2006.92 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真M.北京:北京航空航天大学出版社,2006.53 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M.北京:电子工业出版社,2007.44 周润景,张丽娜.PROTEUS入门实用教程M.北京:机械工业出版社,2007.

13、95 楼然苗,李光飞.51系列单片机设计实例M.北京:北京航空航天大学出版社,2003.36 楼然苗,李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社,2007.7直流电机PWM调速C语言程序:#includeabsacc.h #include /*自定义变量*/#define uint unsigned int /自定义变量#define uchar unsigned char char gw,sw,bw,qw;uchar j; /定时次数,每次20msuchar f=5; /计数的次数sbit P10=P10; /PWM输出波形1sbit P11=P11; /PWM输出波形2sb

14、it P13=P13; /加速sbit P14=P14; /减速sbit P15=P15; /停止sbit P16=P16; /启动uchar k;uchar t; /脉冲加减/*控制位定义*/uchar code smg12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71;/程序存储区定义字型码表char data led4=0x08,0x04,0x02,0x01; /位码uint x; /数码管显示的数值display(); /数码管显示 delays(); /延时函数key();displays();/*主函数*/m

15、ain (void) TMOD=0x51; /T0方式1 定时计数 T1方式1计数 TH0=0xb1; /装入初值 20MS TL0=0xe0; TH1=0x00; / 计数567 TL1=0x00; TR0=1; /启动 t0 TR1=1; /启动t1 gw=sw=bw=qw=0; /数码管初始化 P0=0xc0; P2=1; while(1) /无限循环 display(); /数码管显示 key(); /*数码管显示*/display() uchar i; gw=x%10; /求速度个位值,送到个位显示缓冲区 sw=(x/10)%10; /求速度十位值,送到十位显示缓冲区 bw=(x/100)%10; /求速度百位值,送到百位显示缓冲区 qw=x/1000; /求速度千位值,送到千位显示缓冲区 for(i=0;i0;i-);/*t0定时*中断函数*/void t0() interrupt 1 using 2 /重装t0 f-; if(k=0) if(f=5) t=5; if(P14=0) /减速 while(P14=0); t-; if(t1) t=1;if(P15=0) /停止 while(P15=0); EA=0; P10=0; P11=0;/* END */

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2