单片机课程设计步进电机控制Word文档格式.docx
- 文档编号:22184934
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:179.33KB
单片机课程设计步进电机控制Word文档格式.docx
《单片机课程设计步进电机控制Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计步进电机控制Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
步距角:
对应一个脉冲信号电机转子转过的角位移.步距角=360/(转子齿数*拍数)
系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C、D四相组成。
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。
步骤:
先设计键盘显示程序,根据书本的键盘扫描程序与数码管显示程序,把二者整合到一起,成功后,再做驱动电机程序,在键盘显示程序的基础上,进行扩张,实现电机的正反转与调速控制。
二、硬件原理接线图
键盘显示原理图
连线图
⏹步进电机模块插头接实验系统J3插座,(顺接)
⏹把P1.0~P1.3分别接到BA~BD插孔。
三、流程图
按键流程图
数码管显示流程图
电机控制程序流程图
四、程序清单
ORG0000H
AJMPMAIN
ORG0050H
MAIN:
MOVSP,#40H;
主程序
MOV79H,#10H;
初始化,使数码管“灭”
MOV7AH,#10H
MOV7BH,#10H
MOV7CH,#10H
MOV7DH,#10H
MOV7EH,#10H
MOVR1,#7EH
MAIN1:
ACALLKEY;
调用键盘扫描子程序
MOV@R1,A;
把键值送入显示缓冲区
CJNER1,#78H,KS;
显示缓冲区是否存满
CJNEA,#16H,MAIN;
确认键是否按下
LJMPRUN
KS:
DECR1
LJMPMAIN1
RUN:
MOVA,7EH;
电机运行
JZZHEN;
跳正转子程序
JNZFAN;
跳反转子程序
ZHEN:
MOVP1,#03H;
AB相加脉冲
ACALLDELAY;
延时
ACALLJINAYI1;
减一
ACALLDIR;
显示
MOVP1,#06H;
BC相加脉冲
ACALLDELAY
ACALLJINAYI1
ACALLDIR
MOVP1,#0CH
MOVP1,#09H
ACALLZHEN
FAN:
ACALLJIANYI2
ACALLDIR
MOVP1,#06H
ACALLDELAY
MOVP1,#03H
LJMPFAN
DELAY:
MOVR7,#02H
DELAY10:
MOVR6,7DH
DELAY12:
DJNZR6,DELAY12
DJNZR7,DELAY10
RET
JIANYI1:
ANL79H,#0FH
ANL7AH,#0FH
ANL7BH,#0FH
ANL7CH,#0FH
LCALLDIR
MOVR5,79H
CJNER5,#0,Z1
DEC79H
MOVR5,7AH
CJNER5,#0,Z2
DEC7AH
MOVR5,7BH
CJNER5,#0,Z3
DEC7BH
MOVR5,7CH
CJNER5,#0,Z4
LJMPMAIN
Z1:
DEC79H
RET
Z2:
DEC7AH
RET
Z3:
DEC7BH
Z4:
DEC7CH
JIANYI2:
ANL79H,#0FH
MOVR5,79H
CJNER5,#0,F1
MOVR5,7AH
CJNER5,#0,F2
MOVR5,7BH
CJNER5,#0,F3
MOVR5,7CH
CJNER5,#0,F4
F1:
F2:
F3:
F4:
KEY:
ACALLKS1;
调用判断有无键按下子程序
JNZLK1
AJMPKEY
LK1:
ACALLKS1
JNZLK2
AJMPKEY
LK2:
MOVR2,#0FEH;
首列扫描字入R2
MOVR4,#00H;
首列号入R4
LK3:
MOVDPTR,#0FFDDH
MOVA,R2
MOVX@DPTR,A
MOVDPTR,#0FFDEH
MOVXA,@DPTR
JBACC.0,LK4;
ACC.0为1则跳转,即第0行按键未按下
MOVA,#00H
AJMPLKP
LK4:
JBACC.1,LK5;
第1行无按键按下,转差第2行
MOVA,#08H
LK5:
JBACC.2,LK6;
第2行无按键按下,转差第3行
MOVA,#10H
LK6:
JBACC.3,NEXT;
第3行无按键按下,改查下一列
MOVA,#18H
LKP:
ADDA,R4;
求键号
MOVDPTR,#TAB
MOVCA,@A+DPTR
PUSHACC;
键号进栈保护
LKP1:
等待键释放
JNZLKP1
POPACC
RET
NEXT:
INCR4;
指向下一列,列号加1
JNBACC.7,KND;
8列扫描完,返回
RLA
MOVR2,A
AJMPLK3
KND:
KS1:
MOVDPTR,#0FFDDH
INCDPTR
CPLA
ANLA,#0FH
TAB:
DB07H,04H,08H,05H,09H,06H,0AH,0BH
DB01H,00H,02H,0FH,03H,0EH,0CH,0DH
DB00H,00H,00H,00H,00H,00H,00H,16H
END
DIR:
MOVR0,#79H;
显示程序
MOVR3,#01H
LD0:
MOVDPTR,#TEP;
写字形
MOVA,@R0
MOVDPTR,#0FFDCH
MOVX@DPTR,A
MOVA,R3;
写字位
ACALLDL1;
INCR0;
显示缓冲区地址加一
MOVA,R3
JBACC.5,LD1;
判断是否扫描到第六个显示位
RLA
MOVR3,A
AJMPLD0
LD1:
TEP:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH,77H,7CH
DB39H,5EH,79H,71H,00H,73H
DL1:
DL:
MOVR6,#0FFH
DLA:
DJNZR6,DLA
DJNZR7,DL
五、设计心得体会
为期一周的单片机课程设计,我有很多心得体会,有关于单片机方面的,更多的是人与人之间的。
此次单片机课程设计意义非凡。
一开始,我们组出现了很多问题,例如,如何把键盘与显示程序整合到一起,但是在老师的悉心指导和同学的帮助下,各种问题都被解决了。
此次课程设计不仅增强了同学们的动手实践能力,而且更加丰富了同学们的理论知识,熟悉了汇编语言的编程方法。
除此之外,我还学到了如何与人合作,与人交流。
总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 步进 电机 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)