《单片机教程串口通信.ppt》由会员分享,可在线阅读,更多相关《单片机教程串口通信.ppt(58页珍藏版)》请在优知文库上搜索。
1、第第9 9章:串口通信章:串口通信本章基本要求:本章基本要求: 基本概念基本概念 5151的串行接口的串行接口* * 串行接口的应用串行接口的应用* *并行并行并行并行通通 信信串行串行串行串行串行串行串行串行1位位9.1串行通信基础串行通信基础所谓所谓“通信通信”是指计算机与其他设备之间进是指计算机与其他设备之间进行的信息交换。行的信息交换。 通信的方式分为并行通信和串行通信两种。通信的方式分为并行通信和串行通信两种。并行通信并行通信是构成一组数据的各位同时进行传是构成一组数据的各位同时进行传送,例如送,例如8 8位数据或位数据或1616位数据并行传送。位数据并行传送。其特点是传输速度快其特
2、点是传输速度快, ,但当距离较远、位数又但当距离较远、位数又多时导致了通信线路复杂且成本高。多时导致了通信线路复杂且成本高。串行通信串行通信是数据一位接一位地顺序传送。其是数据一位接一位地顺序传送。其特点是通信线路简单特点是通信线路简单, ,只要一对传输线就可以实现只要一对传输线就可以实现通信通信( (如电话线如电话线) ),可大大地降低成本,可大大地降低成本, ,适用于远距适用于远距离通信。缺点是传送速度慢。离通信。缺点是传送速度慢。9.1串行通信基础串行通信基础下图为以上两种通信方式的示意图。由图可知下图为以上两种通信方式的示意图。由图可知, ,假设并行传送假设并行传送N N位数据所需时间
3、为位数据所需时间为T,T,那么串行传送那么串行传送的时间至少为的时间至少为NT,NT,实际上总是大于实际上总是大于NTNT的。的。9.1串行通信基础串行通信基础9.1.19.1.1串行通信的分类串行通信的分类1 1、异步通信、异步通信异步传送的特点是数据在线路上的传送不连异步传送的特点是数据在线路上的传送不连续。在传送时续。在传送时, ,数据是以一个字符为单位进行传送数据是以一个字符为单位进行传送的。它用一个起始位表示字符的开始的。它用一个起始位表示字符的开始, ,用停止位表用停止位表示字符的结束。异步传送的字符格式如图所示。示字符的结束。异步传送的字符格式如图所示。字符帧:也叫数据帧,由起始
4、位、数据位、奇字符帧:也叫数据帧,由起始位、数据位、奇偶校验位和停止位偶校验位和停止位4 4个部分组成。个部分组成。9.1串行通信基础串行通信基础9.1串行通信基础串行通信基础波特率:就是数据的传送速率波特率:就是数据的传送速率,即每秒钟传送的即每秒钟传送的二进制位数,单位:位二进制位数,单位:位/秒。秒。说明:说明:要求发送端与接收端的波特率必须一要求发送端与接收端的波特率必须一致。波特率越高,传送速度越快。致。波特率越高,传送速度越快。例:设字符传送的速率为例:设字符传送的速率为120120字符字符/ /秒秒, ,而每而每1 1个字符个字符为为1010位位, ,那么传送的波特率为:那么传送
5、的波特率为:1010位位/ /字符字符120120字字符符/ /秒秒=1200=1200位位/ /秒秒=1200=1200波特。每波特。每1 1位二进制位的传位二进制位的传送时间送时间TdTd就是波特率的倒数,就是波特率的倒数, 例中:例中:T Td d=1/1200=0.833ms=1/1200=0.833ms9.1串行通信基础串行通信基础2 2、同步通信、同步通信在异步传送中在异步传送中, ,每一个字符都要用起始位和停每一个字符都要用起始位和停止位作为字符开始和结束的标志止位作为字符开始和结束的标志, ,占用了一定的占用了一定的时间。为了提高传送速度时间。为了提高传送速度, ,有时就去掉这
6、些标志有时就去掉这些标志, ,而采用同步传送而采用同步传送, ,即即1 1次传送次传送1 1组数据。在这组数据。在这1 1组数组数据的开始处要用同步字符据的开始处要用同步字符SYNSYN来加以指示来加以指示, ,如图示:如图示:9.1.29.1.2串行通信的制式串行通信的制式串行通信的数据传送方向有三种形式。串行通信的数据传送方向有三种形式。9.1串行通信基础串行通信基础 1、单工制式(、单工制式(Simplex) 单工制式是指甲乙双方通信时只能单向传送数据,单工制式是指甲乙双方通信时只能单向传送数据, 发送方和接收方固定。发送方和接收方固定。 单工:单工:广播广播9.1串行通信基础串行通信基
7、础 2 2、半双工制式、半双工制式 半双工制式是指通信双方都具有发送器和接收器,既半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。收,接收时不能发送。半双工:对讲机半双工:对讲机9.1串行通信基础串行通信基础 全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。3 3、全双工制式、全双工制式双工:电话双工:电话9.1串行通信基础串行通信基础9.1.39.1.3 调制解调器调制
8、解调器计算机通信是一种数字信号的通信计算机通信是一种数字信号的通信, ,如图所示。如图所示。它要求传送线的频带很宽它要求传送线的频带很宽, ,而在长距离通讯时而在长距离通讯时, ,通通常是利用电话线来传送的常是利用电话线来传送的, ,该线不可能有这样宽的该线不可能有这样宽的频带。如果用数字信号经过传送线直接通讯频带。如果用数字信号经过传送线直接通讯, ,信号信号就会畸变。就会畸变。9.1串行通信基础串行通信基础因此要在发送端用调制器因此要在发送端用调制器(Modulator)(Modulator)把数字把数字信 号 转 换 为 模 拟 信 号信 号 转 换 为 模 拟 信 号 , , 在 接
9、收 端 用 解 调 器在 接 收 端 用 解 调 器(Demodulator)(Demodulator)检测此模拟信号检测此模拟信号, ,再把它转换成数再把它转换成数字信号字信号, ,如图所示。如图所示。9.2MCS-51单片机串行接口单片机串行接口5151单片机内部有一个功能很强的全双工串行单片机内部有一个功能很强的全双工串行口口, ,可同时发送和接收数据。它有四种工作方式,可同时发送和接收数据。它有四种工作方式,可供不同场合使用。波特率由软件设置可供不同场合使用。波特率由软件设置, ,通过片内通过片内的定时的定时/ /计数器产生。接收、发送均可工作在查询计数器产生。接收、发送均可工作在查询
10、方式或中断方式方式或中断方式, ,使用十分灵活。使用十分灵活。5151的串行口除了用于数据通信外的串行口除了用于数据通信外, ,还可以非常还可以非常方便地构成方便地构成1 1个或多个并行输入个或多个并行输入/ /输出口或作串并输出口或作串并转换转换, ,用来驱动键盘与显示器。用来驱动键盘与显示器。51单片机的串行接口单片机的串行接口硬件结构硬件结构SBUF(发)(发)SBUF(收)(收)发送控制器发送控制器 TI接收控制器接收控制器 RI移位寄存器移位寄存器波波特特率率发发生生器器T1+A累累加加器器移位寄存器移位寄存器RxDP3.0TxD P3.1去申请中断去申请中断引脚引脚引脚引脚CPU内
11、部内部1 1、发送和接收电路、发送和接收电路SBUFSBUF是两个在物理上独立的接收、发送缓冲器是两个在物理上独立的接收、发送缓冲器, ,可同时可同时发送、接收数据。两个缓冲器只用一个字节地址发送、接收数据。两个缓冲器只用一个字节地址99H,99H,可通可通过指令对过指令对SBUFSBUF的读写来区别是对接收缓冲器的操作还是对的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。发送缓冲器的操作。 MOV SBUF,AMOV SBUF,A ;CPU ;CPU写写SBUF,SBUF,就是修改发送缓冲器就是修改发送缓冲器; ; MOV A,SBUFMOV A,SBUF ;CPU ;CPU读读SB
12、UF,SBUF,就是读接收缓冲器。就是读接收缓冲器。 串行口对外也有两条独立的收发信号线串行口对外也有两条独立的收发信号线RXD(P3.0)RXD(P3.0)和和TXD(P3.1),TXD(P3.1),因此可以同时发送、接收数据因此可以同时发送、接收数据, ,实现全双工传实现全双工传送。送。9.2MCS-51单片机串行接口单片机串行接口发送和接收过程都是在发送和接收时钟控制下发送和接收过程都是在发送和接收时钟控制下进行的,必须与设定的波特率保持一致。进行的,必须与设定的波特率保持一致。一般,一般,5151单片机的串口时钟是由内部定时器单片机的串口时钟是由内部定时器的溢出率经的溢出率经1616分
13、频后提供。分频后提供。2 2、串行口控制寄存器、串行口控制寄存器SCONSCON、PCONPCONSCONSCON用来控制串行口的工作方式和状态(可用来控制串行口的工作方式和状态(可位寻址)。在复位时所有位被清位寻址)。在复位时所有位被清0,0,字地址为字地址为98H98H。 PCONPCON主要是为主要是为CHMOSCHMOS型单片机的电源控制而设型单片机的电源控制而设置的专用寄存器置的专用寄存器, ,单元地址为单元地址为87H,87H,不能位寻址。不能位寻址。SCONSCON、PCONPCON的格式和内容如下图。的格式和内容如下图。9.2MCS-51单片机串行接口单片机串行接口串行口控制寄
14、存器串行口控制寄存器SCONSCON(98H98H)1 1、SM0SM0、SM1 SM1 控制串行口方式控制串行口方式 2 2、SM2 SM2 允许方式允许方式2 2、3 3的多机通讯特征位的多机通讯特征位 在方式在方式2、3中若中若SM2=1表示接收的第九位数据表示接收的第九位数据(RB8)为)为1时时,激活激活RI。 在方式在方式0,10,1中中SM2SM2必须为必须为0 0。 SM0 SM1工作方式工作方式功功 能能 简简 述述波特率波特率 0 0方式方式08位位 同步移位寄存器同步移位寄存器fosc/12 0 1方式方式110位位 UART可变可变 1 0方式方式211位位 UARTf
15、osc/32或或/64 1 1方式方式311位位 UART可变可变 3 3、REN REN 允许串行接收位,由软件置允许串行接收位,由软件置/ /复位复位 1 1:允许接收:允许接收 0 0:不允许接收:不允许接收4 4、TB8 TB8 在方式在方式2 2、3 3中要发送的第九位数据,由软件置中要发送的第九位数据,由软件置/ /复位复位 5 5、RB8 RB8 在方式在方式2 2、3 3中是接收的第九位数据中是接收的第九位数据 在方式在方式0 0中不用中不用RB8RB8。串行口控制寄存器串行口控制寄存器SCONSCON(98H98H)6 6、RI RI 接收中断标志(必须由软件清除)接收中断标
16、志(必须由软件清除) 在方式在方式0 0中串行接收到第中串行接收到第8 8位结束时自动置位。位结束时自动置位。 在方式在方式1 1、2 2、3 3中串行接收到停止位的中间时置位。中串行接收到停止位的中间时置位。 1 111111SBUF1111 1111RxD1RI=17 7、TI TI 发送中断标志(必须由软件清除)发送中断标志(必须由软件清除) 在方式在方式0 0中串行发送第中串行发送第8 8位结束时自动置位。位结束时自动置位。 在方式在方式1 1、2 2、3 3中串行发送停止位的开始时置位。中串行发送停止位的开始时置位。串行口控制寄存器串行口控制寄存器SCONSCON(98H98H) 电源控制寄存器电源控制寄存器PCONPCONPCOND7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDLSMOD=1SMOD=1,串行口波特率加倍。串行口波特率加倍。PCONPCON寄存器不能进行位寻址。寄存器不能进行位寻址。 SMODSMOD:在串行口工作方式:在串行口工作方式 1 1、2 2、3 3 中,是中,是波特波特率加倍位率加倍位 =1 =1 时,波特率加倍时,波特率加倍