单片机控制步进电机正反转c语言程序,单片机控制步进电机1步10步100步正反转…

单片机控制步进电机正反转c语言程序,单片机控制步进电机1步10步100步正反转…原标题:单片机控制步进电机1步10步100步正反转一,程序设计方案的构想:1)的控制原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响.即给电机加一个信号,电机则转过一个步距角.这一线形关系的存在,加上步进电机只有周期性的误差而无积累误差等特点,使得在线速度,位置等控制领域用步进电机来控制变的…

大家好,又见面了,我是你们的朋友全栈君。

原标题:单片机控制步进电机1步10步100步正反转

一,程序设计方案的构想:

1) 的控制原理

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响.即给电机加一个信号,电机则转过一个步距角.这一线形关系的存在,加上步进电机只有周期性的误差而无积累误差等特点,使得在线速度,位置等控制领域用步进电机来控制变的非常的简单.

2) 分析设计

使用以软件方式驱动步进电机通过编辑方法,对步进电机的转速,往返转动的角度以及转动次数等进行控制使其在一定的范围下进行,还可以方便灵活的控制步进电机的运行状态:

3)原理图:

01cf10b2060f8651af1acc0d94973fed.png

4)连接图:

输出端

输入端

A

C1

P2.0

KM1

P1.0

1B

B

C2

P2.1

KM2

P1.1

2B

C

C3

P2.2

KM3

P1.2

3B

D

C4

P2.3

KM4

P1.3

4B

P2.4

KM5

5)运用元件及电路图

元件名称

型号

件数

单片机

AT89C51

1

晶振

CRYSTAL

1

电容

CAP 22PF 47UF

2

电阻

RES 0.6W 10K

1

步进电机

STEPER 4相

1

步进电机芯片

ULN2003A

1

按钮

BUTTON

6

13f142bf09e3867af76c5d4852345a3e.png

二、 实验程序

org 0000H

start:

jnb p2.0,step

jnb p2.1,step

sjmp start

step:

jnb p2.2,one

jnb p2.3,ten

jnb p2.4,hundred

ljmp start

one:

mov r0,#2

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

ten:

mov r0,#10

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

hundred:

mov r0,#100

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

zh1:

mov p1,#03H

lcall delay

jnb p2.7,stop

djnz r0,zh2

ljmp stop

zh2:

mov p1,#06H

lcall delay

jnb p2.7,stop

djnz r0,zh3

ljmp stop

zh3:

mov p1,#0cH

lcall delay

jnb p2.7,stop

djnz r0,zh4

ljmp stop

zh4:

mov p1,#09H

lcall delay

jnb p2.7,stop

djnz r0,zh1

sjmp stop

fan1:

mov p1,#09H

lcall delay

jnb p2.7,stop

djnz r0,fan2

ljmp stop

fan2:

mov p1,#0cH

lcall delay

jnb p2.7,stop

djnz r0,fan3

ljmp stop

fan3:

mov p1,#06H

lcall delay

jnb p2.7,stop

djnz r0,fan4

ljmp stop

fan4:

mov p1,#03H

lcall delay

jnb p2.7,stop

djnz r0,fan1

sjmp stop

stop:

mov p1,#00H

ljmp start

delay:

mov r2,#200

d1:mov r1,#200

djnz r1,$

djnz r2,d1

ret

end

三、调试记录:

当程序编译完成后,下载到单片机中后,在运行过程当中时发现按下10步按钮无法运行,其他都正常运行,回到程序检查时发现10步程序编写出现错误,经过改正后,可以运行.

责任编辑:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140646.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【C#】后台线程IsBackground「建议收藏」

    【C#】后台线程IsBackground「建议收藏」简单点来说:C#中的线程分前台线程和后台线程。对于前台线程来说,如果这些线程不退出,则主线程无法退出,则整个进程也无法退出。会造成即使界面窗口关掉了,但是进程管理器里还有该程序。因此,在关闭窗口时,需要编程显示的把这些前台线程关掉才行。但是,这样就会带来个问题,需要记录这些前台线程的实例才行,很不方便。为此,可以把线程定义为后台线程。后台线程与前台线程的唯一区别就是:后台线程不需要主动关闭。当所有前台线程都退出以后,主线程会自动的关掉后台线程,然后让进程退出。定义线程为后台线程的方法为:Thr

    2022年10月16日
    3
  • 对委托书内容的更改声明_更改证明怎么开

    对委托书内容的更改声明_更改证明怎么开更改CSDN博客昵称

    2025年6月7日
    5
  • WDA Architecture

    WDA Architecture忙了一阵子,把我学习WD的计划打乱了,今天终于有点时间可以开学了,先转篇网文先.原文地址:http://moonroom1.spaces.live.com/blog/cns!7578AFCD9C32F7B1!443.ent…

    2022年7月14日
    18
  • js生成二维码_js生成二维码并保存

    js生成二维码_js生成二维码并保存js生成二维码一、一个简单的示例前段时间项目中需要开发扫描二维码查看信息的功能,在网上查了一些资料,把用过的方法进行总结需要导入一个qrcode的js插件。一、一个简单的示例如下:(仅供参考)<%–CreatedbyIntelliJIDEA.User:ASUSauthor:xumzDate:2021/2/27Time:10:33搬运请备注TochangethistemplateuseFile|Settings|Fil

    2022年10月18日
    3
  • 安卓使ScrollView滚动到底部代码

    在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,这里有两种办法,第一种,使用scrollTo():第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScro

    2021年12月23日
    38
  • Android原生编解码接口 MediaCodec 之——踩坑

    Android原生编解码接口 MediaCodec 之——踩坑关键帧MediaCodec有两种方式触发输出关键帧,一是由配置时设置的KEY_FRAME_RATE和KEY_I_FRAME_INTERVAL参数自动触发,二是运行过程中通过setParameters手动触发输出关键帧。自动触发输出关键帧在MediaCodec硬编码中设置I(关键帧)时间间隔,在api中是这么设置的mediaFormat.setInteger(MediaF………

    2025年8月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号