微机接口实验.docxVIP

  • 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)

1亿VIP精品文档

相关文档