单片机原理与应用项目式教程 教学课件 作者 邹显圣主编 项目八.ppt

单片机原理与应用项目式教程 教学课件 作者 邹显圣主编 项目八.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行通讯是实现远距离低成本数据传输的有效方法。 在嵌入式系统中,与并行接口的总线形式相比:串行通讯又成为简化电路结构的新的接口形式而越来越多的被采用。 当前嵌入式系统流行的串行接口有: ①异步串行UART、同步串行USRT总线接口; ②SPI(Micro wire)总线接口 --- MOTOROAL、NS; ③I2C总线接口------PHILIPS; ④1-Wire总线接口----Dallas; ⑤CAN总线接口 --- Bosch; ⑥USB总线接口---Intel、Compaq等 字符帧:也称数据帧。 由“起始位”+“数据位”+“停止位”构成(如图)。 波特率:每秒钟传输二进制数的个数。 波特率使用的单位是:bps(bit per second) 位/秒。 异步通讯:数据是以字符或字节为单位组成字符帧传送。使用一条数据线发送或接收数据。发送与接收相互独立,互不同步,但双方必须使用相同的波特率和字符帧格式。 1、数据缓冲寄存器 SBUF(99H) 在MCS-51的串行口电路中,SBUF是用来存放发送和接收数据的两个独立的缓冲寄存器,在SFR的地址都是99H。CPU执行写SBUF指令便开始引发串口的发送。 MOV SBUF,A 当串口接收缓冲器接收到一帧数据时,可以执行下面指令进行读取: MOV A,SBUF SBUF实际上是一个能够独立完成数据接收和数据发送操作的复杂的硬件电路; ① CPU只要将数据送到发送SBUF(MOV SBUF,A)后,SBUF便一位一位地发送数据,发送完成后标志TI=1; ②在CPU允许接收串行数据的前提下,当外部串行数据经RXD送入SBUF时,电路便自动启动接收,直至完成一帧数据后标志 RI=1。 由于发送SBUF与接收SBUF是两个独立的缓冲器,所以51串行口是一个可以同时发送与接收的“全双工”接口。 SM0 SM1: 串行口工作模式选择位。 RI :完成一帧数据接收标志,必须由软件清零,接收完成RI=1并申请中断(如果中断开放,则引发中断); TI :完成一帧数据发送标志,必须由软件清零,发送完成TI=1同时申请中断(如果中断开放,则引发中断); RB8:在9位有效数据传送的模式2、3时,接收到的第9位数据; TB8:在9位有效数据传送的模式2、3时,将要发送的第9位数据; REN:允许接收位,REN=1时允许接收.由软件置位或清零。 SM2 :多机通信使能位. SM2 :多机通信使能位. 1,模式0、1时: SM2不用,应设为0。 2,模式2、3时: 若SM2=0,无论RB8如何,RI都能被激活(RI=1)。 但RI=1不能引发中断!只能用查询的方式接收数据。 若SM2=1,收到的第9位(RB8)=0时,则RI不会被激活; 若SM2=1且RB8=1时,RI才能被激活=1并可引发中断。 RI(SCON.0):接收完成标志 当SUBF从RXD接收完一个完整的数据帧时RI=1,如果中断是开放的,则RI=1时会自动引发中断。用户可以通过中断服务程序将SBUF中的数据取出送累加器A。 MOV A, SBUF ——在中服程序中接收数据; 也可以使用查询的方式对RI进行检测: JNB RI,$ ;如果RI≠1 则等待 MOV A,SBUF ;RI=1时,取SBUF中数据送A 当CPU执行:MOV SBUF,A 指令后,便引发一次串行通信的过程。SBUF开始通过TXD向外按位发送数据。当完成一帧数据的发送后,TI=1。 如果系统中断是开放的,则TI=1会自动引发中断。 用户可以通过中断服务程序向SBUF输送下一个数据: MOV SBUF,

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档