第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口

上传人:飞*** 文档编号:4777985 上传时间:2017-08-06 格式:PPT 页数:54 大小:1.83MB
返回 下载 相关 举报
第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口_第1页
第1页 / 共54页
第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口_第2页
第2页 / 共54页
第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口_第3页
第3页 / 共54页
第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口_第4页
第4页 / 共54页
第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口》由会员分享,可在线阅读,更多相关《第4章-MCS-51内部标准功能单元-4.3MCS-51的串行接口(54页珍藏版)》请在金锄头文库上搜索。

1、第4章 MCS - 51单片机 内部标准功能单元,4.3 MCS-51的串行接口,4.3 MCS-51的串行接口,4.3.1 串行通信基础知识4.3.2 串行通信接口的基本结构4.3.3 与串行接口有关的特殊功能寄存器4.3.4 串行接口的波特率计算4.3.5 串行接口的工作方式4.3.6 串行接口扩展并行I/O接口4.3.8 串行接口通信技术实例4.3.7 串行接口通信接口标准,4.3.1 串行通信基础知识,通信:计算机与外部设备或计算机与计算机之间的数据交换串行通信同步通信、异步通信并行通信通信最重要的指标波特率、距离、抗干扰能力,1. 并行与串行,并行通信 串行通信,优缺点?,2. 同步

2、与异步的数据格式,同步通信数据格式异步通信数据帧格式,3. 数据传输方向,4. 波特率,波特率表示数据的传输速率波特率是每秒钟传输二进制代码的位数单位是:位秒(bps或Kbps),波特 或 bit/s在异步串行通信中,接收方和发送方应使用相同的波特率,才能成功传送数据。,例如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位)波特率=_,10位(bit)240个/s = 2400 bit/s,5. 串并转换和串行接口,CPU并行的输入/输出数据和某些外部设备或其它计算机交换信息时:串行CPU I/O设备:并行 串行CPU I/O设备:并行 串行转换完成:串行接

3、口电路 + 适当的软件串行接口芯片通用异步接收/发送器:UART通用同步接收/发送器:USART,UART组成接收器、发送器和控制器主要功能(1)发送器 或 接收器串并或并串转换(2)控制器格式信息的插入和滤除及错误校验。格式信息:异步通信中的起始位、奇偶位和停止位等,4.3.2 串行通信接口的基本结构,1个全双工的串口RXD、TXD与外设进行异步通信4种基本工作方式(SCON寄存器的SM0SM1位来决定)方式0:移位寄存器输入/输出方式(同步时钟Fosc/12)方式1:8位异步方式(波特率B可编程)方式2:9位异步方式(波特率B基本固定)方式3:9位异步方式(B可编程)2个专用寄存器:SCO

4、N、PCONSBUF(99H)为发送和接收共同拥有(双缓冲)写时,启动发送;读时,读出接收的数据波特率根据工作方式而定,一般可通过程序控制,串口基本结构,接收/发送 缓冲寄存器 SBUF,地址:共用;物理:独立;冲突:不发生。对 SBUF 的操作MOV SBUF,A 启动一次数据发送MOV A,SBUF完成一次数据接收SBUF可再接收下一个数据,RI / TI,接收/发送数据无论是否采用中断方式工作每接收/发送一个数据都必须用指令对 RI/TI 清0以备下一次收/发,4.3.3 与串行接口有关的特殊功能寄存器,1. 控制寄存器 SCON2. 电源控制寄存器 PCON,1. 控制寄存器 SCON

5、,1)SM0 、SM1串行口工作方式选择位 其状态组合和对应工作方式为: SM0 SM1 工作方式 0 0 方式0 01 方式1 10 方式2 1 1 方式3,可位寻址,2)SM2多机通信控制位0 单机通信方式0 和 方式11多机通信(从机接收地址帧时)主要用于:方式2 和 方式3,3)REN 允许串行接收控制位 0 禁止接收1允许接收,4)TB8 发送数据第9位 5)RB8 接收数据第9位,多机通信的地址帧/数据帧的标志(0:数据帧;1:地址帧)或数据的奇偶校验位,6)TI 发送中断标志位7)RI 接收中断标志位,硬件置位,软件清零 (必须),电源控制寄存器 PCON,不可位寻址,4.3.4

6、 串行接口的波特率计算,方式0:fosc/12方式2:2SMODfOSC/64方式1、3:波特率 B2SMODT1的溢出率/32T1的溢出率 fosc/12/(256X)每秒钟溢出的次数X:T1的初值 代入后,常用波特率和定时器T1的初值关系表,4.3.5 串行接口的工作方式,1. 方式0 输出,启动发送:MOV SBUF, A移位脉冲输出端:TXD数据发送端:RXD数据发送顺序:低到高波特率:fosc/12一帧数据发送后: TI=1(硬件自动)再次发送前,必须:TI=0(指令),方式0 输入,启动接收:RI=0 且 REN=1移位脉冲端:TXD接收端:RXD数据接收次序:低到高波特率:fos

7、c/12一帧数据接收后: RI=1(硬件自动)再次接收前,必须:MOV A,SBUF(取走上一帧数据) RI=0(指令),多用查询方式编程,接收: JNB RI,$CLR RIMOV A, SBUF,发送:MOV SBUF,A JNB TI,$ CLR TI ,接收前,务必先置位REN=1方允许接收数据,2. 方式1 输出,启动发送:MOV SBUF,A数据发送端:TXD波特率:2SMODT1的溢出率/32一帧数据发送完后:TI=1(硬件自动)再次发送前,必须:TI=0(指令),最常用的通信方式,方式1 输入,启动接收:RI=0 且 REN=1接收端: RXD接收条件:RI=0 且 SM2=0

