第六章 串行通信部分1.ppt

上传人:s****8 文档编号:66865777 上传时间:2022-12-21 格式:PPT 页数:37 大小:762KB
返回 下载 相关 举报
第六章 串行通信部分1.ppt_第1页
第1页 / 共37页
第六章 串行通信部分1.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《第六章 串行通信部分1.ppt》由会员分享,可在线阅读,更多相关《第六章 串行通信部分1.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、主讲:潘静主讲:潘静6.36.3串行接口串行接口2 MCS-51单片机结构框图单片机结构框图单片机串行通信单片机串行通信 6.3.1 通信的基本概念通信的基本概念1 1 并行通信和串行通信并行通信和串行通信计算机的数据传输共有两种方式:计算机的数据传输共有两种方式:并行数据传输并行数据传输串行数据传输串行数据传输单片机串行通信单片机串行通信 目目的的D0源源D1D2D3D7D4D5D6D0D1D2D3D7D4D5D600101011数据的各位同时由源到达目的地数据的各位同时由源到达目的地 快快多根数据线多根数据线 距离短、远程费用高距离短、远程费用高并行通信并行通信适于适于短距离短距离、高速高

2、速通信通信将数据的各位将数据的各位同时同时在在多根并行线多根并行线上进行传输。上进行传输。并并行行通通信信单片机串行通信单片机串行通信 数据的各位依次由源到达目的地数据的各位依次由源到达目的地 慢慢数据线少数据线少 远程远程,费用低费用低将数据的各位将数据的各位按时间顺序按时间顺序依次依次在一根传输线在一根传输线上传输。上传输。串行通信串行通信适于适于长距离长距离、中低速中低速通信通信0 RXD目目的的TXD源源0101011串串行行通通信信单片机串行通信单片机串行通信 2 串行通信又分为:串行通信又分为:异步串行通信异步串行通信 同步串行通信同步串行通信单片机串行通信单片机串行通信 1)异步

3、串行通信)异步串行通信 异步串行通信是异步串行通信是以字符为单位的间歇传输形式。以字符为单位的间歇传输形式。单片机串行通信单片机串行通信 2)同步串行通信同步串行通信为提高传送速度,把为提高传送速度,把数据传输按相等的时间间隔分块进数据传输按相等的时间间隔分块进行行,在数据块的开始加一些特殊字符,作为发送和接收,在数据块的开始加一些特殊字符,作为发送和接收双方的同步标志。双方的同步标志。单片机串行通信单片机串行通信 1.单工形式单工形式2.全双工形式全双工形式3.半双工形式半双工形式 串行通信线路形式串行通信线路形式单片机串行通信单片机串行通信 串行通信的传送方向串行通信的传送方向发送器接收器

4、发送器/接收器发送器/接收器发送器/接收器发送器/接收器单工单工半双工半双工全双工全双工ABAABB单片机串行通信单片机串行通信 6.3.2 串行口的功能与结构串行口的功能与结构1 串行口硬件结构串行口硬件结构串行口主要功能:串行口主要功能:串行化串行化反串行化反串行化单片机串行通信单片机串行通信 发送发送SBUF接收接收SBUF发送控制器发送控制器接收控制器接收控制器输入移位寄存器输入移位寄存器串串行行口口控控制制寄寄存存器器波波特特率率发发生生器器串行口中断串行口中断内内部部总总线线门门+RXD(P3.0)TXD(P3.1)RITI单片机串行通信单片机串行通信 2.串行口控制寄存器(串行口

5、控制寄存器(SCON)98H SM0、SM1串行口工作方式选择位。串行口工作方式选择位。SM0SM100,工作方式工作方式0;SM0SM101,工作方式工作方式1;SM0SM110,工作方式工作方式2;SM0SM111,工作方式工作方式3。SM2多机通信控制位。多机通信控制位。TB8发送数据的第发送数据的第9位。位。RB8接收数据的第接收数据的第9位。(这位。(这3位用于多机通信)位用于多机通信)REN允许接收控制位。允许接收控制位。单片机串行通信单片机串行通信 6.3.3 串行口工作方式串行口工作方式80C51单片机的串行口共有单片机的串行口共有4种工作方式:种工作方式:单片机串行通信单片机

6、串行通信 1 串行工作方式串行工作方式0特点:特点:1)把串行口作为)把串行口作为同步移位寄存器同步移位寄存器使用,实现串行使用,实现串行 数据的输入数据的输入/输出。输出。2)移位数据的传输以)移位数据的传输以8位为一组,低位在前、高位为一组,低位在前、高 位在后。位在后。应用:应用:利用串行工作方式利用串行工作方式0,加上,加上“并入串出并入串出”或或“串入串入并并 出出”芯片的配合,芯片的配合,80C51的串行口可的串行口可实现数据的实现数据的并并 行输入行输入/输出。输出。单片机串行通信单片机串行通信 利用串行口方式利用串行口方式0实现数据并行输入实现数据并行输入/输出输出单片机串行通

