- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.4.2.3 实验运行结果 从图9-20和图9-21可以看到串口发送和接收信息的过程。 图9-20 发送信息显示 图9-21 发送接收信息显示 9.4.3 双机通信实验 该实验中,单片机的串口工作于方式1下,实现的功能是甲机和乙机实现通信。为此,将甲机串口的发送端和乙机串口的接收端连接;将甲机串口的接收端和乙机串口的发送端连接。 双机通信实验 为了便于观察实验结果,由甲机先发送“0”的显示码,乙机接收到之后,再发送“1”的显示码作为应答,甲机接收到之后,再发送“0”的显示码,如此循环下去。 9.4.3.1 硬件电路 双机通信实验的硬件电路见图9-22。 图9-22 双机通信实验的硬件电路 图9.13 10位的帧格式 发送时,数据从TXD输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器T1的溢出率和PCON中的SMOD位。 发送 接收 接收时,由REN置1允许接收,串行口采样RXD,当采样到1到0的跳变时,确认是起始位“0”,就开始接收一帧数据。当RI=0且停止位为1或SM2=0时,停止位进入RB8位,同时置位中断标志RI;否则信息将丢失。所以,在工作方式1接收时,应先用软件清除RI或SM2标志。 在工作方式2下,串行口为11位UART,传送波特率与SMOD有关。发送或接收一帧数据包括1位起始位,8位数据位,1位可编程位(用于奇偶校验)和1位停止位。其帧格式如图9.14所示。 9.3.5.3 方式2 图 9.14 11位的帧格式 发送时,先根据通信协议由软件设置TB8,然后用指令将要发送的数据写入SBUF,则启动发送器。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发送。一帧信息即从TXD发送,在送完一帧信息后,TI被自动置1,在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0。 发送 接收 当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位的信息。当接收器采样到RXD端的负跳变,并判断起始位有效后,开始接收一帧信息。当接收器接收到第9位数据后,若同时满足以下两个条件:RI=0;SM2=0或接收到的第9位数据为1,则接收数据有效,8位数据送入SBUF,第9位送入RB8,并置RI=1。若不能同时满足上述两个条件,则丢弃信息。 9.3.5.4 方式3 工作方式3为波特率可变的11位UART通信方式,除了波特率设定方式不同之外,工作方式3和工作方式2完全相同。 9.3.6 MCS-51单片机串行口的波特率设定 在串行通信中,收发双方对传送的数据速率即波特率要有一定的约定。通过上一小节的论述,我们已经知道,MCS-51单片机的串行口通过编程可以有4种工作方式。其中工作方式0和工作方式2的波特率是固定的,工作方式1和工作方式3的波特率可变,由定时器T1的溢出速率决定。 9.3.6.1 工作方式0和工作方式2 在工作方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变。 在工作方式2中,波特率取决于PCON中的SMOD值,当SMOD=0时,波特率为fosc/64;当SMOD=1时,波特率为fosc/32。即: 波特率= fOSC (2SMOD/64)。 9.3.6.2 工作方式1和工作方式3 在工作方式1和工作方式3下,波特率由定时器T1的溢出速率和SMOD共同决定。即: 波特率 = T1溢出速率(2SMOD/32)。 计数速率为外部输入时钟频率 其中T1的溢出速率取决于单片机定时器T1的计数速率和定时器的预置值。计数速率与TMOD寄存器中的C/ T位有关,当C/ T=0时,计数速率为fosc/12,当C/ T=1时,计数速率为外部输入时钟频率。 实际上,当定时器T1作为波特率发生器使用时,通常是工作在模式2,即自动重装计数初值的8位定时器,此时TL1作计数用,自动重装的值在TH1内。假设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次。为了避免溢出而产生不必要的中断,此时应禁止T1中断。 溢出周期为: 12 (256-X)/fOSC 溢出速率为溢出周期的倒数 溢出速率为溢出周期的倒数,所以 波特率 = (2SMOD/32)(fOSC /12(256-X)) 表9.2列出了各种常用的波特率及获得办法。 9.4 MCS-51单片机的串行接口实验 9.4.1 串行转并行实验 MCS-51单片机的串口工作于方式0时,通常是用作串
您可能关注的文档
- 单片机原理及应用第三章 指令系统(无条件、条件转移).ppt
- 单片机原理及应用第三章 指令系统(循环、位操作).ppt
- 单片机原理及应用第三章 指令系统(指令格式和寻址方式).ppt
- 单片机原理及应用第四章 汇编程序设计(顺序、分支程序设计).ppt
- 单片机原理及应用第四章 汇编程序设计(循环、子程序).ppt
- 单片机原理及应用第四章 汇编程序设计(中断服务子程序).ppt
- 单片机原理及应用第五章 存储器 IO口的扩展.ppt
- 单片机原理及应用第一章 绪论.PPT
- 单片机原理及应用技术-基于Keil C和Proteus仿真第1章 绪论.ppt
- 单片机原理及应用技术-基于Keil C和Proteus仿真第2章 单片机开发系统应用简介.ppt
原创力文档


文档评论(0)