不是步进电机。... 不是步进电机。
你是说8051吗?这种没有PWM的单片机,如果需要实时调节电机的转速可以使用定时器来解决。先决定电机调速的PWM的基频,比如200Hz,那么定时器0取5ms一次中断。在定时器0内开启定时器1,而定时器1的定时时间长短内参数 PWM来决定,定时器1的初值决定输出的脉宽,
定时器0的内容:
TH0=(按实际所需PWM基频计算得到。
TL0=
P1_7=0;//防止定时器1没能发生中断造成输出常高。
T=5-pwm,//T先在前面定义下,这里的5是假设定时器0 5ms中断一次,pwm的取值在于这里的运算方式,
TH1=T/256;//转换为定时器1的初值
TL1=T%256+10;//这里+10是保证定时器1在定时器0之前发生中断。
TR1=1; //开启定时间器1
P1_7=1;//输出高电平 假设1.7脚为输出脚
定时器1的内容
TR1=0; //关闭定时器1,
P1_7=0;//输出低电平。