第6章 串行口与通信.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章学习目标 : 了解并行通信与串行通信的含义 理解波特率的概念,学会波特率的计算方法 能按要求正确设置特殊功能寄存器SCON和PCON的SMOD位 能区分串行口的4种工作方式, 熟悉方式0和方式1程序的编制方法 知道RS-232C、RS-422A和RS485 基本性能 理解双机通信和多机通信的基本过程 能读懂教材中的控制实例,学会编写同等难度的控制程序 6.1串行通信的基础知识 1.串行通信的制式 按照信息传送的方向,串行通信可分为3种制式。 1.单工制式 2.半双工制式 3.全双工制式 2.串行通信的分类 2.串行通信的方式 3.串行通信的传输速率 6.2串行口的基本结构和工作方式 2.串行口的工作原理   串行端口有两个在物理上独立的接收寄存器SBUF和发送寄存器SBUF,一个用于存放接收的数据,另一个用于存放待发送的数据。两个寄存器共用一个地址99H,为发送和接收所共用。发送时,只写不读;接收时,只读不写。在一定的条件下,向SBUF写入数据就启发了发送过程;读SBUF就完成了接收过程。 串行通信的波特率可以程控设定。在不同工作方式下,由时钟振荡频率的分频值或由定时器T1的定时溢出时间确定,使用十分方便、灵活。 串行口的接收和发送是在定时电路和串行口控制寄存器的控制下工作,每当接收到一帧数据或发送完一帧信息时内部接收和发送标志位RI或TI被置位1,从而产生中断请求。 串行口的发送和接收都是通过特殊功能寄存器SBUF进行读或写的,当向SBUF发写命令时(执行 MOV SBUF A指令),转载发送缓冲器并开始由TXD引脚向外发送一帧数据,发送完毕置位发送中断标志TI。   在串行口接收中断标志RI(SCON.0)=0条件下,置允许接收位REN(SCON.4)=1就会启动接收,一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1.当执行读SBUF的命令时(执行MOV A SBUF指令),由接收缓冲器SBUF取出信息并通过内部总线送CPU。 6.2.2串行口的四种工作方式 2.方式1 6.3串行口的特殊功能控制寄存器 3.电源控制寄存器PCON 2.利用串行口扩展I/O口 8051单片机串行口方式0为同步移位寄存器方式,可进行8位并行I/O口的扩展。当串行口别无它用时,可通过使用串行输入并行输出移位寄存器(如74LS164)扩展并行输出口;或使用并行输入串行输出移位寄存器(如74LS165)扩展并行输入口。这种方法不占用片外RAM地址,而且还能简化单片机系统的硬件结构。但缺点是操作速度较慢,且扩展芯片越多,速度越慢。 图6-12是利用一片74LS165扩展8位并行输入口的实用电路。当移位/置入端S/由“1”变为“0”时,并行输入端的数据被置入寄存器。当S/=1,且时钟禁止端(15脚)接地时,在时钟脉冲的作用下,数据由QA向QH方向(即D7→D0)移动。 图6-12 利用一片74LS165扩展8位并行输入口电路 图中RXD(P3.0)作为8051的串行输入端与74LS165的串行输出端相连,TXD(P3.1)为移位脉冲输出端,与74LS165芯片的移位脉冲输入端连接,用一根I/O口线P1.0与74LS165芯片的S/相连来控制移位与置位过程。 注:图中74LS165的SIN引脚为串行输入端,用于两片74LS165的串行扩展连接。 3.串行通信编程基础 (1)串行口初始化编程 串行口初始化应该包括对SCON、PCON和T1的初始化。对T1的初始化又包含TMOD寄存器初始化(将T1设置为波特率发生器)、根据波特率求时间常数并对TH1和TL1赋值、启动T1等过程,串口初始化格式如下,其中加括号的指令可根据情况选择使用: SIO:MOV SCON,#控制状态字 ;写方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 (MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TH1,#X ) ( SETB TR1) ;启动T1 ( SETB EA) ;开串行口中断 ( SETB ES) (2)发送程序 发送程序可以采用中断和查询两种方式设计。 查询方式: TRAM:

文档评论(0)

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

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

1亿VIP精品文档

相关文档