步进电机微机课程设计广工.doc

上传人:仙人指路1688 文档编号:4194204 上传时间:2023-04-09 格式:DOC 页数:11 大小:52.50KB
返回 下载 相关 举报
步进电机微机课程设计广工.doc_第1页
第1页 / 共11页
步进电机微机课程设计广工.doc_第2页
第2页 / 共11页
步进电机微机课程设计广工.doc_第3页
第3页 / 共11页
步进电机微机课程设计广工.doc_第4页
第4页 / 共11页
步进电机微机课程设计广工.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《步进电机微机课程设计广工.doc》由会员分享,可在线阅读,更多相关《步进电机微机课程设计广工.doc(11页珍藏版)》请在三一办公上搜索。

1、课 程 设 计 课程名称 计算机控制系统 题目名称 步进电机角度控制(2)学生学院 自动化学院 专业班级 自动化10(4)班 学 号 学生姓名 指导教师 2013 年 6 月 28 日一、 系统设计说明 1. 硬件设计本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。按下按键时,给8255A一个信号设定步进电机下一步的动作。2. 软件设计显示模块设计说明:为使显示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。当主程序需要显示,

2、只需将要显示的字符送入显示缓冲区,然后调用显示子程序。显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。显示模块是用四位七段数码管来显示转动次数和每次转动的角度。给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。步进电机模块设计说明:在此设计中,采用的是八拍步进电机。步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。控制模型可以以立即数的形式一一给出。对于步进电机模块的程序设计采用循环程序设计方法。先把转动的次数和角度的控制模型存放在内存单元中,

3、然后再逐一从单元中取出控制模块并输出。首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。二、 实验要求及解决题目一:连接键盘和显示电路,编程实现如下键盘,并能左移显示。(程序代码见附件一)360AB72F题目二:依题完成任务 1定义键盘按键:5个数字键;3个功能键:设置SET、清零CLR、开始START; 2显示器上第一位显示次数,后三位显示每次行走的角度; 3通过键盘的按键,设置步进电机各次的角度值;按动SET键后,开始设置:第一位设置次数,后三位设置角度值,再按动SET置入,可连续置入不同的角度; 4按START键启动步进电机开始转动,到位后停止;按CLR键清零

4、步进电机回原位。设置键盘如下图所示:2367SET05STARTCLR(程序见附件二)三、 心得体会此次课程设计可谓收获颇多第一次对步进电机采用大型编程的方法实现较为复杂的控制。通过这次课程设计,我了解了步进电动机的工作原理及接口电路原理,掌握了8255的各种工作方式及其应用,进一步熟悉了键盘扫描显示和设置的程序,熟练了汇编语言的运用。在实际的操作过程中,要会把理论中所学的知识灵活地运用,解决调试中遇到的各种问题,学会在设计中独立解决问题,和怎样去查找和解决问题。程序的调试提高了我们解决问题的能力,通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己

5、动手实际操作才会有深刻理解。在这次课程设计中自己学习了很多课堂上没有学习到的知识,体会到只有平时多练习,多看程序才能自己编写程序,调试程序,且明白了写程序时应仔细谨慎,精益求精。在此次课程设计的过程中,我深刻意识到了自己所学知识的有限,通过相关的单片机资料来扩充,也培养了我们的自学能力。四、 主要参考文献计算机控制技术实验指导书, 李传芳等编。微型计算机控制, 许立梓 陈炜等编, 机械工业出版社。 附件一:(任务一程序)STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTVAR3 DB 00H, 00H, 00H, 00H, 00H, 0

6、0HTABL DB 0FCH, 60H, 0DAH, 0F2H, 66H,0B6H, 0BEH, 0E0H, 0FEH, 0F6H, 0EEH, 3EH, 9CH, 7AH, 9EH, 8EHDATA ENDS CODE SEGMENTCODE SEGMENT ASSUME DS:DATA, CS:CODESTART: MOV AX, DATA MOV DS, AX MOV AL, 88H MOV DX, 0606H OUT DX, ALSTT: MOV AL, 00H MOV DX, 0604H OUT DX, ALNEXT: MOV DX, 0604H IN AL, DX AND AL,6

7、0H CMP AL,60H JNZ KEYABC CALL DISP JMP STTKEYABC: CALL TIME MOV DX, 0604H IN AL, DX AND AL,60H CMP AL,60H JNZ KEY_A JMP STTKEY_A: MOV AL, 0FEH MOV DX, 0604H OUT DX, AL MOV DX, 0604H IN AL, DX TEST AL, 20H JNZ KEY_F CALL KEYA JMP STTKKEY_F: TEST AL, 40H JNZ KEY_0 CALL KEYF JMP STTKKEY_0: MOV AL, 0FDH

