片机的串行接口及串行通信V.ppt
《片机的串行接口及串行通信V.ppt》由会员分享,可在线阅读,更多相关《片机的串行接口及串行通信V.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7 7章章 单片机的串行接口及串单片机的串行接口及串行通信行通信v掌握串行通信的基本概念掌握串行通信的基本概念v掌握单片机串行通信接口的结构掌握单片机串行通信接口的结构v掌握串行通信控制寄存器掌握串行通信控制寄存器v掌握单片机串行通信的工作方式掌握单片机串行通信的工作方式v掌握串行通信的应用及编程方法掌握串行通信的应用及编程方法学习目标学习目标7.1 7.1 串行通信基础串行通信基础7.2 7.2 串行口的结构与工作原理串行口的结构与工作原理7.3 7.3 串行口的控制寄存器串行口的控制寄存器7.4 7.4 单片机串行通信工作方式单片机串行通信工作方式7.5 7.5 单片机串行通信接口技术
2、单片机串行通信接口技术主要内容主要内容7.1 7.1 串行通信基础串行通信基础 通信:通常把控制器与外部设备或控制器通信:通常把控制器与外部设备或控制器与控制器之间的数据传送称为通信。与控制器之间的数据传送称为通信。串行通信就是数据按位顺序进行串行传送,串行通信就是数据按位顺序进行串行传送,最少只需一根传输线即可完成,一般成本低但最少只需一根传输线即可完成,一般成本低但速度较慢。速度较慢。串行通信分为串行通信分为异步和同步异步和同步两种方式。两种方式。同步通信方式在单片机系统中使用较少,同步通信方式在单片机系统中使用较少,所以本节只介绍异步通信。所以本节只介绍异步通信。7.1.1 7.1.1
3、异步串行通信的字符格式异步串行通信的字符格式 异异步步通通信信是是指指通通信信的的发发送送与与接接收收设设备备使使用用各自的时钟控制数据的发送和接收过程。各自的时钟控制数据的发送和接收过程。异异步步串串行行通通信信在在时时钟钟控控制制下下每每次次发发送送一一位位数数据据,若若干干个个位位组组成成字字符符帧帧,一一个个完完整整的的字字符符帧帧完完成成一一个个字字符符的的发发送送,一一个个字字符符接接另另一一个个字字符符的的传传送送就就实实现现了了发发送送与与接接收收设设备备间间的的数数据据通通信。信。n 起始位起始位开始一个字符传送的标志位。开始一个字符传送的标志位。n 数据位数据位起始位之后传
4、送的数据信号位。起始位之后传送的数据信号位。n 奇偶效验位奇偶效验位用于对字符的传送作正确性检查。用于对字符的传送作正确性检查。n 停止位停止位用以标志一个字符的结束。用以标志一个字符的结束。n 位时间位时间发送发送1 1位数据所需时间。位数据所需时间。n 帧(帧(frameframe)从起始位开始到停止位结束的全部内容称从起始位开始到停止位结束的全部内容称 为一帧。为一帧。下图给出了一个字符帧的异步串行通信格式:下图给出了一个字符帧的异步串行通信格式:单单片片机机的的异异步步串串行行通通信信根根据据通通信信距距离离、抗抗干干扰扰性性能能的的要要求求,信信号号的的形形式式可可选选择择TTLTT
5、L电电平平传传输输、RS-232RS-232电电平平传传输输、RS-422ARS-422A或或RS-485RS-485差差分分传传输输等等信信号号形形式式进进行串行数据的传输。行串行数据的传输。单单片片机机串串行行口口控控制制器器的的输输入入、输输出出信信号号均均为为TTLTTL电电平平。这这种种信信号号传传输输形形式式受受传传输输距距离离限限制制,抗抗干干扰扰性性能差,不能进行远距离通信。能差,不能进行远距离通信。对对于于远远距距离离的的系系统统与与系系统统之之间间的的串串行行通通信信,通通常常将将TTLTTL电电平平变变换换为为RS-232RS-232电电平平或或采采用用差差分分形形式式来
6、来实实现现,如如RS-232RS-232、RS-422ARS-422A、RS-485RS-485等等标标准准来来实实现现串串行行通通信信传输。传输。7.1.2 7.1.2 异步串行通信的信号形式异步串行通信的信号形式n 单单工工(Simplex)(Simplex)形形式式:数数据据传传送送是是单单向向的的,通通信信双双方方中一方固定为接收端、一方固定为发送端。中一方固定为接收端、一方固定为发送端。n 半半双双工工(Half-duplex)(Half-duplex)形形式式:数数据据传传送送是是双双向向的的,但但任任何何时时刻刻只只能能由由其其中中的的一一方方发发送送数数据据,另另一一方方接接收
7、收数数据,发送和接收不能同时进行。据,发送和接收不能同时进行。n 全全双双工工(Full-duplex)(Full-duplex)形形式式 :数数据据传传送送是是双双向向的的,且可以同时发送和接收数据。且可以同时发送和接收数据。7.1.3 7.1.3 串行通信的数据通路形式串行通信的数据通路形式单工单工 A 发发 B 收收 A 发发 收收 B 收收 发发例如:广播电台例如:广播电台 收音机收音机半双工半双工例如:例如:对讲机对讲机全双工全双工 A 发发 收收 B 收收 发发例如:例如:电话机电话机分时:半双工一个缓冲器同时:全双工两个缓冲器4.串行通信接口串行通信接口发送方式发送方式CPUD7
8、D6D5D4D3D2D1D0发送寄存器发送寄存器SBUF 0 1D0D1D2D3D4D5D6D7发送时钟发送时钟:接收方式接收方式D0D1D2D3D4D5D6D7 1 0D7D6D5D4D3D2D1D0CPU接收时钟接收时钟接收数据寄接收数据寄存器存器SBUF 度度量量一一个个数数据据通通信信系系统统通通信信能能力力的的方方法法有有两两种种,即波特率和数据传输率即波特率和数据传输率 。波波特特率率:指指单单位位时时间间内内线线路路变变化化次次数数,反反映映了了数数据据的的调调制制信信号号波波形形变变换换的的频频繁繁程程度度。单单位位是是“波波特特”(baud)(baud)。数数据据传传输输率率
9、:指指单单位位时时间间内内传传送送的的信信息息量量,以以每每秒秒钟钟传传送送格格式式位位的的数数量量来来表表示示。单单位位是是“比比特特/秒秒”(bps)(bps)。7.1.4 7.1.4 串行通信的数据传输速率串行通信的数据传输速率1 1波特波特=1bps(=1bps(位位/秒秒)波特率和数据传输率两者相似但不等同,只有当波特率和数据传输率两者相似但不等同,只有当采用基波传输时两者的数值相同。即:采用基波传输时两者的数值相同。即:1.波特率vbps 表征数据位的宽度v同步:Baud=Tclk=Rclkv异步:发Baud=收BaudTclk=nBaud;Rclk=mBaud2.数据帧v每位作用
10、v同步:D0D7v异步:0,D0D7,(P),1采样频率v3.数据包:每一帧数据作用用户名、密码、长度、DATA1、DATA2等 ADRv4.硬件连接:232MCUTTL电平MCUMCUMCU232TTL电平负逻辑TTL电平v0:00.3V +8V+15Vv1:2.75V 15V8V7.1 7.1 串行通信基础串行通信基础7.2 7.2 串行口的结构与工作原理串行口的结构与工作原理7.3 7.3 串行口的控制寄存器串行口的控制寄存器7.4 7.4 单片机串行通信工作方式单片机串行通信工作方式7.5 7.5 单片机串行通信接口技术单片机串行通信接口技术主要内容主要内容 在单片机芯片中,通用异步接
11、收和发送器在单片机芯片中,通用异步接收和发送器UARTUART (Universal(Universal Asynchronous Asynchronous ReceiverReceiverTransmitter)Transmitter)已已作作为为一一个个功功能能部部件件集集成成在在其其中中,构构成成一一个个串串行行通通信信口。口。5l5l系系列列单单片片机机的的串串行行口口是是一一个个可可编编程程的的全全双双工工串串行行通通信信接接口口,通通过过软软件件编编程程,其其帧帧格格式式可可设设置置为为8 8位位、1010位位和和1111位位,数数据据传传输输率率可可以以灵灵活活设设置置,使使用用
12、非非常常方方便灵活。便灵活。7.2 7.2 串行口的结构与工作原理串行口的结构与工作原理7.2.1 7.2.1 串行口结构串行口结构 主要由两个物理上独立的接收、发送缓冲器主要由两个物理上独立的接收、发送缓冲器SBUFSBUF(占用同一地址(占用同一地址99H 99H););一个输入移位寄存器、一个串行控制寄存器一个输入移位寄存器、一个串行控制寄存器SCONSCON和一个波特率发生器组成和一个波特率发生器组成。接收器是双缓冲结构。接收器是双缓冲结构 ;发送器为单缓冲器,因为发送时;发送器为单缓冲器,因为发送时CPUCPU是主动的,是主动的,不会产生重叠错误。不会产生重叠错误。7.2.2 7.2
13、.2 工作原理工作原理 发发送送数数据据时时:CPUCPU向向输输出出缓缓冲冲器器SBUFSBUF写写入入数数据据,同同时时启启动动数数据据串串行行发发送送,在在波波特特率率发发生生器器产产生生的的发发送送时时钟钟控控制制下下,按按照照预预先先设设置置的的帧帧格格式式逐逐位位由由TXDTXD端端输出发送数据。输出发送数据。n接收数据时:接收数据时:UARTUART通过对通过对RXDRXD引脚信号的采样来确认串行数据,引脚信号的采样来确认串行数据,若检测到数据发送起始位,则其后对若检测到数据发送起始位,则其后对RXDRXD引脚每间隔一定时间引脚每间隔一定时间进行采样,采样到的数据在接收时钟控制下
14、以移位方式存入输进行采样,采样到的数据在接收时钟控制下以移位方式存入输入移位寄存器,当数据接收完成或检测到停止位时,则完成了入移位寄存器,当数据接收完成或检测到停止位时,则完成了一个字符帧的接收,输入移位寄存器的内容被送入接收缓冲器一个字符帧的接收,输入移位寄存器的内容被送入接收缓冲器SBUFSBUF,并置相应的标志位。,并置相应的标志位。注意:在串行通信中,收发双方的数据传输率必须一致,否注意:在串行通信中,收发双方的数据传输率必须一致,否则接收方接收的数据会产生混乱。则接收方接收的数据会产生混乱。当一帧数据发送完毕当一帧数据发送完毕(即发送缓冲器空即发送缓冲器空),硬件置位,硬件置位发送中
15、断标志位发送中断标志位TI(SCON.1)TI(SCON.1)。这样就可以采用中断或查。这样就可以采用中断或查询的方式来可发送下一个数据,采用查询方式发送数据询的方式来可发送下一个数据,采用查询方式发送数据的过程为:的过程为:发送一个数据发送一个数据查询查询TITI发送下一个数据发送下一个数据(先发后查先发后查)当一帧数据接收完成后当一帧数据接收完成后(接收缓冲器满接收缓冲器满),硬件自动,硬件自动置位接收中断标志置位接收中断标志RI(SCON.0)RI(SCON.0)。同样可以采用中断或。同样可以采用中断或查询的方式来可接收下一个数据,采用查询方式接收查询的方式来可接收下一个数据,采用查询方
16、式接收数据的过程为数据的过程为:查询查询RIRI读入一个数据读入一个数据查询查询RIRI读下一个数据读下一个数据(先先查后收查后收)v内部逻辑结构:发送器:发送器:8位 8位 8位 Tclk TI=1 Tclk/n=Baud(f)(n个发送时钟周期发送一位数据)接收器接收器 8/10/11 8位 RI=1 8位 RclkmBaudT_SHIFT_RegT_SHIFT_RegSFR(ASFR(A)T_BUF(SBUF)T_BUF(SBUF)CPUCPUTXD(P3.1)SFR(A)SFR(A)R_SHIFT_RegR_SHIFT_RegR_BUF(SBUF)R_BUF(SBUF)RXD(P3.0
17、)RXD(P3.0)m/2 0m个7.1 7.1 串行通信基础串行通信基础7.2 7.2 串行口的结构与工作原理串行口的结构与工作原理7.3 7.3 串行口的控制寄存器串行口的控制寄存器7.4 7.4 单片机串行通信工作方式单片机串行通信工作方式7.5 7.5 单片机串行通信接口技术单片机串行通信接口技术主要内容主要内容 与串行通信有关的控制寄存器是:与串行通信有关的控制寄存器是:SCONSCON:串行控制寄存器。:串行控制寄存器。PCONPCON:电源控制寄存器。:电源控制寄存器。IEIE:中断允许寄存器。:中断允许寄存器。7.3 7.3 串行口的控制寄存器串行口的控制寄存器 7.3.1 7
18、.3.1 串行控制寄存器串行控制寄存器SCONSCON SCON SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接是一个特殊功能寄存器,用以设定串行口的工作方式、接收收/发送控制以及设置状态标志发送控制以及设置状态标志,字节地址为字节地址为98H98H:vSM0SM0和和SM1SM1为工作方式选择位,可选择四种工作方式:为工作方式选择位,可选择四种工作方式:位地址位地址9FH 9FH 9EH 9EH 9DH 9DH 9CH9CH9BH 9BH 9AH 9AH 99H 99H 98H98H位符号位符号SM0SM0 SM1 SM1 SM2 SM2 REN REN TB8 TB8 RB8
19、 RB8 TI TI RI RI nSM2SM2,多机通信控制位,多机通信控制位,主要用于方式主要用于方式2 2和方式和方式3 3。当。当接收机的接收机的SM2=1SM2=1时可以利用收到的时可以利用收到的RB8RB8来控制是否激活来控制是否激活RIRI(RB8RB80 0时不激活时不激活RIRI,收到的信息丢弃;,收到的信息丢弃;RB8RB81 1时时收到的数据进入收到的数据进入SBUFSBUF,并激活,并激活RIRI,进而在中断服务中,进而在中断服务中将数据从将数据从SBUFSBUF读走)。读走)。当当SM2=0SM2=0时,不论收到的时,不论收到的RB8RB8为为0 0和和1 1,均可以
20、使收到的数据进入,均可以使收到的数据进入SBUFSBUF,并激活,并激活RIRI(即此即此时时RB8RB8不具有控制不具有控制RIRI激活的功能)。通过控制激活的功能)。通过控制SM2SM2,可,可以实现多机通信。以实现多机通信。在方式在方式1 1时,若时,若SM2=1SM2=1,则只有接收到有效停止位时,则只有接收到有效停止位时,RIRI才置才置1 1。在方式。在方式0 0时,时,SM2SM2必须是必须是0 0。nRENREN,允许串行接收位,允许串行接收位。由软件置。由软件置REN=1REN=1,则启动串,则启动串行口接收数据;若软件置行口接收数据;若软件置REN=0REN=0,则禁止接收
21、。,则禁止接收。vTB8,TB8,在方式在方式2 2或方式或方式3 3中,是发送数据的第中,是发送数据的第九位九位,可以用软件规定其作用。在双机通信时,可以用软件规定其作用。在双机通信时,可以用作数据的奇偶校验位;或在多机通信可以用作数据的奇偶校验位;或在多机通信中,作为地址帧中,作为地址帧/数据帧的标志位数据帧的标志位(一般约定:一般约定:TB8=0TB8=0为数据帧,为数据帧,TB8=1TB8=1为地址帧为地址帧 )。在方式在方式0 0和方式和方式1 1中,该位未用。中,该位未用。vRB8RB8,在方式在方式2 2或方式或方式3 3中,是接收到数据的中,是接收到数据的第九位,第九位,作为奇
22、偶校验位或地址帧作为奇偶校验位或地址帧/数据帧的数据帧的标志位。在方式标志位。在方式1 1时,若时,若SM2=0SM2=0,则,则RB8RB8是接收是接收到的停止位。到的停止位。vTI,发送中断标志位,发送中断标志位。在方式。在方式0时,当串行时,当串行发送第发送第8位数据结束时,或在其它方式,串行位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使发送停止位的开始时,由内部硬件使TI置置1。TI=1表示帧发送结束,其状态既可供软件查表示帧发送结束,其状态既可供软件查询使用,也可用于请求中断。发送中断被响询使用,也可用于请求中断。发送中断被响应后,必须由软件复位。应后,必须由软件复
23、位。vRI,接收中断标志位,接收中断标志位。在方式。在方式0时,当串行时,当串行接收第接收第8位数据结束时,或在其它方式,串行位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使接收停止位的中间时,由内部硬件使RI置置1。RI=1表示帧接收结束。其状态既可供软件查表示帧接收结束。其状态既可供软件查询使用,也可用于请求中断。询使用,也可用于请求中断。RI亦必须由软亦必须由软件清件清“0”。7.3.2 7.3.2 电源控制寄存器电源控制寄存器PCONPCON PCONPCON(字节地址为字节地址为87H87H)中只有一位)中只有一位SMODSMOD与串行口工作有关与串行口工作有关:SM
24、ODSMOD(PCON.7PCON.7)波特率倍增位。在串行口方波特率倍增位。在串行口方式式1 1、方式、方式2 2、方式、方式3 3时,波特率与时,波特率与SMODSMOD有关,当有关,当SMOD=1SMOD=1时,波特率提高一倍。复位时,时,波特率提高一倍。复位时,SMOD=0SMOD=0。位序位序 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1 D1 D0 D0位符号位符号SMODSMOD GF1GF1 GF0 GF0 PD PD IDL IDL 其格式如下:其格式如下:7.3.3 7.3.3 中断允许寄存器中断允许寄存器IEIE位地址位地址 AFH AFH
25、AEHAEHADHADHACHACHABH ABH AAH AAHA9HA9HA8HA8H位符号位符号 EA EA ES ES ET1 ET1 EX1 EX1 ET0 ET0 EX0 EX0 这个寄存器已在中断一节介绍过,其中这个寄存器已在中断一节介绍过,其中ESES位为串行中断允许位:位为串行中断允许位:ES=0 ES=0 禁止串行中断禁止串行中断 ES=1 ES=1 允许串行中断允许串行中断7.1 7.1 串行通信基础串行通信基础7.2 7.2 串行口的结构与工作原理串行口的结构与工作原理7.3 7.3 串行口的控制寄存器串行口的控制寄存器7.4 7.4 单片机串行通信工作方式单片机串行通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 接口 通信
限制150内