- 0
- 0
- 约3.54千字
- 约 10页
- 2024-06-04 发布于北京
- 举报
微机接口实验报告
周文晨来
8255A基础实验:
一:实验目的
熟悉GX-8000实验系统;
进一步熟悉汇编语言程序的设计,调试过程;
掌握可编程并行接口芯片8255A方式0的工作原理和编程方法。
二:实验内容
LED静态显:在8个LED上显示组内一个同学学号的后两位对应的二进制数。
开关数显示:使用8255A的A口和B口,将8个逻辑开关的状态分别显示在8个LED上
七段数码管显示:在八个七段数码管上显示组内另一名同学的学号。
三:实验环境
硬件:GX-8000实验箱,USB电缆,自锁紧导线
软件:icode集成开发环境
四:实验提示
LED静态显示实验
若使用8255A的A口输出学号,则实验连线如图3.6所示。
根据实验要求画出程序流程图,如图3.7所示。
完善8255A初始化程序:将A口设置为方式0,输出
MOVAL,80H;填写8255A控制字;A口输出,方式0
MOVDX,283H;填写8255A控制口地址
OUTDX,AL;写8255A控制字
编写汇编语言程序。源代码如下:
DATASEGMENT;定义数据段
IDDB28;定义学号变量
DATAENDS
CODESEGMENT;定义代码段
ASSUMECS:CODE,DS:DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H
MOVDX,283H
OUTDX,AL
MOVAL,ID
MOVDX,280H;将A端口地址放入DX寄存器
OUTDX,AL;将AL的8位值送DX端口
CODEENDS
ENDSTART
在icode集成开发环境中编译。链接。娙该程序,观察实验结果。
2.开关数显示实验
(1)使用8255A的B口读入8个逻辑开关的状态数据,然后通过A口将状态数据输出到LED显示。实验连线如图3.8所示
(2)程序参考流程图如图3.9所示。
(3)源程序代码如下:
DATASEGMENT
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOVAL
MOVDX,283H
OUTDX,AL
LP1:
MOVDX,281H
INAL,DX
MOVDX,280H
OUTDX,AL
JMPLP1
CODEENDS
ENDSTART
(4)在icode集成开发环境中编译,链接,运行该程序,观察程序运行结果。
3.七段数码管显示实验
(1)GX-8000试验箱上的七段数码管采用共阴极连接,可以得到数字0~9所对应的段码,如表3.2所示。
GX-8000实验箱上的八个数码管共用段码输入端a~g和dP,由位选信号输入端B7~B0决定所对应数码管是否显示。如当B0为1时,右侧第一个数码管显示断码信息;当B1为1时,右侧的第二个数码管显示段码信息,若B0~B7输入全为0时,所有数码管显示关闭;反之全为1时,所有数码管显示相同的信息。
为了是八个数码管显示不同的字形,同一时刻,只能有一个数码管显示,其他均关闭。得到的实验连线如图3.10所示。
(2)为了在八个数码管上得到稳定的显示,需要不断的刷新显示,程序流程图如图311所示
MOVAL,20H MOVDX,280H
MOVAL,20H
MOVDX,280H
OUTDX,AL
MOVDX,281H
MOVAL,[SI+0]
OUTDX,AL
MOVCX,0A00H
LP6:
LOOPLP6
MOVAL,40H
MOVDX,280H
OUTDX,AL
MOVDX,281H
MOVAL,[SI+2]
OUTDX,AL
MOVCX,0A00H
LP7:
LOOPLP7
MOVAL,80H
MOVDX,280H
OUTDX,AL
MOVDX,281H
MOVAL,[SI+1]
OUTDX,AL
MOVCX,0A00H
LP8:
LOOPLP8
JMPLP
CODEENDS
ENDSTART
原创力文档

文档评论(0)