开关状态转移汇编程序
在这个程序中,我们将学习如何使用8085和8255芯片将开关值从一个端口传输到另一个端口。
问题陈述:
编写8085汇编语言程序,用于8085和8255之间的接口。这里八个开关连接到端口A。将这些开关的状态传输到连接了LED的端口B。
讨论:
任务很简单。首先,我们必须设置8255芯片的控制字寄存器。然后,我们将从端口A获取输入,并将其发送到端口B。
控制字寄存器如下所示。它保存90H。
| 位位置 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|---|
| 值 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
控制寄存器的位表示如下

我们将90H放入A寄存器。然后D7为1,所以它工作在IO模式,(D6和D5)为00,所以它表示端口A处于模式1。D4 = 1,所以端口A接收输入。(D3和D0)为0和0。所以端口C不工作。D2 = 0,因为B也处于模式0,D1 = 0,因为它充当输出端口。
在指令中,我们将看到**OUT 83**。这里83是控制寄存器端口的端口号。类似地,**IN 80**表示从端口地址为80的端口A获取输入。最后,**OUT 81**表示输出端口为B,并将累加器中的数据发送到端口B。
程序:
| 地址 | 十六进制代码 | 标签 | 指令 | 注释 |
|---|---|---|---|---|
| F000 | 3E, 90 | | MVI A,90 | 将控制字加载到A寄存器 |
| F002 | D3, 83 | | OUT 83 | 将输出发送到控制寄存器 |
| F004 | DB, 80 | | IN 80 | 从端口A获取输入 |
| F006 | D3, 81 | | OUT 81 | 将输出发送到端口B |
| F008 | C9 | | RET | 返回 |
使用此程序,端口A的内容将反映回端口B。
广告
数据结构
网络
关系型数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP