单片机第8章-AT89S51单片机串行通信技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机第8章-AT89S51单片机串行通信技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 AT89S51 串行 通信 技术 课件
- 资源描述:
-
1、单片机原理、应用与仿真单片机原理、应用与仿真 第第8章章 AT89S51单片机串行通信接单片机串行通信接口技术口技术单片机原理、应用与仿真单片机原理、应用与仿真 第第8章章 AT89S51单片机串行通信接口技术单片机串行通信接口技术l 【知识目标知识目标】1.掌握串行口的工作原理及相关的特殊功能寄存器。掌握串行口的工作原理及相关的特殊功能寄存器。2.熟悉标准串行接口的硬件接口设计。熟悉标准串行接口的硬件接口设计。3.掌握串行通信程序的设计。掌握串行通信程序的设计。l 【技能目标技能目标】1.掌握串行口的硬件接口电路设计及软件驱动程序设计。掌握串行口的硬件接口电路设计及软件驱动程序设计。2.掌握
2、基于掌握基于PROTEUS的串行通信接口电路的仿真调试。的串行通信接口电路的仿真调试。单片机原理、应用与仿真单片机原理、应用与仿真 8.1 串行口的结构串行口的结构l AT89S51单片机内部有一个功能强大的全双工的异步通信串口。单片机内部有一个功能强大的全双工的异步通信串口。全双工就是双机之间串行接收、发送数据可同时进行。异步通全双工就是双机之间串行接收、发送数据可同时进行。异步通信是指通信双方没有同步时钟来控制收、发双方的传送,而是信是指通信双方没有同步时钟来控制收、发双方的传送,而是靠双方各自的时钟来控制数据的异步传送。单片机中使用的数靠双方各自的时钟来控制数据的异步传送。单片机中使用的
3、数据都是并行数据,所以在发送端将并行数据转换为串行数据,据都是并行数据,所以在发送端将并行数据转换为串行数据,而在接收端要将串行数据转换为并行数据。这是由串行接口电而在接收端要将串行数据转换为并行数据。这是由串行接口电路实现,这种电路也称之为通用异步接收发送器路实现,这种电路也称之为通用异步接收发送器(UART)。l AT89S51单片机的串口由单片机的串口由2个数据缓冲器、个数据缓冲器、1个移位寄存器和个移位寄存器和1个串行控制寄存器个串行控制寄存器等组成。数据缓冲器由串行接收缓冲器和发等组成。数据缓冲器由串行接收缓冲器和发送缓冲器构成,它们在物理上是独立的,既可以接收数据也可送缓冲器构成,
4、它们在物理上是独立的,既可以接收数据也可以发送数据,还可以同时发送和接收数据。接收缓冲器只能读以发送数据,还可以同时发送和接收数据。接收缓冲器只能读出,不能写入,而发送缓冲器则只能写入,不能读出。出,不能写入,而发送缓冲器则只能写入,不能读出。它们共它们共用一个地址用一个地址(99H)。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SCON是是AT89S51单片机可位寻址的特殊功能寄单片机可位寻址的特殊功能寄存器,主要用于控制串口的串行数据通信。单元存器,主要用于控制串口的串行数据通信。单元地址是地址是98H,复位后位,复位后位00H。各位
5、的定义如下:。各位的定义如下:位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H位号SCON.7SCON.6SCON.5SCON.4SCON.3SCON.2SCON.1SCON.0单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SM0 SM1:串行口:串行口4种工作方式的选择位。如表种工作方式的选择位。如表8-1所示。所示。SM0SM1工作方式功能简述 00工作方式0移位寄存器工作方式,波特率为/12 01工作方式18位数据异步收发,波特率可变 10工作方式29位数据异步收发,波特率为/3
6、2或/64 11工作方式39位数据异步收发,波特率可变表表8-1串行通信工作方式串行通信工作方式单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl SM2:多机级通信控制位。因为多机通信是在方式:多机级通信控制位。因为多机通信是在方式2和方和方式式3下进行的,因此,下进行的,因此,SM2位主要用于方式位主要用于方式2和方式和方式3中。中。当串行口以方式当串行口以方式2或方式或方式3接收时,如果接收时,如果SM2=1,则只有,则只有当接收到的第当接收到的第9位数据位数据(RB8)为为1时,才将接收到的前时,才将接收到的前8位位数据送入数据送入SBU
7、F,并置,并置1RI,产生中断请求;当接收到的,产生中断请求;当接收到的第第9位数据位数据(RB8)为为0时,则将接收到的前时,则将接收到的前8位数据丢弃。位数据丢弃。而当而当SM2=0时,则不论第时,则不论第9位数据是位数据是1还是还是0,都将前,都将前8位位数据送入数据送入SBUF中,并将中,并将RI置置1,产生中断请求。,产生中断请求。 在方式在方式1时,如果时,如果SM2=1,则只有收到有效的停止位时才,则只有收到有效的停止位时才会激活会激活RI。 在方式在方式0时,时,SM2必须为必须为0。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCO
8、Nl REN:允许串行接收位。由软件置:允许串行接收位。由软件置1或清或清0。若。若REN=1,允许串行口接收数据;若,允许串行口接收数据;若REN=0,禁止,禁止串行口接收数据。串行口接收数据。l TB8:发送的第:发送的第9位数据。在方式位数据。在方式2和和3时,时,TB8是是要发送的第要发送的第9位数据。其值由软件置位数据。其值由软件置1或清或清0。在。在双机通信时,双机通信时,TB8一般作为奇偶校验位使用;在一般作为奇偶校验位使用;在多机通信中用来表示主机发送的是地址帧还是数多机通信中用来表示主机发送的是地址帧还是数据帧,据帧,TB8=1为地址帧,为地址帧,TB8=0为数据帧。为数据帧
9、。l RB8:接收到的第:接收到的第9位数据。在方式位数据。在方式2和和3时,时,TB8存放接收到的第存放接收到的第9位数据。在方式位数据。在方式1,如果,如果SM2=0,RB8是接收到的停止位。在方式是接收到的停止位。在方式0,不使用,不使用RB8。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.1串行口控制寄存器串行口控制寄存器SCONl TI:发送中断标志位。串行口工作在方式:发送中断标志位。串行口工作在方式0时,串行发送第时,串行发送第8位数据结束时由硬件置位数据结束时由硬件置1,在其他工作方式,串行口发送,在其他工作方式,串行口发送停止位的开始时置停止位的开始时置1。TI=1,
10、表示一帧数据发送结束,可供,表示一帧数据发送结束,可供软件查询,也可申请中断。软件查询,也可申请中断。CPU响应中断后,在中断服务响应中断后,在中断服务程序中向程序中向SBUF写入要发送的下一帧数据。写入要发送的下一帧数据。TI必须由软件清必须由软件清0。l RI:接收中断标志位。串行口在工作方式:接收中断标志位。串行口在工作方式0时,接收完第时,接收完第8位数据时,位数据时,RI由硬件置由硬件置1。在其它工作方式中,串行口接收。在其它工作方式中,串行口接收到停止位时,该位置到停止位时,该位置1。RI=1,表示一帧数据接收完毕,并,表示一帧数据接收完毕,并申请中断,要求申请中断,要求CPU从接
11、收从接收SBUF取走数据。该位的状态取走数据。该位的状态也可供软件查询。也可供软件查询。RI必须由软件清必须由软件清0。单片机原理、应用与仿真单片机原理、应用与仿真 8.1.2电源控制寄存器电源控制寄存器PCONl PCON,不能位寻址。地址为,不能位寻址。地址为87H。各位的定义。各位的定义如下如下l 其中,与串行通信相关的位是其中,与串行通信相关的位是SMOD。l SMOD:串行口波特率系数控制位。若:串行口波特率系数控制位。若SMOD=1,方式方式1、方式、方式2和方式和方式3的波特率加倍。若的波特率加倍。若SMOD=0,各工作方式的波特率保持不变。,各工作方式的波特率保持不变。 位称S
12、MOD GF1GF0PDIDL单片机原理、应用与仿真单片机原理、应用与仿真 8.1.3数据缓冲寄存器数据缓冲寄存器SBUF l 数据缓冲寄存器数据缓冲寄存器SBUF用于保存要发送的数据或用于保存要发送的数据或者从串口接收到的数据,在特殊功能寄存器区的者从串口接收到的数据,在特殊功能寄存器区的地址是地址是99H。CPU执行写执行写 MOV SBUF,A指令便指令便开始触发串口数据的发送。开始触发串口数据的发送。SBUF便一位一位地便一位一位地发送数据,发送完成后置标志发送数据,发送完成后置标志TI=1;在;在CPU允许允许接收串行数据的时,外部串行数据经接收串行数据的时,外部串行数据经RXD送入
13、送入SBUF时,电路便自动启动接收,第时,电路便自动启动接收,第9位则装入位则装入SCON寄存器的寄存器的RB8位,直至完成一帧数据后将位,直至完成一帧数据后将RI置置1,当串口接收缓冲器接收到一帧数据时,可,当串口接收缓冲器接收到一帧数据时,可以执行以执行MOV A,SBUF指令进行读取。指令进行读取。单片机原理、应用与仿真单片机原理、应用与仿真 8.2串行口的工作方式串行口的工作方式l AT89S51单片机的串行接口有单片机的串行接口有4种工作模式,可种工作模式,可通过对通过对SCON中的中的SM0、SM1位的设置选择。位的设置选择。l 1.工作方式工作方式0串行数据通过串行数据通过RXD
14、输入输出,输入输出,TXD输出时钟。每次发输出时钟。每次发送或者接收送或者接收8位数据。波特率为位数据。波特率为 /12。当以中断方式传。当以中断方式传送数据时,送数据时,CPU响应中断并不会自动清除响应中断并不会自动清除TI、RI标志,标志,所以在中断服务程序中必须由指令清所以在中断服务程序中必须由指令清0。单片机原理、应用与仿真单片机原理、应用与仿真 2.工作方式工作方式1l 串行数据通过串行数据通过TXD发送,发送,RXD接收。一帧数据是接收。一帧数据是10位,位,包括包括1位起始位,位起始位,8位数据为和位数据为和1位停止位。波特率是可变位停止位。波特率是可变的,由定时器的,由定时器1
15、溢出率和溢出率和SMOD共同决定。方式共同决定。方式1的波特率的波特率由下式确定:由下式确定:方式方式1波特率波特率= l 当一帧数据发送结束时,将串行控制寄存器当一帧数据发送结束时,将串行控制寄存器SCON中的中的TI置置1,通知,通知CPU数据发送已经结束,可以发送下一帧数据。数据发送已经结束,可以发送下一帧数据。l 若若REN处于允许接收状态,当一帧数据接收完毕后,将处于允许接收状态,当一帧数据接收完毕后,将SCON中的中的RI置置1,通知,通知CPU从从SBUF取走接收到的数据。取走接收到的数据。的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 3.工作方
16、式工作方式2l 串行数据通过串行数据通过TXD发送,发送,RXD接收。每帧数据均接收。每帧数据均为为11位,包括位,包括1位起始位,位起始位,8位数据位,位数据位,1位可程位可程控为控为1或或0的第的第9位及位及1位停止位。波特率由下式确位停止位。波特率由下式确定:定:l 方式方式2的波特率的波特率= l 第第9位数据可以自己定义,一般在双机通信时作位数据可以自己定义,一般在双机通信时作为奇偶校验位,多机通信时作为地址为奇偶校验位,多机通信时作为地址/数据的标志数据的标志位。在发送一帧数据时,位。在发送一帧数据时,CPU除了要把除了要把8位数据位数据送送SBUF外,要先将第外,要先将第9位数据
17、送到位数据送到SCON的的TB8中。中。oscSMOD642f单片机原理、应用与仿真单片机原理、应用与仿真 4.工作方式工作方式3l 除了波特率外,工作方式除了波特率外,工作方式3和方式和方式2相同,方式相同,方式3的波特率由下式确定:的波特率由下式确定:l 方式方式3波特率波特率= 的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 8.3波特率的设定波特率的设定l AT89S51单片机的串行口以方式单片机的串行口以方式0工作时,波特工作时,波特率为率为 /12。l 串行口工作于方式串行口工作于方式2时,若时,若SMOD=1,波特率为,波特率为振荡频率的振荡频率的
18、1/32;若;若SMOD=0,波特率为振荡频,波特率为振荡频率的率的1/64。l 串行口以方式串行口以方式1或方式或方式3工作时,波特率是可变的。工作时,波特率是可变的。波特率的计算公式为:波特率的计算公式为:波特率=的溢出率定时器 1T322SMOD单片机原理、应用与仿真单片机原理、应用与仿真 l 如果定时器如果定时器T1用作波特率发生器,则就不能用作用作波特率发生器,则就不能用作中断。在典型的应用中中断。在典型的应用中T1以定时器方式工作,并以定时器方式工作,并处于定时方式处于定时方式2即自动重新装载的模式下,设置即自动重新装载的模式下,设置完后启动定时器完后启动定时器1。l 则波特率为:
19、则波特率为:溢出率=C2561211OSCf定时时间定时器波特率=C25612322OSCSMODf单片机原理、应用与仿真单片机原理、应用与仿真 时时 钟钟 频频 率率波波 特特 率率常常 数数SMOD=1SMOD=01228800FEHFFH19200FDH-14400FCHFEH9600F9HFDH4800F3HF9H2400E6HF3H1200CCHE6H11.059228800FEHFFH19200FDH-14400FCHFEH9600FAHFDH4800F4HFAH2400E8HF4H1200D0HE8H单片机原理、应用与仿真单片机原理、应用与仿真 8.4单片机的串行通信接口技术单片
20、机的串行通信接口技术l AT89S51单片机串行口的输入、输出均为单片机串行口的输入、输出均为TTL电电平。使用平。使用TTL电平进行串行数据的传送,传输距电平进行串行数据的传送,传输距离短,抗干扰能力差。为了提高通信的可靠性,离短,抗干扰能力差。为了提高通信的可靠性,增大串行通信的距离,通常采用标准串行接口,增大串行通信的距离,通常采用标准串行接口,如如RS-232、RS-422以及以及RS-485等标准接口。等标准接口。l RS-232是美国电子工业协会(是美国电子工业协会(EIA)的推荐标准,)的推荐标准,适用于短距离或带调制解调器的串行通信场合。适用于短距离或带调制解调器的串行通信场合
21、。为了提高串行数据传输率和通信距离以及抗干扰为了提高串行数据传输率和通信距离以及抗干扰能力,能力,EIA又公布了又公布了RS-422和和RS-485串行总线接串行总线接口标准。口标准。单片机原理、应用与仿真单片机原理、应用与仿真 8.4.1标准串行通信接口标准串行通信接口l 1.RS-232C接口接口RS-232C是异步串行通信中应用最广的标准串行接口,是异步串行通信中应用最广的标准串行接口,它定义了数据终端设备和数据通信设备之间的串行接它定义了数据终端设备和数据通信设备之间的串行接口标准。口标准。l (1)RS-232信号引脚定义信号引脚定义RS-232C标准规定了标准规定了25针连接器,但
22、许多信号是为了针连接器,但许多信号是为了通信业务联系或信息控制而定义的,所以通信业务联系或信息控制而定义的,所以PC机配置的机配置的都是都是9针针“D”型连接器。图型连接器。图8-3为为RS-232C的的“D”型型9针针插头的引脚定义。插头的引脚定义。单片机原理、应用与仿真单片机原理、应用与仿真 (2)电气特性)电气特性l RS-232C上传送的数字量采用负逻辑,且与地对上传送的数字量采用负逻辑,且与地对称。称。逻辑逻辑1:-3-15V;逻辑逻辑0:+3+15V。l RS-232C标准的信号传输的最大电缆长度为标准的信号传输的最大电缆长度为30m,最高数据传输速率位,最高数据传输速率位20kb
23、/s。单片机原理、应用与仿真单片机原理、应用与仿真 (3)电平转换)电平转换l 由于由于AT89S51单片机串行口的输入、输出都是单片机串行口的输入、输出都是TTL电平,电平,TTL电平和电平和RS-232C电平互不兼容,电平互不兼容,所以必须进行电平转换,常用的芯片是美国所以必须进行电平转换,常用的芯片是美国MAXIM公司的产品公司的产品MAX232芯片。芯片。 MAX232是是RS-232C双工发送器双工发送器/接收器电路芯片,其外部引接收器电路芯片,其外部引脚如图脚如图8-4所示,使用所示,使用MAX232实现实现TTL/RS-232C之间的电平转换电路如图之间的电平转换电路如图8-5所
展开阅读全文