- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片微型计算机与接口技术 (第4版) 第8章 单片机的串行接口 学习内容 ★串行通信的基本概念 ★串行通信接口结构和工作原理 ★串行通信控制寄存器和工作方式 ★串行通信的应用编程 ★串行通信分类:同步通信和异步通信 8.1.1 同步和异步方式 1.异步通信:(1帧传输1个字符) 发送、接收设备使用各自的时钟控制数据的发送和接收过程 优点:硬件结构简单 (单片机多采用) 缺点:传输速度慢 2.同步通信(1帧传输数据块) 由时钟来实现发送端和接收端同步 优缺点:与异步通信相反 8.1.2 通信方向 通信方向分类:单工、半双工、全双工 1.单工方式(单向): 一端发送,另外一端接收 2. 半双工方式 (双向,不同时) 数据可以双向传送,但不能同时发送和接收 串行接口的基本任务: 1.实现数据格式化 2.进行串、并转换 3.控制数据的传输速率 4.进行传送错误检测 8.1.4 串行接口 串行通信接口: 设备之间的互连接口(如USB接口) 串行扩展接口: 设备内部器件之间的互连接口 8.1.5 波特率 (串行通信数据传输速度) 比特率(bps):单位时间内传输二进制代码的有效位数 波特率(Baud):单位时间内传输码元符号的个数 例如:120字符/秒,1个字符10位二进制数 波特率为:120×10=1200波特 每位传送占用时间 (波特率的倒数) Td = 1/1200=0.833ms 比特率为:120×8=960 bps 每位传送占用时间 (比特率的倒数) Td = 1/960=1.04ms 8.2 单片机串行口结构与工作原理 51单片机有一个可编程的全双工异步串行通信接口,使用灵活 两个物理上独立的接收、发送寄存器SBUF(同名、同地址) ● 发送SBUF只能写入,不能读出,CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送 (如MOV SBUF, A) ● 接收SBUF只能读出、不能写入。读SBUF,就是读接收寄存器 (如MOV A, SBUF) 3. 方式2 (波特率固定) 11位异步发送/接收方式 1起始位,9数据位和1停止位组成. 发送时第9个数据位,由SCON的TB8位提供, 接收到第9位数据存放在SCON的RB8位. 第9位数据可作为检验位,也可用于多机通信中识别传送的是地址(=1)还是数据(=0)的特征位 波特率为(2SMOD/64)×fosc.(两种) 8.5 串行口的应用编程 串行通信编程要点: 1)确定波特率 (收,发一致) 2)填写SCON控制字 3)查询方式/中断方式? (TI/RI,清零) 4)收/发约定发送数据开始 8.5.2 中断方式 中断方式对T1和SCON的初始化编程同查询方式,但要开中断,即置位EA和ES,编写中断服务程序 串行口初始化编程格式: SIO:MOV SCON,#控制字 ;写方式字且 TI=RI=0,REN=1? (MOV PCON,#80H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES) . . (MOV SBUF,A ) ;发送数据 . . (MOV A, SBUF) ;接收数据 例8-1. 在内部数据存贮器20H~3FH单元中共有32个数据,要求采用方式1串行发送出去,传送速率为1200波特,设fosc=12MHz。 解: T1工作于方式2作波特率发生器,取SMOD=0,T1的计数初值计算如下:
文档评论(0)