怎样用AT80C51单片机编写汇编程序输出pwm 通过不同的占空比控制直流电机的转速和转向?

lwclsq@126.com... lwclsq@126.com 展开
 我来答
lzh771055370
推荐于2016-05-15 · 超过23用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:38.9万
展开全部
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 广告
STM32是一种32位的微控制器,由意法半导体(STMicroelectronics)公司设计和生产。STM32是一种非常常见的嵌入式系统芯片,广泛应用于物联网、汽车、工业控制、医疗设备等领域。STM32具有以下特点:1. 体积小巧:STM... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
Yi________yi
2012-12-25
知道答主
回答量:11
采纳率:0%
帮助的人:1.2万
展开全部
用Keil C51软件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cc3000c
2012-12-25 · TA获得超过685个赞
知道小有建树答主
回答量:484
采纳率:25%
帮助的人:491万
展开全部
留下邮箱、给你一个实例
追问
lwclsq@126.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式