- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51硬件结构
第六章??单片机系统扩展 [内容提要] 本章主要介绍单片机的扩展技术。单片机的扩展包括了存储器扩展,输入、输出接口的扩展,数模转换器和模数转换器的扩展以及与人机对话通道接口等等。 [学习要求] 应掌握单片机的扩展方法,即利用存储器地址分配原理扩展包括存储器、I/O口的方法。掌握8279等专用芯片的结构原理及与单片机的接口技术。理解一些常用的扩展器件,如程序存储器、数据存储器、常用的TTL器件、LED、键盘以及常用的专用器件8255和8279、A/D、D/A转换器件的工作原理,了解串行接口的扩展原理及应用。 6.6 单片机串行接口技术 以一串字符为一个传送单位,字符间不加标识位, 在一串字符开始用同步字符标识,硬件要求高,通讯双 方须严格同步。 3.串行接口功能 ◆发送器:并?串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。 ◆接收器:串?并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。 ◆控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。 1.1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧位数 8/10/11发送/接收时,数据皆低位在前。 2、串行接口控制 (1) 数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 ◆发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。 发送指令: MOV SBUF,A ◆接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF (3)串行口控制/状态寄存器SCON(98H) 三、串行接口的工作方式 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。 (5) 移位寄存器方式举例 数据从RXD(P3.0)引脚串行输出,低位在先,高位在后;TXD(P3.1)引脚输出移位脉冲,其频率为foc/12;发送完毕后,中断标志位TI为1。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕 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溢出率 。 3. 方式2和方式3: 9位数据异步通讯方式。 (4) 发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。 接收:REN=1,允许接收。接收完一帧,若RI=0且第9位 为1 (或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。 方式0为固定波特率: B=fosc/12 方式2可选两种波特率: B=(2SMOD /64)×fosc 方式1、3为可变波特
文档评论(0)