51单片机控制电机转速

电机参数DC12V,1.2A。要求电路和程序(汇编语言)。是不是通过电压电流的变化控制电机转速。网上说通过控制pwm的占空比,具体如何实现呀,请高手指点。最好有图和解释,谢谢~~~
有人说51单片机无法产生pwm,也无法驱动直流电机,要加驱动电路,不是步进电机,就是普通的直流电机,大概的程序是怎样的呀,现在满脑袋浆糊,乱呀~~~
现在单片机右边大致明白了,PWM输出后,驱动三极管,后面接上电机,那单片机左边接什么呀??

前天帮别人做了一个,还可以显示当前速度,和设置的速度,4X4键盘(16个按键),设置速度可直接输入,有正转,反转,启动,停止,和加速,减速功能



温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-27
以前简单的51的确无法由内部硬件产生PWM. 而且驱动电机需要驱动电路 一般单片机都是 5V/3.3V供电. 电机工作电流很大,单片机区区几十mA的驱动电流而已. 现在很多51内核的单片机已经内置PWM模块. 直流电机是通过电流大小来控制转速. 之所以说PWM可以控制直流电机其实也是因为PWM可以模拟电流罢了 PWM在高电平时让电机转.低电平是点击不转 ,当PWM频率高时,电机其实是一转一停. 不同的占空比(高电平长宽)就会让电机按照不同的转速工作了.
没有PWM模块也不要紧. 可以用一个定时器模拟PWM的. 在每次的时钟中断内改变下次的始终定时时间可以可以了. 不过震荡频率一定要选比较大的. 这样控制起来就游刃有余了
第2个回答  2009-04-27
对于普通的电机只要调节通过它的电流就可以调节转速了;对于步进电机,可以通过程序的控制来控制它的转速。
PWM实际上就是脉宽调制波,通过调节它的占空比实际上就是在调节电压的有效值,从而实现调节电机两端的电压,由此即可改变电机的转速。