《单片机的串行口精选PPT.ppt》由会员分享,可在线阅读,更多相关《单片机的串行口精选PPT.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机课件的串行口1第1页,此课件共41页哦 6.1.1 并行通信和串行通信计算机采用二进制数字(位)表示数据,数据从一台计算机向另一台计算机传输称为通信。数据通信有两种方式:并行通信和串行通信。6.1 数据通信的基本概念并行通信串行通信2第2页,此课件共41页哦 6.1 数据通信的基本概念 6.1.2 串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。单工通信 3第3页,此课件共41页哦 6.1 数据通信的基本概念 6.1.2 串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。半双工方式 4第4页,此课件共41页哦 6.1 数据通信的基本概念 6.1.2
2、串行通信方式 串行通信有单工通信、半双工通信和全双工通信3 种方式。半双工方式 5第5页,此课件共41页哦(一)异步方式 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式异步方式的一帧数据格式 用一个起始位表示一个字符的开始,用停止位表示字符的结束,数据位则在起始位之后、停止位之前。通信时,数据从低位开始传送。为了保证数据传输的正确性,在数据位之后紧跟一位奇偶校验位,用于有限差错检测。当数据不需进行奇偶校验时,此位可省略。6第6页,此课件共41页哦(一)异步方式 6.1 数据通信的基本概念 6.1.3 数据通信的同步方式异步通信中数据传送格式 7第7页,此课件共41页哦(一)异步方式
3、 在异步通信时,通信的双方必须遵守以下基本约定:(1)字符格式必须相同;(2)通信速率必须相同。6.1 数据通信的基本概念 6.1.3 数据通信的同步方式8第8页,此课件共41页哦(一)异步方式 串行通信的速率也称为波特率,波特率是指每秒传送二进制代码的位数,单位为位/秒(bit/s)。假设一台设备的数据传送速率为240字符/秒,异步通信方式时,字符格式位为:1位起始位,8位数据位,1位停止位,则波特率为:24010=2400 bit/s 每一个二进制代码位的传送时间为波特率的倒数:异步通信的波特率一般在5019200 bit/s 之间。6.1 数据通信的基本概念 6.1.3 数据通信的同步方
4、式9第9页,此课件共41页哦(二)同步方式 每个数据位占用的时间都相等,发送器按照一个基本相同的时间单位发送一个数据位,接收器必须与传输符号同步,使采样的定时脉冲周期与码元相匹配,即发送时钟与接收时钟必须同步。在同步方式时,是以块的形式传送,数据块中的数据之间没有间隔。传送数据块时,在数据块之前加上同步字符(SYN),紧接着连续传送数据,并用准确的时钟来保证发送端与接收端的同步,当线路空闲不断地发送同步字符。一个大的数据块可以分解成若干个小的数据块,每个小数据块之间依靠同步字符来区别。6.1 数据通信的基本概念 6.1.3 数据通信的同步方式10第10页,此课件共41页哦6.2 MCS51 单
5、片机的串行口 6.2.1 MCS51 单片机的串行口结构 MCS51单片机串行口内部结构 11第11页,此课件共41页哦 串行口的工作有多种方式,由串行口控制寄存器(SCON)、波特率控制寄存器(PCON)及SBUF实现数据的接收和发送,在工作过程中,需要提供接收和发送的频率信号。在接收方式下,串行数据通过RXD(P3.0)进入单片机。当接收控制器检测到接收端RXD的负跳变时,启动接收过程,则串行口按照程序设定的格式、以一定的频率(波特率)接收一帧数据,接收完毕,数据存入接收缓冲器SBUF中,并置RI为1。在发送方式下,通过CPU执行 MOV SBUF,A指令启动发送过程,数据由TXD(P3.
6、1)一位一位的发出,发送完最后一位,将TI置1。6.2 MCS51 单片机的串行口 6.2.1 MCS51 单片机的串行口结构 12第12页,此课件共41页哦(一)串行口控制寄存器(SCON,98H):用来设置串行口的工作方式和指示串行口的工作状态。SM0SM1 SM2RENTB8RB8TIRID7 D6 D5 D4 D3 D2 D1 D0串行口工作方式多机通信选择位允许接收选择位 发送数据的第8位接收数据的第8位接收中断标志发送中断标志6.2 MCS51 单片机的串行口 6.2.2 串行口的控制13第13页,此课件共41页哦(1)SM0、SM1:串行口操作方式选择位。6.2 MCS51 单片
7、机的串行口 6.2.2 串行口的控制(2)SM2:方式2和3的多机通信控制位。方式2或3中,SM21,只有当RB81,才会将接收到的数据送入SBUF,并置RI为1。否则,将接收到的数据丢弃。而SM20,不论RB8是否为1,都将前8位数据存入SBUF,并置RI为1。SCON各位的定义:14第14页,此课件共41页哦6.2 MCS51 单片机的串行口 6.2.2 串行口的控制(3)REN:允许串行接收位。REN1允许接收,REN1禁止接收。(4)TB8:方式2和3时要发送的第9位数据。TB8可作为奇偶校验位。在多机通信中作为发送地址帧或数据帧的标志。TB81,表示该发送帧为地址帧,TB80,表示该
8、发送帧为数据帧。(5)RB8:方式2或3中接收的第9位数据 可能是奇偶校验位或地址/数据标识位;方式1中,如果SM20,RB8是接收到的停止位,在方式0中,不使用RB8。(6)TI、RI:中断标志位 RI1标志着接收到一帧数据。RI必须由软件清零。TI1标志着发送完一帧数据。TI必须由软件清零。SCON各位的定义:15第15页,此课件共41页哦(二)电源控制寄存器(PCON,87H)SMOD:波特率倍增选择位。串行口工作在方式1、方式2、方式3时,如果采用定时/计数器T1产生波特率,则SMOD设置为1,波特率提高一倍;SMOD0,波特率不会提高。6.2 MCS51 单片机的串行口 6.2.2
9、串行口的控制波特率选择位16第16页,此课件共41页哦(一)串行口工作方式0 在方式0时,串行口作为同步移位寄存器使用,此时,RXD作为移位寄存器的出口和入口,TXD提供移位时钟脉冲,频率为振荡器频率的1/12。移位数据的发送和接收以8位为一组,低位在前,高位在后。6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式17第17页,此课件共41页哦(一)串行口工作方式0串行口方式0的时序6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式18第18页,此课件共41页哦(二)串行口工作方式1 10位为一帧的异步串行通信方式,1位起始位,8位数据,1位停止位。发送和接收频率可
10、设定。TXD为发送端,RXD为接收端,数据以一定的频率发送,由定时/计数器提供。6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式19第19页,此课件共41页哦(二)串行口工作方式1串行口方式1的时序6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式20第20页,此课件共41页哦 发送和接收频率(波特率 Baud Rate)的设定 通常采用定时/计数器的方式2产生波特率,以避免计数初始常数的重新装入。定时/计数器的溢出率(Timer Overflow Rate)的倒数为定时/计数器的溢出周期,即定时时间。设计数初始值为X,定时时间为 为晶体振荡器的频率。6.2 MC
11、S51 单片机的串行口 6.2.3 串行口的控制方式21第21页,此课件共41页哦 波特率 Baud Rate 定时/计数器的初始时间常数为:6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式22第22页,此课件共41页哦(三)串行口工作方式2 11位为一帧的异步串行通信方式,1位起始位,9位数据,1位停止位。发送和接收频率是固定的:有两种情况,SMOD1,波特率为晶体振荡器频率的1/32;SMOD0,波特率为晶体振荡器频率的1/64。发送时,数据的第8位由TB8设置,而接收时,数据的第8位被放置在RB8中。接收和发送原理过程与方式1相同。支持多机通信方式。6.2 MCS51 单
12、片机的串行口 6.2.3 串行口的控制方式23第23页,此课件共41页哦(三)串行口工作方式2串行口方式2、3的时序6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式24第24页,此课件共41页哦(四)串行口工作方式3 11位为一帧的异步串行通信方式,1位起始位,9位数据,1位停止位。通信过程与方式2相同,不同的是它的波特率是可变的,计算过程与方式1相同。方式3支持多机通信方式。6.2 MCS51 单片机的串行口 6.2.3 串行口的控制方式25第25页,此课件共41页哦 串行口工作方式0的功能相当于一个移位寄存器,常用于实现串行并行、并行串行数据格式之间的转换,因此,可以与具有
13、并行输入串行输出、串行输入并行输出功能的芯片结合扩展并行I/O口。常用的具有并行输入串行输出功能的TTL芯片有74LS165、74HC165,CMOS芯片有CD4094。具有串行输入并行输出功能的TTL芯片有74LS164、74HC164,CMOS芯片为CD4014。6.3 串行口的应用 6.3.1 并行I/O口扩展 26第26页,此课件共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展 8位移位寄存器74LS165的管脚图(一)并行输入口扩展27第27页,此课件共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展 74LS165功能表(一)并行输入口扩展28第28页,此课件
14、共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展 采用2片74LS165扩展的2个8位并行输入输出接口电路(一)并行输入口扩展29第29页,此课件共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展(二)并行输出口扩展74LS164引脚图 30第30页,此课件共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展(二)并行输出口扩展74LS164功能表 31第31页,此课件共41页哦6.3 串行口的应用 6.3.1 并行I/O口扩展(二)并行输出口扩展采用串行口扩展的16位并行输出接口电路 32第32页,此课件共41页哦 MCS-51单片机提供3种异步通信方式,与之通
15、信的设备可以是MCS-51系列的单片机、或者其它系列的单片机或计算机。3种异步通信方式中,最常用的是方式1和方式3,其通信的波特率是可变的,用户可以根据实际情况进行选择。不论哪种方式,在软件设计时,都可以采用查询方式和中断方式实现,其数据帧的格式可以根据实际情况确定。在通信时,必须保证通信双方采用相同的波特率和数据格式。6.3 串行口的应用 6.3.2 串行口异步通信33第33页,此课件共41页哦例:A、B两台MCS-51单片机进行单工串行通信,A机工作在发送状态,B为接收状态,如图6.18所示。现将A机片内RAM从30H单元开始存储的16个字节的数据发送到B机,并存储在片内RAM20H单元开
16、始的区域。A、B单片机的晶振频率均为11.0592MHz,拟采用通信波特率为9600 bit/s。6.3 串行口的应用 6.3.2 串行口异步通信(一)方式1的应用34第34页,此课件共41页哦 在数据通信之前,需要进行以下初始化编程:(1)确定定时/计数器T1的工作方式,设置TMOD。通常定时/计数器T1设定为方式2,定时模式。(2)根据波特率,计算定时/计数器T1的计数初始值,分别装入TH1和TL1。(3)启动定时/计数器T1,SETB TR1。(4)确定串行口工作方式,设置SCON,接收时置REN1。(5)如果采用中断方式,则开放CPU中断(EA1)、允许串行口中断(ES1)。6.3 串
17、行口的应用 6.3.2 串行口异步通信(一)方式1的应用35第35页,此课件共41页哦MCS-51单片机单工串行通信 6.3 串行口的应用 6.3.2 串行口异步通信(一)方式1的应用36第36页,此课件共41页哦例:某一单片机应用系统的串行口上外接一个串行输入设备,单片机系统和该设备之间采用9位异步通信模式,第9位为数据的偶校验位。通信波特率为2400bit/s。单片机系统的晶体振荡器频率为11.0592MHz。6.3 串行口的应用 6.3.2 串行口异步通信(二)方式3的应用37第37页,此课件共41页哦 针对系统的通信要求,选用方式3实现。方式3的波特率计算方法与方式1是相同的,可以通过
18、定时/计数器T1产生所需的通信速率。在数据通信时,单片机接收到数据后,首先判断接收到的偶校验和其接收到的第9位(RB8)是否相同,只有校验位相同时,才把接收到的数据存储到指定单元,否则,丢弃,停止数据块接收。6.3 串行口的应用 6.3.2 串行口异步通信(二)方式3的应用38第38页,此课件共41页哦 MCS-51单片机的串行口控制器SCON中的SM2位为多机通信控制位。在串行口工作在方式2或方式3时,如果SM21,只有在接收器接收到第9位数据为1时,数据才装入接收缓冲器SBUF,并将接收中断标志位RI置1,向CPU请求中断,如果接收器接收到的第9位为0,则接收中断标志位不置1,并把接收到的数据丢弃。当SM2为0时,接收到一个数据帧后,不管第9位数据是0还是1,都会把接收中断标志RI置1,并将接收到的数据装入接收缓冲器SBUF。6.3 串行口的应用 6.3.3 多机通信 39第39页,此课件共41页哦6.3 串行口的应用 6.3.3 多机通信 多个单片机主从式通信连接方式 40第40页,此课件共41页哦THATTHAT S ALL!S ALL!THANK YOU!THANK YOU!41第41页,此课件共41页哦