微型计算机应用系统的课程设计报告Word格式文档下载.docx
《微型计算机应用系统的课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微型计算机应用系统的课程设计报告Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
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
6
2.2流程图
2.3源程序:
STACKSEGMENTSTACK
DW64DUP(?
VAR1DB0BFH,0DFH,0EFH,0F7H
VAR2DB3FH,3FH,3FH,3FH,3FH
VAR3DB00H,00H,00H,00H,00H
TABLDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
MOVAL,89H
OUT63H,AL;
STT:
MOVAL,00H;
键盘测试
NEXT:
INAL,62H
ANDAL,82H
CMPAL,82H
JNZKEYABC
CALLDISP;
调用显示程序
JMPSTT
;
---------------------------------------------------------------------
KEYABC:
CALLTIME;
延时,去抖动
JNZKEY_7
KEY_7:
MOVAL,0F7H;
键盘扫描识别
TESTAL,02H
JNZKEY_A
CALLKEY7
JMPSTTK
KEY_A:
TESTAL,80H
JNZKEY_1
CALLKEYA
KEY_1:
MOVAL,0EFH
JNZKEY_F
CALLKEY1
KEY_F:
JNZKEY_B
CALLKEYF
KEY_B:
MOVAL,0DFH
JNZKEY_6
CALLKEYB
KEY_6:
JNZKEY_E
CALLKEY6
KEY_E:
MOVAL,0BFH
JNZKEY_9
CALLKEYE
KEY_9:
JNZKEY_01
CALLKEY9
KEY_01:
;
按键7处理子程序
KEY7:
CALLLP1;
低4位字节前移
MOVAL,07H
MOV[DI+4],AL
LEABX,TABL;
查表取出要显示数字的数码管段码
XLATTABL
MOV[SI+4],AL
显示
RET;
返回
KEYA:
按键A处理子程序
MOVAL,0AH
LEABX,TABL
CALLDISP
KEY1:
按键1处理子程序
MOVAL,01H
KEYF:
按键F处理子程序
MOVAL,0FH
KEYB:
按键B处理子程序
MOVAL,0BH
KEY6:
按键6处理子程序
MOVAL,06H
KEYE:
按键E处理子程序
MOVAL,0EH
KEY9:
按键9处理子程序
MOVAL,09H
RET
LP1:
MOVCX,0004H;
数据移位保存子程序(前移四位)
MOVSI,OFFSETVAR2
MOVDI,OFFSETVAR3
LP2:
MOVAL,[SI+3]
MOVAL,[DI+3]
DECSI
DECDI
LOOPLP2
DISP:
MOVSI,OFFSETVAR1;
显示子程序
MOVDI,OFFSETVAR2
DIR:
MOVAL,[DI]
OUT60H,AL
INCDI
LOOPDIR
STTK:
放键测试程序
MOVAL,00H
JNZSTTK
ENDSTART
三计算器程序
3.1要求:
1.在显示器上显示任意四位十六进制数
2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。
3实现:
1.定义键盘按键:
5个为数字键2、4、5、6、7,3个功能键:
加号+,乘号×
,等号=;
2.可进行三位8进制加法运算;
3.可进行两位10进制乘法运算。
3.2各部分工作原理说明