微机原理课程设计_步电机

合集下载

微机原理课程设计 步进电机的正反转及调速控制分解

微机原理课程设计 步进电机的正反转及调速控制分解

课程设计报告题目步进电机正反转及调速控制系统的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级10电气1班学生姓名管志成学号1004103027课程设计地点C304课程设计学时20指导教师李国利金陵科技学院教务处制步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。

绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统一、概述1.1 课程设计的目的 (4)1.2课程设计的要求 (4)二、总体设计方案及说明2.1 系统总体设计方案 (5)2.2系统工作框图 (5)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (6)3.2 步进电机的原理 (7)3.3 ULN2003A的简介 (8)3.4 74154芯片简介 (9)3.5 74LS273芯片简介 (10)3.6 8086最小系统的设计 (11)3.7 步进电机及其驱动电路的设计 (12)3.8 电机状态显示电路的设计 (12)3.9 输入采样电路的设计 (13)3.10系统总电路图 (14)四、系统软件部分设计4.1 系统流程图 (15)4.2 系统软件源程序 (16)4.2.1电机绕组通电顺序设定 (16)4.2.2 延时子程序设计 (16)4.2.3 汇编源程序及说明 (16)五、总结5.1 系统软硬件的联合调试 (21)5.2 问题分析和解决方案 (23)5.3 心得与体会 (23)六、参考文献 (23)附录:总电路图 (25)一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

微机课程设计——电机的控制 课程设计

微机课程设计——电机的控制 课程设计

微机课程设计——电机的控制一、项目设计内容与要求1.设计内容利用电机平台上的步进电机和直流电机,实现步进电机的转角控制和直流电机速度的控制。

2.设计要求(1)步进电机的转角控制可以通过调整电机的转过的步数来实现。

一次转过的步数和方向可用按键设定。

还可以用按键控制步进电机一步一步的转动,要分正反转。

转过的步数要显示在发光二极管上。

(2)直流电机的转速是根据用数模转换电路的输入数据变化,要求用发光二极管显示转速数据值。

(3)可以用按键或开关输入相应的转速控制数据。

二、电路连接图三、各模块的设计1.键盘模块本程序的键盘功能的设计采用扫描法实现,各个键的键值由扫描法得到。

各个键的键值如下表所示:程序流程图:2.直流电机的转速控制模块设计思路:直流电机的转速是根据用数模转换电路的输入数据变化,可以把键盘按下的数字键的键值送入数模转换电路(DAC0832的208H),按下不同的按键就实现转速的控制。

要求用发光二极管显示转速数据值,可以直接把按键的键值送B口显示,本程序把旧键值左移四位送CH,新键值BH加上CH存BH并送发光二极管显示,再送数字进208口处理.此模块实现的功能也即数字键要处理的功能,作为键盘模块的子程序使用。

程序流程图:3. 步进电机控制模块设计思路:本设计采用的是四相步进电机,步进电机用直流+12V电压,每项电流为0.20A,电机线圈由A、B、C、D四相组成。

驱动方式为四相单四拍方式,按A→B→C→D→A次序通电为正转;按A→D→C →B→A次序通电为反转。

正向单步转可用一个寄存器来标志给哪相通电,如CL=0,A通电;CL=1,B通电;CL=2,C通电;CL=3,D通电。

反转单步走则类似。

这个模块作为键盘主程序的子程序使用,使用键盘的第三行为功能键,操作步进电机的正反转,数字键送入NUM的值则控制电机的步数。

