计算机基础课件 第6章 串行接口

上传人:woxinch****an2018 文档编号:44697868 上传时间:2018-06-14 格式:PPT 页数:61 大小:811KB
返回 下载 相关 举报
计算机基础课件  第6章  串行接口_第1页
第1页 / 共61页
计算机基础课件  第6章  串行接口_第2页
第2页 / 共61页
计算机基础课件  第6章  串行接口_第3页
第3页 / 共61页
计算机基础课件  第6章  串行接口_第4页
第4页 / 共61页
计算机基础课件  第6章  串行接口_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《计算机基础课件 第6章 串行接口》由会员分享,可在线阅读,更多相关《计算机基础课件 第6章 串行接口(61页珍藏版)》请在金锄头文库上搜索。

1、第6章 串行接口v6.1 串行通信的基础知识v6.2 89C51单片机的串行接口v6.3 串行口工作模式v6.4 串行口应用举例6.1 串行通信的基础知识n计算机与外设的信息交换称为通信。 通信的基本方式:并行通信和串行通信。n并行通信:指数据的各位同时进行传送。n其优点是传送速度快,缺点是数据有多少位, 就需要多少根传输线,适合于近距离传输。n串行通信:指数据的各位按顺序一位一位传送 。其优点是只需一对传输线(如电话线),占 用硬件资源少,从而降低了传输成本,特别适 用于远距离通信,缺点是传送速度较慢。n6.1.1 串行通信的两种基本方式n串行通信基本方式:异步通信和同步通信。1、异步通信方

2、式起始位 1位 “0”有效 用一帧表示一个字符 数据位 5-8位一个字符包括4个部分 奇偶校验位 1位停止位 1位、1位半、2位 “1”有效起始位奇偶校验位DND1D0图6-1 异步通信的字符格式停止位在异步通信时,通信双方必须事先约定。n(1)字符格式。 双方要事先约定数据位的位数、 奇偶校验形式及起始位和停止位的位数。 n例如:用ASC码通信,有效数据为7位,加一个奇 偶校验位、一个起始位和一个停止位共10位。当然 停止位也可以大于1位。n(2)波特率(Baud rate)。波特率就是传送速率 ,即每秒传送的二进制位数。单位为bit/s或波特。n波特率与字符的传送速率之间的关系为:波特率=

3、 一个字符的二进制编码位数*字符数/秒.要求发送端与接收端的波特率必须一致。 假设:数据传送率是120字符/s,每个字符格式包含十 个代码位(一个起始位、一个终止位、8个数据位) ,波特率为:10120=1200bit/s=1200波特n2同步通信方式n异步通信由于要在每个数据前后附加起始位、停止 位,每发送一个字符约有20%的附加数据,占用了传 输时间,降低了传送效率。n同步通信则去掉每个数据的起始位和停止位,把要 发送的数据按顺序连接成一个数据块,在数据块的 开头附加12个同步字符,在数据块的末尾加差错 校验字符。同步通信的数据格式如图6-2所示。在数 据块内部,数据与数据之间没有间隙。同

4、步字符 数据1 数据2 数据N 校验字符1 校验字符2 同步字符要求:发送和接收双方要保持完全的同步,所以,要 求发送和接收设备必须使用同一时钟。解决办法:(1)对于近距离通信:采用在传输线中增加一根时钟 信号线来解决。(2)对于远距离通信:通过解调器从数据流中提取同 步信号,用锁相技术实现收、发频率完全相同的时 钟信号。n如上所述,异步通信技术较为简单,应用范围广; 同步通信传输速率高,适用于高速率、大容量的数 据通信,但硬件复杂。6.1.2 串行通信的数据传送方式1、单工方式:数据传送是单向的,一端为发送另一 端为接收,只需一条数据线。图6-3(a)2、半双工方式:数据传送是双向的,AB,

5、BA, 同一时间只能做一个方向传送,只需一条数据线。图6-3(b)3、全双工方式:数据传送是双向的,A、B两端可同 时发送,又可同时接收,需两根数据线。图6-3(c)ABABABn6.1.3 串并转换和串行接口 (1)串并转换实现:由串并接口电路+适当的软件配合串行接口芯片:异步接收/发送器UART同步接收/发送器USART (2) UART组成: 接收器发送器控制器 主要功能: 串行并行 (接收器完成)并行串行 (发送器完成)完成格式信息的插入,滤除及错误校验(控制器完成)格式信息指异步通信中的起始位、奇偶位、停止位 。n6.2 89C51单片机的串行接口n对于单片机来说,为了进行串行通信,

