- 1、本文档共72页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3 串行I/O接口SIO 一.串行通讯的基本方式 (一).异步通讯 以字符为传送单位用起始位和停止位标识每个字符的开始和结束字符间隔不固定,只需字符传送时同步。 异步通讯常用格式:一个字符帧 二.串行接口功能 1.发送器:并?串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。 2.接收器:串?并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。 3.控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。 6.3.1 MCS-51串行接口 1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧位数 8/10/11发送/接收时,数据皆低位在前。 一.串行接口控制 1.数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H 。 1)发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。 发送指令: MOV SBUF,A 2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令: MOV A,SBUF 二. 串行接口的工作方式SM0,SM1选择四种工作方式。 (1) 方式0:同步移位寄存器方式。用于扩展并行I/O接口。 1.一帧8位,无起始位和停止位。 2.RXD:数据输入/输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。 3.波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1?s。 4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。 接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。 (2) 方式1 8位数据异步通讯方式。 1.一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 2.RXD:接收数据端。 TXD:发送数据端。 3.波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。 4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。 (3) 方式2和方式3 9位数据异步通讯方式。 1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。 2.RXD:接收数据端,TXD:发送数据端。 3.波特率: 方式2:B=(2SMOD/64)×fosc 。 方式3:B=(2SMOD/32)×T1溢出率 。 4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。 (4)计算波特率 方式0为固定波特率:B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特率,用T1作波特率发生器。 B=(2SMOD/32)×T1溢出率 T1为方式2的时间常数: X = 28 - t/T 溢出时间: t= (28 -X)T = (28 -X)×12/ fosc T1溢出率=1/t= fosc /[12×(2n -X)] ? 波特率B=(2SMOD /32)×fosc/[12×(28-X)] 串行口方式1、3,根据波特率选择T1工作方式,计算时间常数。 T1选方式2: TH1=X= 28-fosc/12×2SMOD/(32×B) T1选方式1用于低波特率,需考虑T1重装时间常数时间。 6.3.2 串行口的应用 串行口初始化编程格式: SIO:MOV SCON,#控制状态字;写方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES) 发送程序:先发送一个字符,等待TI=1后再发送下一个字符。 1.查询方式: TRAM: MOV A,@R0 ;取数据 MOV SBUF,A ;发送一个
您可能关注的文档
- verilog条件语句课件例程.ppt
- VisualBasic循环结构程序设计.ppt
- VisualFoxPro基础第二章.ppt
- vip接待策划.ppt
- WEB代码审计与渗透测试.ppt
- VDesk桌面云-简单好用的桌面虚拟化软件.ppt
- WIFI吞吐量测试方法.ppt
- winrunner自动化测试工具.ppt
- Web基础知识.ppt
- WINXPOPK相关知识.ppt
- 甘肃省酒泉市金塔县等4地2024-2025学年高一上学期11月期中考试数学试题【含解析】.pdf
- 浙江省宁波市余姚中学2024-2025学年度高二上学期10月月考数学试题【含解析】.docx
- 河南省商开大联考2022-2023学年高一上学期期中考试数学试卷【含解析】.pdf
- 重庆市开州中学2024-2025学年高二上学期第一次月考数学试题【含解析】.docx
- 云南省昆明仁泽中学2024-2025学年度高二上学期10月月考数学试卷【含解析】.docx
- 《环境文本数据加工处理技术规范》.pdf
- 《区域大气环境承载力监测预警技术规范》.pdf
- 《环境空气温室气体光声光谱法连续自动监测仪技术要求及检测方法》.pdf
- 《美丽城市建设数据分级分类规范》.pdf
- 《大数据优化区域空气质量模拟排放输入数据技术规范》.pdf
文档评论(0)