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

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

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

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

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

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

第6章串行通信串行通信优点:便于长距离传送 缺点:传送速度较慢串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。 常见的有: ☞通用异步收发器(UART)——本课程介绍的串口 ☞通用串行总线(USB) ☞I2C总线 ☞CAN总线 ☞SPI总线 ☞RS-485,RS-232C,RS422A标准……等等 异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机中主要采用异步通信方式。 同步通信传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。波特率的倒数即为每位传输所需的时间。 相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。三、串行通信的制式半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。 全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。四、串行通信的校验 80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。51单片机的串行接口 发送时,只需将发送数据输入SBUF,CPU将自动启动和完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读出接收数据。2、串行控制寄存器SCON①SM0SM1——串行口工作方式选择位。其状态组合所对应的工作方式如表6-2所示。③REN------允许接收控制位。REN位用于对串行数据的接收进行控制:REN=0,禁止接收;REN=1,允许接收。该位由软件置位或复位。 ④TB8------方式2和方式3中要发送的第9位数据。在方式2和方式3时,TB8是发送的第9位数据。在多机通信中,以TB8位的状态表示主机发送的是地址还是数据:TB8=0表示数据,TB8=1表示地址。该位由软件置位或复位。 TB8还可用于奇偶校验位。 ⑤RB8------方式2和方式3中要接收的第9位数据。在方式2或方式3时,RB8存放接收到的第9位数据。⑥TI------发送中断标志。当方式0时,发送完第8位数据后,该位由硬件置位。在其他方式下,遇发送停止位时,该位由硬件置位。因此TI=1,表示帧发送结束,可软件查询TI位标志,也可以请求中断。TI位必须由软件清0。 ⑦RI------接收中断标志。当方式0时,接收完第8位数据后,该位由硬件置位。在其他方式下,当接收到停止位时,该位由硬件置位。因此RI=1,表示帧接收结束,可软件查询RI位标志,也可以请求中断。RI位也必须由软件清0。3、电源控制寄存器PCON二、串行工作方式 80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。 1、串行工作方式0(同步移位寄存器工作方式) 以RXD(P3.0)端作为数据移位的输入/输出端, 以TXD(P3.1)端输出移位脉冲。 移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。 其帧格式为:⑴数据发送(2)数据接收⑶波特率:方式0波特率固定,为单片机晶振频率的十二分之一。即一个机器周期进行一次移位。 ⑷应用举例 【例6-1】电路如图所示,试编制程序按下列顺序要求每隔0.5秒循环操作。LIGHT:MOVSCON,#00H;串行口方式0 CLRES;禁止串行中断P121 MOVDPTR,#TAB;置发光二极管亮暗控制字表首址 LP1:MOVR7,#0;置顺序编号0 LP2:MOVA,R7;读顺序编号 MOVCA,@A+DPTR;读控制字 CLRP1.0;关闭并行输出,STR=O时,关闭并行输出; MOVSBUF,A;启动串行发送 JNBTI,$;等待发送完毕 CLRTI;清发送中断标志 SETBP1.0;开启并行输出,STR=1时,开启并行输出; LCALLDLY500ms;调用延时0.5秒子程序(参阅例4-13) INCR7;指向下一控制字 CJNER7,#30,LP2;判循环操作完否?未完继续 SJMPLP1;顺序编号0~29依次操作完毕,从0开始重新循环【例】电路如图所示,试编制程序输入K1~K8状态数据,并存入内RAM40H。2、串行工作方式1 方式1是一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。 其帧格式为:在实际应用时,通常是先确定波特率,后根据波特率求T1定时初值,因此上式又可写为:当定