第六章、串行口.ppt

上传人:s****8 文档编号:82722544 上传时间:2023-03-26 格式:PPT 页数:22 大小:283KB
返回 下载 相关 举报
第六章、串行口.ppt_第1页
第1页 / 共22页
第六章、串行口.ppt_第2页
第2页 / 共22页
点击查看更多>>
资源描述

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

1、 第六章第六章 MCS-51MCS-51串行接口串行接口 51系列单片机提供了一个全双工的串行接口,可用 于各种场合下的串行数据传送,其串行通信的信息 传送如图所示:RXDMCS-51 TXD GNDTXDRXD 外设GND 在微机应用系统中常用异步通信方式在微机应用系统中常用异步通信方式 在异步通信中在异步通信中,每一个字符用一个起始位(低电平0)表示字符开始,接着从低位开始依次传送数据位,最 后以一个停止位(高电平1)表示字符结束,构成一帧 信息。如传送55H字符,8位异步通信格式如图所示:在串行通信中在串行通信中,每秒钟传送的数据位数称为波特率波特率,设发送一位的时间为t,则波特率为1/

2、t。一、串行口控制寄存器一、串行口控制寄存器 在MCS-51中,具有2个独立的发送缓冲器和接收缓冲 器,具有2个控制寄存器,以控制串行口的工作方式 和波特率。其波特率发生器由定时器T1承担。1 1SCONSCON寄存器寄存器 SCON寄存器的格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI S SM0 0、S SM1 1:方式选择位 00H:方式0,移位寄存器方式 01H:方式1,8位异步通信接口(UART)波特率可变,为T1溢出率/N 10H:方式2,9位异步通信接口 波特率为f/64或f/32晶振 11H:方式3,9位异步通信接口 波特率可变,为T1溢

3、出率/N S SM2 2:允许方式2和3的多机通信控制位 在方式2/3中,当SM2=1时,则接收到的第9位数据 (RB8),只有为1才会激活RI。RENREN:允许串行接收位 由软件置位REN以允许接收,由软件清“0”以禁 止接收。TB8TB8:在方式2/3里,发送的第9位数据,由软件置位或 复位。RB8RB8:在方式2/3里,是接收到的第9位数据。在方式1时,如SM2=0,RB8是接收到的停止位;在方式0中不使用RB8。TITI:发送中断标志 由硬件在发送完时置位,必须由软件清必须由软件清“0 0”RI RI:接收中断标志 由硬件在发送完时置位,必须由软件清必须由软件清“0 0”2 2PCO

4、NPCON寄存器寄存器 PCON寄存器的格式如下D7D6D5D4D3D2D1D0SMOD S SMODOD:串行口波特率系数控制位 对方式1、3:当SMOD=0时:系数N=32 当SMOD=1时:系数N=16 对方式2:当SMOD=0时:系数N=64 当SMOD=1时:系数N=323.SBUF3.SBUF寄存器寄存器:串行口数据缓冲寄存器二、串行口工作方式二、串行口工作方式 1 1、方式、方式0 0 方式0为移位寄器I/O方式。A A方式方式0 0输出输出 串行口以方式0发送时,数据从RXD端串行输出,TXD 端输出同步信号,其波特率为f/12。MCS-51的串行接口可外接74LS164串行输

5、入并行输出 移位寄存器,其接口逻辑如图所示:B B方式方式0 0输入输入 当串行口定义为方式0并置位REN后,便启动串行口以 方式0接收数据,此时RXD为数据输入端,TXD为同步 信号输出端。当接收到8位数据时,将置“1”中断标 志RI。波特率为f/12。MCS-51串行口可外接并行输入 串行输出移位寄存器作为输入口。接口逻辑如图所示:2 2、方式、方式1 1 串行口定义为工作方式1时,则被程控为8位异步通信 接口,传送一帧信息为10位,其中1位起始位,8位数 据位(先低后高),1位停止位。方式的波特率是可变的,它由T1的溢出率控制。A A方式输出方式输出 串行口以方式1发送时,数据由TXD端

