单片机原理与c51编程课件8第八章串行通信技术.ppt

上传人:小飞机 文档编号:5937838 上传时间:2023-09-06 格式:PPT 页数:39 大小:262.13KB
返回 下载 相关 举报
单片机原理与c51编程课件8第八章串行通信技术.ppt_第1页
第1页 / 共39页
单片机原理与c51编程课件8第八章串行通信技术.ppt_第2页
第2页 / 共39页
单片机原理与c51编程课件8第八章串行通信技术.ppt_第3页
第3页 / 共39页
单片机原理与c51编程课件8第八章串行通信技术.ppt_第4页
第4页 / 共39页
单片机原理与c51编程课件8第八章串行通信技术.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《单片机原理与c51编程课件8第八章串行通信技术.ppt》由会员分享,可在线阅读,更多相关《单片机原理与c51编程课件8第八章串行通信技术.ppt(39页珍藏版)》请在三一办公上搜索。

1、,第八章 串行通信技术,课程目标、课程重点与难点,课程目标:掌握微机控制系统串行通信的基本概念,RS-232C串行接口的含义及应用。掌握单片机双机通信的应用程序设计,了解单片机多机通信的特点和应用。课程重点与难点:RS-232C串行接口应用,单片机串行通信的工作方式,单片机双机通信的应用程序设计。,8.1 串行通信基础知识,1、通信基本概念通信:将数据从一端发送到另一端,以实现数据的交换。如:人与人之间的对话 计算机与设备间的数据交换 计算机与计算机间的数据发送 广播或卫星的数据发送 通信系统包括:发送端、接收端、转换数据的接口及发送数 据的通道。,8.1 串行通信基础知识,2、并行通信与串行

2、通信并行通信:一次的传输量为8个位(l个字节)。串行通信:一次只传输l个位(也就是一个标准电位状态)。,图8-1并行通信与串行通信的传输方式a)并行传输b)串行传输,8.1 串行通信基础知识,3、同步通信与异步通信(1)同步通信:发送器和接收器必须使用同一个时钟控制串行数据的发送和接收。通信特点:在每个数据块传送开始时,先发送1-2位同步字符使收/发双方同步后再发送数据,当数据传送完毕后,发送器发送结束串行通信同步字符,停止串行通信。同步通信虽然一次传送数据量较大,由于要求收发时钟严格同步,在实际应用中较难实现,所以在实际工程中应用较少。,8.1 串行通信基础知识,(2)异步通信:发送器和接收

3、器分别使用自己的时钟,两个时钟的频率大致相同,能在短时间内保持同步即可。异步通信字符数据的传送格式,每一帧数据均由起始位、数据位、校验位和停止位组成。,图8-2异步串行通信数据格式,8.1 串行通信基础知识,起始位:表示串行数据通信开始,逻辑0有效,固定为1位。数据位:可选择5-8位,在工业中,常采用7位ASC码来表示 发送的数据,而最高为作为奇偶校验位用。校验位:检查所发送数据正确性的一种核对码,固定为1位。停止位:表示传送数据的结束,可选择l位、1.5位或2位。,8.1 串行通信基础知识,4、串行通信三种方式单工方式:数据只能从一方发送到另一方,数据的流动方向 是固定的。半双工方式:数据流

4、动的方向是双向的,但在某一时刻,数 据只能在一个方向上流动。全双工方式:允许数据同时在两个方向流动,既通信双方发 送数据和接受数据同时进行。,8.1 串行通信基础知识,5、串行通信协议(1)串行通信的数据的格式:确定数据帧的结构,如1帧数据10位(起始为1位、数据为7位、校验位1位、停止位1位)或1帧数据11位(起始为1位、数据为8位、校验位1位、停止位1位)。(2)波特率:表示数据传送的速率,表示每秒所能传送数据的位数,用bps 表示,如2400bps、4800bps、9600bps 等。若波特率为4800bps,1帧数据为10位,则每秒所能传送的字符为480个。,8.1 串行通信基础知识,

5、(3)校验方式在单片机串行通信时,常采用奇校验位(Odd Parity)和偶校验位(Even Parity)两种方式。偶校验:发送字符中(包括校验位在内)含“1”的个数为偶数。奇校验:发送字符中(包括校验位在内)含“1”的个数为奇数。如:发送字符“A”时,A的ASC码是41H(01000001B),含有“1”的为偶数,如果采用偶校验,则校验位是0,发送数据“41H”即可;如果采用奇校验,则校验位必须为1,发送字符“A”时,实际发送的是“C1H”。,8.2 串行通信接口,1、串行通信接口类型 异步串行通信接口主要有:(1)RS-232C通信接口:最早的通信接口,应用广泛。(2)RS-485(RS

6、-422)通信接口:用于多结点、远距离的主 从式多机通信。(3)20mA电流环:多由于干扰比较复杂的场合。(4)CAN总线接口:是一种多主总线,用于多主对等通信系统。(5)USB通信接口:速度较快、最多可接127个节点,通信距离较短。,8.2 串行通信接口,2、RS-232C串行通信接口(1)RS-232C串行通信接口特点:通信距离:小于15m。通信速率:20KB/S。机械接口:25针/9针D型接口。电气特性:采用负逻辑电平。逻辑“1”:-5V15V。逻辑“0”:+5V+15V。,8.2 串行通信接口,(2)RS-232C串行通信接口连接:工程应用中,RS-232C接口通常采用9针D型口。常用