6、同样也 需要有相应的串行接口电路。只不过这个接口电 路不是单独的芯片,而是集成在单片机芯片的内 部,成为单片机芯片的一个组成部分。89C51单 片机有一个全双工的串行口 。n6.2.1 89C51单片机串行口的结构q6.2.2 89C51单片机串行口的控制q6.2.3 波特率设计n6.2.1 89C51单片机串行口的结构1、组成:发送数据缓冲器:只能写入,不能读出接收数据缓冲器:只能读出,不能写入发送控制器输出控制门接收控制器输入移位寄存器 两个专用寄存器 SCON:存放串行口的控制和状态信息PCON:改变串行通信波特率发送缓冲器和接收缓冲器两个用同一符号SBUF, 地址99H,用指令判断选哪

7、个MOV SBUF,A 写入;MOV A,SBUF 读出发送 SBUF (99H)发送控制器接收控制器输入移位寄存器串 行 控 制 寄 存 器 (98H)门定 时 器 T11接收 SBUF (99H)串行口中断88 8TXD(P3.1)RXD(P3.0)TIRI内部总线图6-4 串行口结构框图n6.2.2 89C51单片机串行口的控制 n1串行口控制寄存器SCONn可设定串行口的工作模式、接收/发送控制及设置状态标 志。字节地址98H,可位寻址。 n nSM0、SM1:工作模式选择位,可选择4种工作模式。n 表6-1 串行口的工作模式SM0 SM1工作模式 功 能 说 明 波 特 率0 0模式

8、0同步移位寄存器方式fosc/12 0 1模式110位异步接收发送 可变(由定时器控制) 1 0模式211位异步接收发送 fosc/32或fosc/641 1模式311位异步接收发送 可变(由定时器控制)SM0 SM1 SM2 REN TB8 RB8 TI RID0D2D1D3D4D5D6D7nSM2:多机通信控制位。SM2=1,允许多机通信。n在主从式多机通信中,SM2用于从机的接收控制。 设SM2=1:从机只接收地址帧;若接收到的第9位数 据(RB8)为0时(数据帧),不启动接收中断标志 RI(即RI=0),并且将接收到的前8位数据丢弃;只 有当RB8为1时(地址帧),才将接收到的前8位数

9、据 送入SBUF中,并置位RI,以产生中断申请。n设SM2=0:从机可接收所有信息;不论第9位数据是0 还是1,都置RI=1,接收到的数据都装入到SBUF中。n在模式1:若SM2=1,则只有接收到有效停止位时, RI才置1。n在模式0:SM2必须是0。nREN:允许接收控制位。该位由软件置1或清0。nREN=1时,允许接收数据;若REN=0,则禁止接收;nTB8:在模式2和模式3中,TB8是发送数据的第9位, 根据发送数据的需要由软件置位或复位。 n它可作奇偶校验位(单机通信时)。 n在多机通信中可作为发送地址帧或数据帧的标志位 。多机通信时,一般约定:发送地址帧时,设置 TB8=1;发送数据

10、帧时,设置TB8=0。 n在模式0或模式1中,该位未用。nRB8:在模式2和模式3中,RB8是接收数据的第9位, 它即可以是约定的奇偶校验位(单机通信时)。n也可以是约定的地址/数据标志位 (多机通信时) 。可根据RB8被置位的情况对接收数据进行某种判断 ,n多机通信:,若RB8=1,说明收到的数据为地址帧; RB8=0,收到的数据为数据帧。 n在模式1时,若SM2=0(即不是多机通信情况),则 RB8是已接收到的停止位。模式0中该位未用。nTI:发送中断标志。n在一帧数据发送结束时由硬件置位。nTI=1表示“发送缓冲器已空”,通知CPU可以发送下 一帧数据。nTI位可作为查询;也可作为中断申

