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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机课程设计电机的控制课程设计文档格式.docx

1、反转单步走则类似。这个模块作为键盘主程序的子程序使用,使用键盘的第三行为功能键,操作步进电机的正反转,数字键送入NUM的值则控制电机的步数。功能键说明:“+”控制步进电机正向转NUM步“-“控制步进电机反向转NUM步“,”控制步进电机正向单步走“.”控制步进电机反向单步走正向走NUM步的程序流程图:(反向走NUM步的省略)正向单步走程序流程图:(反向单步的省略)四、源程序代码:CODE SEGMENT ASSUME CS:CODE,DS:CODESTART: MOV CH,00h ;键值左移4位存CH用,先初始化MOV CL,00h ;控制步进电机单步走用作标志 MOV DX,203H ;置8

2、255A控制口地址 MOV AL,90H ;A口输入,C口输出 OUT DX,ALLOOP1: MOV DX,202H ;8255A的C口 MOV AH,00000110B MOV AL,00000110B ;键盘第一行 OUT DX,AL MOV DX,200h ;8255A的A口 IN AL,DX ;获取列码 CMP AL,0FFH JNE LOOP2 ;有键按下列码全1无键按下扫描第二行 MOV AH,00000101B MOV AL,00000101B MOV DX,200h IN AL,DX CMP AL,0FFH JNE LOOP2第三行 MOV AH,00000011B MOV

3、AL,00000011B JMP LOOP1LOOP2: CALL Delay ;消除抖动 JE LOOP1 MOV BL,0FEH ;确定有键按下则求列值 MOV BH,0 ;BH存键值LOOP3: CMP AL,BL ;扫描列值 JE ONE CMP BH,7 ;所有列码都扫描完 JE LOOP1 ;重新检测按键 INC BH ROL BL,1 ;列码循环左移一位 JMP LOOP3ONE: CMP AH,00000110B ;第一行按键 JE ONE2 CMP AH,00000101B ;第二行按键 JE TWO2 CMP AH,00000011B ;第三行功能键 JE THREE2 C

4、ALL JUMP JMP wait1ONE2: CALL First ;调用第一行处理程序TWO2: CALL Second ;调用第二行处理程序THREE2:CALL Third ;调用第三行处理程序wait1:wait2: CMP AL,0FFh JNE wait2 ;等待按键 ORG 200HNUM DB ? ;存步进电机步数First PROC NEAR 开控制口 MOV AL,90h ;A口输入,C口输出 CMP CH,0 ;第一次执行按键 JZ CH0 ; ADD BH,CH ;显示八位,CH0: MOV DX,201H ;B口 MOV AL,BH ;键值送AL OUT DX,AL

5、 ;在二极管上显示BH即输入的键值 MOV DX,208H ;打开D/A控制直流电机转速 MOV NUM,AL ;步进电机转的步数 MOV CL,4 SAL BH,CL; BH值左移四位 MOV CH,BH ;BH值送CH MOV CL,0 ;CL清零,不影响步进电机单步走 RETFirst ENDPSecond PROC NEAR ADD BH,8h ;扫描第二行 MOV DX,203H MOV AL,90h JZ CH1 ADD BH,CHCH1:8255A的B口输出 MOV AL,BH输出键盘的值 MOV DX,208H步进电机步数 SAL BH,CL ;左移4位 MOV CH,BH M

6、OV CL,0Second ENDPThird PROC NEAR ADD BH,10H ;扫描第三行设置方式控制字 MOV AL,90H 二极管显示为全0; MOV AL,00h ; CMP BH,13H ;比较键值13H为”+” JZ DONE2正转 CMP BH,12H ;12H为”-” JZ DONE3反转 CMP BH,11H ;11H为”,” JZ DONE4正向一步一步转 CMP BH,10H ;10H 为”.” JZ DONE5 ;反向一步一步转Third ENDPDONE2: CALL PROGRAM1DONE3:CALL PROGRAM2DONE4:CALL PROGRAM

7、3DONE5:CALL PROGRAM4 Delay PROC NEAR ; 键盘 延时子程序 PUSH CX MOV CX,1800HNEXT: DEC CX JNE NEXT POP CXDelay ENDP Delay2 PROC NEAR ;电机 延时子程序 MOV CX,5000HNEXT2: JNE NEXT2Delay2 ENDPJUMP PROC NEAR JUMP ENDPPROGRAM1 PROC NEAR ;正向连续转 MOV DX,203H MOV AL,90H MOV DX,202H; C口 MOV CL,NUM ;电机步数ZHENG: MOV AL,10H ;正向给

8、A相通电 CALL Delay2 DEC CL ;计算已进步数 JZ DONE1 ;步数已完成,返回 MOV AL,20H ;输出第二拍模型给B相通电 CALL Delay2 ;延迟; DEC CL JZ DONE1 MOV AL,40H ;输出第三拍模型给C相通电 MOV AL,80H ;输出第四拍给D相通电回到原点 JNZ ZHENG ;ABCDA循环通电PROGRAM1 ENDPDONE1:JMP LOOP1PROGRAM2 PROC NEAR ;反向连续转C口设置转的步数FAN:反向转动给A通电给D通电给C通电给B通电 JNZ FAN ;ADCBA通电PROGRAM2 ENDPPROG

9、RAM3 PROC NEAR ;正向单步走 CMP CL,00H ;第一次按,给A通电转一步 JZ AA1; CMP CL,01H ;CL=1,B通电 JZ BB1 CMP CL,02H ;CL=2,C通电 JZ CC1 CMP CL,03H ;CL=3,D通电 JZ DD1 JMP LOOP1 ;检测键盘AA1: MOV AL,10H INC CL ;自动加一,CL为01H JNZ DONEBB1: MOV AL,20H INC CLCC1: MOV AL,40H JNZ DONE DD1: MOV AL,80H MOV CL,00HJZ DONE JMP LOOP1 PROGRAM3 EN

10、DPPROGRAM4 PROC NEAR ;反向单步走 MOV DX,202HMOV CL,0 CL=0,A通电 JZ AA2CL=1,D通电 JZ DD2CL=2,C 通电 JZ CC2CL=3,B 通电 JZ BB2AA2:DD2:CC2:BB2: MOV CL,00H ;CL重新置0PROGRAM4 ENDPDONE:扫描键盘CODE ENDSEND START 五、设计的问题及难点1在实现直流电机控制速度的时候也遇到了不少问题,起先连怎么把数据送入DAC0832转换处理都不知道,后来到图书馆查阅点资料才理解了。在这里把旧键值送高4位,新键值送低4位花了不少时间,后面实现了才发现这有点容易了。2刚开始在实现键盘扫描功能时遇到比较多的问题,如怎么根据行码和列码来判断到底是哪个键被按下,以及键值该如何处理,数字键和功能键又怎么区分等等,在询问同学和老师的过程中了解到了实现的一些方法。3实现步进电机单步走的时候不知如何控制什么时候给哪相通电,后面想到用一个寄存器才标志该给哪个相通电,实现了单步走的功能。六设计的不足:控制直流电机的时候,按下数字键,速度不应该马上变化,可以设置一个功能键,实现先按下数字键先显示在B口,不直接送入DAC0832,等检测到按下那个功能键后才送进去,改变电机速度。

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

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