《单片机原理及应用.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用.ppt(60页珍藏版)》请在优知文库上搜索。
1、单片机原理及应用1第五章单片机的串行通信技术第五章单片机的串行通信技术1 1 串行通信概述串行通信概述2 2 串行口的结构组成及控制寄存器串行口的结构组成及控制寄存器3 3 串行通信工作方式及应用举例串行通信工作方式及应用举例4 4 串行通信设计应用举例串行通信设计应用举例主要内容主要内容文献参考单片机原理及应用2两种数据通信形式:两种数据通信形式:并行通信并行通信和和串行通信串行通信。 并行方式并行方式:数据的各位同时发送或同时接收,数据的各位同时发送或同时接收, 传送传送速度快,但因需要多根传输线,一般只在近距离通速度快,但因需要多根传输线,一般只在近距离通信中使用。信中使用。串行通信概述
2、串行通信概述单片机原理及应用3 串行方式串行方式:数据的各位依次逐位发送或接收。传输速数据的各位依次逐位发送或接收。传输速度慢,但因只需较少传输线,故适合于远距离通信。度慢,但因只需较少传输线,故适合于远距离通信。(72m72m)单片机原理及应用4异步通信异步通信以字符为单位组成字符帧进行的数据传送以字符为单位组成字符帧进行的数据传送串行数据通信有串行数据通信有同步通信同步通信和和异步通信异步通信两种方式。两种方式。数 据 由数 据 由 起 始 位起 始 位 、 数 据 位数 据 位 、 可 编 程 位可 编 程 位 和和 停 止 位停 止 位 构 成构 成特点特点收发双方不同步时,能够依靠在
3、每帧开始时的不断收发双方不同步时,能够依靠在每帧开始时的不断对齐,自行纠正偏差,故对收发双方的时钟精度要求较低,对齐,自行纠正偏差,故对收发双方的时钟精度要求较低,但因每个字节都要建立一次同步,所以工作速度较低。但因每个字节都要建立一次同步,所以工作速度较低。第7章 单片机的串行通信技术单片机的串行通信技术单片机原理及应用5 同步通讯数据格式同步通讯数据格式数据以块为单位连续传送。数据以块为单位连续传送。在发一组数据时,只在开始用若干个同步字符作为双方的号令,在发一组数据时,只在开始用若干个同步字符作为双方的号令,然后连续发送整组数据。然后连续发送整组数据。特点特点数据是以数据块为单位连续传送
4、的,结构紧凑,数据是以数据块为单位连续传送的,结构紧凑,传输效率高,但要求双方有准确的时钟,对硬件要求高传输效率高,但要求双方有准确的时钟,对硬件要求高。单片机原理及应用6 波特率波特率为为每秒钟发送二进制数码的位数每秒钟发送二进制数码的位数,即,即b/S (位(位/ /秒)。秒)。在串行通信中,在串行通信中,数据传输速率的快慢,通过波特率来衡量数据传输速率的快慢,通过波特率来衡量。 例如:例如:在异步通信中传输速度为在异步通信中传输速度为360360字符字符/ /秒,每个字符又包含秒,每个字符又包含1010位,则波特率为:位,则波特率为: 360字符字符/秒秒 * 10位位/字符字符 360
5、0波特波特标准波特率:标准波特率:110、300、600、1200、2400、4800、9600、19200、38400波特等。波特等。单片机原理及应用7 在串行通信中,按照传输数据的流向,可分成三种传输形式:在串行通信中,按照传输数据的流向,可分成三种传输形式: 单工通信单工通信 半双工通信半双工通信 全双工通信全双工通信 Simplex Half Duplex Full Duplex 80C51 内部设有一个全双工串行接口内部设有一个全双工串行接口收发双方角色收发双方角色固定不能互换固定不能互换收发双方角色收发双方角色可换但需切换可换但需切换收发双方互不收发双方互不影响双向通信影响双向通信
6、RXDReceive Data接收数据接收数据 TXDTransmit Data发送数据发送数据 第7章 单片机的串行通信技术单片机的串行通信技术单片机原理及应用8串行通信相关寄存器串行通信相关寄存器单片机原理及应用9 寄存器:寄存器: 两个数据缓冲器两个数据缓冲器SBUFSBUF(99H99H)+ +串行控制寄存器串行控制寄存器SCONSCON(98H98H) + +移位寄存器移位寄存器+. +. 。CPU串行口的结构组成及控制寄存器串行口的结构组成及控制寄存器单片机原理及应用10数据发送过程(中断法)数据发送过程(中断法)内部数据并行写入内部数据并行写入SBUFSBUF数据串行送出数据串行
7、送出TITI硬件置硬件置1 1CPUCPU响应中断响应中断并行写入并行写入SBUFSBUF下一数下一数据据单片机原理及应用11 (2 2)接收数据的过程(中断法)接收数据的过程(中断法) 外界数据串行送入移位寄存器外界数据串行送入移位寄存器数据并行送入数据并行送入SBUFSBUF收收标标志位志位RIRI硬件置硬件置1 1CPUCPU响应中断响应中断RIRI软件清零软件清零, ,读走数据读走数据单片机原理及应用12D0D1D2D3D4D5D6D7传送数据传送数据同步时钟同步时钟数据传送数据传送将串行数据按一定节拍(同步时钟脉将串行数据按一定节拍(同步时钟脉冲)输出到传输线上,或从传输线上读入。冲
8、)输出到传输线上,或从传输线上读入。同步时钟信号可由同步时钟信号可由系统时钟系统时钟或或定时器定时器产生产生单片机原理及应用13串行数据缓冲器,串行数据缓冲器,SBUFSBUF在物理上有两个在物理上有两个SBUFSBUF:一个用于发送,另一个用于接收。:一个用于发送,另一个用于接收。在逻辑上只有一个在逻辑上只有一个SBUFSBUF(99H99H)。)。可根据用法区分功能:可根据用法区分功能:uchar counter; uchar counter; 待发送存放变量待发送存放变量SBUF = counter;SBUF = counter; 完成一次数据发送完成一次数据发送counter = SB
9、UF;counter = SBUF; 完成一次数据接收完成一次数据接收CPU单片机原理及应用14串口控制寄存器串口控制寄存器SCONSCON(98H98H)SM2、TB8、RB8主要用于多机通讯主要用于多机通讯第7章 单片机的串行通信技术单片机的串行通信技术单片机原理及应用15SM2SM2,多机通信控制位,主要用于方式多机通信控制位,主要用于方式2 2和方式和方式3 3。当。当接收机的接收机的SM2=1SM2=1时时可以利用收到的可以利用收到的RB8RB8来控制是否激活来控制是否激活RIRI(RB8RB80 0时不激活时不激活RIRI,收到的信息丢弃;,收到的信息丢弃;RB8RB81 1时时收
10、到的数据进入收到的数据进入SBUFSBUF,并激活,并激活RIRI,进而在中断服务中,进而在中断服务中将数据从将数据从SBUFSBUF读走)读走)。当。当SM2=0SM2=0时,时,不论收到的不论收到的RB8RB8为为0 0和和1 1,均可以使收到的数据进入,均可以使收到的数据进入SBUFSBUF,并激活,并激活RIRI(即(即此时此时RB8RB8不具有控制不具有控制RIRI激活的功能)激活的功能)。通过控制。通过控制SM2SM2,可以实现多机通信。可以实现多机通信。在方式在方式0 0时,时,SM2SM2必须是必须是0 0。在方。在方式式1 1时,若时,若SM2=1SM2=1,则只有接收到有效
11、停止位时,则只有接收到有效停止位时,RIRI才才置置1 1。RENREN,允许串行接收位。由软件置,允许串行接收位。由软件置REN=1REN=1,则启动串行,则启动串行口接收数据;若软件置口接收数据;若软件置REN=0REN=0,则禁止接收。,则禁止接收。单片机原理及应用16TB8TB8,在方式在方式2 2或方式或方式3 3中,是发送数据的第九位中,是发送数据的第九位,可以用软,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧信中,作为地址帧/ /数据帧的标志位。在方式数据帧的标志位。在方式0 0和方式和方式1 1中,
12、中,该位未用。该位未用。RB8RB8,在方式在方式2 2或方式或方式3 3中,是接收到数据的第九位,作为奇中,是接收到数据的第九位,作为奇偶校验位或地址帧偶校验位或地址帧/ /数据帧的标志位数据帧的标志位。在方式。在方式1 1时,若时,若SM2=0SM2=0,则则RB8RB8是接收到的停止位。是接收到的停止位。TITI,发送中断标志位发送中断标志位。在方式。在方式0 0时,当串行发送第时,当串行发送第8 8位数据位数据结束时,或在其它方式,串行发送停止位的开始时,由内结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使部硬件使TITI置置1 1,向,向CPUCPU发中断申请。在中断服务程
13、序中,发中断申请。在中断服务程序中,必须用软件将其清必须用软件将其清0 0,取消此中断申请。,取消此中断申请。RIRI,接收中断标志位接收中断标志位。在方式。在方式0 0时,当串行接收第时,当串行接收第8 8位数据位数据结束时,或在其它方式,串行接收停止位的中间时,由内结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使部硬件使RIRI置置1 1,向,向CPUCPU发中断申请。也必须在中断服务程发中断申请。也必须在中断服务程序中,用软件将其清序中,用软件将其清0 0,取消此中断申请。,取消此中断申请。单片机原理及应用17电源控制寄存器,电源控制寄存器,PCONPCON(87H87H)k(
14、)122232SMODoscf波特率定时器初值由定时器产生的同步时钟由定时器产生的同步时钟第7章 单片机的串行通信技术单片机的串行通信技术单片机原理及应用18 通过通过SM0SM0和和SM1SM1不同的取值,可选择串行通信中的四种工作方式。不同的取值,可选择串行通信中的四种工作方式。SM0 SM1工作方式工作方式说明说明波特率波特率 0 0方式方式0同步移位寄存同步移位寄存器器fosc/12 0 1方式方式110位异步收发位异步收发 由定时器控制由定时器控制 1 0方式方式211位异步收发位异步收发fosc/32或或fosc/64 1 1方式方式311位异步收发位异步收发 由定时器控制由定时器
15、控制单片机原理及应用19波特率设置波特率设置波特率发生器结构示意图波特率发生器结构示意图移位时钟源单片机原理及应用20波特率设置波特率设置在串行通信中,收发双方对发送或接收数在串行通信中,收发双方对发送或接收数据的速率要有约定。据的速率要有约定。 串行口的串行口的四种工作方式对应三种波特率四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。方式的波特率计算公式也不相同。方式方式0:波特率:波特率 = fosc/12方式方式1:波特率:波特率 =(2SMOD/32)(T1溢出率溢出率) 方式方式2:波特率:波特
16、率 =(2SMOD/64) fosc 方式方式3:波特率:波特率 =(2SMOD/32)(T1溢出率溢出率)溢出频率单片机原理及应用21波特率/(b/s)fosc/MHzSM1 SM0SMOD定时器T1方 式初 值方式01106120 0XXXX92160011.0592XXXX方式2375000121 01XXX187500120XXX34560011.05921XXX17280011.05920XXX单片机原理及应用22波特率/(b/s)fosc/MHzSM1 SM0SMOD定时器T1方 式初 值方式1或方式362500120 1或1 1102FFH3152012002FFH1920011.0592102FDH960011.0592002FDH480011.0592002FAH240011.0592002F4H120011.0592002E8H13750011.9860021DH110600272H11012001FEEBH单片机原理及应用23 当当T1T1作为波特率发生器时,最典型的用法是使作为波特率发生器时,最典型的用法是使T1T1工作在自动再装入工作在自动再装入的的8 8位定