专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
51单片机课程设计
2019-03-24 17:58
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
16133
7
1345
直流电机调速
1,PWM占空比调速
2,用八个开关k0~k7控制电机的转向,及转速
k7=1,电机顺时针转动
k7=0,逆时针转动
k0到k6控制转速,k6=1,转速最快
k0=1,转速最慢
当k6=k5=k4=k3=k2=k1=k0=0时,电机停转
跪求试验程序(汇编)和电路原理图
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
exiao
1楼-- · 2019-03-24 22:50
求不到的。网上有很多类似的例程,可以参考
加载中...
sun1238898
2楼-- · 2019-03-25 03:17
精彩回答 2 元偷偷看……
加载中...
hellokt43
3楼-- · 2019-03-25 03:41
汇编还是自己慢慢写吧
加载中...
ywlzh
4楼-- · 2019-03-25 06:26
对于lz的问题,其实不难设计,51单片机,直流电机,8个按键或者开关,外设不多,看了一下,整个程序的重点就在PWM占空比调速和电机的正反转。首先对于电机的正反转电路的设计不难,单片机的IO口不就可以输出高低电平吗?假设引出P1.0和P1.1接在电机上,
set p1.0
clr p1.1 (正转)
set p1.0
clr p1.1(反转)
然而51单片机的IO的输出能力不强,但是可以把IO口作为驱动,在IO口与电机之间加上三极管,使电机能够接通外部电源,正转clr p1.1,另一个引脚输出PWM,便可调速;反转clr p1.0,另一引脚输出PWM,便可调速。
之后便是PWM的问题,所谓PWM,基本意思不用多说,占空比的改变其实很简单,使之周期成为一个定值,假如这个定值用Z来代替,X代替高电平的延时参数,Y代替低电平的延时参数,时刻满足X+Y=Z不就行啦!
至于X与Y的值可以设成8:2,7:3,6:4,5:5,4:6,3:7,2:8等等不就实现了占空比的改变了吗。
比如正转:
loop:clr p1.1
set p1.0
mov r3,x ; r3可以作为延时函数的参数
call delay
clr p1.0
mov r3,y
call delay
通过定时器定时查按键的状态,来改变正反转和X,Y的值就可以了,至于这些值怎么存,可以在程序一开始就就可以开辟一块区域:
org 0000h
jmp strat
org 0070h
strat:.............
............
........
其中除了中断区不用,还有很大一片可以给你使用。
说的很直白了,程序就不用写了,懂得思路,程序也就能写了
jmp loop1
加载中...
火星撞地球
5楼-- · 2019-03-25 07:28
精彩回答 2 元偷偷看……
加载中...
ienglgge
6楼-- · 2019-03-25 12:39
用现成的电机驱动模块就可以了。主要是控制电机正反转,和速度。方向,给驱动模块对应引脚不同电平信号。速度,调pwm。再和按键识别部分,结合就可以了。
加载中...
1
2
下一页
一周热门
更多
>
相关问题
相关文章
基于51单片机的计算器设计
0个评论
51单片机300个proteus仿真实例下载
0个评论
51单片机 蜂鸣器
0个评论
51单片机驱动RC522模块
0个评论
基于51单片机的指纹密码锁
0个评论
AT89C51单片机制作简易密码锁
0个评论
51单片机汇编语言计数器
0个评论
51单片机精确延时设计
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
set p1.0
clr p1.1 (正转)
set p1.0
clr p1.1(反转)
然而51单片机的IO的输出能力不强,但是可以把IO口作为驱动,在IO口与电机之间加上三极管,使电机能够接通外部电源,正转clr p1.1,另一个引脚输出PWM,便可调速;反转clr p1.0,另一引脚输出PWM,便可调速。
之后便是PWM的问题,所谓PWM,基本意思不用多说,占空比的改变其实很简单,使之周期成为一个定值,假如这个定值用Z来代替,X代替高电平的延时参数,Y代替低电平的延时参数,时刻满足X+Y=Z不就行啦!
至于X与Y的值可以设成8:2,7:3,6:4,5:5,4:6,3:7,2:8等等不就实现了占空比的改变了吗。
比如正转:
loop:clr p1.1
set p1.0
mov r3,x ; r3可以作为延时函数的参数
call delay
clr p1.0
mov r3,y
call delay
通过定时器定时查按键的状态,来改变正反转和X,Y的值就可以了,至于这些值怎么存,可以在程序一开始就就可以开辟一块区域:
org 0000h
jmp strat
org 0070h
strat:.............
............
........
其中除了中断区不用,还有很大一片可以给你使用。
说的很直白了,程序就不用写了,懂得思路,程序也就能写了
jmp loop1
一周热门 更多>