已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1课 程 设 计课程名称 微型计算机控制技术 题目名称_步进电机角度控制(2) 学生学院_ _ 自动化_专业班级_ 学 号 学生姓名_ _指导教师_ 李传芳 _2013 年 06 月 28 日2一、软件设计流程图如下图所示:二、心得与体会这次的课程设计主要针对键盘及可编程接口芯片 8255A 的编程,在上机调试过程中由于自己的疏忽及算法的不完善导致了程序不能实现预期的功能,经过一遍又一遍的检查和思考,终于完成了这次课程设计的任务。虽然上机调试的经历是痛苦的,但是期间的细节错误给了我们应有的教训,使我们在以后的学习及工作中尽量避免,对于汇编语言的编程也有了进一步的了解加深了对步进电机的理解和使用技巧,设计中,需要对步进电机进行角度控制,即需要对步进电机的角度进行计算分析,以得到所需的步数。总之,这次课程设计锻炼了我解决问题的能力,激发了我的思考,相信通过这次课程设计对我以后对微机的继续学习及以后的工作会有很大的帮助。开始设定 8255A 工作方式,A、B 口输出,C 口PC4PC7 输入, PC0PC3输出,故控制字为 88H扫描键盘是否有键按下判断键值否是延时LED 显示 驱动电机动作延时返回调用判断键值3任务 1 连接数码管显示电路和键盘电路,实现如下表所示的按键控制,并能够左移显示:3 6 0 AB 7 2 F1.2源程序:STACK SEGMENT STACKDB 64 DUP(?)STACK ENDSDATA SEGMENTORG 0030HVAR1 DB 0FCH,0FCH,0FCH,0FCHVAR5 DB OF7H,0FBH,0FDH,0FEHVAR2 DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCHVAR3 DB 00H,00H,00H,00H,00H,00H,00H,00HVAR4 DB 00H,00H,00H,00H,00H,00H,00H,00HTABLE1 DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,88H ;8255初始化MOV DX,0606HOUT DX,ALSTT: MOV AL,60HMOV DX,0604HOUT DX,ALNEXT: MOV DX,0604HIN AL, DXAND AL,60HCMP AL,60HJNZ KEYABCCALL DISPJMP STT;.键盘扫描.KEYABC:CALL TIMEMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60H ;PC6 PC5 =0110 0000JNZ KEYJMP STTKEY: MOV AL,0FEH ;扫描PC0口 PC0=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_F CALL KEYA JMP STTKKEY_F: TEST AL,040H ;检测PC6口 JNZ KEY_0 CALL KEYF JMP STTK KEY_0:MOV AL,0FDH ;扫描PC1口, PC1=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_2 CALL KEY0 JMP STTKKEY_2:TEST AL,040H ;检测PC6口JNZ KEY_6 CALL KEYF ;否则是按键2JMP STTK KEY_6:MOV AL,0FBH ;PC2=0MOV DX,0604H4OUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_7 CALL KEY6JMP STTKKEY_7:TEST AL,040H ;检测PC6口JNZ KEY_3CALL KEY7JMP STTK KEY_3:MOV AL,0F7H PC3=0MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_B CALL KEY3JMP STTKKEY_B:TEST AL,040H ;检测PC6口JNZ KEY_111CALL KEYBKEY_111:JMP STTK;数字XIANSHIKEYA: CMP BH,00HJZ KEYA_1KEYA_1: CALL LP1MOV AL,0EEHMOV SI,ALMOV AL,0AHMOV DI,ALCALL DISPRETKEYF: CMP BH,00HJZ KEYE_1KEYF_1:CALL LP1MOV AL,8EHMOV SI,ALMOV AL,0FHMOV DI,ALCALL DISPRETKEY0:CMP BH,00HJZ KEY1_1KEY0_1:CALL LP1MOV AL,0FCHMOV SI,ALMOV AL,00HMOV DI,ALCALL DISPRETKEY2:CMP BH,00HJZ KEYF_1KEY2_1:CALL LP1MOV AL,0DHMOV SI,ALMOV AL,02HMOV DI,ALCALL DISPRETKEY6:CMP BH,00HJZ KEY7_1KEY6_1:CALL LP1MOV AL,0BEHMOV SI,ALMOV AL,06HMOV DI,ALCALL DISPRETKEY7:CMP BH,00HJZ KEYA_1KEY7_1:CALL LP1MOV AL,0E0HMOV SI,ALMOV AL,07HMOV DI,ALCALL DISPRET5KEY3:CMP BH,00HJZ KEY8_1KEY3_1:CALL LP1MOV AL,0F2HMOV SI,ALMOV AL,03HMOV DI,ALCALL DISPRETKEYB:CMP BH,00HJZ KEYB_1KEYB_1:CALL LP1MOV AL,3EHMOV SI,ALMOV AL,0BHMOV DI,ALCALL DISPRETLP1: MOV SI,OFFSET VAR1PUSH AXMOV AL,SI+2MOV SI+3,ALMOV AL,SI+1MOV SI+2,ALMOV AL,SIMOV SI+1,ALPOP AXMOV SI,ALRET;显示.DISP:PUSH DXPUSH CXMOV SI,OFFSET VAR1MOV DX,0604HMOV AL,11111110BOUT DX,ALMOV DX,0602HMOV AL,SI+3OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11111101BOUT DX,ALMOV DX,0602HMOV AL,SI+3OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11111011BOUT DX,ALMOV DX,0602HMOV AL,SI+3OUT DX,ALDEC SICALL TIMEMOV DX,0604HMOV AL,11110111BOUT DX,ALMOV DX,0602HMOV AL,SI+3OUT DX,ALDEC SICALL TIMEPOP AXPOP DXRET ;.延时TIME: PUSH AXPUSH CXMOV CX,0006HTIME1: MOV AX,0100HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AX6RET;放键测试STTK: CALL DISPMOV AL,00HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60HJNZ STTKJMP STTCODE ENDSEND START任务 2 实现:定义键盘按键:5 个为数字键:0、1、3、5、9 ;3 个功能键:设置SET、清零 CLR、开始 START;按键分布如下表所示:0 3 6 5SET 4 START CLR2.2 源程序:STACK SEGMENT STACKDB 100 DUP(?)STACK ENDSDATA SEGMENTVAR1 DB OF7H,0FBH,0FDH,0FEHVAR2 DB 0FCH,0FCH,0FCH,0FCHVAR5 DB 00H,00H,00H,00H,00H,00HTABL DB 0FCH,60H,0DH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EHTAB_C DW 00HORG 0100HVAR3 DB 64 DUP(?)ORG 0200HVAR4 DW 64 DUP(?)COUNT DB 00HTABLE DB 08H,18H,10H,30H,20H,60H,40H,48HD_COUNT DB 00HD_TIMES DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXPUSH DXMOV AL,88H ;8255初始化MOV DX,0606HOUT DX,ALMOV BX,0000HMOV COUNT,00HMOV D_COUNT,00HMOV D_TIMES,00HSTT: MOV AL,00HMOV DX,0604HOUT DX,ALNEXT: MOV DX,0604HIN AL, DXAND AL,60HCMP AL,60HJNZ KEYABCCALL DISPJMP STTPOP DX7;.键盘扫描.KEYABC:PUSH DXCALL TIMEMOV DX,0604HIN AL,DXAND AL,60HCMP AL,60H ;PC6 PC5 =0110 0000JNZ KEY_5JMP STTPOP DXKEY_5: MOV AL,0FEH ;扫描PC0口MOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_CLR CALL KEY5 ;否则 是按键5JMP STTKKEY_CLR: TEST AL,40H ;检测PC6口JNZ KEY_6CALL KEYCLRJMP STTK KEY_6:MOV AL,0FDHMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_START CALL KEY6JMP STTKKEY_START:TEST AL,40H ;检测PC6口JNZ KEY_3CALL KEYSTARTJMP STTK KEY_3:MOV AL,0FBHMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_4 CALL KEY3JMP STTKKEY_4:TEST AL,40H ;检测PC6口JNZ KEY_0CALL KEY4JMP STTK KEY_0:MOV AL,0F7HMOV DX,0604HOUT DX,ALMOV DX,0604HIN AL,DXTEST AL,20H ;检测PC5JNZ KEY_SET CALL KEY0JMP STTKKEY_SET:TEST AL,40H ;检测PC6口JNZ KEY_111CALL KEYSETKEY_111:JMP STTK;.KEY0:CALL LP1MOV AL,00HMOV DI,ALMOV AL,0FCHMOV SI,ALCALL DISPRETKEY3: CALL LP1MOV AL,03HMOV DI,ALMOV AL,0F2HMOV SI,ALCALL DISP8RETKEY4: CALL LP1MOV AL,04HMOV DI,ALMOV AL,66HMOV SI,ALCALL DISPRETKEY5: CALL LP1MOV AL,05HMOV DI,ALMOV AL,0B6HMOV SI,ALCALL DISPRETKEY6: CALL LP1MOV AL,06HMOV DI,ALMOV AL,0BEHMOV SI,ALCALL DISPRET;.KEYSTART: CMP COUNT,00HJZ STA1MOV AL,COUNTCBWPUSH AXMOV SI,OFFSET VAR4MOV DI,OFFSET TABLEMOV DL,00HSTA4: MOV BX,SIMOV AX,SI+2MOV DH,0FHDIV DHMOV DH,04HMUL DHINC SIINC SIINC SI INC SIPUSH AXSTA5: POP AXMOV CX,AXPUSH AXSTA2: PUSH DXMOV AL,DIMOV DX,0600HOUT DX,ALPOP DXINC DIINC DLCALL DISP1CALL DALLY1CMP DL,08HJNZ STA3MOV DL,00HMOV DI,OFFSET TABLESTA3: LOOP STA2CALL DISP1DEC BXJNZ STA5INC D_COUNTMOV AL,COUNTPOP AXCALL DISP1DEC COUNTJNZ STA4POP AXCALL DISP1DEC COUNTJNZ STA4POP AXMOV COUNT,ALMOV D_COUNT,00HMOV TAB_C,DIMOV CL,DLSTA1: RET;KEYSET: LEA SI,VAR2LEA DI,VAR3MOV AL,COUNT9CBWADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV CX,0004HSET1: MOV AL,SIMOV DI,ALINC DIINC SILOOP SET1LEA SI,VAR5MOV DX,0000HMOV DI,OFFSET VAR4MOV AL,COUNTCBWADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV AL,SIMOV DI,ALMOV AL,SI+1MOV BL,64HMUL BLADD DX,AXMOV AL,SI+2MOV CL,0AHMUL BLADD DX,AXMOV BL,SI+3CBWADD AX,DXMOV DI+2,AXMOV CX,0004HLEA SI,VAR2LEA DI,VAR5SET2: MOV SI,0FCHMOV DI,00HINC SIINC DILOOP SET2CALL DISPINC COUNTRET;.KEYCLR: CMP COUNT,00HJZ CLR1MOV DI,TAB_CMOV SI,OFFSET VAR4MOV DL,CLTEST DL,DLJNZ CLR6MOV DL,08HMOV DI,OFFSET TABLEMOV AL,07HCBWADD DI,AXCLR6: DEC DIDEC DLCLR4: MOV BX,SIMOV AX,SI+2MOV DH,0FHDIV DHMOV DH,04HMUL DHINC SIINC SIINC SIINC SIPUSH AXCLR5: POP AXMOV CX,AXPUSH AXCLR2: PUSH DXMOV AL,DIMOV DX,0600HOUT DX,ALPOP DXDEC DIDEC DLCALL DALLYTEST DL,DLJNZ CLR3MOV DL,08HMOV DI,OFFSET TABLEMOV AL,07H10CBWADD DI,AXCLR3: LOOP CLR2DEC BXJNZ CLR5MOV AL,COUNTPOP AXDEC COUNTJNZ CLR4MOV COUNT,00HCLR1: MOV CX,0004HLEA SI,VAR3LEA DI,VAR4CLR7: MOV SI,0FCHMOV DI,00HINC SIINC DILOOP CLR7CALL CLRRCALL DISPRET;DISP1: PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV D_TIMES,BLMOV AL,D_COUNTCBWMOV BX,OFFSET TABLMOV SI,OFFSET VAR1MOV DI,OFFSET VAR3ADD DI,AXADD DI,AXADD DI,AXADD DI,AXMOV AL,SIMOV DX,0604HOUT DX,ALMOV AL,D_TIMESXLATMOV DX,0602HOUT DX,ALCALL TIMEINC SIINC DIMOV CX,0003HDIR1: MOV AL,SIMOV DX,0604HOUT DX,ALMOV AL,DIMOV DX,0602HOUT DX,AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年青岛远洋船员职业学院单招职业适应性测试必刷测试卷附答案
- 2026年泸州医疗器械职业学院单招综合素质考试题库必考题
- 2026年黑龙江艺术职业学院单招职业适应性测试题库新版
- 2026年河南艺术职业学院单招职业适应性考试必刷测试卷及答案1套
- 2026年郴州思科职业学院单招职业技能测试必刷测试卷附答案
- 2026年宁夏石嘴山市单招职业倾向性测试题库及答案1套
- 2026年南昌交通学院单招职业倾向性测试题库必考题
- 2026年无锡职业技术学院单招职业适应性考试必刷测试卷附答案
- 2026年晋中师范高等专科学校单招职业技能测试必刷测试卷及答案1套
- 2026年陕西艺术职业学院单招职业倾向性测试题库附答案
- 自动化生产线运行维护方案及记录表
- 高三试卷:辽宁省沈阳市郊联体2024-2025学年高三上学期11月期中化学+答案
- 2025年中国聚氨酯分散体行业市场分析及投资价值评估前景预测报告
- 2025年等保测评初级测评师考试题库及答案
- 电焊烟尘安全培训课件
- 乌鲁木齐冬季施工方案
- 消防工程消防水灭火系统施工方案
- 2025湖南张家界桑植县交通旅游建设投资集团有限公司招聘考试参考题库及答案解析
- 2025-2026学年人教版(2024)七年级地理第一学期第一章 地球 单元测试(含答案)
- 俄语对外一级考试题目及答案
- 口腔内科学模板课件
评论
0/150
提交评论