




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试序列号 19 论文题目:步进电机角度控制(1)课程名称:计算机控制技术 学 院 自动化学院 专业班级 学 号 姓 名 指导教师 2013 年 06 月 25 日一、系统设计说明1. 硬件设计本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。按下按键时,给8255A一个信号设定步进电机下一步的动作。8086通过8255A的数据总线读取该信号,并作出反应,通过给8255A一系列的指令驱动其工作,从而驱动步进电机和LED显示器。2. 软件设计 显示模块设计说明:为使显示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。当主程序需要显示,只需将要显示的字符送入显示缓冲区,然后调用显示子程序。显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。显示模块是用四位七段数码管来显示转动次数和每次转动的角度。给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。步进电机模块设计说明: 在此设计中,采用的是八拍步进电机。步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。控制模型可以以立即数的形式一一给出。对于步进电机模块的程序设计采用循环程序设计方法。先把转动的次数和角度的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。 二、系统原理图(见任务书)三、设计流程图、 开始8255初始化检测是否有 N按键按下 Y检测是否有 转动电位SET键按下 Y 器调角度 N 检测START Y 根据保存的 N 检测C键键是否按下 数据依次转 是否按下 动步进电机NY 检测CLR N 保存所调的 键是否按下 角度数据 Y根据保存的数据依次反转步进电机四、源程序 STACK SEGMENT DB 64 DUP(?) STACK ENDS DATA SEGMENT DATA6 DB 3FH,06H,5BH,4FH,66H,6DH,07H,7FH,6FH,77H DATA1 DB 01H,03H,02H,06H DATA3 DB 04H,0CH,08H,09H ;正转 DATA11 DB 00H DATA2 DB 00H ORG 0080H DATA4 DB 00H,00H,00H,00H ;保存所要转的数据 ORG 0100H DUSHU DB 3FH,3FH,3FH,3FH ;数码管显示的值 DATA44 DB 02H,03H,01H,09H DATA55 DB 08H,0CH,04H,06H ;反转 DATA444 DB 00H ;走过4拍的总次数 CISHU DB 00H ;步进电机所要转的次数 SETSHU DB 00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,88H MOV DX,0606H OUT DX,AL; 初始化 STT: MOV AL,00H MOV DX,0600H OUT DX,AL NEXT: MOV DX,0604H IN AL,DX AND AL,30H CMP AL,30H JNZ KEY CALL XIANSHI JMP STT ;检测是否有按键按下 KEY: MOV AL,0F7H MOV DX,0600H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,10H ;检测SET键是否按下 JNZ KEY1 CALL KEY_SET KEY1: MOV AL,0BFH MOV DX,0600H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,10H ;检测START是否按下 JNZ KEY2 CALL KEY_START KEY2: MOV AL,0EFH MOV DX,0600H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H ;检测CLR键是否按下 JNZ STT CALL KEY_CLR JMP STT KEY_START: LEA BX,CISHU MOV AL,BX CMP AL,00H ;检测是否有数据保存 JZ STT LEA SI,DATA4 MOV AL,SI MOV AH,00H A0: MOV BX,0018H MUL BX MOV BX,0011H DIV BX MOV BL,0FH DIV BL ;计算转多少次4拍 MOV AH,AL LEA DI,DATA444 ADD AL,DI MOV DI,AL ;保存走过4拍的总次数 A1: LEA BX,DATA1 MOV CX,0004H A2: MOV AL,BX MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A2 DEC AH JZ A000 A3: LEA BX,DATA3 MOV CX,0004H A4: MOV AL,BX MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A4 ;电机正转 DEC AH JZ A000 JMP A1 RET A000: CALL TIME2 LEA BX,CISHU MOV AL,BX DEC AL MOV BX,AL JZ B3 ;判断步进电机是否还要继续转 INC SI MOV AL,SI MOV AH,00H JMP A0 B3: JMP STT KEY_CLR: LEA BX,DATA444 MOV AL,BX TEST AL,01H JZ B10 ;计算反转的第一位置 JMP B20 B10: MOV AX,0000H LEA SI,DATA55 MOV CX,0004H A20: MOV AL,SI MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A20 DEC AH JNZ A00 JMP STT A00: LEA BX,DATA44 MOV CX,0004H A30: MOV AL,BX MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A30 ;电机反转 DEC AH JNZ B10 JMP STT B20: MOV AX,0000H LEA SI,DATA44 MOV CX,0004H A200: MOV AL,SI MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A200 DEC AH JNZ A900 JMP STT A900: LEA BX,DATA55 MOV CX,0004H A300: MOV AL,BX MOV DX,0604H OUT DX,AL CALL XIANSHI INC BX LOOP A300 DEC AH JNZ B20 JMP STT KEY_SET: MOV DX,0640H OUT DX,AL ;启动AD转换 CALL XIANSHI IN AL,DX LEA SI,DATA2 MOV SI,AL MOV AH,00H MOV BX,18H MUL BX MOV BX,11H DIV BX MOV BL,64H DIV BL LEA BX,DATA6 XLAT DATA6 LEA SI,DUSHU MOV SI+1,AL ;保存数码管要显示的数 MOV AL,AH MOV AH,00H MOV BL,0AH DIV BL LEA BX,DATA6 XLAT DATA6 LEA SI,DUSHU MOV SI+2,AL MOV AL,AH LEA BX,DATA6 XLAT DATA6 LEA SI,DUSHU MOV SI+3,AL CALL XIANSHI MOV AL,0F7H MOV DX,0600H OUT DX,AL MOV DX,0604H IN AL,DX TEST AL,20H JNZ KEY_SET JMP B0 RET B0: CALL B1 JMP STT B1: PUSH BX PUSH SI PUSH DI LEA BX,CISHU MOV AL,BX INC AL MOV BX,AL LEA BX,DATA11 MOV BX,AL MOV AH,00H MOV CX,AX LEA SI,DATA4 B2: INC SI LOOP B2 DEC SI LEA DI,DATA2 MOV AL,DI MOV SI,AL POP DI POP SI POP BX RET XIANSHI: PUSH BX ;显示子程序 PUSH DX PUSH AX LEA BX,DUSHU MOV AL,BX MOV DX,0602H OUT DX,AL MOV AL,0BFH MOV DX,0600H OUT DX,AL CALL TIME INC BX MOV AL,BX MOV DX,0602H OUT DX,AL MOV AL,0DFH MOV DX,0600H OUT DX,AL CALL TIME INC BX MOV AL,BX MOV DX,0602H OUT DX,AL MOV AL,0EFH MOV DX,0600H OUT DX,AL CALL TIME INC BX MOV AL,BX MOV DX,0602H OUT DX,AL MOV AL,0F7H MOV DX,0600H OUT DX,AL CALL TIME POP AX POP DX POP BX RET TIME: PUSH CX PUSH AX MOV CX,00A0H A21: MOV AX,0020H A22: DEC AX JNZ A22 LOOP A21 POP AX POP CX RET TIME2: PUSH CX PUS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精装修公寓租赁合同及配套设施租赁协议
- 零排放建筑设计方案
- 离婚协议书无子女子女抚养及财产分割专项模板
- 周口鱼塘清淤施工方案
- 电商平台入驻租赁及运营支持服务合同
- 给水工程废水处理与回用方案
- 离异父母子女抚养权变更及监护权维护协议
- 离婚协议范本:包含赡养费及子女教育费用协议
- 2025年江苏省宿迁市中考英语试卷含答案 - 副本
- 离婚时夫妻共同股权分割与利益平衡合同范本
- 瑜伽相关知识培训课件
- 导乐师理论知识考核试题及答案
- 2025年中国移动式皮带输送机市场调查研究报告
- ETL开发规范流程与案例分析文档
- 高校学生就业服务平台建设方案
- 2025年金属热处理原理及工艺习题一(参考答案)
- 贷款熔断管理办法
- 2025年公安部交管局三力测试题库及答案
- 先天性甲状腺功能减退症诊治指南解读课件
- FIDIC合同培训课件
- 学校保安法律知识培训
评论
0/150
提交评论