功能键说明:“+”控制步进电机正向转NUM步“-“控制步进电机反向转NUM步“,”控制步进电机正向单步走“.”控制步进电机反向单步走正向走NUM步的程序流程图:(反向走NUM步的省略)正向单步走程序流程图:(反向单步的省略)四、源程序代码:CODE SEGMENTASSUME CS:CODE,DS:CODESTART: MOV CH,00h ;键值左移4位存CH用,先初始化MOV CL,00h ;控制步进电机单步走用作标志MOV DX,203H ;置8255A控制口地址MOV AL,90H ;A口输入,C口输出OUT DX,ALLOOP1: MOV DX,202H ;8255A的C口MOV AH,00000110BMOV AL,00000110B ;键盘第一行OUT DX,ALMOV DX,200h ;8255A的A口IN AL,DX ;获取列码CMP AL,0FFHJNE LOOP2 ;有键按下MOV DX,202H ;列码全1无键按下扫描第二行MOV AH,00000101BMOV AL,00000101BOUT DX,ALMOV DX,200hIN AL,DXCMP AL,0FFHJNE LOOP2MOV DX,202H ;第三行MOV AH,00000011BMOV AL,00000011BOUT DX,ALMOV DX,200hIN AL,DXCMP AL,0FFHJNE LOOP2JMP LOOP1LOOP2: CALL Delay ;消除抖动IN AL,DXCMP AL,0FFHJE LOOP1MOV BL,0FEH ;确定有键按下则求列值MOV BH,0 ;BH存键值LOOP3: CMP AL,BL ;扫描列值JE ONECMP BH,7 ;所有列码都扫描完JE LOOP1 ;重新检测按键INC BHROL BL,1 ;列码循环左移一位JMP LOOP3ONE:CMP AH,00000110B ;第一行按键JE ONE2CMP AH,00000101B ;第二行按键JE TWO2CMP AH,00000011B ;第三行功能键JE THREE2CALL JUMPJMP wait1ONE2:CALL First ;调用第一行处理程序JMP wait1TWO2: CALL Second ;调用第二行处理程序JMP wait1THREE2:CALL Third ;调用第三行处理程序wait1: MOV DX,200hwait2: IN AL,DXCMP AL,0FFhJNE wait2 ;等待按键JMP LOOP1ORG 200HNUM DB ? ;存步进电机步数First PROC NEARMOV DX,203H ; 开控制口MOV AL,90h ;A口输入,C口输出OUT DX,ALCMP CH,0 ;第一次执行按键JZ CH0 ;ADD BH,CH ;显示八位,CH0: MOV DX,201H ;B口MOV AL,BH ;键值送ALOUT DX,AL ;在二极管上显示BH即输入的键值MOV DX,208H ;打开D/AOUT DX,AL ;控制直流电机转速MOV NUM,AL ;步进电机转的步数MOV CL,4SAL BH,CL; BH值左移四位MOV CH,BH ;BH值送CHMOV CL,0 ;CL清零,不影响步进电机单步走RETFirst ENDPSecond PROC NEARADD BH,8h ;扫描第二行MOV DX,203HMOV AL,90hOUT DX,ALCMP CH,0 ;JZ CH1ADD BH,CHCH1: MOV DX,201H ;8255A的B口输出MOV AL,BHOUT DX,AL ;输出键盘的值MOV DX,208HOUT DX,ALMOV NUM,AL ;步进电机步数MOV CL,4SAL BH,CL ;左移4位MOV CH,BHMOV CL,0RETSecond ENDPThird PROC NEARADD BH,10H ;扫描第三行MOV DX,203H ;设置方式控制字MOV AL,90HOUT DX,ALMOV DX,201H ;二极管显示为全0;B口MOV AL,00h ;OUT DX,ALCMP BH,13H ;比较键值13H为”+”JZ DONE2;正转CMP BH,12H ;12H为”-”JZ DONE3;反转CMP BH,11H ;11H为”,”JZ DONE4;正向一步一步转CMP BH,10H ;10H 为”.”JZ DONE5 ;反向一步一步转RETThird ENDPDONE2: CALL PROGRAM1DONE3:CALL PROGRAM2DONE4:CALL PROGRAM3DONE5:CALL PROGRAM4Delay PROC NEAR ; 键盘延时子程序PUSH CXMOV CX,1800HNEXT: DEC CXJNE NEXTPOP CXRETDelay ENDPDelay2 PROC NEAR ;电机延时子程序PUSH CXMOV CX,5000HNEXT2: DEC CXJNE NEXT2POP CXRETDelay2 ENDPJUMP PROC NEARRETJUMP ENDPPROGRAM1 PROC NEAR ;正向连续转PUSH CXMOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H; C口MOV CL,NUM ;电机步数ZHENG: MOV AL,10H ;正向OUT DX,AL ;给A相通电CALL Delay2DEC CL ;计算已进步数JZ DONE1 ;步数已完成,返回MOV AL,20H ;输出第二拍模型OUT DX,AL ;给B相通电CALL Delay2 ;延迟;DEC CLJZ DONE1MOV AL,40H ;输出第三拍模型OUT DX,AL ;给C相通电CALL Delay2DEC CLJZ DONE1MOV AL,80H ;输出第四拍OUT DX,AL ;给D相通电CALL Delay2DEC CLJZ DONE1MOV AL,10H ;回到原点OUT DX,ALCALL Delay2DEC CLJNZ ZHENG ;ABCDA循环通电JMP LOOP1POP CXRETPROGRAM1 ENDPDONE1:JMP LOOP1PROGRAM2 PROC NEAR ;反向连续转PUSH CXMOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H ;C口MOV CL,NUM ;设置转的步数FAN: MOV AL,10H ;反向转动OUT DX,AL ;给A通电CALL Delay2DEC CLJZ DONE1MOV AL,80H ;给D通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,40H ;给C通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,20H ;给B通电OUT DX,ALCALL Delay2DEC CLJZ DONE1MOV AL,10H ;给A通电OUT DX,ALCALL Delay2DEC CLJNZ FAN ;ADCBA通电JMP LOOP1POP CXRETPROGRAM2 ENDPPROGRAM3 PROC NEAR ;正向单步走MOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H ;C口CMP CL,00H ;第一次按,给A通电转一步JZ AA1;CMP CL,01H ;CL=1,B通电JZ BB1CMP CL,02H ;CL=2,C通电JZ CC1CMP CL,03H ;CL=3,D通电JZ DD1JMP LOOP1 ;检测键盘AA1: MOV AL,10HOUT DX,ALCALL Delay2INC CL ;自动加一,CL为01HJNZ DONEBB1: MOV AL,20HOUT DX,ALCALL Delay2INC CLJNZ DONECC1: MOV AL,40HOUT DX,ALCALL Delay2INC CLJNZ DONEDD1: MOV AL,80HOUT DX,ALCALL Delay2MOV CL,00H;JZ DONEJMP LOOP1 PROGRAM3 ENDPPROGRAM4 PROC NEAR ;反向单步走MOV DX,203HMOV AL,90HOUT DX,ALMOV DX,202H;MOV CL,0CMP CL,00H ;CL=0,A通电JZ AA2CMP CL,01H ;CL=1,D通电JZ DD2CMP CL,02H ;CL=2,C 通电JZ CC2CMP CL,03H ;CL=3,B 通电JZ BB2JMP LOOP1 ;检测键盘AA2: MOV AL,10HOUT DX,ALCALL Delay2INC CLJNZ DONEDD2: MOV AL,80HOUT DX,ALCALL Delay2INC CLJNZ DONECC2: MOV AL,40HOUT DX,ALCALL Delay2INC CLJNZ DONEBB2: MOV AL,20HOUT DX,ALCALL Delay2MOV CL,00H ;CL重新置0;JZ DONEJMP LOOP1PROGRAM4 ENDPDONE: JMP LOOP1 ;扫描键盘CODE ENDSEND START五、设计的问题及难点刚开始在实现键盘扫描功能时遇到比较多的问题,如怎么根据行码和列码来判断到底是哪个键被按下,以及键值该如何处理,数字键和功能键又怎么区分等等,在询问同学和老师的过程中了解到了实现的一些方法。

