ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:143.33KB ,
资源ID:9508214      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9508214.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计步进电机的控制.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计步进电机的控制.docx

1、单片机课程设计步进电机的控制单片机课程设计 步进电机的控制For personal use only in study and research; not for commercial use 学院: 姓名: 班级: 学号: 一、实验任务_1.从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在LED显示器上。_ 显示器上显示:第一位为0表示正转,为1表示反转; 第二位0F为转速等级; 第三到第六位设定步数。_2.单片机显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转动步数减为零时停止转动。_二、基本原理1.步进电机基本原理_ 如图,当有一相绕组被通电激励时,磁通从正相齿

2、,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。 那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。相数:产生不同对极N、S磁场的激磁线圈对数。拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号电机转子转过的角位移。 步距角=360/(转子齿数*拍数) 系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C

3、、D四相组成。 步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。步进电机原理接线图如图所示:步进电机模块插头接实验系统J3插座,(顺接)把P1.0P1.3分别接到BABD插孔。2.数码管显示和键盘(1)数码管显示字形 LED显示器是由发光二极管构成的字段组成的显示器。显示程序任务: 设置显示缓冲区(7EH 79 H) ,存放待显示数据和字符(位置码)。 显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字

4、形码。 输出显示:输出字形码到显示端口。(2)字位口表(从高位起)(3)键盘显示原理图三、内存使用分配表0FFDCH字形口0FFDDH字位口/键扫口0FFDEH键入口ACC(A) 、R0R7存放中间值79H7EH显示缓冲单元,存放显示器的显示数据四、设计说明及流程1.显示子程序模块 采用动态显示方式,即一位一位地轮流点亮(扫描)6位显示器。 在8032RAM存储器中设置六个显示缓冲区单元7EH-79H,分别存放6位显示器的显示数据(从高到低)。2.键盘输入模块 实验系统有48的键盘结构(见键扫显示原理图)。 键盘的行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都为高电平

5、。当键盘上某一键闭合时,则该键所对应的行线和列线都短路。 CPU逐行逐列地检查键盘的状态,可判断键盘上有无键闭合。CPU对键盘上闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和列线的状态查表求得。 3.步进电机控制模块 四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A 激励一相即对该相置“ 1” 控制每一拍的间隔时间用延时子程序实现判断步数是否减为0 的流程图5、程序清单ORG 0000H LJMP MAIN ORG 100HMAIN: MOV 79H,#00H ;主程序部分 MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MO

6、V 7DH,#00H MOV 7EH,#00H MOV R0,#7EH ;取显示内存缓充区的第一位MAIN1: ACALL KEY1 ;调用按键程序 MOV R0,A ;获得的值存放到7EH中 CJNE R0,#78H,KS ;是否到78H,不到转KS CJNE A,#16H,AGAIN ;是否按下EXEC键,若是则跳转到RUN LJMP RUN ;调转到步进电机控制部分AGAIN: LJMP MAIN1KS: DEC R0 LJMP MAIN1 RUN: MOV A,7EH ;取(7EH)当前所存 JZ ZHENG ;跳转到正转 JNZ FAN ;跳转到反转 ZHENG: MOV P1,#0

7、3H ;给AB两相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#06H ;给BC两相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#0CH ;给CD两相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#09H ;给DA两相脉冲 ACALL DELAY ;调用延时子程序 ANL 79H,#0FH ;取7EH低四位 ANL 7AH,#0FH ;取7DH低四位 ANL 7BH,#0FH ;取7CH低四位 ANL 7CH,#0FH ;取7BH低四位 LCALL DIS ;调用显示子程序 MOV R0,79H ;步数由设定值降至0停止 CJNE R0,#0

8、,Z1 DEC 79H MOV R0,7AH CJNE R0,#0,Z2 DEC 7AH MOV R0,7BH CJNE R0,#0,Z3 DEC 7BH MOV R0,7CH CJNE R0,#0,Z4 LJMP MAINZ1: DEC 79H LJMP ZHENGZ2: DEC 7AH LJMP ZHENGZ3: DEC 7BH LJMP ZHENGZ4: DEC 7CH LJMP ZHENGFAN: MOV P1,#09H ;给AD相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#0CH ;给DC相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#06H ;

9、给CB相脉冲 ACALL DELAY ;调用延时子程序 MOV P1,#03H ;给BA相脉冲 ACALL DELAY ;调用延时子程序 ANL 79H,#0FH ;取7EH低四位 ANL 7AH,#0FH ;取7DH低四位 ANL 7BH,#0FH ;取7CH低四位 ANL 7CH,#0FH ;取7BH低四位 LCALL DIS MOV R0,79H ;步数自减部分 CJNE R0,#0,F1 DEC 79H MOV R0,7AH CJNE R0,#0,F2 DEC 7AH MOV R0,7BH CJNE R0,#0,F3 DEC 7BH MOV R0,7CH CJNE R0,#0,F4 L

10、JMP MAINF1: DEC 79H LJMP FANF2: DEC 7AH LJMP FANF3: DEC 7BH LJMP FANF4: DEC 7CH LJMP FANDELAY: MOV R1,7DH ;延时调速部分DELAY1: ACALL DIS MOV R1,DELAY1 RETHERE: ACALL DIS SJMP HEREKEY1: ACALL KS1 ;调用判断有无键按下子程序 JNZ LK1 ;有键按下,转消颤延时 ACALL DIS ;无键按下,调用显示子程序 AJMP KEY1 ;返回KEY1,继续等待LK1: ACALL DIS ;调用显示子程序 ACALL T