7、的连线示意图为:发送数据:TXD,2脚 接收数据:RXD,3脚 信号地:7脚 数据设备准备好:DSR,6脚 数据终端准备好:DTR,9脚,图8-3计算机与RS-232C的连接,8.2 串行通信接口,单片机控制系统中,常用的三线制连接方法如下:,图8-4计算机与RS-232C的最简连接,8.2 串行通信接口,3、RS-232C串行口电平转换 RS232C的逻辑电平:负逻辑电平。逻辑“1”:-5V-15V,逻辑“0”:5V15V TTL电平:逻辑“1”3.5V-5V,逻辑“0”0V-2.5V。二者电平不兼容,因此为了与TTL器件连接,必须进行电平转换。MC1488驱动器、MC1489接收器是RS2

8、32C通信接口中常用的集成电路转换器件。,8.2 串行通信接口,MC1488驱动器、MC1489接收器结构如下:,图8-5 a)MC1489总线接收 b)MC1488发送器,8.2 串行通信接口,4、RS485通信接口(1)机械特性 采用RS232/RS485连接器(如ADAM4520)将PC串口RS232信号转换成RS485信号,或接入TTL/RS485转换器(如MAX485)将I/O接口芯片TTL电平信号转换成RS485信号,进行远距离高速双向串行通信。(2)电气特性 信号负逻辑,2V6V表示“0”,-6V-2V表示“1”,二线双端半双工差分电平发送与接收,无公共地线,能有效克服共模干扰、

9、抑制线路噪声,传输距离1.2km,最高数据传输速率可达10Mbit/s(40m)。,8.2 串行通信接口,5、CAN通信接口 CAN是一种多主总线,通信介质为双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,通信距离可达10km。单片机CAN总线的应用可以选择片内集成CAN控制器的单片机,如:Philips的80C591等;或采用独立CAN控制器,如:SJA1000CAN控制器等。收发器可采用PCA82C250/251 来完成是控制器和物理传输线路之间的接口。,8.3 89C51单片机串行接口,一、串行接口的结构 89C51单片机的串行口主要由二个物理上独立的串行数据缓冲器SBUF、发送控制

10、器、接收控制器、输入移位寄存器和输出控制门组成。如下图所示。发送数据缓冲器SBUF只能写入,不能读出,接收数据缓冲器只能读出,不能写入,二个缓冲器共用一个地址99H。串行口工作方式由控制寄存器SCON中的控制字决定。串行通信的波特率发生器:由定时器T1或T2构成。,8.3 89C51单片机串行接口,图8-6 89C2051串行口组成示意图,8.3 89C51单片机串行接口,二、串行口控制寄存器SCON 串行口控制寄存器SCON字节地址为98H,可位寻址。SCON用来设定串行口工作方式、接收发送控制以及设置状态标志。其格式如下:(1)SM0、SMl串行口工作方式选择位,可选择4种工作方式如下表所

11、示。,8.3 89C51单片机串行接口,(2)SM2工作方式2、3中的允许多机通信控制位。若SM2=1、而接收到的第9位数据(RB8)为0,则RI(按收中断)不被激活。在方式1中,若SM2=1,只有接收到有效的停止位,RI才被激活。在方式0中,SM2必须是0。,8.3 89C51单片机串行接口,(3)REN允许串行接收位。由软件置位或清除.REN1时允许接收.REN=0时禁止接收。(4)TB8发送数据位8。该位是方式2、3中要发送的第9位数据。在许多通信协议中,该位是奇偶位。可用软件置位与清零。在51系列单片机多机通信中用来表示是地址帧还是数据帧。(5)RB8接收数据位8,是方式2、3中所接收

12、的第9位数据,在MCS51多机通信中为地址、数据标识位。方式0中RB8未用,方式1中,若SM2=0,RB8是已接收的停止位。,8.3 89C51单片机串行接口,(6)TI发送中断标志。在方式0中,发送完第8位数据时,硬件自动置位;在其它方式中,在发送停止位之初,由硬件自动置位。TI=l时,申请中断,CPU响应中断后,发送下 一帧数据。在任何方式中,TI都必须由软件清零。(7)RI接收中断标志。在方式O中,第8位接收完毕,由硬件置位。其它方式中,在接收停止位的中间点由硬件置位。RI=l时申请中断,要求CPU取走数据。但在方式1中,SM2l时,若未收到有效的停止位,不会对RI置位。RI须由软件清零