8、 MOV DX, 0604H OUT DX, AL MOV DX, 0604H IN AL, DX TEST AL, 20H JNZ KEY_2 CALL KEY0 JMP STTKKEY_2: TEST AL, 40H JNZ KEY_6 CALL KEY2 JMP STTKKEY_6: MOV AL, 0FBH MOV DX, 0604H OUT DX, AL MOV DX, 0604H IN AL, DX TEST AL, 20H JNZ KEY_7 CALL KEY6 JMP STTKKEY_7: TEST AL, 40H JNZ KEY_3 CALL KEY7 JMP STTKKEY

9、_6: MOV AL, 0F7H MOV DX, 0604H OUT DX, AL MOV DX, 0604H IN AL, DX TEST AL, 20H JNZ KEY_B CALL KEY3 JMP STTKKEY_B: TEST AL, 40H JNZ KEY_01 CALL KEYB JMP STTKKEY_01:JMP STTKKEYA: CALL LP1 MOV AL, 0AH MOV SI+3, AL CALL DISP RETKEYF: CALL LP1 MOV AL, 0FH MOV SI+3, AL CALL DISP RETKEY0: CALL LP1 MOV AL,

10、00H MOV SI+3, AL CALL DISP RETKEY2: CALL LP1 MOV AL, 02H MOV SI+3, AL CALL DISP RETKEY6: CALL LP1 MOV AL, 06H MOV SI+3, AL CALL DISP RETKEY7: CALL LP1 MOV AL, 07H MOV SI+3, AL CALL DISP RETKEY3: CALL LP1 MOV AL, 03H MOV SI+3, AL CALL DISP RETKEYB: CALL LP1 MOV AL, 0BH MOV SI+3, AL CALL DISP RETLP1:

11、MOV CX, 03H MOV SI, OFFSET VAR3 PUSH SILP2: MOV AL, SI+1 MOV SI, AL INC SI LOOP LP2 POP SI RET DISP: MOV SI, OFFSET VAR3 MOV AH, 0FEH MOV CX, 0004HDIR: MOV AL, SI+3 LEA BX, TABL XLAT TABL MOV DX, 0602H OUT DX, AL MOV AL, AH MOV DX, 0604H OUT DX, AL CALL TIME DEC SI ROL AH, 01H LOOP DIR RETTIME: PUSH

12、 AX PUSH CX MOV CX, 0001HTIME1:MOV AX, 056CHTIME2:DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RETSTTK: CALL DISP MOV AL, 00H MOV DX, 0604H OUT DX, AL MOV DX, 0604H IN AL, DX AND AL, 60H CMP AL, 60H JNZ STTK JMP STTKCODE ENDS END START 附件二:(任务二程序)STACK SEGMENT STACKDB 64 DUP(?)STACK ENDSDATA SEGMENTVAL

13、UE2 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00HVALUE3 DB 00H, 00H, 00H, 00HVALUE DB 0FCH, 0FCH, 0FCH, 0FCHVALUE1 DB 0FEH, 0FDH, 0FBH, 0F7HTABDT DB 08H, 18H, 10H, 30H, 20H, 60H, 40H, 48H, 0AHTABDT1 DB 48H, 40H, 60H, 20H, 30H, 10H, 18H, 08H, 0AHTABLE DB 0FCH, 60H, 0DAH, 0F2H, 66H,

14、0B6H, 0BEH, 0E0H, 0FEH, 0F6HSIGN DB 00HPAI DB 00HJS DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AL,88HMOV DX,0606HOUT DX,ALMOV BX,0000HSTT: MOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ KEYABCCALL DISPJMP STTKEYABC:CALL TIM

15、EMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ KEYJMP STTKEY: MOV DX,0604HMOV AL,0F7HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20HJNZ KEYACALL KEYCLRJMP STTKKEYA: TEST AL,40HJNZ KEYBCALL KEYSTARTJMP STTKKEYB: MOV DX,0604HMOV AL,0FBHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20HJNZ KEYCCALL KEYSETJMP STTKKEYC: TE

16、ST AL,40HJNZ KEYDCALL KEY0JMP STTKKEYD: MOV DX,0604HMOV AL,0FDHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20HJNZ KEYECALL KEY2JMP STTKKEYE: TEST AL,40HJNZ KEYFCALL KEY5JMP STTKKEYF: MOV DX,0604HMOV AL,0FEHOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20HJNZ KEYGCALL KEY1JMP STTKKEYG: TEST AL,40HJNZ KEYHCALL KEY3KE

17、YH:JMP STTKKEY0: CMP BX,1JNZ AA1CALL LPMOV AL,0FCHMOV SI+3,ALMOV AL,00HMOV DI+3,ALAA1: CALL DISPRETKEY1: CMP BX,1JNZ AA2CALL LPMOV AL,60HMOV SI+3,ALMOV AL,01HMOV DI+3,ALAA2: CALL DISPRETKEY3: CMP BX,1JNZ AA3CALL LPMOV AL,0F2HMOV SI+3,ALMOV AL,03HMOV DI+3,ALAA3: CALL DISPRETKEY5: CMP BX,1JNZ AA4CALL

