微机原理与接口技术双机并口通信实验 -sdkj

双机均采用可编程并行接口芯片8255构成接口电路,双方的8255把对方视为I/O设备。从甲机键盘上输入的字符,通过并口传送到乙机,并在乙机的屏幕上显示出来。双方按ESC键,停止传送,并退出。

本次通信非常简单,属于8255入门阶段,难点就是需要两台完好的pc机和8255芯片。接线方式如下,及发送方采用方式1,接收方采用方式0.其实发送方也可以用方式0.无非是程序多加几条if语句而已。

话不多说,上代码:

send代码:

io8255a equ 288h
io8255b equ 28bh
io8255c equ 28ah
code segment
assume cs:code
start:
mov dx,io8255b
mov al,0a0h
out dx,al           ;A组方式1输出
trsmt:
mov ah,01          
int 21h           ;输入
mov dx,io8255a
out dx,al
cmp al,1bh
je exit
jmp trsmt
exit:mov ah,4ch
int 21h
code ends
end start

receive方代码:

io8255a equ 288h
io8255b equ 28bh
io8255c equ 28ah
code segment
assume cs:code
start:
mov dx,io8255b
mov al,98h          ;方式0  a口输入      pc0到pc3输出    pc4到pc7是输入
out dx,al                      
mov al,01h          ;给pc0值1    我还没接受  
out dx,al
receive:mov dx,io8255c
in al,dx
and al,10h
jnz receive     ;结果不为0     读pc4看发送方的pc7即obfa输出缓冲区是否满了  满了就读
mov dx,io8255a
in al,dx
cmp al,1bh
je exit
mov ah,al        
mov dl,al
mov ah,02
int 21h
mov dx,io8255b
mov al,00h
out dx,al           ;给pc0赋值0  告诉外设我取走了
nop
mov al,01h         ;给pc0值1    继续接受
out dx,al
jmp receive
exit:mov ah,4ch
int 21h
code ends
end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值