开关状态转移汇编程序
在这个程序中,我们将学习如何使用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。
广告