并行串行接口51-2012试题.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五节 I/O接口电路 5-1 并行接口PIO 一.PIO接口内部结构:输出锁存器、输出驱动器、输入缓冲器及多路功能切换电路。 三.PIO的使用 1. P0口:并行双向接口或系统总线DB0~7/AB0~7 2.P1口:称为用户I/O接口。对片内EPROM编程时,用作EPROM低8位地址信号线。 五. 应用举例 例:用4个发光二极管对应显示4个开关的开合状态。 如P1.0合则P1.4亮。 2.中断传送方式: 先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。 ORG 0000H AJMP MAIN ORG 0003H AJMP IOINT ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE ORG 0500H IOINT: MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI 第六节 串行I/O接口SIO 一.串行通讯的基本方式 (一).异步通讯 以字符为传送单位用起始位和停止位标识每个字符的开始和结束字符间隔不固定,只需字符传送时同步。 异步通讯常用格式:一个字符帧 二.串行接口功能 1.发送器:并?串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。 2.接收器:串?并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。 3.控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。 6-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 一.串行接口控制 1.数据缓冲器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=1。 (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/

文档评论(0)

4477769 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档