微机原理与接口技术课程设计-动画程序设计(小鸟飞过、汽车开过)(共14页).doc
《微机原理与接口技术课程设计-动画程序设计(小鸟飞过、汽车开过)(共14页).doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计-动画程序设计(小鸟飞过、汽车开过)(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 微机原理与接口技术 课程设计设计课题: 动画程序设计 班 级: 学 号:姓 名: 指导教师: 2010 年 12月 24日一、设计题目动画程序设计二、设计内容1、主要内容:利用BIOS系统功能调用,进行简单的动画设计。利用BIOS中断的10号、21号功能,进行简单的动画设计,并根据以下提示信息进行选择:(1)小鸟从屏幕飞过。(2)汽车按水平方向从屏幕上开过去。(3)退出。2、基本功能:(1)清屏宏定义观察程序流程图,在显示小鸟图形,汽车图形时,要先清屏,所以在编写程序使用到宏,因为宏定义只需在汇编语言原程序中定义一次,便可以多次反复调用。调用时只需要一条宏指令即可。
2、程序中的清屏定义为: CLEAR MACRO pch,pcl,pdh,pdl,pbh MOV AH,0 MOV AL,02H INT 10HMOV AL,0 MOV CH,pch MOV CL,pcl MOV DH,pdh MOV DL,pdl MOV BH,pbh INT 10HENDM宏指令名为CLEAR,定义了五个形式参数,分别为:pch,pcl,pdh,pdl,pbh,把pch,pcl的值分别传给窗口左上角行号、列号,pdh,pdl的值分别传给窗口右下角行号、列号,pbh的值则传给窗口底部卷入行属性。利用已经定义好的宏,清屏时可以宏调用。宏调用语句为:CLEAR 0,0,24,79,7
3、(2)子程序设计 在接受键盘输入后,判断AL的值,如果是“1”就调用小鸟子程序,如果是“2”就调用汽车子程序,如果是“3”就结束退出。在小鸟子程序中又嵌套了延时子程序,在汽车子程序中又嵌套了多个子程序。(3)显示小鸟字符图形 程序中利用BIOS系统功能中10H中断的09号功能进行小鸟字符图形的显示,程序段如下: MOV AH,9 MOV AL,76H MOV BL,10 INT 10H 要是小鸟字符图形显示的更清晰,则需要延时。循环指令LOOP,当CX不为零时,执行循环转移分支;当CX为零时,退出循环。延时子程序为: DLY PROC NEAR PUSH CX PUSH DX MOV DX,1
4、0000 DL1: MOV CX,6801 DL2: LOOP DL2 DEC DX JNZ DL1 POP DX POP CX RET DLY ENDP 上述子程序用两层循环实现延时,内循环实现单位时间延时,外循环次数由寄存器DX决定。 (4)显示汽车字符图形 因为汽车是多字符显示,所以在子程序中还嵌套了显示汽车图形和清屏两个子程序。 MOV CH,0 MOV CL,DI INC DI MOV CHAR,CX MOV POINTER,DI MOV LINE,DH MOV COL,DL 此段程序把CH的值设为了0,又因为CL中存放字符的个数,所以CL=6,DI指向字符图形表中的第一个字符。 三
5、、设计原理及方案 1、设计原理图: 图3-1 主程序 图3-2 小鸟子程序 图3-3 汽车子程序 2、设计方案:在屏幕上显示动画的效果可以按以下五步进行:(1)在屏幕上显示图形ASCII码表,选择“V”来显示小鸟,“V”的ASCII码为76H,查表选择彩色文本模式下的IRGB组合成的通用颜色,选择亮绿色,色号为10。显示汽车时用多字符图形显示,用6个字符组合来显示汽车,ASCII码分别为52H、0B1H、0DBH、0DBH、4FH、4FH,显示属性为白色,即色号为7。在设置字符显示位置时,是通过两两字符间的相对坐标来实现的。(2)延时一个时间周期,这样图形更清晰。这里要用到延时子程序及其调用。
6、(3)消除图形在进行小鸟清屏时,可使用清屏宏调用,只需在程序前面进行清屏宏定义。而在进行汽车的清屏时,由于汽车是由对字符图形显示的,所以不采用清屏宏调用,而是通过修改字符显示属性来进行清屏。(4)改变图形的行、列坐标。因为要求小鸟从屏幕飞过,所以小鸟的飞行路径不是水平也不是垂直的,所以要同时改变字符的行、列坐标;而汽车从左至右行驶,所以只需要改变汽车的列坐标。(5)返回第一步,重复上述过程。利用BIOS系统功能中 10H中断的06号功能进行清屏,循环调用09号功能显示字符图形;延迟一段时间后,再循环调用09号功能,设置BL寄存器的值为0(黑底黑字显示字符图形),以达到擦除图形的效果;改变行、列
7、坐标,调用02号功能设置光标位置,重复上述过程。利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。四、汇编源程序代码 DATA SEGMENT INFO1 DB 0DH,0AH,INPUT 1,2,OR 3:(1:bird,2:car,3:exit) $ BUFA DB 200 DB ? DB 200 DUP(0) BUFB DB 200 DUP(?) CAR DB 7 ;小汽车的字符图形表 DB 52H,7,0,0 DB 0B1H,7,0,1 DB 0DBH,7,0,1 DB 0DBH,7,0,1 DB 4FH,7,1,0 DB 4FH,7,0,-3 CHAR DW ? POIN
8、TER DW ? LINE DB ? COL DB ? DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AH,0 ;设置显示方式为80*25的黑白文体 MOV AL,02H INT 10H LEA DX,INFO1 ;在显示器上显示字符串提示信息 MOV AH,9 INT 21H MOV AH,1 ;从键盘读取字符到AL寄存器 INT 21H CMP AL,31H ;比较AL是否等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 动画 程序设计 小鸟 飞过 汽车 14
限制150内