模拟 8 比 1 多路复用器
我们要用汇编语言编写一个程序,专门模拟逻辑控制器接口使用的 8 比 1 多路复用器。
模拟 8 比 1 多路复用器的引脚按图中所示。
对于此多路复用器模拟,以下所示的 8255 端口提供输入和输出。
- 端口 B 用作 I7-0 输入;
- 端口 C 的 7 号引脚用作片选;
- 端口 C 的 6-4 号引脚用作选择输入;
- 端口 A 的 0 号引脚用作多路复用器的输出。
示例代码
FILE NAME Prog_MUX.ASM ORG C100H TABLE DB 01H, 02H, 04H, 08H, 10H, 20H, 40H, 80H ORG C000H PA EQU D8H PB EQU D9H PC EQU DAH CTRL EQU DBH MVI A, 10001010B OUT CTRL ; Configure 8255 ports LOOP: IN PC RLC JNC LOOP ; Wait in the loop till chip is enabled RLC RLC RLC ANI 07H ; Now LS 3 bits of A will have select inputs LXI H, TABLE ADD L MOV L, A ; Point HL to proper row of look up table IN PB ANA M ; AND Port B with a value from look up table JZ SKIP MVI A, 01H SKIP: OUT PA ; Send out the value of selected input JMP LOOP
Advertisement