《串行口通信》课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《串行口通信》课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行口通信 串行口 通信 课件
- 资源描述:
-
1、a1a2 2 第第8章章 串行口通信串行口通信a3 3主要内容主要内容 8.1 串行通信的概念串行通信的概念 8.2 串行口串行口1的相关寄存器的相关寄存器 8.3 串行口串行口1的工作方式的工作方式 8.4串行口串行口1通信中波特率的设置通信中波特率的设置 8.5 串行口串行口2的相关寄存器的相关寄存器 8.6串行口串行口2的工作方式的工作方式 8.7 串行口的应用串行口的应用 8.8 RS-232串行标准串行标准 8.9 RS485串行接口串行接口 8.10 SPI串行接口概述串行接口概述 8.11 SPI串行数据通信串行数据通信 8.12 SPI接口的应用接口的应用a4 48.1 串行通
2、信的概念串行通信的概念 串行通信是按一位一位的顺序传送数据,串行通信方式又串行通信是按一位一位的顺序传送数据,串行通信方式又分为分为同步通信同步通信和和异步通信异步通信两种。两种。同步通信同步通信:发送方和接收方用同一个时钟控制信号发送方和接收方用同一个时钟控制信号a5 58.1 串行通信的概念串行通信的概念异步通信是一种将数据以一个字符为单位进行传送的通信方式异步通信是一种将数据以一个字符为单位进行传送的通信方式传送一个字符又称为一帧信息传送一个字符又称为一帧信息发送与接收之间无时钟信号控制,发送与接收之间无时钟信号控制,发送和接收的速率要求相同发送和接收的速率要求相同起始位起始位:位于一帧
3、数据的:位于一帧数据的开头,逻辑开头,逻辑“0”电平信号,电平信号,用来通知接收设备开始接用来通知接收设备开始接收一帧信息收一帧信息数据位数据位:紧跟起始位:紧跟起始位之后的是数据位,对之后的是数据位,对51内核单片机来说,内核单片机来说,低位在前,高位在后低位在前,高位在后第第9位:常用于对串行位:常用于对串行通信数据进行奇偶校验通信数据进行奇偶校验停止位停止位:逻辑:逻辑“1”电平信号,电平信号,应大于应大于或等于一个位数据的时间或等于一个位数据的时间。在发送完。在发送完一帧信息后,用于发送的数据线一直一帧信息后,用于发送的数据线一直处于高电平状态,等待再次发送处于高电平状态,等待再次发送
4、a6 68.1 串行通信的概念串行通信的概念串行通信可分为单工、半双工和全双工串行通信可分为单工、半双工和全双工3种方式种方式单工方式只有一根数据线,数据只能按照一个固定的方向传送单工方式只有一根数据线,数据只能按照一个固定的方向传送 半双工方式的数据可以由甲向乙传送,也可以由乙向甲传半双工方式的数据可以由甲向乙传送,也可以由乙向甲传送,但是不能在两个方向上同时传送送,但是不能在两个方向上同时传送全双工方式可以在同一时刻实现双向传送。全双工方式可以在同一时刻实现双向传送。在串行通信中,用波特率衡量通信速度的快慢。波特率是指每在串行通信中,用波特率衡量通信速度的快慢。波特率是指每秒钟传送的二进制
5、数的位数秒钟传送的二进制数的位数单位:单位:位位/秒秒(b/s或或Kb/s)字节字节/秒秒(bps)波特率(波特率(bps)=1个字符的二进制位数个字符的二进制位数 Bpsa7 78.1 串行通信的概念串行通信的概念STC12C5A60S2单片机具有2个UART工作方式的串行口接收缓冲器接收缓冲器SBUF地址:地址:99H发送缓冲器发送缓冲器SBUF地址:地址:99H串行口串行口1接收缓冲器接收缓冲器S2BUF地址:地址:9BH发送缓冲器发送缓冲器S2BUF地址:地址:9BH串行口串行口2a8 88.2 串行口串行口1的相关寄存器的相关寄存器STC12C5A60S2单片机的串行口单片机的串行口
6、1 与与8个特殊功能寄存器相关个特殊功能寄存器相关串行控制寄存器串行控制寄存器SCON电源控制寄存器电源控制寄存器PCON辅助寄存器辅助寄存器AUXR独立波特率发生器寄存器独立波特率发生器寄存器BRT唤醒控制寄存器唤醒控制寄存器WAKE_CLKO中断寄存器中断寄存器IE、IP、IPH。a9 98.2 串行口串行口1的相关寄存器的相关寄存器1.串行控制寄存器串行控制寄存器SCON,地址为,地址为98H,可进行位寻址,可进行位寻址SM0/FE:寄存器:寄存器PCON中的中的SMOD0位为位为1时,时,该位用于帧错误检测该位用于帧错误检测(FE)。当检测到停止位当检测到停止位无效时,硬件会将该位无效
7、时,硬件会将该位置置1,必须由软件清零,必须由软件清零SMOD0位为位为0时,时,SM0、SM1两位一起确定串行口两位一起确定串行口1的工作方式的工作方式SM2:在方式在方式0中,该位必须为中,该位必须为0;在方式在方式2和方式和方式3中,该位为中,该位为1时,时,只有接收到的第只有接收到的第9位数据位数据RB8位为位为1时,接收才能有效。时,接收才能有效。在方式在方式1中,该中,该位为位为1时,只有正确接收到停止位时,时,只有正确接收到停止位时,接收才能有效接收才能有效REN:允许串行接收控:允许串行接收控制位。制位。当该位为当该位为1时,允时,允许接收信息;许接收信息;当该位为当该位为0时
8、,禁止接收信息。时,禁止接收信息。TB8:发送数据的第:发送数据的第9位位RB8:接收数据的第:接收数据的第9位位TI:串行口:串行口1发送中发送中断请求标志位断请求标志位RI:串行口:串行口1接收中接收中断请求标志位断请求标志位a10108.2 串行口串行口1的相关寄存器的相关寄存器2.电源控制寄存器电源控制寄存器PCON,地址为,地址为87HSMOD:波特率倍频选择位。:波特率倍频选择位。该位置该位置1,串行口,串行口1工作在方式工作在方式1、2、3时波特率加倍;时波特率加倍;该位为该位为0,各工作方式的波特,各工作方式的波特率不加倍率不加倍SMOD0:帧错误检测有效控制位。:帧错误检测有
9、效控制位。该位置该位置1,SCON寄存器中的寄存器中的SM0/FE位用于位用于FE功能;功能;该位为该位为0,SCON寄存器中的寄存器中的SM0/FE位用于方式选择。位用于方式选择。a11118.2 串行口串行口1的相关寄存器的相关寄存器3.辅助寄存器辅助寄存器AUXR,地址为,地址为8EHUART_M0 x6:串行口:串行口1方式方式0的的通信速度控制位。通信速度控制位。UART_M0 x6=0,方式,方式0的波特的波特率为系统时钟频率的率为系统时钟频率的12分频;分频;UART_M0 x6=1,方式,方式0的波特的波特率为率为fosc/2。BRTR:独立波特率发生器运行控制位。:独立波特率
10、发生器运行控制位。BRTR=0时,不允许独立波特率发生器工时,不允许独立波特率发生器工作;作;BRTR=1时时,允许独立波特率发生器工作允许独立波特率发生器工作BRTx12:独立波特率发生器计数控制位。:独立波特率发生器计数控制位。BRTx12=0时,独立波特率发生器的计数时,独立波特率发生器的计数时钟源为系统时钟频率时钟源为系统时钟频率fosc的的12分频;分频;BRTx12=1,独立波特率发生器的计数时,独立波特率发生器的计数时钟源为系统时钟频率。钟源为系统时钟频率。S1BRS:串行口:串行口1的波特率发生器选择位。的波特率发生器选择位。S1BRS=0时,选择定时时,选择定时/计数器计数器
11、T1作为串作为串行口行口1的波特率发生器;的波特率发生器;S1BRS=1时,选择独立波特率发生器作为时,选择独立波特率发生器作为串行口串行口1的波特率发生器的波特率发生器a12128.2 串行口串行口1的相关寄存器的相关寄存器4.独立波特率发生器寄存器独立波特率发生器寄存器BRT,地址为,地址为9CH 独立波特率发生器是专门用于控制串行通信速度的定时独立波特率发生器是专门用于控制串行通信速度的定时器,与定时器,与定时/计数器计数器T1工作于方式工作于方式2的情况相似。的情况相似。BRT用于保用于保存重装时间常数的一个存重装时间常数的一个8位寄存器位寄存器 注意:注意:串行口串行口2 2:只能使
12、用独立波特率发生器控制发送与接收,只能使用独立波特率发生器控制发送与接收,串行口串行口1 1:既可以选择既可以选择T1T1作为波特率发生器,也可以选择独立波作为波特率发生器,也可以选择独立波特率发生器。特率发生器。串行口串行口1 1和串行口和串行口2 2不能同时使用独立波特率发生器,不能同时使用独立波特率发生器,a13138.2 串行口串行口1的相关寄存器的相关寄存器5.唤醒控制寄存器唤醒控制寄存器WAKE_CLKO,地址为,地址为8FHRXD_PIN_IE=0时,禁止时,禁止P3.0/RxD引脚的引脚的下降沿置位下降沿置位RI,也禁止,也禁止RxD引脚唤醒掉电引脚唤醒掉电模式;模式;RXD_
13、PIN_IE=1时,允许时,允许P3.0/RxD引脚的引脚的下降沿将下降沿将RI置置1,并且,并且RxD引脚的下降沿能引脚的下降沿能够唤醒掉电模式够唤醒掉电模式a14148.3 串行口串行口1的工作方式的工作方式8.3.1方式方式0串行口串行口1工作在方式工作在方式0,作同步移位寄存器使用,作同步移位寄存器使用UART_M0 x6:串行口:串行口1方式方式0的的通信速度控制位。通信速度控制位。UART_M0 x6=0,方式,方式0的波特的波特率为系统时钟频率的率为系统时钟频率的12分频;分频;UART_M0 x6=1,方式,方式0的波特的波特率为率为fosc/2。a15158.3 串行口串行口
14、1的工作方式的工作方式8.3.1方式方式0 串行口数据由串行口数据由RxD引脚输入或输出引脚输入或输出,同步移位脉冲通过同步移位脉冲通过TxD引脚输出引脚输出,发送、接收均为发送、接收均为8位数据位数据发送过程:发送过程:在TI=0的条件下,执行MOV SBUF,A指令,启动发送 注意:注意:发送顺序:发送顺序:低位在前,高位在后低位在前,高位在后发送完一帧数据后,由发送完一帧数据后,由硬件将发送中断标志位硬件将发送中断标志位TITI置置1 1,向,向CPUCPU发发出中断请求。出中断请求。若要再次发送数据,若要再次发送数据,必须先通过程序将必须先通过程序将TITI位清位清0 0。a16168
15、.3 串行口串行口1的工作方式的工作方式8.3.1方式方式0 串行口数据由串行口数据由RxD引脚输入或输出引脚输入或输出,同步移位脉冲通过同步移位脉冲通过TxD引脚输出引脚输出,发送、接收均为发送、接收均为8位数据位数据接收过程:接收过程:在RI=0的条件下,接收允许控制位REN置1时,处于接收状态接收完一帧数据后,硬件将接收到的数据存入接收缓冲器SBUF,并将中断标志位RI置1,向CPU发出中断请求 注意:注意:接收顺序:顺序:先收到的是低位,后收到的是高位先收到的是低位,后收到的是高位若要继续接收数据,若要继续接收数据,必须先通过程序将必须先通过程序将RIRI位清位清0 0。a17178.
16、3 串行口串行口1的工作方式的工作方式8.3.2方式方式18位数据位数据,低位在前高位在后,低位在前高位在后发送过程:发送过程:在在TI为为0的条件下的条件下,执行将数据写入,执行将数据写入SBUF的指令的指令时,启动发送过程。时,启动发送过程。在内部移位脉冲的控制下在内部移位脉冲的控制下,TxD引脚首先发送起始位、引脚首先发送起始位、8位数据、停止位,位数据、停止位,发发送完毕后送完毕后TI置置1,向,向CPU发出中断请求发出中断请求a18188.3 串行口串行口1的工作方式的工作方式8.3.2方式方式1接收过程:接收过程:在在RI为为0、接收允许控制位、接收允许控制位REN被置被置1的条件
17、下,的条件下,CPU处于接收状态。当硬件检测到处于接收状态。当硬件检测到RxD引脚由高引脚由高电平变为低电平时,开始接收一帧数据,并同步波电平变为低电平时,开始接收一帧数据,并同步波特率发生器。特率发生器。a19198.3 串行口串行口1的工作方式的工作方式8.3.2方式方式1接收过程:接收过程:(1)RI=0(2)SM2=0或接收到的停止位为或接收到的停止位为1时时 硬件自动将接收到的数据装入接收缓冲器硬件自动将接收到的数据装入接收缓冲器SBUF,同时将停止位写入同时将停止位写入RB8,置中断标志位,置中断标志位RI为为1,向,向CPU提出中断请求。提出中断请求。若不满足两个条件,接收到的数
18、据无法装入接收缓冲器SBUF,数据丢失。注意:注意:无论满足这两个条件与否,接收控制器将继续检测无论满足这两个条件与否,接收控制器将继续检测RxDRxD引脚,接收下一帧数据,所以在接收的过程中,应及时清接收引脚,接收下一帧数据,所以在接收的过程中,应及时清接收中断标志位中断标志位RIRI,以免数据丢失,以免数据丢失a20208.3 串行口串行口1的工作方式的工作方式8.3.3方式方式2、方式、方式3 方式方式2 与方式与方式3唯一的区别唯一的区别在于方式在于方式2的波特率是固定的,的波特率是固定的,而方式而方式3的波特率与波特率发生器有关的波特率与波特率发生器有关 方式方式1与方式与方式3的区
19、别是:的区别是:方式方式1是是8位的串行异步通信、位的串行异步通信、方式方式3是是9位串行异步通信位串行异步通信a21218.3 串行口串行口1的工作方式的工作方式8.3.3方式方式2、方式、方式3发送过程:发送过程:将发送中断标志位将发送中断标志位TI清清0,并通过位传送指令将,并通过位传送指令将第第9位数据写入位数据写入TB8中,然后执行中,然后执行MOV SBUF,A指令,指令,启动发送过程。一帧数据发送完毕,硬件将发送中断启动发送过程。一帧数据发送完毕,硬件将发送中断标志位标志位TI置置1a22228.3 串行口串行口1的工作方式的工作方式8.3.3方式方式2、方式、方式3接收过程:接
20、收过程:允许控制位允许控制位REN被置被置1后处于接收状态。接收到后处于接收状态。接收到的第的第9位(而不是停止位)装入到位(而不是停止位)装入到RB8位中位中 注意:注意:在方式在方式2 2和方式和方式3 3中,中,SM2SM2为为1 1时,只有接收到的第时,只有接收到的第9 9位数位数据据RB8RB8位为位为1 1时,接收才能有效时,接收才能有效a23238.3 串行口串行口1的工作方式的工作方式8.3.4 多机通信多机通信在多机通信中在多机通信中方式方式2和和方式方式3更适合主从通信更适合主从通信主机的SM2位清0从机的SM2位置1通信过程举例 (1)主机向从机发送某一从机的地址,发送前
21、将主机向从机发送某一从机的地址,发送前将TB8位置位置1,然后进入接收状态然后进入接收状态 (2)各从机接收到主机送出的地址信息后,各从机接收到主机送出的地址信息后,与本机地址相符时与本机地址相符时,表示被选中,将本机地址回发给主机,表示被选中,将本机地址回发给主机(TB8位为位为0),执行),执行CLR SM2指令。指令。未被选中的从机未被选中的从机,SM2位依然为位依然为1,接收不到,接收不到TB8位为位为0的数的数据信息。据信息。a24248.3 串行口串行口1的工作方式的工作方式8.3.4 多机通信多机通信在多机通信中在多机通信中方式方式2和和方式方式3更适合主从通信更适合主从通信主机
22、的SM2位清0从机的SM2位置1通信过程举例 (3)主机收到从机回发的地址后,检验是否与主机先前发主机收到从机回发的地址后,检验是否与主机先前发送的地址一致,若不同,说明发送过程出现错误,再回到第(送的地址一致,若不同,说明发送过程出现错误,再回到第(1)步,步,若相同,可以发出指令或数据信息若相同,可以发出指令或数据信息(TB8位为位为0)。(4)从机正确地接收到主机所发送到的指令或数据信息后,从机正确地接收到主机所发送到的指令或数据信息后,回发先前约定好的应答信号给主机,同时将回发先前约定好的应答信号给主机,同时将SM2位重新置位重新置1,以,以便从机能够接收主机再次发送地址信息,本次主机
23、与从机通信过便从机能够接收主机再次发送地址信息,本次主机与从机通信过程结束。程结束。理论上,一个主机可以与理论上,一个主机可以与256个个从机通信从机通信,但由于每个单片机引脚,但由于每个单片机引脚的输入阻抗及总线上阻抗的存在,的输入阻抗及总线上阻抗的存在,总线上所允许并联从机的数量要受总线上所允许并联从机的数量要受到限制。如果主机与过多的从机连到限制。如果主机与过多的从机连接时,波特率应设置的低一些以减接时,波特率应设置的低一些以减少通信错误少通信错误a25258.4串行口串行口1通信中波特率的设置通信中波特率的设置(1)方式)方式0辅助寄存器AUXRUART_M0 x6=0时,时,波特率是
24、波特率是fosc/12UART_M0 x6=1时,时,波特率是波特率是fosc/2a26268.4串行口串行口1通信中波特率的设置通信中波特率的设置(2)方式)方式2电源控制寄存器PCON波特率波特率=(2SMOD/64)foscSMOD=0时,时,波特率波特率=fosc/64当当SMOD=1时,时,波特率波特率=fosc/32SMOD=0时,时,波特率波特率=fosc/64当当SMOD=1时,时,波特率波特率=fosc/32a27278.4串行口串行口1通信中波特率的设置通信中波特率的设置(3)方式)方式1和方式和方式3波特率波特率=2SMOD(定时定时/计数器计数器T1的溢出率的溢出率/3
25、2)SMOD=0时,时,波特率波特率=T1的溢出率的溢出率/32当当SMOD=1时,时,波特率波特率=T1的溢出率的溢出率/16T1x12=0时,时,T1的溢出率的溢出率=(fosc/12)/(256-THl)T1x12=1时,时,T1的溢出率的溢出率=fosc/(256-TH1)a28288.4串行口串行口1通信中波特率的设置通信中波特率的设置(3)方式)方式1和方式和方式3波特率波特率=2SMOD(独立波特率发生器的溢出率独立波特率发生器的溢出率/32)BRTx12=0时,时,独立波特率发生器独立波特率发生器的溢出率的溢出率=(fosc/12)/(256-BRT)BRTx12=1时,时,独
展开阅读全文