7、信单片机串行通信(1)发送过程)发送过程1)在在TI=0时,当时,当CPU执行一条向执行一条向SBUF写数据的指令时,写数据的指令时,如如MOV SBUF,A,就启动发送过程。,就启动发送过程。2)经过一个机器周期,写入发送数据寄存器中的数据按低经过一个机器周期,写入发送数据寄存器中的数据按低位在前,高位在后从位在前,高位在后从RXD依次发送出去,同步时钟从依次发送出去,同步时钟从TXD送出。送出。3)8位数据(一帧)发送完毕后,由硬件使发送中断标志位数据(一帧)发送完毕后,由硬件使发送中断标志TI置位,向置位,向CPU申请中断。申请中断。单片机串行通信单片机串行通信(2)接收过程)接收过程1

8、)在在RI=0的条件下,将的条件下,将REN(SCON.4)置)置“1”就启动一就启动一 次接收过程。次接收过程。2)串行数据通过串行数据通过RXD接收,同步移位脉冲通过接收,同步移位脉冲通过TXD输出。输出。在移位脉冲的控制下,在移位脉冲的控制下,RXD上的串行数据依次移入移上的串行数据依次移入移 位寄存器位寄存器。3)当当8位数据(一帧)全部移入移位寄存器后,接收控制位数据(一帧)全部移入移位寄存器后,接收控制 器发出器发出“装载装载SBUF”信号,信号,将将8位数据并行送入接收数位数据并行送入接收数 据缓冲器据缓冲器SBUF中。中。4)同时,由硬件使接收中断标志同时,由硬件使接收中断标志

9、RI置位,向置位,向CPU申请中断。申请中断。单片机串行通信单片机串行通信 2 串行工作方式串行工作方式1特点特点:1)是)是10位为一帧位为一帧的异的异 步串行通信方式步串行通信方式 2)这种工作方式是为双机通信而准备的)这种工作方式是为双机通信而准备的 3)帧格式包括)帧格式包括1个起始位,个起始位,8个数据位和个数据位和1个停止位个停止位单片机串行通信单片机串行通信 方式方式1的数据发送:的数据发送:是由一条是由一条写发送寄存器写发送寄存器(SBUF)的指令开始;的指令开始;随后在串行口由硬件自动加入起始位和停止位,随后在串行口由硬件自动加入起始位和停止位,构成一个构成一个 完整的帧格式

10、完整的帧格式;然后在移位脉冲的作用下,然后在移位脉冲的作用下,由由TXD端串行输出端串行输出;一个字符帧发送完后,使一个字符帧发送完后,使TXD输出线维持在输出线维持在1状态下,并状态下,并 将将SCON寄存器的寄存器的TI位置位置1,通知通知CPU可以接着发送下一可以接着发送下一 个字符个字符。单片机串行通信单片机串行通信 接收数据:接收数据:SCON的的REN位应处于位应处于允许接收状态允许接收状态,即,即REN1。在此前提下,串行口在此前提下,串行口采样采样RXD端端,当采样到从,当采样到从1到到0的的状态跳变时,就认为已接收到起始位。状态跳变时,就认为已接收到起始位。随后在移位脉冲的控

