一、实验目的
1、掌握双机通信的原理和编程方法。
2、学习8251A的使用方法
二、实验内容
1、实验原理图:
2.实验内容
如图所示,TXC和RXC分别为8251A的发送时钟和接收时钟。它由片外8253A的OUT1提供。本实验要求以查询方式进行收发。要完成本实验,需2台DVCC系列实验系统。其中一台为串行发送,一台为串行接收,在1号机上装串行发送程序,在2号机上装串行接收程序,则在1号机上键入的字符显示在2号机的显示器上。
由于本系统监控中未对8253A、8251A进行初始化,因此本实验开始必须对8253、8251进行初始化,然后才可以直接进入对串行口状态的查询。
三、程序
系统晶振是 6.0 MHz
ORG 07F0H
START:
MOV SP,#60H
mov A,#02H
MOV R0,#79H
MOV @R0,A
INC R0
MOV A,#10H
MOV @R0,A
INC R0
MOV A,#01H
MOV @R0,A
INC R0
MOV A,#03H
MOV @R0,A
INC R0
MOV A,#00H
MOV @R0,A
INC R0
MOV A,#08H
MOV @R0,A
MOV A,#7EH
MOV DPTR,#1FFFH
MOVX @DPTR,A
MOV 87H,#80H
MOV SCON,#50H ;串口 方式 1
MOV TMOD,#20H ;T1 方式 1
MOV TL1,#0F3H ;波特率 9600 的常数
MOV TH1,#0F3H
SETB TR1 ;开中断
CLR ET1
CLR ES
WAIT:
JBC RI,DIS_REC ;是否接收到数据
LCALL DISP ;
SJMP WAIT ;
DIS_REC:
MOV A,SBUF ;读串口接收到的数据
LCALL DATAKEY ;显示输入的数字(0-F)
DB 79H,7EH
AJMP WAIT
DATAKEY: MOV R4,A
MOV DPTR,#1FFFH
MOVX A,@DPTR
MOV R1,A
MOV A,R4
MOV @R1,A
CLR A
POP 83H
POP 82H
MOVC A,@A+DPTR
INC DPTR
CJNE A,01H,DATAKEY2
DEC R1
CLR A
MOVC A,@A+DPTR
DATAKEY1: PUSH 82H
PUSH 83H
MOV DPTR,#1FFFH
MOVX @DPTR,A
POP 83H
POP 82H
INC DPTR