如何利用单片机模拟PWM
- 文件大小:37KB
- 浏览次数:
- 发布时间:2017-03-10
本资料包含doc文件1个,下载需要20积分
如何利用单片机模拟PWM如何利用51单片机输出PWM波
1、理论知识
2、程序及分析
1、理论知识
PWM这个功能在飞思卡尔、STM32等高档的单片机内部有专用的拈,用此类芯片实现PWM功能时只需要通过设置相应的寄存器就可实现周期和占空比的控制。但是如果要用51单片机的话,也是可以的,但是比较的麻烦。此时需要用到内部定时器来实现,可用两个定时器实现,也可以用-个定时器实现。
用两个定时器的方法是用定时器T0来控制频率,定时器T1来控制占空比。大致的的编程思路是这样的:T0定时器中断让-个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1是让IO口输出低电平,这样改变定时器T0的初值就可以改变频率,改变定时器T1的初值就可以改变占空比。
下面重点介绍用-个定时器的实现PWM的方法。因为市面上的智能小车所采用的电机大多数为TT减速电机,通过复杂的实验此电机最佳的工作频率为1000HZ(太高容易发生哨叫,太低电机容易发生抖动),所以下面以周期为1ms(1000HZ)进行举例,要产生其它频率的PWM波,程序中只需作简单修改即可。
用-个定时器时(如定时器T0),首先你要确定PWM的周期T和占空比D,确定了这些以后,你可以用定时器产生-个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则DTnt,类似的可以求出PWM低电平时间需要多少个时间基准n。
因为这里我们是产生周期为1ms(1000HZ)的PWM,所以可设置中断的时间基准为0.01ms,,然后中断100次即为1ms。在中断子程序内,可设置-个变量如time,在中断子程序内,有三条重要的语句:1、当time>100时,time清零(此语句保证频率为1000HZ),2、当time>n时(n应该在0-100之间变化开),让单片相应的I/O口输出高电平,当time
- 1朱炳寅- 2011年一、二级全国注册结构工程师专业考试试题解答及分析
- 2房屋装饰工程设计施工全套经典图集(5全套)
- 3给力天正最新软件8.2全系列注册机
- 4HB 3637-1985 簧片
- 5箱盖cad图纸
- 6烧结杯08[1]CAD图纸.11CAD图纸.26CAD图纸
- 7FT1700双刀座纵剪机组平面图CAD图纸
- 8DZ/T 0279.14-2016 区域地球化学样品分析方法 第14部分:硒量测定 氢化物发生—原子荧光光谱法
- 9石油化工设备设计选用手册 除尘器
- 10职业危害防治汇报材料
- 11盾构法和浅埋暗挖法结合建造地铁车站的模型试验
- 12客运专线箱梁夏季施工芯部温度控制QC
- 13CAD常用图库
- 14GB/T 18737.6-2004 纺织机械与附件 经轴 第6部分织带机和钩编机用经轴
- 15乙二醇合成PFD总流程图cad图纸