11、 12 ;调用12ms延时子程序 ACALL KS1 ;调用判断有无键按下子程序, 确认按键真实性 JNZ LK2 ;有键按下转逐列扫描子程序 AJMP KEY1 ;否则返回KEY1,继续等待LK2: MOV R2,#0FEH ;首列扫描字入R2 MOV R4,#0H ;首列号入R4LK4: MOV DPTR,#0FFDDH ;列扫描字送至键扫口 MOV A,R2 ;第一次列扫描 MOVX DPTR,A ;使第0列线为0 MOV DPTR,#0FFDEH ;指向键入口 MOVX A,DPTR ;键入口读入行状态 JB ACC.0,LONE ;第0行无键按下,转查第1行 MOV A,#00H ;

12、第0行有键按下,该行首键号#00HA AJMP LKP ;转求键号LONE: JB ACC.1,LTWO ;第1行无键按下,转查第2行 MOV A,#08H ;第1行有键按下,该行首键号#08HA AJMP LKPLTWO: JB ACC.2,LTHR ;第2行无键按下,转查第3行 MOV A,#10H ;第2行有键按下,该行首键号#10HA AJMP LKPLTHR: JB ACC.3,NEXT ;第3行无键按下,转查下一列 MOV A,#18H ;第3行有键按下,该行首键号#18HALKP: ADD A,R4 ;求原理图上的键号=行首键号+列号 MOV DPTR,#TAB1 ;查找TAB1

13、,将实际键号赋给A MOVC A,A+DPTR PUSH ACC ;将键号压入堆栈LK3: ACALL DIS ;调用显示子程序 ACALL KS1 ;等待键释放 JNZ LK3 ;未释放,等待 POP ACC ;键释放,键号A RET ;键扫描结束出口状态(A)=实际键号NEXT: INC R4 ;指向下一列,列号加1 MOV A,R2 ;判断8列是否扫描完 JNB ACC.7,KND ;8列扫描完,返回 RL A ;扫描字左移一位, 转变为下一列扫描字 MOV R2,A ;扫描字入R2 AJMP LK4 ;转下一列扫描KND: AJMP KEY1KS1: MOV DPTR,#0FFDDH

14、;指向键扫口 MOV A,#00H ;全扫描字#0H MOVX DPTR,A ;全扫描字入键扫口 MOV DPTR,#0FFDEH ;指向键入口 MOVX A,DPTR ;读键入口行状态 CPL A ;变正逻辑,以高电平表示有键按下 ANL A,#0FH ;屏蔽高4位 RET ;出口状态,(A)=1时有键按下T12: MOV R7,#18H ;延时12ms子程序TM: MOV R6,#0FFHTM6: DJNZ R6,TM6 DJNZ R7,TM RETDIS: MOV R0,#079H ;显示缓冲区首地址送R0 MOV R3,#01H ;使显示器最右边位亮 MOV A,R3LD0: MOV

15、DPTR,#0FFDDH ;扫描值送给字位口 MOVX DPTR,A MOV A,R0 ;取显示数据 MOV DPTR,#TAB ;取首地址 MOVC A,A+DPTR ;取字形 MOV DPTR,#0FFDCH ;指向字形口 MOVX DPTR,A ;送出显示 ACALL DL1 ;延时 INC R0 ;缓冲区地址加1 MOV A,R3 JB ACC.5,LD1 ;判断是否扫描到第六个显示位 RL A ;若没有,扫描下一位 MOV R3,A AJMP LD0LD1: RETDL1: MOV R7,#02H ;延时子程序DL: MOV R6,#0FHDLA: DJNZ R6,DLA DJNZ

16、R7,DL RETORG 700HTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH ;显示字码段 DB 6FH,77H,7CH,39H,5EH,79H,71H,00H,40H,0FFHTAB1: DB 7H,4H,8H,5H,9H,6H,0AH,0BH,1H,0H,2H ;键表 DB 0FH,3H,0EH,0CH,0DH,00H,00H,00H,00H DB 00H,00H,16H7、课程设计小结 在大三的下学期我们学习了单片机原理及其应用这门课程,作为一名电气工程及其自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的

17、大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,而期末的课程设计环节正是锻炼我们的实践能力,使我们将所学的专业基础课理论知识运用到实践中的一个很好的平台 这次单片机课程设计我们历时一个星期,课题要求实现步进电机的控制。任务涉及到从键盘上输入正、反转命令,转速参数(16级)和转动步数,显示在LED显示器上。先后要设计显示子程序模块,键盘输入模块,步进电机控制模块,然后综合模块进行调试,用步进电机的实际转动效果来验证设计方案的正确性,最后进行总结和答辩。 在课程设计环节中,我觉得最困难的是程序设计,首先要理解原理,然后进行流程设计,转化为程序,进行调试,我们在调试的

18、时候出现很多错误,改错的过程是非常痛苦的,好在我们耐心的一一克服了,最后敲定了合理的程序。但问题并没有因此结束,当我们装上步进电机后,转速等级之间的转速差别,是否能够带动电机,显示闪烁快慢,转速变慢时出现转动打嗝和颤抖的情况,往往让我感到手足无措,但是在老师的指导和同学的帮助下我们小组都一一克服了,最后得到了较为满意的结果,在此感谢老师的悉心指导。 还有一点体会就是要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的

19、问题的课程设计结束了,但是从中学到的知识会让我受益终身。 发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。仅供个人用于学习、研究;不得用于商业用途。For personal use only in study and research; not for commercial use.Nur fr den persnlichen fr Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l tude et la recherche uniquement des fins personnelles; pas des fins commerciales. , , . 以下无正文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1