微型计算机控制技术课程设计.docx_第1页
微型计算机控制技术课程设计.docx_第2页
微型计算机控制技术课程设计.docx_第3页
微型计算机控制技术课程设计.docx_第4页
微型计算机控制技术课程设计.docx_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计(论文) 课程名称 微型计算机控制技术课程设计 题目名称 步进电机角度控制 学生学院 自动化学院 专业班级 2010级电气(2)班 学 号 学生姓名 指导教师 李传芳、刘焕军 2013年 9 月 25日1、显示程序设计(显示:F、E、D、4、5、6)STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTDATA1 DB 0FH,0EH,0DH,04H,05H,06HTABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AL,80HMOV DX,0606H OUT DX,ALXIANSHI: CALL DISP JMP XIANSHIDISP: LAE SI,DATA1 MOV CX,06H LEA BX,TABL MOV AH,0FEHLEDI: MOV AL,SI XLAT MOV DX,0600HOUT DX,AL MOV DX,0604H MOV AL,AH OUT DX,ALCALL DELAY ROL AH,01H INC SI LOOP LEDI RETDELAY: PUSH AX PUSH CX MOV CX,0010HDELAY1: MOV AX,0100HDELAY2: DEC AX JNZ DELAY2 LOOP DELAY1 POP CX POP AX RETCODE ENDS END START2.将A/D转换的结果在LED上显示(十进制0255)STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTDATA1 DB 00H,00H,00H,00HTABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AL,80HMOV DX,0606HOUT DX,ALCHANGE:MOV AX,0000H MOV DX,0640H OUT DX,AL CALL TIMEIN AL,DXMOV AH,00HMOV BL,0AHDIV BL ;除以10LEA SI,DATA1MOV SI+3,AH ;余数(即个位)放在最后一位MOV AH,00HDIV BL ;再除以10MOV SI+2,AH ;余数(即十位)放在个位前面MOV SI+1,AL ;商(即百位)放在十位前面CALL DISPJMP CHANGETIME: PUSH CX PUSH AX MOV CX,0010HTIME1: MOV AX,0050HTIME2: DEC AXJNZ TIME2 LOOP TIME1 POP AX POP CX RETDISP: LAE SI,DATA1 MOV CX,04H LEA BX,TABL MOV AH,0F7HLEDI: MOV AL,SI XLAT MOV DX,0600HOUT DX,AL MOV DX,0604H MOV AL,AH OUT DX,ALCALL DELAY ROR AH,01H INC SI LOOP LEDI RETDELAY: PUSH AX PUSH CX MOV CX,0010HDELAY1: MOV AX,0100HDELAY2: DEC AX JNZ DELAY2 LOOP DELAY1 POP CX POP AX RETCODE ENDS END START3.步进电机角度控制(1)定义键盘按键:3个功能键:设置SET、清零CLR、开始START;(2)在LED上3位显示每次走过的度数;(3)通过键盘的按键,设置步进电机行走的最大角度:按SET键后,使用键盘设置最大角度,按START键置入,按CLR键清零返回原位;(4)转动电位器后步进电机跟随转动,转到位后停止。电位器回到原位,步进电机也转回原位,步进电机角度显示分辨率为15STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTMAX DW 0000H ;设置最大度数PAI DW 0000H ;总共要走的拍数NPAI DW 0000H ;已经走过的拍数ADVAR DW 0000H ;存放A/D转换的结果BUSHU DB 00H ;总共要走的步数,每步15CISHU DB 00H ;走步的次数,正走+1,反走-1DUSHU DB 00H WEIZHI DB 00HSET DB 00H ;SET键的使能处理,使数字按键有效(未加入)LED DB 00H,00H,00H,00H ;存放要显示的数据TABL DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH ZHENGXU DB 08H,18H,10H,30H,20H,60H,40H,48H ;正走步序FANXU DB 48H,40H,60H,20H,30H,10H,18H,08H ;反走步序DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AL,88HMOV DX,0606HOUT DX,ALSTT: MOV AL,0F0H MOV DX,0604H OUT DX,ALNEXT: MOV DX,0604HIN AL,DX AND AL,30H CMP AL,30H JNZ KEYABC CALL DISP JMP STTKEYABC: CALL DALLY MOV DX,0604H IN AL,DX AND AL,30H CMP AL,30H JNZ KEY_SET JMP STT;.键盘扫描KEY_SET:MOV AL,0FEH MOV DX,0604H OUT DX,AL IN AL,DX TEST AL,10H JNZ KEY_CLR CALL KEYSET JMP STTKKEY_CLR:TEST AL,20H JNZ KEY_6 CALL KEYCLR JMP STTKKEY_6: MOV AL,0FDH MOV DX,0604H OUT DX,AL IN AL,DX TEST AL,10H JNZ KEY_2 CALL KEY6 JMP STTKKEY_2: TEST AL,20H JNZ KEY_3 CALL KEY2 JMP STTKKEY_3: MOV AL,0FBH MOV DX,0604H OUT DX,AL IN AL,DX TEST AL,10H JNZ KEY_7 CALL KEY3 JMP STTKKEY_7: TEST AL,20H JNZ KEY_START CALL KEY7 JMP STTKKEY_START:MOV AL,0F7H MOV DX,0604H OUT DX,AL IN AL,DX TEST AL,10H JNZ KEY_0 CALL KEYSTART JMP STTKKEY_0: TEST AL,20H JNZ STTK CALL KEY0 JMP STTKSTTK: CALL DISP ;判断是否放开按键 MOV AL,0F0H MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX AND AL,30H CMP AL,30H JNZ STTK JMP STT;按键定义KEYSET: MOV SET,01H CALL CLEAN CALL DISP RETKEYCLR: MOV SET,00HKEYCLR1:CALL FAN CALL DISP CMP NPAI,0000H JNZ KEYCLR1 CALL CLEAN CALL DISP RETKEY6: CALL LP1 LEA SI,LED MOV AL,06H MOV SI+3,AL RETKEY2: CALL LP1 LEA SI,LED MOV AL,02H MOV SI+3,AL RETKEY3: CALL LP1 LEA SI,LED MOV AL,03H MOV SI+3,AL RETKEY7: CALL LP1 LEA SI,LED MOV AL,07H MOV SI+3,AL RETKEYSTARY:MOV SET,00H CALL CHANGE ;在此遇到的问题,由于转换程序只取MOV NPAI ,0000H ;了结果的整数部分,所以不同角度的KEYSTA: CALL DISP ;转换结果会有一定的误差 MOV AL,0FEH MOV DX,0604H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;判断是否按下了CLR键 JNE KEYSTAR CALL CLEAN RETKEYSTAR:CMP PAI,NPAI JBE KEYSTA CALL RUN JMP KEYSTA RET KEY0: CALL LP1 LEA SI,LED MOV AL,00H MOV SI+3,AL RETLP1: MOV CX,04H ;移位程序 LEA SI,LEDLP2: MOV AL,SI+1 MOV SI,AL INC SI LOOP LP2 RET;显示程序DISP: LAE SI,LED MOV CX,04H LEA BX,TABL MOV AH,0F7HLEDI: MOV AL,SI XLAT MOV DX,0600HOUT DX,AL MOV DX,0604H MOV AL,AH OUT DX,ALCALL DELAY ROR AH,01H INC SI LOOP LEDI RETDELAY: PUSH AX PUSH CX MOV CX,0010HDELAY1: MOV AX,0100HDELAY2: DEC AX JNZ DELAY2 LOOP DELAY1 POP CX POP AX RET;清零程序CLEAN: MOV MAX,0000H MOV PAI,0000H MOV NPAI,0000H MOV ADVAR,0000H MOV BUSHU,00H MOV CISHU,00H MOV DUSHU,00H MOV WEIZHI,00H PUSH CX MOV CX,04HLEA SI,LEDCLEAN1:MOV AL,00H MOV SI,AL INC SI LOOP CLEAN1 POP CX RET;转换程序CHEANGE:PUSH AX PUSH BX PUSH CX PUSH DXCHENGFA:LEA SI,LED ;求最大度数 MOV AH,00H MOV AL,SI+1 MOV BL,64HMUL BL MOV MAX,AX MOV AH,00H MOV AL,SI+2 MOV BL,0AH MUL BL ADD MAX,AX MOV AH,00H MOV AL,SI+3 ADD MAX,AXCHUFA: MOV AX,MAX ;最大度数除以15 MOV BL,0FH DIV BL MOV BUSHU,AL MOV AX,00FFH ;将电位器等分成若干份,当电位 MOV BL,BUSHU ;器转过一定度数时令步进电机转动 DIV BL MOV DUSHU,ALPAISHU: MOV AH,00H ;求总共要走的拍数 MOV AL,04H MOV BL,BUSHU MUL BL MOV PAI,AX POP DX POP CX POP BX POP AX RET;走步处理RUN: MOV AX,0000H MOV DX,0640H OUT DX,AL CALL TIME IN AL,DX ;读A/D转换结果 MOV AH,00H MOV ADVAR,AX MOV AH,00H MOV AL,CISHU MOV BL,DUSHU MUL BL CMP AX,ADVAR JNE RUNN RETRUNN: CMP AX,ADVAR JBE RUN0 MOV BH,00H MOV BL,0FH SUB AX,BX CMP AX,ADVAR JAE RUN1 RETRUN0: CALL ZHENG RETRUN1: CALL FAN RETZHENG: CMP WEIZHI,00H ;正走程序 JNE ZHENG1 MOV CX,04H LEA SI,ZHENGXUZHENG0: MOV AL,SI MOV DX,0602H OUT DX,AL CALL DLIMS INC SI INC NPAI LOOP ZHENG0 MOV WEIZHI,01H INC CISHU CALL PRINT RETZHENG1: MOV CX,04H LEA SI,ZHENGXUZHENG2: MOV AL,SI+4 MOV DX,0602H OUT DX,AL CALL DLIMS INC SI INC NPAILOOP ZHENG2MOV WEIZHI,00HINC CISHUCALL PRINTRETFAN: CMP WEIZHI,00H ;反走程序 JNE ZHENG1 MOV CX,04H LEA SI,FANXUFAN0: MOV AL,SI MOV DX,0602H OUT DX,AL CALL DLIMS INC SI INC NPAI LOOP FA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论