步进电机__微机课程设计_广工

步进电机__微机课程设计_广工

课程设计课程名称计算机控制系统题目名称步进电机角度控制(2)学生学院自动化学院专业班级自动化10(4)班学号学生姓名指导教师2013 年6 月28 日一、系统设计说明1. 硬件设计本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。

本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。

按下按键时,给8255A一个信号设定步进电机下一步的动作。

2. 软件设计显示模块设计说明:为使显示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。

当主程序需要显示,只需将要显示的字符送入显示缓冲区,然后调用显示子程序。

显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。

显示模块是用四位七段数码管来显示转动次数和每次转动的角度。

给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。

步进电机模块设计说明:在此设计中,采用的是八拍步进电机。

步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。

控制模型可以以立即数的形式一一给出。

对于步进电机模块的程序设计采用循环程序设计方法。

先把转动的次数和角度的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。

首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。

二、实验要求及解决题目一:连接键盘和显示电路,编程实现如下键盘,并能左移显示。

(程序代码见附件一)题目二:依题完成任务1.定义键盘按键:5个数字键;3个功能键:设置SET、清零CLR、开始START;2.显示器上第一位显示次数,后三位显示每次行走的角度;3.通过键盘的按键,设置步进电机各次的角度值;按动SET键后,开始设置:第一位设置次数,后三位设置角度值,再按动SET置入,可连续置入不同的角度;4.按START键启动步进电机开始转动,到位后停止;按CLR键清零步进电机回原位。

