预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共215页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第七章89C51串行口及串行通信技术7.0绪串行通信只用一位数据线传送数据的位信号,即使加上几条通信联络控制线,也用不了很多电缆线。串行通信适合远距离数据传送,如大型主机与其远程终端之间、处于两地的计算机之间采用串行通信就非常经济。串行通信要求有转换数据格式、时间控制等逻辑电路,这些电路目前已被集成在大规模集成电路中(称为可编程串行通信控制器),使用很方便。本章将介绍89C51串行口的结构及应用,一台PC机控制多台89C51前沿机的分布式系统,通信接口电路和软件设计,并给出设计实例,包括接口电路、程序框图、主程序和接收/发送子程序。7.1串行通信基本知识7.1.1数据通信7.1.1数据通信并行通信数据的各位同时进行传送(发送或接收)的通信方式。优点传送速度快;缺点数据有多少位,就需要多少根传送线。并行通信在位数多、传送距离又远时不合适串行通信数据是一位一位按顺序传送的通信方式。优点只需一对传输线(利用电话线就可作为传输线),大大降低了传送成本,适用远距离通信;缺点传送速度较低。设并行传送N位数据所需时间位T,那么串行传送的时间至少为NT,实际上总是大于NT的。107.1.2串行通信的传输方式7.1.2串行通信的传输方式串行通信中的数据传送方式7.1.3异步通信和同步通信图异步通信数据格式1、异步通信1、异步通信1、异步通信例如,规定用ASCII编码,字符为七位,加一个奇偶校验位、一个起始位、一个停止位,则一帧共十位。2、同步通信图同步通信数据格式2、同步通信3、波特率(Baudrate)3、波特率(Baudrate)7.1.4串行通信的过程及通信协议(1)串←→并转换串行通信是将计算机内部的并行数据转换成串行数据,将其通过一根通信线传送;并将接收的串行数据再转换成并行数据送到计算机中。在计算机串行发送数据之前,计算机内部的并行数据被送入移位寄存器并一位一位地输出,将并行数据转换成串行数据。如图所示。在接收数据时,来自通信线路的串行数据被压入移位寄存器,满8位后并行送到计算机内部。如图所示。在串行通信控制电路中,串--并、并--串转换逻辑被集成在串行异步通信控制器芯片中。2829(2)设备同步采用统一的编码方法确定了一个字符二进制表示值的位发送顺序和位串长度,当然还包括统一的逻辑电平规定,即电平信号高低与逻辑1和逻辑0的固定对应关系。通信双方只有产生相同的传送速率,才能确保设备同步,这就要求发送设备和接收设备采用相同频率的时钟。发送设备在统一的时钟脉冲上发出数据,接收设备才能正确检测出与时钟脉冲同步的数据信息。2、串行通信协议2、串行通信协议2、串行通信协议2、串行通信协议2、串行通信协议2、串行通信协议2、串行通信协议7.2串行口及应用7.2.189C51串行口1、结构图串行口内部结构示意简图1、结构1、结构2、串行口控制字及控制寄存器图串行口控制寄存器SCON2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器2、串行口控制字及控制寄存器3、串行通信工作方式方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式为:3、串行通信工作方式同步移位寄存器输入/输出方式,常用于扩展I/O口RXD:数据输入或输出端,TXD:输出移位时钟,作为外接部件的同步信号这种方式不适用于两个89C51之间的直接数据通信,但可以通过外接移位寄存器来实现单片机的接口扩展。图方式0发送电路及时序图方式0接收电路及时序74LS164可用于扩展并行输出口,74LS165可用于扩展输入口。在这种方式下,收/发的数据为8位,低位在前,无起始位、奇偶校验位及停止位,波特率是固定的。发送过程中,当执行一条将数据写入发送缓冲器SBUF(99H)的指令时,串行口把SBUF中8位数据以fosc/12的波特率从RXD(P3.0)端输出,发送完毕置中断标志TI=1。方式0发送时序如图所示。写SBUF指令在S6P1处产生一个正脉冲,在下一个机器周期的S6P2处数据的最低位输出到RXD(P3.0)脚上;再在下一个机器周期的S3,S4,S5输出移位时钟为低电平,而在S6及下一个机器周期的S1,S2为高电平,就这样将8位数据由低位至高位一位一位顺序通过RXD线输出,并在TXD脚上输出fosc/12的移位时钟,在“写SBUF”有效后的第10个机器周期的S1P1将发送中断标志TI置位。接收时,用软件置REN=1(同时,RI=0),即开始接收。接收时序如图所示。当使SCON中的REN=1(RI=0)时,产生一个正脉冲,在下一个机器周期的S3P1~S5P2,从T