11、制下,把接收到的随后在移位脉冲的控制下,把接收到的数据位移入接数据位移入接收寄存器收寄存器中。中。直到停止位到来之后直到停止位到来之后置位中断标志位置位中断标志位RI,通知,通知CPU从从SBUF取走接收到的一个字符。取走接收到的一个字符。单片机串行通信单片机串行通信 3 串行工作方式串行工作方式2 和和3串行工作方式串行工作方式2和和3都是都是11位为一帧位为一帧的串行通信方式,的串行通信方式,即即1个起始位、个起始位、9个数据位和个数据位和1个停止位。个停止位。在这两种工作方式下,字符还是在这两种工作方式下,字符还是8个数据位,只不过增个数据位,只不过增加了一个加了一个第第9数据位数据位(

12、D8),),它是一个可编程位,其功能它是一个可编程位,其功能由用户设定。由用户设定。单片机串行通信单片机串行通信 在在发送数据发送数据时,应予先在串行口控制寄存器时,应予先在串行口控制寄存器SCON的的 TB8位中把的第位中把的第9个数据位内容准备好。个数据位内容准备好。这两种工作方式的这两种工作方式的数据接收过程数据接收过程也与方式也与方式1基本类似,基本类似,不同点仍在第不同点仍在第9数据位上,串行口把接收到的前数据位上,串行口把接收到的前8个数个数据据 位移入位移入SBUF,而把第,而把第9数据位送数据位送SCON的的RB8。串行工作方式串行工作方式2和和3是为多机通信而准备的。两者的工

13、作过是为多机通信而准备的。两者的工作过程相同,程相同,差别差别仅在于波特率的设置,方式仅在于波特率的设置,方式2的波特率是固的波特率是固定的,而方式定的,而方式3的波特率可由用户根据需要设定,设定方的波特率可由用户根据需要设定,设定方法与方式法与方式1相同。相同。单片机串行通信单片机串行通信 4 串行通信数据传输速率串行通信数据传输速率 1)传输速率的表示方法)传输速率的表示方法与传输速率有关的术语与传输速率有关的术语波特波特(Baud):每秒:每秒1次的信号变化称为次的信号变化称为1波特。波特原本波特。波特原本是表示电信设备传输速率的单位,后来又用于表示调制解是表示电信设备传输速率的单位,后

14、来又用于表示调制解调器的数据传输速率。调器的数据传输速率。波特率波特率(Baud Rate):是每秒钟事件发生的数目或信号变:是每秒钟事件发生的数目或信号变化的次数。在单片机的串行数据传输中,事件和信号变化化的次数。在单片机的串行数据传输中,事件和信号变化都反映在二进制位上,因此就以波特率表示串行数据的传都反映在二进制位上,因此就以波特率表示串行数据的传输速率输速率。单片机串行通信单片机串行通信 2)80C51的波特率的波特率1.串行工作方式串行工作方式0的波特率的波特率串行工作方式串行工作方式0的波特率是固定的,其值为的波特率是固定的,其值为波特率波特率=fosc/12其中其中fosc表示外

15、部振荡器频率。表示外部振荡器频率。fosc/12即外部振荡脉冲的即外部振荡脉冲的12分频。在串行工作方式分频。在串行工作方式0下,每个机器周期产生一个移位脉下,每个机器周期产生一个移位脉冲,进行一次串行移位。因为波特率固定,不存在设置波冲,进行一次串行移位。因为波特率固定,不存在设置波特率的问题。特率的问题。单片机串行通信单片机串行通信 2.串行工作方式串行工作方式2的波特率的波特率串行工作方式串行工作方式2的波特率也是固定的,但有两个数值。的波特率也是固定的,但有两个数值。其计算公式为:其计算公式为:波特率波特率=fosc2smod/64其中其中smod是串行口波特率倍增位是串行口波特率倍增

16、位SMOD的值。这两种的值。这两种固定的波特率可根据需要选择,而选择的方法是设置固定的波特率可根据需要选择,而选择的方法是设置PCON寄存器中寄存器中SMOD位的状态。位的状态。单片机串行通信单片机串行通信 3.串行工作方式串行工作方式1和方式和方式3的波特率(可变)的波特率(可变)80C51是以定时器是以定时器T1作为波特率发生器,以其溢出脉冲作为波特率发生器,以其溢出脉冲产生串行口的移位脉冲。因此,在这两种工作方式中,产生串行口的移位脉冲。因此,在这两种工作方式中,通过计算通过计算T1的计数初值就可以实现波特率的设置。假定的计数初值就可以实现波特率的设置。假定定时器的计数初值为定时器的计数

17、初值为X,则计数溢出周期为:,则计数溢出周期为:(12/fosc)(256-X)溢出率为溢出周期的倒数,则波特率计算公式为:溢出率为溢出周期的倒数,则波特率计算公式为:波特率波特率(2smod/32)(定时器定时器1溢出率溢出率)(2smod/32)fosc/12(256-X)根据上述波特率计算公式,得出计数初值的计算公式为:根据上述波特率计算公式,得出计数初值的计算公式为:X256-fosc(2smod)/(384波特率波特率)单片机串行通信单片机串行通信 6.3.4 串行通信编程及应用串行通信编程及应用1)利用方式利用方式0扩展并行扩展并行I/O接口接口单片机串行通信单片机串行通信【例例】