13、。,8.3 89C51单片机串行接口,三、电源控制寄存器PCON在HMOS的单片机中,该寄存器中除最高位外,其他位都是虚设的。最高位SMOD是串行口波特率的倍增位,当SMOD=l时串行口波特率加倍。系统复位时,SMOD0。PCON寄存器地址87H,不能进行为操作。,8.3 89C51单片机串行接口,四、串行口的工作方式 1、方式0串行口为同步移位寄存器方式,其波特率是固定的,为fOSC/12,数据由RXD(P3.0)端出入,同步移位脉冲由TXD(P3.1)端输出,发送、接收的是8位数据,低位在先。波特率为振荡频率的十二分之一。(1)发送执行任何一条将SBUF作为目的寄存器指令时,数据开始从RX

14、D端串行发送。,8.3 89C51单片机串行接口,(2)接收在满足REN=l和RI=0的条件下,就会启动一次接收过程。此时,RXD为串行输入端,TXD为同步脉冲输出端。2、方式1在方式l状态下,串行口为8位异步通信接口。一帧信息为l0位;l位起始位,8位数据(低位在先)和1位停止位。TXD为发送端,RXD为接收端。波特率不变。(1)发送串行口以方式1发送时,数据由TXD端输出,CPU执行一条写入SBUF的指令后,便启动串行口发送,发送完一帧信息时,发送中断标志置1。,8.3 89C51单片机串行接口,(2)接收数据从RXD端输入。当允许输入位REN置l后,接收器便以波特率的16倍速率采样RXD

15、端电平,当采样到l至O的跳变时,启动接收器接收。方式1的接收数据时,在同时满足条件 1)RI=O;2)SM2=0或接收到的停止位=1。时,接收数据有效,实现装载SBUF、RB8及RI置1。,8.3 89C51单片机串行接口,3、方式2和方式3 方式2、3为9位异步通信口,发送、接收一帧信息由ll位组成,即起始位1位、数据8位(低位在先)、1位可编程位(第9数据位)和1位停止位发送时,可编程位(TB8)可设置0或1,接收时,可编程位送入SCON中的RB8。(1)发送方式2、3发送时,数据由TXD端输出,附加的第9位数据为SCON中的TB8。CPU执行一条写入SBUF的指令后,便立即启动发送器发送

16、,送完一帧信息时,置Tl=l中断标志。,8.3 89C51单片机串行接口,(2)接收与方式1类似,当REN=1时,CUP开始不断地对RXD采样,采样速率为波特率的16倍,当检测到负跳变后启动接收器,位检测器对每位采集3个值,用采3取2办法确定每位状态。当采至最后一位时,将8位数据装入SBUF,第9位数据装入RB8并置RI=l。方式2、3在接受数据时,在同时满足条件 1)RI=O;2)SM2=0或接收到的停止位=1。时,接收数据有效,实现装载SBUF、RB8及RI置1。,8.3 89C51单片机串行接口,方式2、3的区别在于:方式2的波特率为fOSC/32或fOSC/64(fosc/)(64/2

17、SMOD),而方式3的波特率可变。五、串行通信的波特率 串行口在方式0和方式2工作时,其波特率为固定值。方式0发送接收时,其波特率为振荡频率的十二分之一(fOSC/12)。方式2发送接收时,其波特率为fosc/(64/2SMOD)。,8.3 89C51单片机串行接口,串行口在方式1和方式3的波特率可变,与溢出率有关。51内核单片机常用定时器1作为波特率发生器,其波特率由下式确定:波特率=(定时/计数器l溢出率)/(32/2SMOD)其中SMOD为特殊功能寄存器PCON中的第8位特征位。定时/计数器的溢出率取决于计数速率和定时时间常数。溢出速率可由下式确定:溢出率=计数速率/256一(TL1)T

18、1工作于自动装载方式的工作方式2时,计数速率=fOSC/12,,8.3 89C51单片机串行接口,定时/计数器产生的常用波特率如下表,8.3 89C51单片机串行接口,六、串行发送、接收实例【例8-1】设计一个发送程序,将片内RAM50H5FH中的数据串行发送,串行口设定为方式2状态,TB8作奇偶校验位。分析:(1)在数据写入发送缓冲器之前,先将数据的奇偶位P写 TB8,这时第9位数据作奇偶校验用。(2)片内RAM50H5FH地址用指针来指向。(3)发送数据采用查询方式。,8.3 89C51单片机串行接口,#include#include unsigned char data send _at

19、_ 0 x50;main()unsigned char count;unsigned char data*pa;SCON=0 x80;PCON=0 x80;pa=,for(count=0;count16;count+)ACC=*pa;TB8=P;SBUF=ACC;while(TI);TI=0;*pa+;,8.3 89C51单片机串行接口,8.3 89C51单片机串行接口,【例8-2】设计一个接收程序,将接收的16个字节数据送入片内RAM50H5FH单元中。设串行口方式3状态工作,波特率为2400。(不考虑校验)分析:(1)波特率:2400,定时/计数器l完成,TMOD=20H,时间常 数为F4H。(2)片内RAM50H5FH地址用指针指向。(3)采用查询方式接受数据。,8.3 89C51单片机串行接口,#include#include unsigned char data send _at_ 0 x50;main()unsigned char count;unsigned char data*pa;TMOD=0 x20;TH1=0 xF4;TL1=0 xF4;,8.3 89C51单片机串行接口,SCON=0 xD0;pa=,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号