6、输出。CPU执行 一条数据写入发送缓冲器SBUF指令(MOV SBUF,A)数据字节写入SBUF后,便启动串行口发送器发送,发 送完一帧信息,将置“1”发送中断标志TI。B B方式输入方式输入 a a串行口以方式1接收时,数据从RXD端输入。b.工作流程:以F波*16 复位16分 REN=1 采样RXD RXD由1变0 频计数器 检测起始位 把一位分成16份,在7、N Y 8、9个计数状态,3次 起始位为0否 接收本帧 采样把2次相同的值作 其余信息 为采样值 (方法同上)1)当RI=0,接收到停止位为1时 停止位进入RB8 2)接收的8位数据缓冲器SBUF 3)置位RI中断标志 3 3、方式

7、、方式2 2和方式和方式3 3 串行口工作于方式2/3时,则被定义为9位异步通信接 口,传送一帧信息为11位。其中1位起始,8位数据,1位附加的可程控为1或0的第9位,1位停止。此外,方式2波特率为2SMOD*f/64,方式3波特率由T1的 溢出率控制。A A方式方式2/32/3输出输出 方式2/3输出时,数据由TXD端输出。发送一帧信息为 11位,附加位第9位数据是SCON中的TB8。CPU执行一条 数据写入发送缓冲器SBUF指令,就将启动发送器发 送,发完一帧信息,将置“1”TI中断标志。B B方式方式2/32/3输入输入 a a串行口被定义为方式2/3接收时,数据从RXD端输入。b bR

8、EN被置“1”后,接收器开始以所建立的波特率的 16倍的速率采样RXD的电平,检测到RXD端高到低的 负跳变时,启动接收器接收,如果接收到起始位为 “0”,则开始接收本帧其余信息。c c接收完一帧信息后,在(1)RI=0,SM2=0时,(2)RI=0,SM2=1,RB8=1时,数据装入接收缓冲器,并置“1”RI中断标志。如果不满足上述条件,接收到的信息将丢失,而且 不置“1”RI。C CMCS-51CS-51多机通信原理多机通信原理 a a我们知道,串行口以方式2/3接收时,若SM2=1SM2=1则仅则仅 当接收器接收到的第当接收器接收到的第9 9位数据为位数据为1 1时,数据才装入接时,数据

9、才装入接 收缓冲器收缓冲器SBUFSBUF并置并置“1 1”RIRI向向CPUCPU发中断发中断,如果接收 到的第9位为“0”,则不产生RI,信息将丢失。而而 SM2=0SM2=0时,接收到一个数据字节后,不管第时,接收到一个数据字节后,不管第9 9位数据位数据 是是1 1是是0 0都产生都产生RIRI,接收到的数据都装入接收到的数据都装入SBUFSBUF。应用这个特点,便可实现MCS-51之间的串行通信。通常SM2又称为多机通信控制位。b b设有一个多机系统如图所示,其从机地址定义为 00H,01H,02H 从机系统由从机初始化为:串行口为方式2/3 接收,且SM2=1,允许串行口中断。在主

10、机和某一个从机通信之前,先将从机地址 发送给各从机,接着才传送数据。且主机发送 地址时的第9位为1,发送数据时的第9位为0。当主机向从机发送地址时,由于各从机接收到 的第9位信息为1,且从机的SM2=1,所以将置 “1”RI,其地址信息将送入各从机,此时,各 从机将可判断主机送来的地址是否和本系统地 址相符,若为本机地址,则置“0”SM2,将准 备接收主机的的数据(或命令),若地址不一 致,则保持SM2=1不变。接着主机发送数据,且第9位为0,此时各从机接 收到的RB8为“0”,只有前面地址相符的从机(因 它的SM2=0),才会激活RI中断标志,接收主机的 数据,其余从机由于SM2=1,RB8

