![微机接口技术课程设计_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/8880dc9c-a711-4360-a2c0-4233a53ce5d9/8880dc9c-a711-4360-a2c0-4233a53ce5d91.gif)
![微机接口技术课程设计_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/8880dc9c-a711-4360-a2c0-4233a53ce5d9/8880dc9c-a711-4360-a2c0-4233a53ce5d92.gif)
![微机接口技术课程设计_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/7/8880dc9c-a711-4360-a2c0-4233a53ce5d9/8880dc9c-a711-4360-a2c0-4233a53ce5d93.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机接口技术课程设计设殳计报告题目按键控制小车移动专业:班级:学号:姓名:指导老师:设计时间:2011年6月20日到 2011年7月1号1设计任务说明DOS下编写汇编程序,在屏幕中央显示一辆小车,小车的运行方向受键盘上 的W S A D四个方向按键控制,(键盘大写锁定后)当按下其中任意一个按键 时,小车朝着相应的方向行驶, 如果按下空格键则退出当前程序, 如果没有任何 按键按下,则小车静止不动。2. 总体设计(一)确立方向 根据任务明确设计方向,此次课程设计做的是软件方面的,用按键控制 小车移动,当按下方向键之后,小车朝着相应的方向移动,这样要用到系统 提供的各种中断,及屏幕显示功能,因此确立
2、好了大体方向和思路,就可以 着手进行设计了,(二)查阅相关资料此次课程设计多为扩展内容,很多内容需要我们去查阅工具书,因此明 确目标后,需要查阅相关资料,作显示方面的课程设计,则更多倾向于显示 器与屏幕的控制、系统中断的调用,图书馆有很多汇编课程设计方面的书, 可以起很好的借鉴作用,只有对系统功能有了清晰的认识和了解之后,才能 更好的设计自己的程序。(三)设计和构建程序 对课程设计和实验题目有了一个清晰的认识之后,就可以初步编写汇编 程序了,首先,程序模块化,把每种功能设计成一个独立的模块,这样程序 就清晰易读,便于修改;其次,设计简单化,一种功能可以有多种实现方式, 而不同的编程方式会直接影
3、响设计的合理性,根据当前自己的掌握情况择优 选择,设计的时候还要注意语法等是否规范合理;最后,把所有的模块整合 到一起,组合成完整的设计程序。本设计主要分 3 大模块:画小车和清除小 车程序模块、按键检测与识别模块、功能执行模块(四)修改和完善初次编写这样的综合性汇编程序,难免会出现很多错误,这是每个程序 员都必须面对的,只要细心检查,耐心发问,问题总会解决的,通过不断地 尝试、修改、完善,最终一定会成功的,当然完成之后还可以附加一些功能, 并且对原有的指令进行精简,如此达到最好效果。确认小车的运行轨迹和方 向完全受按键控制,并与预期效果一致时,设计就成功了。3. 详细设计本设计主要包含3个模
4、块,分别为:画小车与清除小车模块、键盘检测模 块、方向处理及执行模块画小车与清除小车模块:根据当前设置的mode值判断是画小车还是清除小车,键盘检测模块:调用系统的16h号中断,ah=OOh,把从键盘输入按键的ADCII码放入al 中, 通过比较,设置小车的显示位置方向处理及执行模块:调用16H号键盘中断把小车置于最下边Y把小车置于最上边是否到大最上边?iw键按下?小车向上行驶S键按下?小车向下行驶是否到达最下边接收来自键盘的按键并且做出判断, 如按下W则下车向上移动,按下S则小 车向下移动,按下A则小车向左移动,按下D则小车向右移动。如果小车到达边 界之后,该方向键仍然按下,则小车从另一条边
5、LJN小车向左行驶.斗是否到达最左边? .把小车置于最右边Ln出匚U二二二 D 键按下?'二.二二=-|小车向右行驶亠兰二二実否到达最右边"-把小车置于最左边空格键按下?Y_RET4. 程序及说明.MODEL SMALL.DATACARSDW 7DB 0,0,52H,7,0,1,0B1H,7DB 0,1,0DBH,7,0,1,0DBH,7DB 1,0,4FH,12,0,-2,4FH,12DB -2,0,2,7;定义小车形状ROW DB ?COLUMN DB ?MODE DB ?;MODE=1寸画小车,MODE=0J清除小车.CODESTART: MOV AX,DATAMOV
6、DS,AX ; 初始化MOV ROW,13 ;小车的初始行坐标MOV COLUMN,38; 小车的初始列坐标CALL DRAW ; 画小车CALL DIRECTION; 检查是否有控制键按下?MOV AX,4C00H ; 退出程序INT 21HDIRECTION PROC NEAR ; 键盘检测子程序DRAW_U:MOV AH,0; 接收键盘输入INT 16HCMP AL,57H ; 向上?JNZ DRAW_D; 没有则转移CALL CLEAR ; 清除小车DEC ROW; 行坐标减 1CALL DRAW ; 画小车CMP ROW,1 ; 小车在最上边吗?JA DRAW_D ; 不是则转移CA
7、LL CLEAR ; 是则清除小车MOV ROW,24; 把小车置于最下边DRAW_D:CMP AL,53H ; 向下?JNZ DRAW_L ; 没有则转移CALL CLEAR ; 清除小车INC ROW; 行坐标加 1CALL DRAW ; 画小车CMP ROW,24 ; 小车在最下边吗?JB DRAW_L ; 不是则转移CALL CLEAR ; 清除小车MOV ROW,1 ; 把小车置于最上边DRAW_L:CMP AL,41H ; 向左?JNZ DRAW_R; 没有则转移CALL CLEAR ; 清除小车DEC COLUMN; 列坐标减 1CALL DRAW ; 画小车CMP COLUMN
8、,0 ; 小车在最左边吗?JA DRAW_R ; 不是则转移CALL CLEAR ; 清除小车MOV COLUMN,76; 把小车置于最右边DRAW_R:CMP AL,44H ; 向右?JNZ EXIT ; 没有则转移CALL CLEAR ; 清除小车INC COLUMN ;列坐标加 1CALL DRAW ; 画小车CMP COLUMN,76; 小车在最右边吗?JB EXIT ; 不是则转移CALL CLEAR ; 清除小车MOV COLUMN,0 ; 把小车置于最左边EXIT:CMP AL,20H ; 空格?JNZ DRAW_U; 没有则返回RET ; 退出DIRECTION ENDPDRA
9、W:; 画小车MOV MODE,1CALL CARRETCLEAR:; 清除小车MOV MODE,0CALL CARRETCAR PROC NEAR; 小车图形子程序MOV DH,ROWMOV DL,COLUMNMOV CX,7LEA DI,CARS+2ONE: ADD DH,DI+0 ; 置光标列ADD DL,DI+1 ; 置光标行MOV AH,2INT 10HMOV AL,DI+2 ;显示字符的 ASCII 码MOV BL,DI+3 ; 显示字符的属性CMP MODE,0 ;MODE二时画小车,MODE=0tf清除小车JNE SKIPMOV BL,0SKIP:PUSH CX ;保护 exM
10、OV CX,1 ;只画一次MOV AH,09H ;当前光标处写字符INT 10HPOP CX;恢复 exADD DI,4;指向下一字符LOOP ONERETCAR ENDPJEND START5. 系统测试在记事本中将编写好的程序保存成 CAR.ASM文件,然后在DEBUGS编译、 链接、运行,如果出错,则找到相应的错误位置,改正后重新编译,如此下 去,直至程序正确为止。当程序通过了编译、链接之后会生成可执行文件 CAR.EXE打开后观察屏 幕上小车的初始位置,依次按下 W S、A D方向键,观察小车运动方向,如 果与预期效果不一致,则返回源程序,细心修改。运行后的效果:本试验程序经验证后正确,运行CAR.EXE文件运行后,按下相应的方向控 制键则小车朝着相对应的方向移动,按下空格键则退出当前程序,实验效果 和预期完全一致,说明此次课程设计成功6. 总结与体会通过这次课程设计,我学会了怎样编写一个实用的汇编小程序, 也掌握 了程序设计的基本方法,当然更重要的是我对微机原理与接口技术这门课的 兴趣增加了,以前我对计算机,对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年七年级历史下册 第16课 明朝的科技、建筑与文学说课稿 新人教版
- 2025瓷砖买卖合同
- Unit 3 Family Matters Understanding ideas Like Father,Like Son 说课稿 -2024-2025学年高中英语外研版(2019)必修第一册
- 2024-2025学年高中语文 第三课 第4节 咬文嚼字-消灭错别字说课稿2 新人教版选修《语言文字应用》
- 21 古诗三首 第一课时 说课稿-2024-2025学年统编版语文四年级上册
- 2025购销合同范本
- 森林安全监管方案
- 企业派驻合同范例
- 网状吊索拱桥施工方案
- 黔东南绿化草坪施工方案
- 慢性肾衰竭的护理课件
- 2024-2025学年河南省郑州市高二上期期末考试数学试卷(含答案)
- 甲流乙流培训课件
- 儿科学川崎病说课
- 2025《省建设工程档案移交合同书(责任书)》
- 2025年云南农垦集团总部春季社会招聘(9人)管理单位笔试遴选500模拟题附带答案详解
- 《石油钻井基本知识》课件
- 电力两票培训
- TCCEAS001-2022建设项目工程总承包计价规范
- 四百字作文格子稿纸(可打印编辑)
- 新概念二册课文电子版
评论
0/150
提交评论