最新单片机原理及应用(陈燕第7章串行口ppt课件.ppt
《最新单片机原理及应用(陈燕第7章串行口ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理及应用(陈燕第7章串行口ppt课件.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2内容概要内容概要n串行口的基本工作原理串行口的基本工作原理n与串行口有关的特殊功能寄存器与串行口有关的特殊功能寄存器n串行口的串行口的4种工作方式种工作方式n串行口多机通信的工作原理串行口多机通信的工作原理n双机串行通信的软件编程。双机串行通信的软件编程。串行口为串行口为全双工全双工的的通用异步收发通用异步收发(UART)。)。全双工全双工就就是两个单片机之间串行数据是两个单片机之间串行数据可同时双向传输可同时双向传输。异步通信异步通信,就是收、发双方就是收、发双方使用各自的时钟使用各自的时钟控制发送和接收过程,这控制发送和接收过程,这样可样可省去省去收、发双方的收、发双方的一条同步时钟信号
2、线一条同步时钟信号线,连接简单且,连接简单且易实现。易实现。9(7)RI接收中断标志位接收中断标志位方式方式0时,时,接收完第接收完第8位数据位数据时,时,RI由硬件置由硬件置“1”。在其他。在其他工作方式中,串行接收到停止位时,该位置工作方式中,串行接收到停止位时,该位置“1”。RI=1,表示一帧数据接收完毕,并申请中断,要求,表示一帧数据接收完毕,并申请中断,要求CPU从接收从接收SBUF取走数据。该位的状态也可供软件查询。取走数据。该位的状态也可供软件查询。RI必须由软件清必须由软件清“0”。SCON的所有位都可进行位操作清的所有位都可进行位操作清“0”或置或置“1”。107.1.2特殊
3、功能寄存器特殊功能寄存器PCON字节地址字节地址为为87H,不能位寻址。格式如,不能位寻址。格式如图图7-3所示所示。图图7-3特殊功能寄存器特殊功能寄存器PCON的格式的格式通用标志位通用标志位掉电保持模式掉电保持模式空闲模式控制位空闲模式控制位11下面介绍下面介绍PCON中各位功能。仅最高位中各位功能。仅最高位SMOD与串口有与串口有关,关,其他各位其他各位的功能已在的功能已在第第2章章的节电工作方式一节中作的节电工作方式一节中作过介绍。过介绍。SMOD:波特率选择位。波特率选择位。例如例如,方式,方式1的波特率计算公式为的波特率计算公式为方式方式1波特率波特率= 定时器定时器T1的溢出率
4、的溢出率当当SMOD=1时,时,要比要比SMOD=0时的波特率加倍时的波特率加倍,所,所以也称以也称SMOD位为位为波特率倍增位波特率倍增位。SMOD232SMOD232127.2串行口的串行口的4种工作方式种工作方式4种工作方式由特殊功能寄存器种工作方式由特殊功能寄存器SCON中中SM0、SM1位位定义,编码见表定义,编码见表7-1。7.2.1方式方式0方式方式0为为同步移位寄存器输入同步移位寄存器输入/输出方式输出方式。该方式并。该方式并不用不用于两个于两个AT89S51单片机之间的异步串行通信单片机之间的异步串行通信,而是,而是用于串用于串行口外接移位寄存器行口外接移位寄存器,扩展并行,
5、扩展并行I/O口。口。8位数据为一帧,位数据为一帧,无无起始位起始位和和停止位停止位,先发送或接收最,先发送或接收最低位。波特率固定,为低位。波特率固定,为fosc/12。帧格式如。帧格式如图图7-4所示所示。图图7-4方式方式0的帧格式的帧格式131方式方式0发送发送(1)方式)方式0发送过程发送过程当当CPU执行一条将数据执行一条将数据写入发送缓冲器写入发送缓冲器SBUF的指令的指令时,时,产生一个正脉冲产生一个正脉冲,串行口开始把,串行口开始把SBUF中的中的8位数据以位数据以fosc/12的的固定波特率固定波特率从从RXD引脚串行输出,低位在先,引脚串行输出,低位在先,TXD引脚输出同
6、步移位脉冲,引脚输出同步移位脉冲,发送完发送完8位数据,中断标志位数据,中断标志位位TI置置“1”。发送时序如发送时序如图图7-5所示所示。图图7-5方式方式0发送时序发送时序14(2)方式)方式0发送应用举例发送应用举例图图7-6所示为方式所示为方式0发送的一个具体应用,发送的一个具体应用,通过串行口外通过串行口外接接8位位串行输入并行输出移位寄存器串行输入并行输出移位寄存器74LS164,扩展扩展两个两个8位并行输出口位并行输出口的具体电路。的具体电路。方式方式0发送时,发送时,串行数据串行数据由由P3.0(RXD端)送出端)送出,移位移位脉冲脉冲由由P3.1(TXD端)送出端)送出。在移
7、位脉冲的作用下,串行口发送缓冲器的数据逐位地在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从从P3.0串行移入串行移入74LS164中。中。15图图7-6外接串入并出移位寄存器外接串入并出移位寄存器74LS164扩展的并行输扩展的并行输出口出口162方式方式0接收接收(1)方式)方式0接收过程接收过程方式方式0接收,接收,REN为串行口为串行口允许接收控制位允许接收控制位,REN=0,禁止接收;禁止接收;REN=1,允许接收。,允许接收。当向当向SCON寄存器寄存器写入控制字写入控制字(设置为方式(设置为方式0,并使,并使REN位置位置1,同时,同时RI=0)时,)时,产生一个正脉冲,串行口
8、产生一个正脉冲,串行口开始接收数据。开始接收数据。引脚引脚RXD为数据输入端,为数据输入端,TXD为移位脉冲信号输出端,为移位脉冲信号输出端,接收器以接收器以fosc/12的固定波特率的固定波特率采样采样RXD引脚的数据信息,引脚的数据信息,当当接收完接收完8位位数据时,中断标志数据时,中断标志RI置置1,表示一帧数据接收表示一帧数据接收完毕,可进行下一帧数据的接收,时序如图完毕,可进行下一帧数据的接收,时序如图7-7所示所示。17图图7-7方式方式0接收时序接收时序18(2)方式)方式0接收应用举例接收应用举例图图7-8为串行口为串行口外接两片外接两片8位并行输入串行输出的寄存器位并行输入串
9、行输出的寄存器74LS165扩展两个扩展两个8位并行输入口的电路位并行输入口的电路。当当74LS165的的S/端由高到低跳变时,并行输入端的数端由高到低跳变时,并行输入端的数据被置入寄存器;据被置入寄存器;当当S/=1,且,且时钟禁止端(第时钟禁止端(第15脚)为脚)为低电平低电平时,时,允许允许TXD(P3.1)串行移位脉冲输入)串行移位脉冲输入,这时在,这时在移位脉冲作用下,数据由右向左方向移动,以移位脉冲作用下,数据由右向左方向移动,以串行方式串行方式进进入串行口的接收缓冲器中。入串行口的接收缓冲器中。LL19图图7-8扩展扩展74LS165作为并行输入口作为并行输入口20在在图图7-8
10、中:中:TXD(P3.1)作为移位脉冲输出与所有)作为移位脉冲输出与所有75LS165的移的移位脉冲输入端位脉冲输入端CP相连;相连;RXD(P3.0)作为串行数据输入端与)作为串行数据输入端与74LS165的串行的串行输出端输出端QH相连;相连;P1.0与与S/相连,用来控制相连,用来控制74LS165的的串行移位或并行输入;串行移位或并行输入;74LS165的的时钟禁止端时钟禁止端(第(第15脚)接地,表示允许时脚)接地,表示允许时钟输入。钟输入。当扩展多个当扩展多个8位输入口时,相邻两芯片的首尾(位输入口时,相邻两芯片的首尾(QH与与SIN)相连。)相连。L21在方式在方式0,SCON中
11、的中的TB8、RB8位没有用到,位没有用到,发送或发送或接收完接收完8位数据由硬件使位数据由硬件使TI或或RI中断标志位置中断标志位置“1”,CPU响应响应TI或或RI中断,在中断服务程序中向发送中断,在中断服务程序中向发送SBUF中送入中送入下一个要发送的数据或从接收下一个要发送的数据或从接收SBUF中把接收到的中把接收到的1B存入存入内部内部RAM中。中。注意,注意,TI或或RI标志位必须由软件清标志位必须由软件清“0”,采用如下指,采用如下指令:令:CLRTI;TI位清位清“0”CLRRI;RI位清位清“0”方式方式0时,时,SM2位(多机通信控制位)必须为位(多机通信控制位)必须为0。
12、227.2.2方式方式1方式方式1为双机串行通信方式,如为双机串行通信方式,如图图7-9所示。所示。当当SM0、SM1=01时,串行口设为方式时,串行口设为方式1的双机串行通的双机串行通信。信。TXD脚和脚和RXD脚分别用于发送和接收数据。脚分别用于发送和接收数据。图图7-9方式方式1双机串行通信的连接电路双机串行通信的连接电路23方式方式1一帧数据为一帧数据为10位位,1个起始位(个起始位(0),),8个数据位,个数据位,1个停止位(个停止位(1),),先发送或接收最低位。帧格式如先发送或接收最低位。帧格式如图图7-10所示所示。图图7-10方式方式1的帧格式的帧格式方式方式1为为波特率可变
13、波特率可变的的8位异步通信接口。波特率由下位异步通信接口。波特率由下式确定:式确定:方式方式1波特率波特率= 定时器定时器T1的溢出率的溢出率式中,式中,SMOD为为PCON寄存器的最高位的值(寄存器的最高位的值(0或或1)。)。SMOD232241方式方式1发送发送方式方式1输出时,数据位由输出时,数据位由TXD端端输出,发送输出,发送一帧信息为一帧信息为10位位:1位起始位位起始位0,8位数据位(先低位)和位数据位(先低位)和1位停止位位停止位1。当当CPU执行一条数据写执行一条数据写SBUF的指令,就的指令,就启动发送启动发送。发送。发送时序见时序见图图7-11。图图7-11中中TX时钟
14、时钟的频率就是发送的波特率。的频率就是发送的波特率。发送开始时发送开始时,内部发送控制信号,内部发送控制信号变为有效,将起变为有效,将起始位向始位向TXD脚(脚(P3.1)输出,此后每经过一个)输出,此后每经过一个TX时钟周时钟周期,便产生一个移位脉冲,并由期,便产生一个移位脉冲,并由TXD引脚输出一个数据位。引脚输出一个数据位。8位数据位全部发送完毕后位数据位全部发送完毕后,中断标志位,中断标志位TI置置1。25 图图7-11方式方式1发送时序发送时序262 2方式方式1 1接收接收方式方式1 1接收时(接收时(RENREN= =1 1),数据从),数据从RXDRXD(P3.0P3.0)引脚
15、输)引脚输入。当入。当检测到起始位的检测到起始位的负跳变负跳变,则,则开始接收开始接收。接收时序见。接收时序见图图7-127-12。接收时,定时控制信号有接收时,定时控制信号有两种两种,一种一种是是接收移位时钟接收移位时钟(RXRX时钟),它的频率和传送的波特率相同,时钟),它的频率和传送的波特率相同,另一种另一种是是位位检测器采样脉冲检测器采样脉冲,频率是频率是RXRX时钟的时钟的1616倍倍。以波特率的。以波特率的1616倍倍速率采样速率采样RXDRXD脚状态。脚状态。当采样到当采样到RXDRXD端从端从1 1到到0 0的负跳变时就的负跳变时就启动检测器启动检测器,接收的值是接收的值是3
16、3次次连续采样(第连续采样(第7 7、8 8、9 9个脉冲个脉冲时采样)取时采样)取两次相同两次相同的值的值,以确认起始位(负跳变)的开,以确认起始位(负跳变)的开始,较好地消除干扰引起的影响。始,较好地消除干扰引起的影响。27 图图7-12方式方式1接收时序接收时序 当确认当确认起始位有效起始位有效时,时,开始接收开始接收一帧信息。每一位数据,也一帧信息。每一位数据,也都进行都进行3次连续采样次连续采样(第(第7、8、9个脉冲采样),接收的值是个脉冲采样),接收的值是3次采样中至少次采样中至少两次相同的值两次相同的值。当一帧数据。当一帧数据接收完毕后接收完毕后,同时同时满满足以下两个条件足以
17、下两个条件,接收才有效。,接收才有效。28(1)RI=0,即上一帧数据接收完成时,即上一帧数据接收完成时,RI=1发出的中发出的中断请求已被响应,断请求已被响应,SBUF中的数据已被取走,中的数据已被取走,说明说明“接收接收SBUF”已空。已空。(2)SM2=0或收到的停止位或收到的停止位=1(方式(方式1时,停止位已时,停止位已进入进入RB8),则将接收到的数据装入),则将接收到的数据装入SBUF和和RB8(装入(装入的是停止位),且中断标志的是停止位),且中断标志RI置置“1”。若不同时满足两个条件,收的数据不能装入若不同时满足两个条件,收的数据不能装入SBUF,该帧,该帧数据将丢弃。数据
18、将丢弃。297.2.3方式方式2方式方式2和方式和方式3,为,为9位异步通信接口。位异步通信接口。每帧数据为每帧数据为11位位,1位起始位位起始位0,8位数据位(先低位),位数据位(先低位),1位可程控为位可程控为1或或0的第的第9位数据和位数据和1位停止位位停止位。方式。方式2、方式、方式3帧格式如帧格式如图图7-13所示所示。图图7-13方式方式2、方式、方式3的帧格式的帧格式方式方式2波特率波特率 = foscSMOD264301方式方式2发送发送发送前,发送前,先根据通信协议由软件设置先根据通信协议由软件设置TB8(如奇偶校验(如奇偶校验位或多机通信的地址位或多机通信的地址/数据标志位
19、),然后将要发送的数数据标志位),然后将要发送的数据写入据写入SBUF,即启动发送。,即启动发送。TB8自动装入自动装入第第9位数据位,位数据位,逐一发送。发送完毕,使逐一发送。发送完毕,使TI位置位置“1”。发送时序如发送时序如图图7-14所示。所示。 图图7-14方式方式2和方式和方式3发送时序发送时序31【例例7-1】方式方式2发送在发送在双机串行通信双机串行通信中的应用中的应用下面的发送中断服务程序,以下面的发送中断服务程序,以TB8作为作为奇偶校验位奇偶校验位,偶校验偶校验发送发送。数据写入。数据写入SBUF之前,之前,先将数据的偶校验位写入先将数据的偶校验位写入TB8(设第(设第2
20、组的工作寄存器区的组的工作寄存器区的R0作为发送数据区地址指针)。作为发送数据区地址指针)。PIPTI: PUSHPSW;现场保护;现场保护PUSHAccSETBRS1;选择第;选择第2组工作寄存器区组工作寄存器区CLRRS0CLRTI;发送中断标志清;发送中断标志清“0”MOVA,R0;取数据;取数据MOVC,P;校验位送;校验位送TB8,采用偶校验采用偶校验MOVTB8,C;P=1,校验位,校验位TB8=1,P=0,校验,校验;位位TB8=032MOVSBUF,A;A数据发送,同时发数据发送,同时发TB8INCR0;数据指针加;数据指针加1POP Acc;恢复现场;恢复现场POP PSWR
21、ETI;中断返回;中断返回2方式方式2接收接收SM0、SM1=10,且,且REN=1时,以方式时,以方式2接收数据。接收数据。数据由数据由RXD端端输入,接收输入,接收11位信息。当位检测逻辑采样到位信息。当位检测逻辑采样到RXD的的负跳变负跳变,判断起始位有效,便开始接收一帧信息。,判断起始位有效,便开始接收一帧信息。在接收完第在接收完第9位数据后,位数据后,需满足以下两个条件,需满足以下两个条件,才能将接才能将接收到的数据送入收到的数据送入SBUF(接收缓冲器)。(接收缓冲器)。(1)RI=0,意味着接收缓冲器为空。,意味着接收缓冲器为空。(2)SM2=0或接收到的第或接收到的第9位数据位
22、位数据位RB8=1。3334当当满足上述两个条件满足上述两个条件时,时,收到的数据送收到的数据送SBUF(接收缓(接收缓冲器),第冲器),第9位数据送入位数据送入RB8,且,且RI置置“1”。若不满足这若不满足这两个条件两个条件,接收的信息将被丢弃。,接收的信息将被丢弃。串行口方式串行口方式2和方式和方式3接收时序接收时序如如图图7-15所示所示。图图7-15方式方式2和方式和方式3接收时序接收时序35【例例7-2】方式方式2接收在接收在双机通信双机通信中的应用。中的应用。本例对例本例对例7-1发送的数据进行发送的数据进行偶校验接收偶校验接收,程序如下,程序如下(设(设1组寄存器区的组寄存器区
23、的R0为数据缓冲区指针)。为数据缓冲区指针)。PIRI:PUSHPSW;保护现场;保护现场PUSHAccSETBRS0 ;选择;选择1组寄存器区组寄存器区CLRRS1CLRRIMOVA,SBUF;将接收到数据送到累加器;将接收到数据送到累加器AMOVC,P;接收到数据字节的奇偶性送入;接收到数据字节的奇偶性送入C位位36JNCL1;C=0,收的字节,收的字节1的个数为偶数,跳的个数为偶数,跳L1处处JNBRB8,ERP;C=1,再判,再判RB8=0?如?如RB8=0,则,则;出错,跳;出错,跳ERP出错处理出错处理AJMPL2;C=1,RB8=1,收的数据正确,跳,收的数据正确,跳L2处处L1
24、:JBRB8,ERP;C=0,再判,再判RB8=1?如?如RB8=1,;则出错,跳;则出错,跳ERP出错处理出错处理L2:MOVR0,A;C=0,RB8=0或或C=1,RB8=1,;接收数据正确,存入数据缓冲区;接收数据正确,存入数据缓冲区INCR0;数据缓冲区指针增;数据缓冲区指针增1,为下次接收做准备,为下次接收做准备POP Acc;恢复现场;恢复现场POP PSWERP:;出错处理程序段入口;出错处理程序段入口RETI377.2.4方式方式3SM0、SM1=11时,方式时,方式3。为波。为波特率可变的特率可变的9位异步通位异步通信信方式,方式,除了波特率外,方式除了波特率外,方式3和方式
25、和方式2相同相同。方式。方式3发送发送和接收时序和接收时序如如图图7-11和和图图7-12所示。所示。方式方式3波特率波特率= 定时器定时器T1的溢出率的溢出率SMOD232387.3多机通信多机通信多个单片机可利用串行口进行多机通信,经常采用如多个单片机可利用串行口进行多机通信,经常采用如图图7-16所示的所示的主从式结构主从式结构。系统中有。系统中有1个主机(单片机或其个主机(单片机或其他有串行接口的微机)和多个单片机组成的从机系统。他有串行接口的微机)和多个单片机组成的从机系统。主主机的机的RXD与所有从机的与所有从机的TXD端相连端相连,TXD与所有从机的与所有从机的RXD端相连端相连
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新单片机原理及应用陈燕第7章 串行口ppt课件 最新 单片机 原理 应用 陈燕第 串行口 ppt 课件
限制150内