北航微机原理实验报告(3)Word下载.doc
- 文档编号:14565667
- 上传时间:2022-10-23
- 格式:DOC
- 页数:4
- 大小:29.38KB
北航微机原理实验报告(3)Word下载.doc
《北航微机原理实验报告(3)Word下载.doc》由会员分享,可在线阅读,更多相关《北航微机原理实验报告(3)Word下载.doc(4页珍藏版)》请在冰豆网上搜索。
(见末页)
五、实验结论:
符合预期,输入2个数字,七段数码管显示这两个数字。
六、实验心得
七段数码显示作为第一次硬件实验,虽然程序不难,但是在实验过程中还是遇到了不少这样或者那样的问题。
主要问题还是集中在硬件方面。
程序方面,上机之前我已经完成了程序的编写,在实验室用了大概20分钟进行了调试,消除了7个编程中的错误。
但是进行编译运行后,数码管始终无法显示正确的数字。
在确定程序无误后,我只能逐一排查运行失败的原因。
我首先检查了硬件连线,并且将优盘从主机上拔下,将影响因素尽量消除,但是仍然无法得到正确的结果。
接着我换来了已经完成实验的同学的实验箱,重新编译运行,数码管依旧无法正确显示。
最后不得已,我又换了一台电脑,编译运行同样的程序用同一个实验箱,终于获得了正确的结果。
实验后我思考了一下问什么会出现这种问题,我觉得可能是用于计算机与实验箱相连的扁平接线有问题才导致数码管始终无法正常工作。
这次实验过后,对于微机原理知识来说我并没有太多的收获,毕竟做到第三次实验,编写程序和软件的应用都已经轻车熟路了。
但是通过遇到上述的这个问题,我在分析问题、解决问题方面的能力有所提高。
这就是我这次最大的收获。
七、实验程序:
INPORTAEQU0EF00H-280H+288H
INPORTBEQU0EF00H-280H+289H
INPORTCEQU0EF00H-280H+28AH
INPORTCRLEQU0EF00H-280H+28BH
STACKSEGMENTSTACK
DW100DUP(?
)
STACKENDS
DATASEGMENT
FIGUREDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
XDB2DUP(?
STRINGDB'
PLEASEENTERTWONUMBERS:
'
0DH,0AH,'
$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK,DS:
DATA
MAINPROC
MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETX
MOVDX,OFFSETSTRING
MOVAH,9
INT21H
CALLKEYIN
ANDDL,0FH
MOV[SI],DL
INCSI
MOV[SI],DL
MOVDX,INPORTCRL
MOVAL,10000010B
OUTDX,AL
MOVBX,OFFSETFIGURE
NEXT1:
MOVDX,INPORTA
MOVAL,[SI+1]
XLAT
MOVDX,INPORTC
MOVAL,01B;
PC1=0,PC0=1
CALLDELAY
MOVDX,INPORTA
MOVAL,[SI]
MOVAL,10B;
PC1=1,PC0=0
MOVDL,0FFH
MOVAH,6
INT21H
JZNEXT1
MOVAH,4CH
MAINENDP
KEYINPROC
AGAIN:
MOVAH,8
CMPAL,30H
JBAGAIN
CMPAL,39H
JAAGAIN
MOVDL,AL
MOVAH,2
RET
KEYINENDP
DELAYPROC
PUSHBX
PUSHCX
MOVBX,100
MOVCX,0
NEXT2:
LOOPNEXT2
DECBX
JNZNEXT2
POPCX
POPBX
RET
DELAYENDP
CODEENDS
ENDMAIN
流程图:
开始
将数码管的字型码存入数据段
从键盘输入2个数字
输入数字存入数据段
N
设置8255控制字
Y
取数据段取个位数字偏移地址送入AL寄存器
设置8255A口工作方式:
将字型码输出至A口
利用XLAT指令查得该数字所对应的字型码
判断输入是否为2个数字
初始化
设置8255C口工作方式:
使PC1置0,PC0置1
调用延时子程序
取数据段取十位数字偏移地址送入AL寄存器
使PC1置1,PC0置0
检查是否有键按下
返回DOS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航 微机 原理 实验 报告