18、用用8051单片机的串行口外接串入并出的芯片单片机的串行口外接串入并出的芯片CD4094 扩展并行输出口控制一组发光二极管扩展并行输出口控制一组发光二极管,使发光二极管从使发光二极管从 左至右延时轮流显示。左至右延时轮流显示。8051 RXD TXD P1.0 DATA CLK STB单片机串行通信单片机串行通信 CD4094是一块是一块8位的串入并出的芯片,带有一个控制端位的串入并出的芯片,带有一个控制端 STB,当当STB=0时时,打开串行输入控制门,在,打开串行输入控制门,在CLK控制下,数据从控制下,数据从串行输入串行输入端端DATA一个时钟周期一位依次输入;一个时钟周期一位依次输入;

19、当当STB=1,打开,打开并行输出并行输出控制门,控制门,CD4094中的中的8位数据并行位数据并行输出。输出。使用时,使用时,8051串行口工作于方式串行口工作于方式0,8051的的TXD接接CD4094的的CLK,RXD接接DATA,STB用用P1.0控制,控制,8位并行输出端接位并行输出端接8个发光二极管。个发光二极管。单片机串行通信单片机串行通信 设串行口采用查询方式,显示设串行口采用查询方式,显示的延时依靠调用延时子程序来的延时依靠调用延时子程序来实现。程序如下:实现。程序如下:ORG 0000H LJMP MAIN ORG 0100HMAIN:MOV SCON,#00H MOV A

20、,#01H CLR P1.0START:MOV SBUF,A LOOP:JNB TI,LOOP SETB P1.0 ACALL DELAY CLR TI RL A CLR P1.0 SJMP STARTDELAY:MOV R7,#05HLOOP2:MOV R6,#0FFHLOOP1:DJNZ R6,LOOP1 DJNZ R7,LOOP2 RET END单片机串行通信单片机串行通信 C语言程序:语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbit P1_0=P10;void main()unsigned char i,j;SCON=0 x00;j=0 x01;for(;

21、)P1_0=0;SBUF=j;while(!TI);P1_0=1;TI=0;for(i=0;i=254;i+);j=j*2;if(j=0 x00)j=0 x01;单片机串行通信单片机串行通信【例例】用用8051单片机的串行口外接并入串出的芯片单片机的串行口外接并入串出的芯片CD4014 扩展并行输入口,输入一组开关的信息。扩展并行输入口,输入一组开关的信息。8051 RXD TXD P1.0QB CLK P/S P1.1K0K7 K单片机串行通信单片机串行通信 CD4014是一块是一块8位的并入串出的芯片,带有一个控制端位的并入串出的芯片,带有一个控制端P/S,u当当P/S=1时,时,8位并行

22、数据置入到内部的寄存器;位并行数据置入到内部的寄存器;u当当P/S=0时,在时钟信号时,在时钟信号CLK的控制下,内部寄存器的内容的控制下,内部寄存器的内容 按低位在前从按低位在前从QB串行输出端依次输出;串行输出端依次输出;使用时,使用时,80518051串行口工作于方式串行口工作于方式0 0,80518051的的TXDTXD接接CD4014CD4014的的CLKCLK,RXDRXD接接QBQB,P/SP/S用用P1.0P1.0控制,控制,另外,用另外,用P1.1P1.1控制控制8 8并行数据的置入。并行数据的置入。单片机串行通信单片机串行通信 串行口方式串行口方式0数据的接收,用数据的接收

23、,用SCON寄存器中的寄存器中的REN位来控制,采用查询位来控制,采用查询RI的方式来判断数据是否输入。程序的方式来判断数据是否输入。程序如下:如下:ORG 0000H LJMP MAIN ORG 0100HMAIN:SETB P1.1START:JB P1.1,START SETB P1.0 CLR P1.0 MOV SCON,#10HLOOP:JNB RI,LOOP CLR RI MOV A,SBUF单片机串行通信单片机串行通信 C语言程序:语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbit P1_0=P10;sbit P1_1=P11;void main()unsigned char i;P1_1=1;while(P1_1=1);P1_0=1;P1_0=0;SCON=0 x10;while(!RI);RI=0;i=SBUF;单片机串行通信单片机串行通信 2)利用方式)利用方式1实现点对点的双机通信实现点对点的双机通信

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