一.通信
1.通信认识
随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指单片机与外部设备(传感器)或计算机与计算机之间的信息交换。通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。
异步通信是以字符(构成的顿为单位进行传输,字符与字符之间的间隙 (时间间隔) 是任意的,但每个字符中的各位是以固定的时间传送的即字符之间不一定有“位间隔”的整数倍的关系但同一字符内的各位之间的距离均为“位间隔”的整数倍。
2.串口结构
有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H
在逻辑上,SBUF只有一个,它既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H。但在物理结构上,则有两个完全独立的SBUF,一个是发送缓冲寄存器SBUF,另一个是接收缓冲寄存器SBUF。如果CPU写SBUE,数据就会被送入发送寄存器准备发送;如果CPU读SBUF,则读入的数据一定来自接收缓冲器。即CPU对SBUF的读写,实际上是分别访问上述两个不同的寄存器。a=SBUF: SBUF = a。
3.串口配置
-
1.设置T1的工作方式(编程
TMOD
寄存器) -
2.计算
T1
的初值,装载TH1
、TL1
;、 -
3.启动TT(编程
TCON
中的TR1
位) -
4.确定串行口控制(编程
SCON
寄存器) ; -
5.如需串行口在中断方式工作时,要进行中断设置编程
IE
寄存
-
SM2
:允许方式2或方式3多机通信控制位。在方式2或方式3时,如SM2位为1,REN位为1,则从机处于只有接收到RB8位为1(地址)时才激活中断请求标志位RI为1,并向主机请求中断处理。被确认为寻址的丛机则复位SM2位为0,从而才接收RB8为0的数据帧。在方式1时,如果SM2位为1,则只有在接收到有效的停止位时才置位中断请求标志位RI为1;在方式0时,SM2 应为0。 -
REN
:允许/禁止串行接收控制位。由软件置位REN,即REN=1为允许串行接收状态,可启动串行接收器RxD,开始接收信息。软件复位REN,即REN=0,则禁止接收。 -
TB8
:在方式2或方式3,它为要发送的第9位数据,按需要由软件置位或清0。例如,可用作数据的校验位或多机通信中表示地址帧/数据帧的标志位。 -
`RB8:在方式2或方式3,是接收到的第9位数据。在方式1,若SM2=0,则RB8是接收到的停止位。方式0不用RB8。
-
TI
:发送中断请求标志位。在方式0,当串行发送数据第8位结束时,由内部硬件自动置位,即TI=1,向主机请求中断,响应中断后必须用软件复位,即TI=0。在其他方式中,则在停止位开始发送时由内部硬件置位,必须用软件复位。 -
RI
:接收中断请求标志位。在方式0,当串行接收到第8位结束时由内部硬件自动置位RI=1,向主机请求中断,响应中断后必须用软件复位,即RI=0。在其他方式中,串行接收到停止位的中间时刻由内部硬件置位,即RI=1(例外情况见SM2
说明),必须由软件复位,即RI=0。