AT89C52单片机输出可调PWM波的方法设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AT89C52单片机输出可调PWM波的方法设计PWM是“脉冲宽度调制”的意思。PWM实际上是在单片机的某个引脚输出一系列的矩形波,其周期一般是固定的;而其高电平、低电平所占用的时间,是可以受控调整的。高电平、低电平所占用的时间之比,称为占空比,其值为0~1之间。PWM的应用很广,简单的说,它可以控制灯光的亮度、可以控制直流电机的转速,甚至还可以输出语音信号。新型的单片机,往往都含有硬件的PWM模块,编写程序就很简单;而老式的MCS-51系列,就不具备这个条件。其实,在没有PWM硬件的单片机上实现PWM,也并不难,只需一个定时器,令其工作在中断方式即可。下面以网上的一个题目为例,说明实现PWM方法。要求:1。单片机的晶振是12MHz,输出周期为1s。2。用两个开关控制占空比的增加和减少,分20等级。针对这个题目,做而论道设计了一个简单的实验电路:在P2口的8条线输出PWM波形;在/INT1、/INT0外接了两个按键,用来调整占空比;在P0口外接了两个BCD数码显示器,用来显示当前的占空比的等级。实验的时候,可以使用示波器来观察P2口输出的波形。如果把PWM波形的频率提高,也可以用LED观察到渐亮渐暗的效果,目前看,只是闪烁的时间发生变化。//程序如下://==========================================#includeunsignedinta,b;//------------------------------------------voidmain(){TMOD=0x01;//T0定时方式1TH0=(65536-50000)/256;//50ms@12MHzTL0=(65536-50000)%256;TR0=1;ET0=1;EX0=1;EX1=1;IT0=1;IT1=1;EA=1;a=0;b=10;while(1);}//------------------------------------------voidtime0()interrupt1{TL0=(65536-50000)%256;TH0=(65536-50000)/256;//50ms@12MHza++;if(a==20)a=0;//在这里调整周期。if(a《b)P2=0xff;//在这里调整占空比。elseP2=0x00;P0=((b/10)《《4)+b%10;//显示占空比等级}//------------------------------------------voidX0_INT()interrupt0{b++;if(b》19)b=19;//占空比等级最大为19}//------------------------------------------voidX1_INT()interrupt2{b--;if(b《1)b=1;//占空比等级最小为1.}//==========================================//电路以及仿真效果如下图:这个程序时我在刚学单片机是转来的,今天我想就这个程序说两句。按功能要求来说这个程序是没有问题的,我想说的是——用pwm控制直流电机在你用硬件调试调试这个程序时,你会发现个问题:当你按下按钮减小占空比时直流电机是转一下停一下的用眼睛或者耳朵都是能分辨的。当然用pwm控制直流电机本来就是转下停下的,因为pwm就是有连续的一高一低电平。当他为高电平时电机转低电平时就停。我们现在要做的就是让电机的转动给我们的感觉是连续的,当然这肯定还是要从pwm下手。要做到电机流畅的转动其实很简单,只要将pwm电平的周期缩短(频率升高)就行了也就是减小产生中断的时间(初值设大点)。这个程序还是有很大的缺陷的,在protues上仿真有些问题是发现不了的。而这里出现的问题也是典型的——按键消抖。这个程序里是没有消抖的(如果进行了硬件消抖,这是没有问题的)。用按键来产生一个中断肯定是要消抖的,不管是硬件的还是软件的。在protues上两样都不用的话,仿真也是能通过的,所已说仿真通过不一定能在硬件上实现你想要的功能。以上为转载如果只是简单的想产生一定占空比的矩形信号可以对定时器这样使用,道理同上比如要P3产生占空比为30%的1KHZ的矩形波。voidTImer()interrupt1//产生1khz的占空比为{TH0=(65536-100)/256;//定时产生0.1KHZ的波形TL0=(65536-100)%6;a++;if(a==3)//定时器运行3次指向下一句P3=1;elseif(a==10)//记到10次时执行下一句P3=0;a=0;}也可以将红字设置为变量,用按键控制产生不同占空比、不同频率的矩形波。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功