8、(或 接收的停止位=1)数据:8位数据位 SBUF停止位 RB8波特率:2SMODT1的溢出率/32一帧数据接收后: RI=1(硬件自动)再次接收前,必须:MOV A,SBUFRI=0(指令),方式2、3 输出,波特率方式2:2SMODfOSC/64方式3:2SMODT1的溢出率/32启动发送:MOV SBUF,A数据发送端:TXD一帧数据发送完后:TI=1(硬件自动)再次发送前,必须:TI=0(指令),方式2、3 输入,启动接收:RI=0 且 REN=1接收端:RXD接收条件:RI=0 且 SM2=0(或 接收到的第9位数据位为1)数据: 8位数据位 SBUF第9位数据位 RB8一帧数据接收

9、后: RI=1(硬件自动)再次接收前,必须:MOV A,SBUFRI=0(指令),4.3.6 串行接口扩展并行I/O接口,串行口方式0同步移位寄存器的输入输出方式用于扩展并行I/O口例1一个串行口扩展并行I/O口方案8个LED指示灯,指示8个按键闭合状态有键按下时对应的指示灯亮,并入串出,串入并出,74LS165 功能表并入串出,74LS164 功能表串入并出,ORG0000HSIO:MOVSCON,#10H;REN=1,RI=0,SM0=0,SM1=0,;串行口工作在方式0,且允许接收LOOP:CLRP1.0; S/L=0,允许并行读入按键到74LS165 ;有按键的位读数为0SETBP1.

10、0; S/L=1 ,允许串行移位CLRRI;启动接收JNBRI,$;若RI=0,8位数据未接收完,等待MOVA,SBUF;若RI=1,8位数据接收完,读入ACLRTI;清发送标志,准备发送MOVSBUF,A;启动发送,输出数据位0,;将点亮对应位LEDJNBTI,$;8位数据未发送完,等待SJMPLOOP;8位数据发送完,循环END,165,164,4.3.8 串行接口通信技术实例,应用特点1个中断,2个标志发送、接收前,相应的TI、RI必须先软件清零中断打开条件下方式0、1在发送、接收完一帧数据后,还会引起串行中断请求但对方式2、3还要看SM2和RB8的状态,多机通信原理图,在串行方式2、3

11、时,具有多机通信功能,可以实现一台主机与多台从机的信息交流。通信只在主从机之间进行,而从机与从机之间不可以直接通信。,SM2 RB8接收机中断标志与中断状态 0 0激活RI,引起中断 0 1激活RI,引起中断 1 0 不激活RI,不引起中断 1 1激活RI,引起中断,SM2=0,TB8=1,n=1#,RB8=1,n=1#,SM2=1,SM2=1,SM2=1,SM2=0,TB8=0,DATA,DATA,RB8=1,n=1#,RB8=1,n=1#,TB8=1,n=1#,主从多机通信的过程,(1) 使所有的从机工作在方式2或方式3,且SM2位置1,REN=1,以便接收主机发来的地址。(2) 主机发出

12、要寻址的从机的一帧地址信息,其中包括8位需要与之通信的从机地址,第9位TB8=1。(3) 所有从机接收到地址帧后,置RI=1。(4) 各从机相应中断,进入中断服务程序,进行地址比较。地址相同的从机,使SM20,准备接收主机随后发来的数据信息;地址不符合的从机,仍保持SM2=1的状态,对主机随后发来的数据不予理睬,直至发送新的地址帧。(5) 主机给已被寻址的从机发送控制指令和数据(数据帧的第9位为0)实现主从通信。,当用于双机通信时必须SM20此时,第9位作奇偶校验或不用,串行口的编程,初始化过程 (1)按选定工作方式设定SCON的SM0、SM1;(2)对于工作方式2或3,应根据需要在TB8中写

13、入待发送的第9位数据;(3)若选定的工作方式不是方式0,还需设定接收/发送的波特率;(4)设定SMOD的状态,以控制波特率是否加倍;(5)若选定工作方式1或3,则应对定时器T1进行初始化操作,以设定其溢出率。,例2串行通信实例(方式1),两台单片机应用系统甲机发送以TR_RAM为首地址的20个数据乙机接收收到的数据存放到以REC_RAM为首地址的内存单元设fosc=11.0592MHz,9600波特率甲机为查询发送,乙机为中断接收,通信协议,甲机发送程序(查询)TR_RAMDATA30HORG0000HLJMPMAINORG0100HMAIN: MOVTMOD,#20H;置T1定时器工作方式2

14、 MOVTL1,#0FDH;置T1计数初值(11.0592MHz/9600) MOVTH1,#0FDH;置T1计数重装值 CLRET1;禁止T1中断SETBTR1;T1启动CLRES;禁止串行中断MOVSCON,#40H;置串行方式1,禁止接收 MOVPCON,#00H;置SMOD=0(SMOD不能位操作),SETB P1.0 ;发送结束指示灯 MOVR0,#TR_RAM;置发送数据区首地址MOVR2,#20;置发送数据长度TRX:MOVA, R0;取一个数据MOVSBUF, A;发送JNBTI, $;等待一帧数据发送完毕CLRTI;清发送中断标志INCR0;指向下一字节单元DJNZR2, TRX ;判20个数据发完否?未完继续CLRP1.0 ;发送结束指示灯 SJMP$END,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

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