微机原理步进电机课程设计

微机原理步进电机课程设计

微机原理步进电机课程设计一、课程目标知识目标:1. 让学生掌握微机原理在步进电机控制中的应用,理解步进电机的结构、原理及其特点。

2. 使学生了解步进电机与微控制器之间的接口技术,掌握步进电机的驱动程序编写方法。

3. 让学生掌握步进电机速度和位置控制的基本算法,并运用到实际项目中。

技能目标:1. 培养学生运用微机原理解决实际问题的能力,学会编写和调试步进电机控制程序。

2. 培养学生的动手实践能力,能独立完成步进电机的组装、调试和故障排查。

3. 培养学生团队协作能力,通过分组合作完成课程设计任务。

情感态度价值观目标:1. 激发学生对微机原理和步进电机控制技术的兴趣,培养其探索精神和创新意识。

2. 培养学生严谨、认真的学习态度,养成良好的实验操作习惯。

3. 增强学生的环保意识,关注步进电机在节能环保领域的应用。

本课程针对高年级学生,课程性质为理论与实践相结合。

在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果。

教学过程中,注重培养学生的实际操作能力和团队协作精神,使学生在完成课程设计任务的过程中,达到知识、技能和情感态度价值观的全面提升。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 微机原理基础:回顾微控制器的基本原理,重点讲解微控制器与步进电机的接口技术,涉及课本第3章相关内容。

2. 步进电机原理与结构:介绍步进电机的种类、结构、原理及特点,对应课本第5章内容。

3. 步进电机驱动技术:讲解步进电机的驱动电路设计,包括驱动芯片的选型、接口电路设计等,参考课本第6章相关内容。

4. 步进电机控制算法:学习步进电机的速度和位置控制算法,如PID控制、闭环控制等,结合课本第7章内容。

5. 实践操作:分组进行步进电机的组装、调试及控制程序编写,巩固理论知识,培养实际操作能力。

教学大纲安排如下:第1周:微机原理基础回顾,了解步进电机接口技术;第2周:学习步进电机原理与结构,选型及参数了解;第3周:步进电机驱动技术学习,驱动电路设计;第4周:步进电机控制算法学习,编写控制程序;第5周:实践操作,步进电机组装、调试及故障排查;第6周:课程设计总结,成果展示及评价。

微机原理课程设计-步进电机的正反转及调速控制

微机原理课程设计-步进电机的正反转及调速控制

课程设计报告题目步进电机正反转及调速控制系统的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级10电气1班学生姓名管志成学号**********课程设计地点C304课程设计学时20指导教师李国利金陵科技学院教务处制成绩步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。

绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统一、概述1.1 课程设计的目的 (4)1.2课程设计的要求 (4)二、总体设计方案及说明2.1 系统总体设计方案 (5)2.2系统工作框图 (5)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (6)3.2 步进电机的原理 (7)3.3 ULN2003A的简介 (8)3.4 74154芯片简介 (9)3.5 74LS273芯片简介 (10)3.6 8086最小系统的设计 (11)3.7 步进电机及其驱动电路的设计 (12)3.8 电机状态显示电路的设计 (12)3.9 输入采样电路的设计 (13)3.10系统总电路图 (14)四、系统软件部分设计4.1 系统流程图 (15)4.2 系统软件源程序 (16)4.2.1电机绕组通电顺序设定 (16)4.2.2 延时子程序设计 (16)4.2.3 汇编源程序及说明 (16)五、总结5.1 系统软硬件的联合调试 (21)5.2 问题分析和解决方案 (23)5.3 心得与体会 (23)六、参考文献 (23)附录:总电路图 (25)一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

微机原理及接口技术课程设计(步进电机)

微机原理及接口技术课程设计(步进电机)

微机原理及接口技术课程设报告题目步进电机转速实时控制学院电子信息工程学院专业学生姓名学号年级级指导教师职称二O一四年六月目录一、课程设计目的 (3)二、方案设计 (3)三、硬件系统的基本原理 (3)1、系统硬件子系统构成 (3)2、步进电机控制原理接线图 (4)3、工作原理 (5)四、软件框图及设计思想 (6)1、设计思想 (6)2、程序框图 (7)五、软件清单 (8)六、心得体会 (11)七、主要参考资料 (13)题目:步进电机转速实时控制一、课程设计目的:1、掌握四相步进电机接口电路的原理;2、理解步进电机正、反转工作原理和转速控制原理。

二、方案设计:本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,电机的励磁线圈顺序已经在实验指导书中给定。

以8255A 作为并行输出接口,通过查询步进电机的励磁线圈顺序表以及计算出步进电机的相序表,编写出适当的程序来调节步进电机的正反转以及转速问题。

同时利用程序对步进电机事实与数码管同步的相应运转状态,从而使得整个步进电机控制系统得以准确实现。

三、硬件系统的基本原理:1、系统硬件子系统的构成:本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如下图及下表所示:2、步进电机控制原理:4 - -3 - - -2 - - -1 - - -3、工作原理:4相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成电气连接示意图电机定子和转子示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。

例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理。

微机原理课程设计---步进电机设计

微机原理课程设计---步进电机设计

目录摘要 (1)Abstract (2)1 课程设计任务及要求 (3)1.1 设计任务 (3)1.2 设计要求 (3)2 方案设计 (3)2.1 方案一 (3)2.2 方案二 (6)2.3 方案比较 (12)3 硬件分析 (13)3.1 电路设计图 (13)3.2 各部件分析 (14)4 软件分析 (21)5调试运行 (22)5.1 方案一程序调试运行及仿真 (22)5.2方案二调试运行及仿真 (23)6心得体会 (25)参考文献 (26)附录一方案一源程序 (27)附录二方案二源程序 (30)课程设计任务书学生姓名:专业班级:自动化0902指导教师:徐小强工作单位:自动化题目:步进电机设计初始条件:用汇编语言设计一个步进电机的控制,在Proteus仿真环境下完成,功能上实现步进电机的基本功能。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 通过键盘控制步进电机的启动和停止,正转和反转;2. 编制完整的程序并调试;3.撰写符合学校要求的课程设计说明书,内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:1. 1月4日----1月5日查阅资料及方案设计2.1月6日----1月8日编程3.1月9日----1月10日调试程序4.1月11日 ----1月12日撰写课程设计报告5.1月13日上午准备答辩,下午正式答辩指导教师签名:年月日系主任(或责任教师)签名:年月日摘要步进电机是工业生产过程控制及仪表中的主要控制元件之一。

例如,在机械结构中,可以用丝杠把角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。

