3个回答
展开全部
51的输出是没法直接驱动电机的,电机需要有驱动电路。只能用PWM控制驱动电路,进而控制电机转向和转速。比如用P1^1和P1^2输出两路PWM信号,正向转动时P1^1输出PWM信号,P1^2输出低电平。反向转动时则相反设置。而转速则是改变PWM的占空比,即脉冲宽度与所占周期的比例,占空比为0则制动,占空比为1则全速转动。先理清大致的流程,再进行细节考虑。对于程序,根据自己的电路,自己编吧!网上很多这些程序的。
更多追问追答
追问
关键就是占空比不会调 要采用中断方式 网上都是C 我们要汇编
追答
之前用51产生PWM信号去控制舵机,那才叫坑。51没有专门的PWM控制器,所以只能用定时器去产生PWM信号。而写程序的时候,关于占空比一般就考虑高电平与低电平的时间比例。比如给出一个周期的时间为500ms(LOOP_TIME),给定时器赋初值,即高电平持续时间(H_TIME),定时器溢出时,先关闭定时器,然后电平翻转为低电平,加一个延时也就是低电平持续时间(L_TIME=LOOP_TIME-H_TIME),延时执行完之后电平翻转为高,再开定时器,中断返回。这样就产生了一个高电平为H_TIME,低电平为L_TIME的PWM信号,而其中周期是定值LOOP_TIME,H_TIME是自变量,L_TIME是因变量。增大高电平时间(加速转动)的同时就相当于减小了低电平的时间。不知道这样说明白吗。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种32位的微控制器,由意法半导体(STMicroelectronics)公司设计和生产。STM32是一种非常常见的嵌入式系统芯片,广泛应用于物联网、汽车、工业控制、医疗设备等领域。STM32具有以下特点:1. 体积小巧:STM...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询