微机接口实验报告.docx
- 文档编号:29644058
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:17
- 大小:229.17KB
微机接口实验报告.docx
《微机接口实验报告.docx》由会员分享,可在线阅读,更多相关《微机接口实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
微机接口实验报告
微型计算机原理与接口技术实验
指导老师:
徐万罗
姓名:
马群
班级:
110606
学号:
110606110
实验一
1实验目的:
认识汇编语言,基本掌握汇编语言的一些调试命令,理解汇编语言的编辑编译以及链接的过程。
认识一些基本的汇编语句熟悉一些命令。
2实验步骤:
首先,老师给我们讲各种命令以及语句的操作方法,然后,老师让我们自己输入一个程序,接下来,让我们自己调试熟悉各种命令的执行方法,最后总结一些。
3实验源代码:
DATASEGMENT
VAR1DBX
VAR2DB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,VAR1
CMPAL,0
JGEBIG
MOVVAR2,0FFH
JMPDONE
BIG:
JEEQUL
MOVVAR2,0FFH
JMPDONE
EQUL:
MOVVAR2,0
DONE:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
4实验收获:
认识了汇编语言的编码过程和调试过程,熟悉了-U,-R,-D,-E,-T,-G,A等各种调试命令。
也明白了团队合作的重要性。
实验二
1实验目的:
试编写将以字符串中的大写字母变为小写字母的程序。
设字符串以0结尾。
2实验分析:
对于一个字符串做处理时有两点需要注意:
(1)字符串的结尾标志,这是循环结束的条件;
(2)对于字符串中的每一个字符,要做什么处理。
对于本题,在遇到0就代表结束,对于字符串的每一个字符首先判断是否为0,然后再看时大写还是小写,小写不做处理,大写应在其ASCII码上加20H。
3实验源代码:
DATASEGMENT
STRINGDB'HOWarEYoU!
',0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETSTRING
LOP:
MOVAL,[SI]
CMPAL,0
JZEXIT
CMPAL,'A'
JBNEXT
CMPAL,'Z'
JANEXT
ADDAL,20H
MOV[SI],AL
NEXT:
INCSI
JMPLOP
EXIT:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
4实验总结与收获:
进一步认识汇编语言的魅力,让我对他更加有兴趣了,也更加明白汇编语言的编程步骤啦,这为以后的学习打下基础。
实验三
1实验目的:
把16位二进制数转换为5位十进制数的BCD码。
2实验分析:
把16位二进制书除以10,余数是个位的BCD码,将商除以10,余数是十位的BCD码,依次分别得到百位,千位,万位的BCD码。
3实验源代码:
BTOBCDPROCNEAR
PUSHAX
PUSHDX
PUSHCX
PUSHSI
MOVSI,5;设置循环次数
MOVCX,10;设除数10
LB1:
XORDX,DX;扩展被除数到32位
DIVCX
ADDDL,30H;余数为BCD码,转换成ASCII码
DECSI;调整计数器
MOV[BX][SI],DL;保存所得ASCII码
ORSI,SI;判断是否结束
JNZLB1
POPSI
POPCX
POPDX
POPAX
RET
SUBPENDP
4实验总结与收获:
加强了对汇编语言语言的进一步认识,学会了一些调试的方法与步骤,也学会了合作以及敢于询问的重要性。
实验四8259中断控制实验
1.实验目的
1.掌握8259中断控制器的工作原理。
2.学习8259的应用编程方法。
3.掌握8259级联方式的使用方法。
2实验设备
PC机一台,TD-PITE实验装臵一套。
3实验内容及步骤
实验接线图如图4.16所示,KK1+连接到主片8259的IR7上,KK2+连接到从片8259的IR1上,当按一次KK1+时,显示屏上显示字符‚M7‛,按一次KK2+时,显示字符‚S1‛。
编写程序
实验程序清单(INTCAS1.ASM)
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETMIR7;取中断入口地址
MOVSI,003CH;中断矢量地址
MOV[SI],AX;填IRQ7的偏移矢量
MOVAX,CS;段地址
MOVSI,003EH
MOV[SI],AX;填IRQ7的段地址矢量
MOVAX,OFFSETSIR1
MOVSI,00C4H
MOV[SI],AX
MOVAX,CS
MOVSI,00C6H
MOV[SI],AX
CLI
POPDS;初始化主片8259
MOVAL,11H
OUT0A0H,AL;ICW1
MOVAL,30H
OUT0A1H,AL;ICW2
MOVAL,02H
OUT0A1H,AL;ICW3
MOVAL,01H
OUT0A1H,AL;ICW4
MOVAL,0FDH
OUT0A1H,AL;OCW1=11111101
MOVAL,6BH
OUT21H,AL;主8259OCW1
STI
AA1:
NOP
JMPAA1
MIR7:
CALLDELAY
MOVAX,014DH
INT10H;M
MOVAX,0137H
INT10H;显示字符7
MOVAX,0120H
INT10H
MOVAL,20H
OUT20H,AL;中断结束命令
IRET
SIR1:
CALLDELAY
MOVAX,0153H
INT10H;S
MOVAX,0131H
INT10H;显示字符1
MOVAX,0120H
INT10H
MOVAL,20H
OUT0A0H,AL
OUT20H,AL
IRET
DELAY:
PUSHCX
MOVCX,0F00H
AA0:
PUSHAX
POPAX
LOOPAA0
POPCX
RET
CODEENDS
ENDSTART
4实验步骤
(1)按图4.16连接实验线路。
(2)输入程序,编译、链接无误后装入系统。
(3)运行程序,按动KK1+或KK2+,观察实验结果,验证实验程序的正确性。
(4)若同时按下KK1+和KK2+,观察实验结果,解释实验现象。
实验五8255并行接口实验
1实验目的
1.学习并掌握8255的工作方式及其应用。
2.掌握8255典型应用电路的接法。
3.掌握程序固化及脱机运行程序的方法。
2实验设备
PC机一台,TD-PITE实验装臵一套。
3实验内容
1.基本输入输出实验。
编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就发生相应改变。
2.流水灯显示实验。
编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。
4实验原理
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C口按位臵位/复位控制字格式如图4.32所示。
5实验步骤
1.基本输入输出实验
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。
具体实验步骤如下述:
(1)实验接线图如图4.34所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。
(4)点击‚调试‛下拉菜单中的‚固化程序‛项,将程序固化到系统存储器中。
(5)将短路跳线JDBG的短路块短接到RUN端,然后按复位按键,观察程序是否正常
运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。
(6)实验完毕后,请将短路跳线JDBG的短路块短接到DBG端。
实验程序清单(A82551.ASM)
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,0646H
MOVAL,90H
OUTDX,AL
AA1:
MOVDX,0640H
INAL,DX
CALLDELAY
MOVDX,0642H
OUTDX,AL
JMPAA1
DELAY:
PUSHCX
MOVCX,0F00H
AA2:
PUSHAX
POPAX
LOOPAA2
POPCX
RET
CODEENDS
ENDSTART
2.流水灯显示实验
使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。
实验接线图如图4.35所示。
实验步骤如下所述:
(1)按图4.35连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,观察LED灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
(5)固化程序并脱机运行。
实验程序清单(A82552.ASM)
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,0646H
MOVAL,80H
OUTDX,AL
MOVBX,8001H
AA1:
MOVDX,0640H
MOVAL,BH
OUTDX,AL
RORBH,1
MOVDX,0642H
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
CALLDELAY
JMPAA1
DELAY:
PUSHCX
MOVCX,0F000H
AA2:
PUSHAX
POPAX
LOOPAA2
POPCX
RET
CODEENDS
ENDSTART
实验六8259和8255实现中断服务子程序的调用
实验程序
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETMIR7;取中断入口地址
MOVSI,003CH;中断矢量地址
MOV[SI],AX;填IRQ7的偏移矢量
MOVAX,CS;段地址
MOVSI,003EH
MOV[SI],AX;填IRQ7的段地址矢量
MOVAX,OFFSETSIR1
MOVSI,00C4H
MOV[SI],AX
MOVAX,CS
MOVSI,00C6H
MOV[SI],AX
CLI
POPDS;初始化主片8259
MOVAL,11H
OUT20H,AL;ICW1
MOVAL,08H
OUT21H,AL;ICW2
MOVAL,04H
OUT21H,AL;ICW3
MOVAL,01H
OUT21H,AL;ICW4;初始化从片8259
MOVAL,11H
OUT0A0H,AL;ICW1
MOVAL,30H
OUT0A1H,AL;ICW2
MOVAL,02H
OUT0A1H,AL;ICW3
MOVAL,01H
OUT0A1H,AL;ICW4
MOVAL,0FDH
OUT0A1H,AL;OCW1=11111101
MOVAL,6BH
OUT21H,AL;主8259OCW1
STI
MOVDX,0646H
MOVAL,80H
OUTDX,AL
MOVBX,8001H
AA1:
NOP
JMPAA1
MIR7:
PUSHAX
PUSHCX
PUSHDX
PUSHBX
MOVCX,8
LOP:
MOVDX,0640H
MOVAL,BH
OUTDX,AL
RORBH,1
MOVDX,0642H
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
CALLDELAY
LOOPLOP
MOVAL,20H
OUT20H,AL;中断结束命令
POPBX
POPDX
POPCX
POPAX
IRET
SIR1:
MOVCX,8
LAP:
MOVDX,0642H
MOVAL,BH
OUTDX,AL
RORBH,1
MOVDX,0640H
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
CALLDELAY
LOOPLAP
MOVAL,20H
OUT0A0H,AL
OUT20H,AL
IRET
DELAY:
PUSHCX
MOVCX,0F000H
AA0:
PUSHAX
POPAX
LOOPAA0
POPCX
RET
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验 报告