8255与8085微处理器接口实现加法


在这个程序中,我们将学习如何使用端口接收数据并将结果发送到端口来执行加法。

问题陈述

编写8085汇编语言程序,实现8085和8255之间的接口。端口A和端口B分别保存两个值,从端口A和B获取数字,将它们相加,并将结果发送到端口C。

讨论

任务很简单。首先,我们需要设置8255芯片的控制字寄存器。之后,我们将从端口A和B获取输入,将内容相加,并将其发送到端口C。

控制字寄存器如下所示。它保存92H。

位位置
D7
D6
D5
D4
D3
D2
D1
D0

1
0
0
1
0
0
1
0

 

控制寄存器的位含义如下:

 

我们将92H加载到A中。D7为1,因此它工作在IO模式;(D6和D5)为00,表示端口A处于模式1;D4=1,因此端口A接收输入;(D3和D0)为0和0,因此端口C不工作;D2=0,因为B也处于模式0;D1=1,因为它充当输入端口。

在指令中,我们将看到**OUT 83**。这里83是控制寄存器端口的端口号。类似地,**IN 80**表示从端口地址为80的端口A获取输入。**IN 81**表示也从端口B获取输入。**OUT 82**表示我们将结果发送到端口C。

输入

端口
数据
A
23
B
5C

 

程序

地址
十六进制代码
标签
助记符
注释
F000
3E, 92
 
MVI A,92
将控制字加载到A中
F002
D3, 83
 
OUT 83
将输出发送到控制寄存器
F004
DB, 80
 
IN 80
从端口A获取第一个输入
F006
47
 
MOV B,A
将A存储到B
F007
DB, 81
 
IN 81
从B获取第二个输入
F009
80
 
ADD B
将B与A相加
F00A
D3, 82
 
OUT 82
将输出发送到C
F00C
C9
 
RET
返回

 

输出

端口
数据
C
7F

 

更新于:2019年7月30日

浏览量:1K+

启动您的职业生涯

完成课程获得认证

开始学习
广告