pwm工作原理到底是怎样???
我想知道,当他处于低电平的时候是咋样的???难道那段时间电机就不转了吗???#include<reg52.h>unsignedchartimer1;sbitPWM=P1^...
我想知道,当他处于低电平的时候是咋样的???难道那段时间电机就不转了吗???
#include <reg52.h>
unsigned char timer1;
sbit PWM=P1^1;
void system_Ini()
{
TMOD|= 0x11;
//PWM
TH1 = 0xfe; //11.0592
TL1 = 0x33;
TR1 = 1;
IE =0x8A;
}
main()
{
system_Ini();
while(1)
{ if(timer1>100) timer1=0;
if(timer1<30) PWM=0;
else PWM=1;
}
}
/*************************************
[ t1 (0.5ms)中断] 中断中做 PWM 输出
------------1000/(0.02ms*250)=200Hz
*************************************/
void T1zd(void) interrupt 3 //3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断2 4 串口中断
{
TH1 = 0xfe; //11.0592
TL1 = 0x33;
timer1++;
}
这个程序没看懂,谁能帮我解释一下吗?? 展开
#include <reg52.h>
unsigned char timer1;
sbit PWM=P1^1;
void system_Ini()
{
TMOD|= 0x11;
//PWM
TH1 = 0xfe; //11.0592
TL1 = 0x33;
TR1 = 1;
IE =0x8A;
}
main()
{
system_Ini();
while(1)
{ if(timer1>100) timer1=0;
if(timer1<30) PWM=0;
else PWM=1;
}
}
/*************************************
[ t1 (0.5ms)中断] 中断中做 PWM 输出
------------1000/(0.02ms*250)=200Hz
*************************************/
void T1zd(void) interrupt 3 //3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断2 4 串口中断
{
TH1 = 0xfe; //11.0592
TL1 = 0x33;
timer1++;
}
这个程序没看懂,谁能帮我解释一下吗?? 展开
展开全部
PWM就是占空比,高电平在周期中占的比值,这个程序是用定时器来实验对 占空比的控制。这是是用定时器1做的,首先定初值,没仔细计算过 TH1和TL1是16位定时器高八位和第八位,通过赋值定义一个初值,比如 1ms,也就是1ms进入定时器1一次,timer1++,就是1ms timer1+1;主函数 main里面,timer1>100清零也就是周期=100*1ms=100ms。然后后面的timer1<30,pwm=0,那么>30 <100的是pwm=1,也就是占空比为7/10。 不清楚可以留言,希望能够帮助你吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PWM是脉冲宽度调制 也就是说我们调周期的 ;你既然用pwm那就是想用脉冲来控制电机;只所以说pwm 就是因为要求他的频率非常高 比如你给个高脉冲20s 地脉冲20s 那电机肯定要转 再停的 我们在应该中基本是用pwm来调试的 他的脉冲发送频率很高 所以你看不出来电机什么现象 希望我的答案能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
电脑风扇PWM控制原理及标准规范解读 [从零开始到精通电脑风扇];主板风扇;PWM风扇;4针风扇;电脑4针风扇;PWM控制原理;风扇标准规范;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询