微型计算机应用系统的课程设计报告.docx
- 文档编号:2452218
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:26
- 大小:131.27KB
微型计算机应用系统的课程设计报告.docx
《微型计算机应用系统的课程设计报告.docx》由会员分享,可在线阅读,更多相关《微型计算机应用系统的课程设计报告.docx(26页珍藏版)》请在冰豆网上搜索。
微型计算机应用系统的课程设计报告
课程设计
课程名称微机原理课程设计与实践
题目名称微型计算机应用系统的设计
2012年3月15日
实验的任务书
计算器
(1)
(一)目的
(1)巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平。
(2)掌握汇编语言程序的编程方法。
(3)熟悉键盘控制和七段数码管的使用。
(二)设计要求及设计程序
课程设计内容上机编程
一在显示器上显示任意四位十六进制数
5
9
F
C
将表格里的数在七段LED上同时显示出来,要求做成循环程序,并使用XLAT来译码。
1.1第一个程序的流程图
1.2源程序
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
TAB1DB05H,09H,0FH,0CH;设置四位查询位
TAB2DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;设置0~F的十六位数码管段码
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H;8255A初始化
OUT63H,AL
L1:
MOVDL,0F7H
MOVSI,OFFSETTAB1
MOVCX,0004H
L2:
MOVAL,DL;位码送给AL
OUT61H,AL
MOVAL,[SI]
MOVBX,OFFSETTAB2;查表取出数码管的段码
XLATTAB2
OUT60H,AL;查表的段码送A口显示
INCSI
ROLDL,01H;下个要显示的数码管位码
CALLTIME
LOOPL2
JMPL1
TIME:
PUSHAX;延时程序
PUSHCX
MOVCX,0002H
TIME1:
MOVAX,0300H
TIME2:
DECAX
JNZTIME2
LOOPTIME1
POPCX
POPAX
RET
CODEENDS
ENDSTART
二、2.1将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移。
7
1
B
E
A
F
6
9
2.2流程图
2.3源程序:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
VAR1DB0BFH,0DFH,0EFH,0F7H
VAR2DB3FH,3FH,3FH,3FH,3FH
VAR3DB00H,00H,00H,00H,00H
TABLDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,89H
OUT63H,AL;8255A初始化
STT:
MOVAL,00H;键盘测试
OUT61H,AL
NEXT:
INAL,62H
ANDAL,82H
CMPAL,82H
JNZKEYABC
CALLDISP;调用显示程序
JMPSTT
;---------------------------------------------------------------------
KEYABC:
CALLTIME;延时,去抖动
INAL,62H
ANDAL,82H
CMPAL,82H
JNZKEY_7
JMPSTT
KEY_7:
MOVAL,0F7H;键盘扫描识别
OUT61H,AL
INAL,62H
TESTAL,02H
JNZKEY_A
CALLKEY7
JMPSTTK
KEY_A:
TESTAL,80H
JNZKEY_1
CALLKEYA
JMPSTTK
KEY_1:
MOVAL,0EFH
OUT61H,AL
INAL,62H
TESTAL,02H
JNZKEY_F
CALLKEY1
JMPSTTK
KEY_F:
TESTAL,80H
JNZKEY_B
CALLKEYF
JMPSTTK
KEY_B:
MOVAL,0DFH
OUT61H,AL
INAL,62H
TESTAL,02H
JNZKEY_6
CALLKEYB
JMPSTTK
KEY_6:
TESTAL,80H
JNZKEY_E
CALLKEY6
JMPSTTK
KEY_E:
MOVAL,0BFH
OUT61H,AL
INAL,62H
TESTAL,02H
JNZKEY_9
CALLKEYE
JMPSTTK
KEY_9:
TESTAL,80H
JNZKEY_01
CALLKEY9
KEY_01:
JMPSTTK
;---------------------------------------------------------------------
;按键7处理子程序
KEY7:
CALLLP1;低4位字节前移
MOVAL,07H
MOV[DI+4],AL
LEABX,TABL;查表取出要显示数字的数码管段码
XLATTABL
MOV[SI+4],AL
CALLDISP;显示
RET;返回
;---------------------------------------------------------------------
KEYA:
CALLLP1;按键A处理子程序
MOVAL,0AH
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEY1:
CALLLP1;按键1处理子程序
MOVAL,01H
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEYF:
CALLLP1;按键F处理子程序
MOVAL,0FH
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEYB:
CALLLP1;按键B处理子程序
MOVAL,0BH
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEY6:
CALLLP1;按键6处理子程序
MOVAL,06H
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEYE:
CALLLP1;按键E处理子程序
MOVAL,0EH
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
KEY9:
CALLLP1;按键9处理子程序
MOVAL,09H
MOV[DI+4],AL
LEABX,TABL
XLATTABL
MOV[SI+4],AL
CALLDISP
RET
;---------------------------------------------------------------------
LP1:
MOVCX,0004H;数据移位保存子程序(前移四位)
MOVSI,OFFSETVAR2
MOVDI,OFFSETVAR3
LP2:
MOVAL,[SI+3]
MOV[SI+4],AL
MOVAL,[DI+3]
MOV[DI+4],AL
DECSI
DECDI
LOOPLP2
RET
;---------------------------------------------------------------------
DISP:
MOVSI,OFFSETVAR1;显示子程序
MOVDI,OFFSETVAR2
MOVCX,0004H
DIR:
MOVAL,[SI]
OUT61H,AL
MOVAL,[DI]
OUT60H,AL
CALLTIME
INCSI
INCDI
LOOPDIR
RET
;---------------------------------------------------------------------
TIME:
PUSHAX;延时程序
PUSHCX
MOVCX,0002H
TIME1:
MOVAX,0300H
TIME2:
DECAX
JNZTIME2
LOOPTIME1
POPCX
POPAX
RET
;---------------------------------------------------------------------
STTK:
CALLDISP;放键测试程序
MOVAL,00H
OUT61H,AL
INAL,62H
ANDAL,82H
CMPAL,82H
JNZSTTK
JMPSTT
CODEENDS
ENDSTART
三计算器程序
3.1要求:
1.在显示器上显示任意四位十六进制数
2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。
3实现:
1.定义键盘按键:
5个为数字键2、4、5、6、7,3个功能键:
加号+,乘号×,等号=;
2.可进行三位8进制加法运算;
3.可进行两位10进制乘法运算。
3.2各部分工作原理说明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 应用 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)