在数字控制系统中,由于它可以直接接受计算机输出的数字信号,而不需要进行数/模/转换,可以用起来非常方便。

微型计算机原理步进电机实验

微型计算机原理步进电机实验

微型计算机原理步进电机实验一、实验目的掌握步进电机的基本工作原理和控制方法,理解步进电机与微型计算机的接口原理。

二、实验器材1.电脑2.步进电机3.驱动器电路板4.接口电缆5.实验面包板6.杜邦线7.电源三、实验步骤1.搭建电路连接:将步进电机与驱动器电路板连接,然后将驱动器电路板与微型计算机的接口电缆连接。

2.编写控制程序:使用任何一种编程语言,编写通过微型计算机控制步进电机的程序。

3.载入程序:将编写好的控制程序载入微型计算机。

4.运行程序:执行控制程序,观察步进电机的运动情况。

四、实验内容1.观察步进电机是否正常运转。

2.改变控制程序中的参数,例如步进角度和转速,观察步进电机的运动情况。

3.尝试通过控制程序改变步进电机的运动方向。

4.尝试同时控制多个步进电机。

五、实验原理步进电机是一种能够按照指令进行旋转的电机。

它可以精确控制转动角度和转速,适用于需要精确定位的应用场景。

步进电机的控制通常使用驱动器来实现。

驱动器接受来自微型计算机的指令,然后根据指令来控制步进电机的转动。

步进电机的控制方法有多种,常见的有脉冲信号控制方法和磁场控制方法。

脉冲信号控制方法是通过给步进电机的控制端口发送不同的脉冲信号来实现转动控制;磁场控制方法是通过改变电磁铁的磁场来使步进电机转动。

在本实验中,我们使用脉冲信号控制方法来控制步进电机。

步进电机的转动是按照一定的角度来进行的,这个角度叫做步角。

步进电机通常有两种类型:单圈步进电机和多圈步进电机,它们的步角不同。

每接收到一个脉冲信号,步进电机就会转动一定的步角。

驱动器电路板通常有多个控制端口,用来接收控制信号。

控制信号可以是高电平或低电平的脉冲信号,通过给这些控制端口发送不同的脉冲信号,就可以控制步进电机的转动方向和转动步数。

六、实验问题与解答1.为什么要使用驱动器来控制步进电机?答:步进电机的控制需要精确的脉冲信号来实现转动控制,而微型计算机无法直接提供这种精确的信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编及接口技术课程设计
题目:步进电机控制系统
成绩:
目录一.设计目的
二.设计内容
三.设计方案
四.软件设计
五.硬件线路设计
六.源代码
七.总结
步进电机控制系统
一、设计目的
1.了解步进电机控制的基本原理。

2.掌握控制步进电机转动的编程方法。

3.进一步熟练8255的使用。

二、设计内容
编程控制步进电机,使其能够正常运转,要求:
1.开关K8控制电机的启动与停止。

当K8向上拨时,电机启动,向下拨时电机停止。

2.开关K7控制电机的正反转。

当K7向上拨时,电机正反转;向下拨时,电机反转。

3.开关K1~K6控制电机的转速:K1向上拨时,得到最低转速,…… K6向上拨时,
得到最高转速。

4.在数码管上显示速度编号。

三.设计方案
四.软件设计
运用分支程序来调节开关的选择,再通过改变sx的大小和延时子程序来调节步电机的转动速度。

设计:k0-k5控制转速,k6控制正反,k7控制开始停止
五、硬件线路设计
1. 实验连线
8255模块的RD、WR 连到ISA总线接口模块的IOR#、IOW#,8255选通信号CS 连到ISA总线接口模块的IOY0。

8255模块的数据线D7~D0、连到ISA总线接口模块的XD7~XD0。

地址线A1~A0连到XA1~XA0。

步进电机的A—PB0,B—PB1,C—PB2,D—PB3。

1)8255的PA口(PA0---PA7)和开关K1-K8相连。

2)8255的PB口(PB0---PB3)和步进电机的A、B、C、D相连。

