单片机控制步进电机正反转c语言程序,单片机控制步进电机1步10步100步正反转...
原标题:单片机控制步进电机1步10步100步正反转
一,程序设计方案的构想:
1) 的控制原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响.即给电机加一个信号,电机则转过一个步距角.这一线形关系的存在,加上步进电机只有周期性的误差而无积累误差等特点,使得在线速度,位置等控制领域用步进电机来控制变的非常的简单.
2) 分析设计
使用以软件方式驱动步进电机通过编辑方法,对步进电机的转速,往返转动的角度以及转动次数等进行控制使其在一定的范围下进行,还可以方便灵活的控制步进电机的运行状态:
3)原理图:
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
二、 实验程序
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步程序编写出现错误,经过改正后,可以运行.
责任编辑:
单片机控制步进电机正反转c语言程序,单片机控制步进电机1步10步100步正反转...相关推荐
- 步进电机红外遥控C语言程序,单片机红外遥控+步进电机+1602液晶显示c语言源程序...
这是我做的红外遥控控制的1602显示转速和转向的步进电机c语言原程序,已经调试成功!有些模块是以前做其他实验时做的,现在是直接调用的,包括1602液晶显示技术,TC9012红外解码,然后就是四相步进电 ...
- 按键控制8*8led点阵C语言程序,单片机按键控制8X8LED点阵屏显示图形 程序的几个问题...
/* 名称:按键控制8X8LED点阵屏显示图形 说明:每次按下K1时,会使8X8LED点阵屏循环显示不同图形. 本例同时使用外部中断和定时中断. */ #include #include ...
- 单片机led流水灯实验c语言程序,单片机LED流水灯实验及流程图源代码详解
利用实验室提供的单片机实验开发板的最小系统电路模块.流水灯电路模块,以及Protues仿真软件搭建电路,实现I/O口循环流水灯演示效果. LED流水灯控制电路如图2-1所示,八个LED灯D0-D7(可 ...
- DSB算法C语言程序,单片机中使用DSB温度传感器C语言程序.doc
单片机中使用DSB温度传感器C语言程序 单片机中使用DS18B20温度传感器C语言程序(参考1) /************************************************** ...
- C语言 int 转单精度浮点,单精度浮点数与十六进制转换 C语言程序 单片机也可用...
单精度浮点数与十六进制转换 C语言程序 单片机也可用 #include float Hex_To_Decimal(unsigned char *Byte,int num)//十六进制到浮点数 { // ...
- 单片机发射红外c语言程序,单片机模拟红外发射源程序IR-send
单片机模拟红外遥控器发射的C语言程序 //********************************************单片机红外发射**************************** ...
- c语言程序流程控制(下)
c语言程序流程控制 嵌套 switch分支结构 语法 例题 switch细节 练习 switch与if语句的比较 循环控制 for循环 练习题 while循环控制 do while 循环 多重循环控制 ...
- fir滤波 c语言,分享MSP430单片机实现的FIR滤波器C语言程序
分享MSP430单片机实现的FIR滤波器C语言程序 [复制链接] #include #define FRAME 180 short int h[19] = { 399,-296,-945 ...
- c语言抢答器程序,单片机六路抢答器C语言程序
<单片机六路抢答器C语言程序>由会员分享,可在线阅读,更多相关<单片机六路抢答器C语言程序(4页珍藏版)>请在人人文库网上搜索. 1.单片机六路数显计时抢答器c语言程序#inc ...
- 数码管c语言程序如何控制,跪求,8255控制数码管,单片机c语言程序;
跪求,8255控制数码管,单片机c语言程序: 答案:3 信息版本:手机版 解决时间 2021-04-29 04:56 已解决 2021-04-28 12:39 8255 PA口--数码管的段选,82 ...
最新文章
- 和12岁小同志搞创客开发:两个控制器之间如何实现通信?
- 针对七牛含有特殊字符的文件名,对特殊字符编码处理
- 【BLE MIDI】MIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )
- Lync登录错误解决一例
- python类和oop基础知识
- 基于matlab的pcm系统仿真_深入理解基于RISC-V ISS Spike的仿真系统:探索Spike,pk和fesrv...
- 初识函数式编程(Functional Programming,FP)
- [Ajax] jQuery中的Ajax -- 02-jQuery中的三级联动
- 软件项目验收汇报ppt_项目验收!万能PPT模板!等你来拿
- Java中equals()方法和==的区别分析
- 成功解决pycharm导入第三方库出现ReadTimeoutError超时的问题
- 谷歌云端语音识别软件
- css之使用clearfix类清除浮动
- 医疗机构做直播前的预告应该怎么做?
- v中国瓶装水市场营销状况与销售动态分析报告2022-2027年
- php excel导出pdf文件,如何修复“无法加载PDF呈现库”使用PHPExcel TCPDF将Excel导出为PDF...
- 微信小程序接口服务器,微信小程序--调用外部服务器接口
- 基于Python生成Markdown的标题序号
- 一文详解NGram语言模型以及困惑度perplexity
- python爬取王者荣耀全皮肤高清无水印图片