PWM波产生模块

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

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

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

资源描述

PWM简介:PWM为脉宽调试波,其在本设计中主要用来调节电机转速,从而实现对小车行驶速度的灵活把握。PWM波可以通过多种方法得到,基于本设计中的主控芯片是MCS-51单片机,所以,通过定时器编程产生PWM波。考虑到小车的灵活控制和调速的方便,程序采用两个定时器产生两路独立的占空比可调的PWM波,即PWM_1(由T0产生)和PWM_2(由T1产生)。其设计思想如下:52单片的定时器T0和T1是具有独立定时功能的,而定时器产生定时溢出时会产生定时中断,此时,程序进入定时中断服务子程序。在中断服务子程序中除了做装入定时初值的工作外,还可以设计一些与定时器相关的操作,这里要介绍的PWM波就是在这个过程当中编程产生的。我们可以假设某一正整型变量PWM_ZHANKONG(它在产生PWM_1波时为PWM_1_ZHANKONG,在产生PWM_2波时为PWM_2_ZHANKONG)用来调节所产生的PWM波的占空比的大小,再假设某一正整型变量PWM_COUNTER(它在产生PWM_1波时为PWM_1_COUNTER,在产生PWM_2波时为PWM_2_COUNTER),该变量在0到PWM_COUNTER_MAX(本程序中设为200)之间变化,当程序每进入一次定时中断服务子程序,就使PWM_COUNTER自加一次,且当PWM_COUNTER等于PWM_COUNTER_MAX时,使PWM_COUNTER从0重新进行计数,依次往复。现我们以PWM_1的产生过程为例进行说明,PWM_2的产生相同。当PWM_1_COUNTER小于等于PWM_1_ZHANKONG时使PWM_1=0;当PWM_1_COUNTER大于PWM_1_ZHANKONG时使PWM_1=1,这样,PWM_1重复地出现“0”、“1”变化,就产生了PWM波。需要说明的是,PWM_1_ZHANKONG是可以通过编程在0到PWM_COUNTER_MAX之间自由浮动的,这样就实现了占空比的灵活变化,体现在小车控制上就是对车速的灵活掌控。现将PWM_1的PWM波产生及占空比调节程序流程图给出:开始定时器T0初始化程序对PWM_1_ZHANKONG调节PWM_1_COUNTERPWM_COUNTER_MAXYNPWM_1_COUNTER++PWM_1_COUNTER-=PWM_COUNTER_MAXPWM_1_COUNTERPWM_1_ZHANKONGYNPWM_1=1PWM_1=0给T0装入初值

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

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

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

×
保存成功