3) 8255的PC口(PC0---PC7)连接到LED的(a---h)。

六.源代码
DATA SEGMENT
P8255A DW 0600H
P8255B DW 0602H
P8255C DW 0604H
P8255M DW 0606H
TABDT DB 01H,03H,02H,06H,04H,0CH,08H,09H ;顺时针旋转
TABDT1 DB 09H,08H,0CH,04H,06H,02H,03H,01H ;逆时针旋转
TIMEP DW 100H ;时间参数
DCODE DB ? ;显示代码
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS,AX
;-------------------------------------------------------------------------------------------------------- FIRST: MOV DI,100H
MOV DX,P8255M
MOV AL,90H ;;;;;;;;;;;;;;;; ;
OUT DX,AL
A1: MOV DX, P8255A
IN AL,DX
TEST AL,40H ;K6=PA6
JZ A2
MOV BX,OFFSET TABDT1
jmp A3
A2: MOV BX,OFFSET TABDT
A3: MOV CX,0008H ;;;;;;;;;;;;;;;;;
NEW: MOV DX, P8255A
IN AL,DX
TEST AL,80H ;K8=PA7
JNZ THIRD
;-----------------------------------------------------------------------------------------------
SECOND: MOV DX, P8255B
MOV AL,0FFH ;停止步进电机
OUT DX,AL
JMP NEW
;---------------------------------------------------------
------------------------------------
THIRD: MOV DX,P8255B
MOV CX, 0008H
A4: MOV AL,[BX]
MOV DX, P8255B; 写B口
OUT DX, AL
CALL SWITCH
CALL DELAY ; 控制步进电机的转速
;CALL DISPLY
INC BX
LOOP A4
JMP A1
;-----------------------------------------------------------------------------------------------
FORTH: INC BX
LOOP NEW
DONE: JMP A1
EXIT1: MOV AX,4C00H
INT 21H
;---------------------------------------------------------
---------------------------------------- DELAY PROC NEAR ;延时程序PUSH CX
PUSH SI
DELO: MOV SI,DI
DL1: NOP
MOV CX, 0FFH ;;;;;;
DL2: LOOP DL2
DEC SI
JNZ DL1
POP SI
POP CX
RET
DELAY ENDP
DISPLY PROC NEAR ;显示程序NOP
RET
DISPLY ENDP
;-----------------------------------------------------------------------------------------
SWITCH PROC NEAR ;速度子程序
PUSH AX
PUSH BX
PUSH DX
MOV DX,P8255A
IN AL,DX
TEST AL,01H
JNZ K0
TEST AL,02H
JNZ K1
TEST AL,04H
JNZ K2
TEST AL,08H
JNZ K3
TEST AL,10H
JNZ K4
TEST AL,20H
JNZ K5
JMP STH1
K0: MOV DI, 1000H
jmp K6
K1: MOV DI, 200H
jmp K6
K2: MOV DI, 100H
jmp K6
K3: MOV DI, 50H
JMP K6
K4: MOV DI, 40H
JMP K6
K5: MOV DI, 10H
JMP K6
STH1: MOV AX,300H
K6: MOV TIMEP,AX
POP DX
POP BX
POP AX
RET
SWITCH ENDP
CODE ENDS
END START
七.总结
初学《微机原理》时,感觉摸不着头绪。

面对着众多的术语、概念及原理性的问题不知道该如何下手。

在了解课程的特点后,我发现,应该以实践为突破口,可以通过学习一个具体实践过程,了解和熟悉计算机的结构、特点和工作过程。

这次步电机设计历时一天多,在其中我有许多的不会,开始的设计什么的都不太会,在老师的帮助下学着一步步做8255片,步电机,开关部分是否硬件无损的测试,然后又学习怎么实现步电机的基本功能,虽然最后仍没弄太懂步电机的设计,设计也有一些缺陷,但是大体上还是完成了这次的实验,从中我学到了微机原理的实现,也学到了微机原理的重要性,实践的关键性。

11。

相关文档
最新文档