11、为0将不会激活 RI,所接收的数据将丢失。从而实现了主机和从 机的一对一的通信。(从机和从机的通信可通过主 机来实现)三、波特率设计三、波特率设计 串行口被定义为方式0发送接收时,其波特率为 f/12,定义为方式2时,其波特率为f*2SMODSMOD/64(32)。方式1/3的波特率和T1的溢出率有关,下面我们来 讨论方式1/3的波特率设计。1 1T1T1的溢出率计算的溢出率计算 A AT1T1定时器工作于方式定时器工作于方式0 0:溢出率nf/12*(21313Z+NR)-1-1 其中为初值,为溢出后恢复初值的周期数。B BT1T1定时器工作方式定时器工作方式1 1:溢出率nf/12*(21

12、616Z+NR)-1-1 C CT1T1定时器工作方式定时器工作方式2 2:溢出率nf/12*(28 8Z)-1-1(自动恢复初值)D D波特率波特率 波特率溢出率/N PCON的SMOD0时N32 PCON的SMOD1时N162 2方式方式1/31/3波特率设计波特率设计 波特率设计时,先设定串行口波特率和T1的工作方 式,然后计算出T1的初值。例如:例如:设波特率为2400,晶振频率为11.0592MHz,T1选方式2 SMOD=0 则:n/32=2400 n=76800 n=f/12*(256Z)-1-1 Z=256-11.0592*106/12*76800 =244 =F4H 通常T1

13、选用方式2所得的波特率比较精确,初值计 算也方便。四、串行接口的应用四、串行接口的应用1 1方式方式0 0输出程序输出程序 设在一个MCS-51的应用系统中,在串行口上扩展两 个移位寄存器作为16路状态指示灯接口(如图示)。现设计一个输出程序,其功能为将内部将内部20H20H、21H21H单单 元的状态缓冲器中内容输出到移位寄存器。元的状态缓冲器中内容输出到移位寄存器。程序如下:程序如下:SOUT:SOUT:MOV SCON,#00H MOV R0,#20H CLR TI MOV A,R0 MOV SBUF,A SOT1:JNB TI,SOT1 CLR TI INC R0 MOV A,R0 M

14、OV SBUF,A RET 2 2设串行口工作于方式设串行口工作于方式2 2,其,其TB8TB8作为奇偶校验位,试编作为奇偶校验位,试编一发送程序将一发送程序将50H-5FH50H-5FH的数据块从串行口输出。的数据块从串行口输出。TRT:MOV SCON,#80H MOV PCON,#80H MOV R0,#50H MOV R7,#10H LOOP:MOV A,R0 MOV C,P MOV TB8,C MOV SBUF,A WAIT:JBC TI,CONT SJMP WAIT CONT:INC R0 DJNZ R7,LOOP RET 3 3设串行口上外接一个串行输入设备,设串行口上外接一个串

15、行输入设备,MCS-51CS-51和该和该 设备之间采用设备之间采用9 9位异步通信方式,波特率为位异步通信方式,波特率为24002400 晶振为晶振为11.0592MHz11.0592MHz,串行口选择工作方式串行口选择工作方式3 3,定,定 时器时器T1T1选为工作方式选为工作方式2 2,RB8RB8为奇偶校验位,试编为奇偶校验位,试编 一接收一接收1616个数据的程序。个数据的程序。(SMOD=0)(SMOD=0)A A n=2400*32=f/12*(256-Z)-1-1 Z=F4HB B程序如下:RVE:MOV TMOD,#20H JNB PSW.0,PNP MOV TH1,#F4H JNB RB8,PER MOV TL1,#F4H SJMP RIG SETB TR1 PNP:JB RB8,PER MOV R0,#50H RIG:MOV R0,A MOV R7,#10H INC R0 MOV SCON,#D0H DJNZ R7,WAIT MOV PCON,#00H CLR PSW.5 WAIT:JBC RI,PRI RET SJMP WAIT PER:SETB PSW.5 PRI:MOV A,SBUF RET

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

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

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

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