MOV SBUF,#02H ;回送本机地址 WAIT1:JBC RI,CONT1 ;等待主机回应
AJMP WAIT1
CONT1: JNB RB8,CONT2 ;联络失败,1#从机复位,置位SM2,等待接收地址 SETB SM2 AJMP WAIT
CONT2:MOV A,SBUF ;联络成功,读主机命令(数据)
CPL A
MOV P1,A ;驱动发光二极管显示本机地址号 SETB SM2 ;重置地址接收状态 AJMP WAIT ;返回
END
图5-13 多机通信实训电路
8051RXDVCC8051P1.08051P1.0VCC...P1.1TXDTXDP1.1...P1.7RXDRXD...P1.7...1#从机2#从机主机
本章小结
计算机通信主要有串行通信和并行通信两种方式,远距离通信通常采用串行通信方式但需要增加电平、接口转换电路,如RS-232C、RS485接口等。
MCS-51单片机内部有一个全双工的异步串行通信接口,工有四种工作方式;其数据帧格式有10位、11位两种;方式0和方式2的通信波特率是固定的,方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。
MCS-51单片机之间可实现双机通信、多机通信并可与PC机通信;利用PC机与单片机可组成上位机、下位机通信网络。
TXD 通信软件可采用查询与中断两种方式编制,实际应用中常采用中断工作方式进行通信。
思考与练习五
1. 说明异步通信与同步通信的区别及异步通信的格式。 2. 说明MCS-51单片机串行口的结构。
3. 简述8051单片机串行通信的4种工作方式特点。 4. 设fOSC为6M,利用定时器T1工作于方式2产生600bps的波特率,试计算定时器初值。 5. 说明MCS-51实现多机通信的原理。
6. 8051以方式1工作,设主频6M,波特率为1200bps,编制程序将MCS-51单片机甲机片内RAM 30H~3FH的数据通过串行口传送到乙机片内RAM 40H~4FH单元中(接收分别采用查询方式及中断方式)。
7. 尝试将教材中多机通信的接收方式改为中断方式,编写2号从机接收程序。