18、LPMOV AL,0B6HMOV SI+3,ALMOV AL,05HMOV DI+3,ALAA4: CALL DISPRETKEY2: CMP BX,1JNZ AA5CALL LPMOV AL,0DAHMOV SI+3,ALMOV AL,02HMOV DI+3,ALAA5: CALL DISPRETKEYSET: CMP BX,1JNZ AA6PUSH BXMOV SI,OFFSET VALUE2MOV DI,OFFSET VALUE3MOV CX,4MOV DL,4MOV AL,SIGNMUL DLSET: MOV BX,AXMOV DH,DIMOV SI+BX,DHINC SIINC DI

19、LOOP SETINC SIGNPOP BXAA6: MOV BX,1CALL DISPRETKEYSTART:CMP BX,1JNZ AA7PUSH BXMOV SI,OFFSET VALUE2MOV BX,OFFSET TABDTMOV DI,OFFSET VALUEMOV CL,SIGNMOV CH,00HB2: PUSH CXPUSH BXPUSH SIMOV BX,OFFSET TABLEMOV CX,4CC1:MOV AL,SIXLATMOV DI,ALINC SIINC DILOOP CC1CALL DISPPOP SIPOP BXMOV CL,SI+3MOV JS,CLMOV

20、CH,00HB1: PUSH CXMOV AL,SI+2MOV DL,100MUL DLMOV CX,AXMOV AL,SI+1MOV DL,10MUL DLADD AX,CXMOV CL,SIMOV CH,00HADD AX,CXMOV CL,15DIV CLMOV CH,4MUL CHMOV CL,ALMOV CH,00HJMP B3AA7: JMP CC2B3: MOV AL,BXMOV DX,0600HOUT DX,ALCALL DISPJMP B8B9: JMP B2B8:MOV AL,BXMOV PAI,ALINC BXMOV AL,BXCMP AL,0AHJZ B4JMP B5B

21、4: MOV BX,OFFSET TABDTB5: LOOP B3PUSH BXMOV AL,JSSUB AL,1MOV JS,AL MOV BX,OFFSET TABLEXLATMOV DI,OFFSET VALUEMOV DI+3,ALPOP BXMOV CX,0040HB6: CALL DISPLOOP B6POP CXLOOP B1POP CXADD SI,4LOOP B9POP BXMOV BX,0000HCC2: RETKEYCLR:MOV SI,OFFSET VALUE2 MOV BX,OFFSET TABDT1 MOV AL,PAI BB2: MOV AH,BX CMP AL,

22、AH JZ BB1 INC BX JMP BB2BB1:MOV AL,SIGNSUB AL,1MOV DL,4MUL DLADD SI,AXMOV CL,SIGNMOV CH,00HC2: PUSH CXMOV CL,SI+3C1: PUSH CXMOV AL,SI+2MOV DL,100MUL DLMOV CX,AXMOV AL,SI+1MOV DL,10MUL DLADD AX,CXMOV CL,SIMOV CH,00HADD AX,CXMOV CL,15DIV CLMOV CH,4MUL CHMOV CL,ALMOV CH,00HC3: MOV AL,BXMOV DX,0600HOUT

23、DX,ALCALL DISPINC BXMOV AL,BXCMP AL,0AHJZ C4JMP C5C4: MOV BX,OFFSET TABDT1C5: LOOP C3CALL DISPPOP CXLOOP C1POP CXSUB SI,4LOOP C2MOV BX,0000HMOV SIGN,00HMOV CX,16MOV SI,OFFSET VALUE2C6: MOV AL,00HMOV SI,ALINC SILOOP C6MOV CX,4MOV SI,OFFSET VALUEC7: MOV AL,0FCH MOV SI,ALINC SILOOP C7CALL DISP RETLP: M

24、OV CX,3MOV SI,OFFSET VALUEMOV DI,OFFSET VALUE3LP1: MOV AL,SI+2MOV SI+3,ALMOV AL,DI+2MOV DI+3,ALDEC SIDEC DILOOP LP1RETDISP: PUSH CXPUSH AX PUSH SIPUSH DIPUSH DXMOV SI,OFFSET VALUEMOV DI,OFFSET VALUE1MOV CX,4DIR: MOV DX,0602HMOV AL,SIOUT DX,ALMOV DX,0604HMOV AL,DIOUT DX,ALCALL TIMEINC SIINC DILOOP DIRPOP DXPOP DIPOP SIPOP AXPOP CXRETTIME: PUSH AXPUSH CXMOV CX,0010HTIME1: MOV AX,0050HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRETSTTK: CALL DISPMOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ STTKJMP STTCODE ENDSEND START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号