11、请标志位。nTI不会自动复位,必须由软件清0。nRI:接收中断标志。n在接收到一帧有效数据后由硬件置位。nRI=1表示一帧数据接收完毕,并已装入接收缓冲器 中,即表示接收缓冲器以满,通知CPU可取 走该数据。n该位可作为查询,也可作为中断申请标志位。n同样RI不会自动复位,必须由软件清0。2电源控制寄存器PCONn字节地址为87H,不可位寻址,内容如下:低4位:CHMOS器件的掉电方式控制位。SMOD:波特率倍增位,在模式1、2、3中SMOD=1,波特率提高1倍;SMOD=0,波特率不增倍;复位时,PCON=00HSMOD GF1 GF0 PD IDLD7D5D6D4D3D2D1D0n6.2.

12、3 波特率设计n串行口有4种工作模式,对应着3种波特率。n1模式0的波特率波特率固定:每个机器周期产生一个移位时钟,可 发送或接收一位数据。且不受SMOD位的影响。即模式0的波特率=fosc/12n2模式2的波特率由系统的振荡频率fosc和SMOD共同确定,即模式2的波特率=2SMODfosc /64n3模式1和模式3的波特率模式1和模式3的移位时钟由定时器T1的溢出率决 定,故波特率由T1的溢出率与SMOD值共同决定,即模式1和模式3的波特率= 2SMODT1的溢出率/32当T1做波特率发生器使用时,最典型的用法是使T1工作在模式2(初值自动加载)、定时方式,若计数 初值为X,则每经过“25

13、6X”个机器周期。定时器 T1就会产生一次溢出;溢出周期为:n (256X)n溢出率为溢出周期的倒数,所以n 波特率=n此时,定时器T1工作在模式2时的初值应为:X=(256 )12 fosc2SMOD 32fosc 12(256-X)fosc(SMOD+1) 384波特率对于52子系列单片机,通过设置T2CON寄存器中TCLK和RCLK这两位,可选择T2做串行口的波特率发 生器。当TCLK=1时,选T2做发送波特率发生器,当 RCLK=1时,选T2做接收波特率发生器,当两者均为1 时,选T2做发送/接收波特率发生器。 n当T2做波特率发生器时,波特率取决于它的溢出率 ,而与SMOD的状态无关

14、。计数时钟可以来自内部, 也可以来自外部,决定于T2CON中的C/T2位的值,并 且T2的溢出信号要经过一个16分频计数器。当C/T2=0时,选用内部时钟,计数频率为fosc /2,波特率由下式给出:n波特率= fosc/2*1665536-(RCAP2H-RCAP2L)式中RCAP2H,RCAP2L为自动重装载值。当C/T2=1时,选用外部时钟,计数频率为外部时钟 频率,其最高频率为fosc/24。波特率=外部时钟频率/ 65536-(RCAP2H-RCAP2L)例6-1已知89C51单片机系统晶振频率为11.0592 MHz, 选用定时器T1工作模式2做波特率发生器,波特率为 2400波特

15、,求初值X。 解:设波特率选择位SMOD=0,则有:X=25611.0592*106(0+1)/(384*2400)=244=F4H所以,(TH1)=(TL1)=F4H。 系统晶振频率选为11.0592 MHz是为了使初值为 整数,从而产生精确的波特率。6.3 串行口工作模式v6.3.1 模式0v6.3.2 模式1v6.3.3 模式2v6.3.4 模式36.3.1 模式0n模式0是同步移位寄存器方式,用于扩展I/O口。n模式0以8位为一帧数据,没有起始位和停止位,低位 在前、高位在后,其帧格式为:n8位串行数据的输入或输出都是通过RXD端,而TXD端 用于送出同步移位脉冲,作为外接器件的同步移位信 号。波特率固定为fosc/12。n发送与接收工作过程:n模式0的发送是在TI=0的情况下,由一条写发送缓冲 器的指令开始。n例如: MOV SBUF ,A D0 D1 D2 D3 D4 D5 D6 D7 低位高位nCPU执行完该指令,串行口即将8位数据从RXD端送出 (低位在前),同时,在TXD端发出同步移位脉冲。 8位数据发送完毕后,由硬件置位TI=1。可通过查询 TI位来确定是否发送完一组数据,TI=1表示发送缓 冲器已空;TI=1

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

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号