东北石油大学测控单片机课件第七章串行通信PPT08.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《东北石油大学测控单片机课件第七章串行通信PPT08.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北 石油大学 测控 单片机 课件 第七 串行 通信 PPT08
- 资源描述:
-
1、7.0 7.0 概述概述7.1 7.1 串行口的结构串行口的结构 7.2 7.2 串行口的工作方式串行口的工作方式MCS-51 MCS-51 单片机内部集成了一个全双工异步通信串行口单片机内部集成了一个全双工异步通信串行口1 1、并行通信和串行通信、并行通信和串行通信1010P1.0P1.1P1.2P1.3RXDTXD单片机单片机外设外设1外设外设20 1 0 11 0 1 0P1.70 1 0 17.0 7.0 概述概述异步方式:异步方式:双方只有数据线而没有时钟线。双方都以自己的时双方只有数据线而没有时钟线。双方都以自己的时钟源控制发送和接收的速率,以钟源控制发送和接收的速率,以字符为单位
2、进行数据传送,字符为单位进行数据传送,每每一个字符均按固定的字符格式传送,又被称为帧。一个字符均按固定的字符格式传送,又被称为帧。2 2、异步方式和同步方式、异步方式和同步方式优点:优点:是不需要传送同步脉冲,可靠性高,所需设备简单;是不需要传送同步脉冲,可靠性高,所需设备简单;缺点:缺点:是传输速率低(增加起始位和停止位)。是传输速率低(增加起始位和停止位)。同步方式:同步方式:l在物理结构上,通信双方除了通信的数据线外还增加在物理结构上,通信双方除了通信的数据线外还增加了一个通信用的了一个通信用的“时钟传输线时钟传输线clock”clock”。由主控方提供。由主控方提供时钟信号时钟信号cl
3、ockclock。l由于有了时钟信号来由于有了时钟信号来“同步同步”发送或接收操作,所以发送或接收操作,所以被传送的数据不再使用被传送的数据不再使用“起始位起始位”和和“停止位停止位”,因,因而提高了传送速度。因此同步通信常被用于系统内部而提高了传送速度。因此同步通信常被用于系统内部各芯片之间的接口设计。各芯片之间的接口设计。l由于同步通信多了一条由于同步通信多了一条“时钟线时钟线”,因此不太适合远,因此不太适合远距离的通信。距离的通信。优点优点是数据传输速率较高;是数据传输速率较高;缺点缺点是要求发送时钟和接收时钟保持严格同步。是要求发送时钟和接收时钟保持严格同步。主主控控方方被被控控方方d
4、ataclock主主控控方方被被控控方方dataclock 主控方发送数据主控方发送数据主控方接收数据主控方接收数据 3、串行通信工作方式、串行通信工作方式单工单工 A 发发 B 收收半双工半双工 A 发发 收收 B 收收 发发广播电台广播电台 收音机收音机对讲机对讲机全双工全双工 A 发发 收收 B 收收 发发电话机电话机例:例:异步串行通信的数据传送的速率是异步串行通信的数据传送的速率是120120字符字符/ /秒,而每个字符规秒,而每个字符规定包含定包含1010位(位( 1 1个起始位、个起始位、8 8个数据位、个数据位、1 1个停止位)数字,则传输个停止位)数字,则传输波特率为:波特率
5、为: 120120字符字符/ /秒秒 10 10位位/ /字符字符=1200=1200位位/ /秒秒= 1200bps= 1200bps4、波特率、波特率l用于表征串行通信速率的参数称为用于表征串行通信速率的参数称为“波特率波特率”;l波特率是指波特率是指每秒钟传送二进制的位数每秒钟传送二进制的位数; ; (发送一个二进制位的时间的倒数)(发送一个二进制位的时间的倒数)l 波特率的单位为:位波特率的单位为:位/ /秒(秒(bit / sbit / s);波特();波特(BaudBaud)。)。l波特率取值范围一般为:波特率取值范围一般为: 0 0 115200 bit/s115200 bit/
6、s。影响波特率的。影响波特率的 主要因素取决于传输线的分布电容、通信电平标准和传送距离;主要因素取决于传输线的分布电容、通信电平标准和传送距离;TTL电平、电平、RS-232、RS-485等通信标准。等通信标准。5、串行通信的电平标准、串行通信的电平标准 TTL电平(电平(05V):):1.5米以内。米以内。RS-232标准(标准(+12V-12V):):15米之内。米之内。RS-485标准(差分输入输出):标准(差分输入输出):1200米以上。米以上。 TTL电平:电平: 逻辑逻辑1:5V 逻辑逻辑0:0VRS-232标准:逻辑标准:逻辑1:-3-15V 逻辑逻辑0:+3V+15VRS-48
7、5标准:逻辑标准:逻辑1:+(26)V 逻辑逻辑0:-(26)VMCS-51 TXD(甲)(甲) RXD RXD MCS-51 TXD (乙)(乙)单片机甲单片机甲乙之间近距乙之间近距离离的直接通讯的直接通讯RS-232RS-232或或485485RS-232RS-232或或485485单片机甲乙两地之间远距离通讯单片机甲乙两地之间远距离通讯MCS-51 TXD(甲)(甲) RXD RXD MCS-51 TXD (乙)(乙)RS-232PC机机COM1,COM2单片机与单片机与PCPC机之间的数据通讯机之间的数据通讯MCS-51 TXDRXD异步串行异步串行UART、同步串行同步串行USRT总
8、线接口总线接口;SPI(Micro wire)总线接口)总线接口 -同步外设接口同步外设接口(SPI)是由摩托罗是由摩托罗 拉公司开发全双工同步串行总线。拉公司开发全双工同步串行总线。 I2C总线接口总线接口-由由PHILIPS公司开发的两线式串行总线。公司开发的两线式串行总线。 1-Wire总线接口总线接口-是是 Maxim 子公司达拉斯半导体的专利技术,采子公司达拉斯半导体的专利技术,采 用单一信号线,用单一信号线, CAN总线接口总线接口 - 1986 年德国电气商博世公司开发出面年德国电气商博世公司开发出面 向汽车的向汽车的CAN 通信协议通信协议 ;USB总线接口总线接口-是由是由I
9、ntel、 Compaq、Digital、IBM、 Microsoft、NEC、Northern Telecom等等7家家 世界著名的计算机和通信公司共同推出。世界著名的计算机和通信公司共同推出。6、当前嵌入式系统流行的串行接口、当前嵌入式系统流行的串行接口l 4种工作方式如何设置种工作方式如何设置l波特率如何设置波特率如何设置发送SBUF(99H)门发送控制器接收控制器1输入移位寄存器串行控制寄存器(98H)定时器1接收SBUF(99H)888TIRI内部总线TXD(P3.1)RXD(P3.0)串行口中断7.1 7.1 串行口的结构串行口的结构一、串行口的结构图一、串行口的结构图:l CPU
10、如何查知已发完或已接收完数据如何查知已发完或已接收完数据l 如何发送和接收数据如何发送和接收数据自自然然优优先先级级矢矢量量地地址址自自然然优优先先级级矢矢量量地地址址高级中高级中断请求断请求PCPCPCPC断请求断请求低级中低级中SCONSCON中断标志中断标志IPIPPX0PX01 1PT0PT01 11 10 0PX1PX11 10 0PSPS1 10 00 0PT1PT10 0IEIEEX0EX0ET0ET0EX1EX1ET1ET1ESESTCONTCONIE0IE0TF0TF0IE1IE1TF1TF1TITIRIRIRXRXTXTXT1T11 1INT1INT10 0T0T0INT0
11、INT01 10 0源允许源允许 总允许总允许优先级优先级硬件查询硬件查询EAEAP3.0P3.1P3.5P3.4P3.2P3.3IT0IT12、SCON:串行口控制寄存器串行口控制寄存器 98HSM0SM1SM2RENTB8RB8 TI RI3 3、PCON:波特率加倍寄存器波特率加倍寄存器 87H1、SBUF:串行发送串行发送 / 接收数据缓冲器接收数据缓冲器 99HEA -ESET1EX1ET0EX04、IE:中断允许寄存器中断允许寄存器 A8HSMOD发送发送接收接收5 5、IP: 中断优先级寄存器中断优先级寄存器- -PSPT1PX1PT0PX0B8H1、SBUF 串行发送串行发送
12、/ / 接收数据缓冲器接收数据缓冲器 99HSBUF SBUF 串行发送串行发送 / / 接收数据缓冲器是接收数据缓冲器是两个独立的物理单元两个独立的物理单元, 共用一个地址(共用一个地址(99H99H),可同时收、发数据。),可同时收、发数据。指指注:向发送缓冲器注:向发送缓冲器SBUFSBUF写入数据即可发送数据;写入数据即可发送数据; 从接收缓冲器从接收缓冲器SBUFSBUF读出数据即可接收数据。读出数据即可接收数据。发送发送SBUFSBUF接收接收SBUFSBUFMOV SBUF,A ;启动一次数据发送;启动一次数据发送MOV A,SBUF ;完成一次数据接收完成一次数据接收二、特殊功
13、能寄存器二、特殊功能寄存器 TI :发送中断标志,发送一帧结束,发送中断标志,发送一帧结束,TI=1,必须软件清零,必须软件清零 RI :接收中断标志,接收一帧结束,接收中断标志,接收一帧结束,RI=1RI=1,必须软件清零,必须软件清零 RB8:方式方式1中放中放停止位,方式停止位,方式2、3中放中放接收的第九位数接收的第九位数REN:允许接收控制位,软件置位或清零允许接收控制位,软件置位或清零SM2:多机通信控制位(常与多机通信控制位(常与RB8配合,决定是否激活配合,决定是否激活RI)SM0、SM1:工作方式选择位(四种工作方式)工作方式选择位(四种工作方式)0000:方式:方式0 0,
14、8 8位同步移位寄存器,其波特率为位同步移位寄存器,其波特率为f fosc/12osc/12;0101:方式:方式1 1,1010位位UARTUART,其波特率为可变,由定时器控制;,其波特率为可变,由定时器控制;1010:方式:方式2 2,1111位位UARTUART,其波特率为,其波特率为f fosc/64osc/64或或f fosc/32osc/32;1111:方式:方式3 3,1111位位UARTUART,其波特率为可变,由定时器控制。,其波特率为可变,由定时器控制。2、 SCON:串行口控制寄存器:串行口控制寄存器 98HSM0SM1SM2RENTB8RB8 TI RITB8:将要:
15、将要发送的第九位数,发送的第九位数, 在执行在执行 MOV SBUF ,A 指令之前指令之前 要事先将要事先将TB8设定好;设定好;双机通信作校验位,多机通信作地双机通信作校验位,多机通信作地 址址/数据标识位。数据标识位。SMOD3、 PCON: 波特率加倍寄存器波特率加倍寄存器 87HSMOD:串行口波特率倍增位串行口波特率倍增位 1:串行口波特率加倍。:串行口波特率加倍。 0:串行口波特率不变,系统复位时默认为:串行口波特率不变,系统复位时默认为SMOD=0。(1 1)当)当CPUCPU执行:执行:MOV SBUFMOV SBUF,A A 指令后,便发送一帧数据。指令后,便发送一帧数据。
16、思考思考(1 1) CPUCPU如何发送数据?如何发送数据? (2 2)CPUCPU如何知道已发送完一帧数据?如何知道已发送完一帧数据?方案一:使用查询的方式对方案一:使用查询的方式对TI进行检测:进行检测: JNBTI,$;如果;如果TI1 则等待则等待 CLR TI ;清楚标志位;清楚标志位 MOV SBUF,A ;TI=1时发送下一个数据时发送下一个数据方案二:如果系统中断是开放的,则方案二:如果系统中断是开放的,则TI=1会自动引发中断。会自动引发中断。 CLR TI ;清楚标志位;清楚标志位 MOV SBUF, A ;在中断程序中发送下一个数据;在中断程序中发送下一个数据;(2 2)
17、当完成一帧数据的发送后,)当完成一帧数据的发送后,TI=1TI=1,有两种方案可以知,有两种方案可以知 道已发完一帧数据。道已发完一帧数据。三、接收和发送操作三、接收和发送操作(1 1)当当SUBF从从RXD引脚接收完一个完整的数据帧时引脚接收完一个完整的数据帧时RI=1思考思考(1 1)CPUCPU如何知道已接收完一帧数据?如何知道已接收完一帧数据? (2 2)CPUCPU如何处理接收的数据?如何处理接收的数据?(2 2)CPUCPU可以使用两种方案来处理接收的数据:可以使用两种方案来处理接收的数据:方案一:方案一:CPU采用查询采用查询RI来控制数据的读取。来控制数据的读取。JNB RI,
18、$;如果;如果RI1 则等待则等待 CLR RI ;清楚标志位;清楚标志位 MOV A,SBUF ;RI=1时,取时,取SBUF中数据送中数据送A。方案二:如果中断是开放的,则方案二:如果中断是开放的,则RI=1时会自动引发中断。时会自动引发中断。 CLR RI MOV A,SBUF ; 中断方式接收数据;中断方式接收数据; 1、 波特率:固定为波特率:固定为fosc / 12 2、 数据格式:一帧信息数据格式:一帧信息8位位 RXD :接收、发送数据端,:接收、发送数据端,接收接收/发送完,置位发送完,置位RI / TI , (SM2 = 0) TXD :产生同步移位脉冲:产生同步移位脉冲
19、7.2 7.2 串行口的工作方式串行口的工作方式一、方式一、方式0 0:同步移位寄存器输入输出方式:同步移位寄存器输入输出方式串行口方式串行口方式0 0的时序的时序思考:思考:1 1、如何启动发送过程?、如何启动发送过程?2 2、如何知道发送完毕?、如何知道发送完毕? 2 2、多长时间移一位?、多长时间移一位?思考:思考:1 1、如何启动接收过程?、如何启动接收过程?2 2、如何知道接收完毕?、如何知道接收完毕? 2 2、多长时间接收一位?、多长时间接收一位?接收条件:接收条件: TI=0TI=0, 置位置位 REN=1REN=1发送条件:发送条件:TI=0TI=01283456 10 11
20、12 13数 据 输 出移 位 脉 冲RXDTXD805174LS164D7 D6 D5 D4 D3 D2 D1 D03 3、方式、方式0 0的应用:扩展并行输入输出口的应用:扩展并行输入输出口 CB: MOV R7,#0AH MOV R0,#50H MOV SCON ,#00HSEND1: MOV A,R0 MOV SBUF ,AWAIT: JNB TI,WAIT CLR TI INC R0 DJNZ R7, SEND1 RET例:将以例:将以50H50H为首地址的为首地址的1010个单元中数据由串口送出。个单元中数据由串口送出。926543 14 13 12 11数 据 输 入移 位 脉
21、冲RXDTXD805174LS165D7D6D5D4D3D2D1D0 CB:MOV R7,#05H MOV R0,#30H RE1: MOV SCON ,#10HWAIT: JNB RI,WAIT CLR RI MOV A,SBUF MOV R0 ,A INC R0 DJNZ R7,RE1 RET例:从扩展口读入例:从扩展口读入5 5个数据,存到内部个数据,存到内部RAMRAM以以30H30H开始的单元中。开始的单元中。 1 1、波特率:(、波特率:(2SMODT1的溢出率)的溢出率)/ 32 ,可变。,可变。 2、 数据格式:数据格式: 一帧信息一帧信息10位。位。D0D1D2D3D4D5D
22、6D7停止位停止位起始位起始位发送发送D7D6D5D4D3D2D1D0起始位起始位停止位停止位接收接收送送 RB8当接收到数据后,必须同时满足以下当接收到数据后,必须同时满足以下两个条件两个条件,接收才真正有效:,接收才真正有效: REN = 1,RI = 0SM2 = 0 或接收到的停止位为或接收到的停止位为1。此时,数据装载此时,数据装载SBUF, RI置置1 ,停止位进入,停止位进入RB8。 二、方式二、方式1 1:波特率可变的:波特率可变的1010位异步通信方式位异步通信方式 注意:何时开始接收信息?注意:何时开始接收信息?检测到起始位的负跳变时,开始接收。检测到起始位的负跳变时,开始
23、接收。 1 1、波特率:、波特率:(2 2SMODSMODfoscfosc)/ 64/ 64 , ,固定。固定。 2 2、一帧信息、一帧信息1111位。位。 D0D1D2D3D4D5D6D7TB8停止位停止位起始位起始位发送发送发送完数据置位发送完数据置位TI。 TB8D7D6D5D4D3D2D1D0起始位起始位停止位停止位接收接收接收到有效数据完毕,置位接收到有效数据完毕,置位RI的条件的条件: REN = 1,RI = 0 且且SM2 = 0或接收到第或接收到第9位数据为位数据为1,此时,数据装载此时,数据装载SBUF,RI置置1,第,第9位数据(位数据(TB8)送入)送入 RB8。 送送
24、RB8三、方式三、方式2 2:固定波特率的:固定波特率的1111位异步接收位异步接收/ /发送方式发送方式串行口方式串行口方式2、3的时序的时序 1、波特率:(、波特率:(2SMODT1的溢出率)的溢出率)/ 32 ,可变,同方式可变,同方式1。 2 2、一帧信息、一帧信息1111位。位。 四、方式四、方式3 3:可变波特率的:可变波特率的1111位异步接收位异步接收/ /发送方式发送方式方式方式0 0:波特率波特率固定为固定为fosc/12fosc/12。方式方式2 2:波特率由波特率由PCONPCON中的选择位中的选择位SMODSMOD来决定,可由下式表示:来决定,可由下式表示: 波特率波
25、特率= =(2 2SMODSMOD/64/64)foscfosc 方式方式1 1和方式和方式3 3:波特率是波特率是可变可变的,由定时器的,由定时器T1T1的溢出率控制。的溢出率控制。 波特率波特率= =(2 2SMODSMOD/32/32)定时器定时器T1T1溢出率溢出率 T1T1溢出率溢出率=T1=T1计数率计数率/ /产生溢出所需的周期产生溢出所需的周期 = =(fosc/12fosc/12)/ /(2 28 8 TCTC) 五、串行口的通信波特率五、串行口的通信波特率例例: :设晶振设晶振foscfosc为为11.0592MHz11.0592MHz,选定定时器工作方式,选定定时器工作方
展开阅读全文