MCS-51单片机接口电流放大的串行接口有()种工作方式其中方式()为多机通讯方式

简述MCS-51单片机串口通信的四种方式及其特点_百度知道
简述MCS-51单片机串口通信的四种方式及其特点
简述MCS-51单片机串口通信的四种方式及其特点
我有更好的答案
方式 0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。在这种方式下,数据从 RXD 端串行输出或输入,同步信号从 TXD 端输出,波特率固定不变,为振荡率的 1/12 。该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。 方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 SCON 中的 SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 PCON 的最高位选择。 方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的波特率是可变的。而帧格式与方式 2- 样为 11 位一帧。所以方式 3 也适合于多机通信。
高级工程师
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。豆丁微信公众号
君,已阅读到文档的结尾了呢~~
MCS-51单片机串行口有几种工作方式——所有资料文档均为本人悉心收集,全部是文档中的精品,绝对值得下载收藏!
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
MCS-51单片机串行口有几种工作方式
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口豆丁微信公众号
君,已阅读到文档的结尾了呢~~
广告剩余8秒
文档加载中
第二章 MCS-51单片机串行接口
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第二章 MCS-51单片机串行接口
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口mcs-51单片机的串行通信接口有4种工作方式,它们都是实现串口通信功能的吗_百度知道
mcs-51单片机的串行通信接口有4种工作方式,它们都是实现串口通信功能的吗
我有更好的答案
这个不全是,串口方式0是作为同步以为寄存器使用的,你用它可以模拟SPI 作为主机。其他三个是串口,只是每次通讯的数据位数或波特率不同而已
采纳率:86%
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 4588|回复: 1
基于89C51单片机串口通信程序的设计
& && &&&MCS-51系列单片机上有一个通用异步接收/发送器UART,通过引脚RXD[P3.O]和TXD[P3.1]可与外音B电路进行全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入。本文将具体介绍单片机串口的特点和编程方法,并且在最后给出一个实用的单片机与计算机通过串口通信的程序。
& & 串行接口的基本特点
& && &&&MCS-51单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同场合的需要。其中方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;工作方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可以作多机通信,以构成分布式多微机系统。
& && & 串行端口有两个控制寄存器SCON、PCON,用于设置工作方式、发送或接收的状态、特征位、数据传送波特率[每秒传送的位数]以及作为中断标志等。
& && & 串行端口有一个数据寄存器SBUF[在特殊功能寄存器中的字节地址为99H],该寄存器为发送和接收所共用。发送时,只写不读;接收时,只读不写。在一定条件下,向SBuF写入数据就启动了发送过程;读SBuF就启动了接收过程。
& && & 串行端口的波特率可以用程序来控制。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的定时溢出时间确定,使用十分方便灵活。
& & 串口控制寄存器
& & 1. 特殊功能寄存器SCON
& & 它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:
& & SM0、SM1:串行口工作方式选择位,其定义如下:
SM2:多机通讯控制位,仅用于方式2和方式3。当发送数据时SM2必须有软件设置为1;接收数据时,如果SM2=1只有接收到的第9位数据为1时,RI才置位;如果SM2=0只要接收第9位数据,RI就置位。
& & REN:接收允许控制位。由软件置位(REN=1)才允许接收,又由软件清O(REN=0)来禁止接收。
TB8:是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如。可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。
RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=O,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
TI:发送中断标志。发送数据前必须软件清0,发送过程中TI一直为0,当发送完一帧数据后,由硬件自动置1。如果要再发送,必须用软件再清0。在编写串行通信程序的时候,可以使用软件查询TI的方法获得数据是否已发送完毕。
RI:接收中断标志位。接收数据前必须软件清0,接收过程中RI一直为0,当接收完一帧数据后,由硬件自动置1。如果要再接收,必须用软件再清0。在编写串行通信程序的时候,可以使用软件查询RI的方法获得数据是否已接收完毕。
& & 2. 特殊功能寄存器PCON
& & PCON的字节地址为87H,它的第7位SMOD是与串口的波特率设置有关的选择位。
& & SMOD:波特率加倍位。在计算串行方式1、2、3的波特率时SMOD=0波特率不加倍;SMOD=1波特率加倍。
& & MCS-51单片机的串行的工作方式
& & MCS-51单片机的全双工串行口可编程为4种工作方式,现分述如下:
& & 1方式O
& & 方式0为移位寄存器输入/输出方式。可外接移位寄存器以扩展I/O口,也可以外接同步输入/输出设备。波特率固定为fosc/12,其中fosc为时钟频率。
& & 8位串行数据是从RXD输入或输出,TXD用来输出同步脉冲。
输出:串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器SBUF时,立即启动发送,将8位数据以fos/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志TI由硬件置位。
输入:RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(R1)=0且(REN)=1时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。
左面两图分别是方式0扩展输出和输入的接线图,74LS164/74LS165是移位寄存器,将单片机输出的串行数据变为8位并行数据,将外部输入的8位并行数据变成串行数据。
& & 2方式1
& & 方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。其中的起始位和停止位在发送时自动插入的。
& & 输出:当CPU执行一条指令将数据写入发送缓冲SBUF且TI=0时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,就由硬件置位TI。
输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至O的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。只有当8位数据接收完,并检测到高电平停止位后,只有满足①(R1)=0;②(SM2)=0或接收到的第9位数据为1时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。所以在方式1接收时,应先用软件清零RI和SM2标志。
& & 3. 方式2
& & 方式2为固定波特率的11位uART方式。它比方式1增加了一位可程控为1或0的第9位数据。
输出:发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON寄存器的TB8位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当CPu执行一条数据写入SuBF的指令且TI=0时,就启动发送器发送。发送一帧信息后,置位中断标志TI。
输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至O的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。在接收到附加的第9位数据后,当满足①(RI):0;②(SM2)=0或接收到的第9位数据为1时,第9位数据才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志Ri;否则信息丢失。且不置位RI。
& & 4. 工作方式3
& & 方式3为波特率可变的11位UART方式。除波特率外,其余与方式2相同。
& & 波特率的选择
如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在MCS-51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。
& & 1.方式O
& & 方式0的波特率固定为主振频率&&的1/12。
& & 2.方式2
方式2的波特率由PCON中的选择位SMOD来决定,可表示为:波特率=2sMoD×fosc/64也就是当SMOD=1时,波特率为1/32×fosc,当SMOD=0时,波特率为1/64×fosc。
& & 3.方式1和方式3
& & 定时器T1作为波特率发生器,其公式如下:
& & 波特率=2SMOD/32×定时器T1溢出率
& & T1溢出率=T1计数率/产生溢出所需的周期数
式中T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为fOSC门2:当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于fOSC/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值(×]有关。
& & 定时器T1工作于方式O:溢出所需周期数=8192-×
& & 定时器T1工作于方式1:溢出所需周期数=65536-X
& & 定时器T1工作于方式2:溢出所需周期数=256-X
& & 因为方式2为自动重装入初值的8位定时器/计数器模式,所以用它来做波特率发生器最恰当。这种方式下,T1的溢出率[次/秒]计算式可以表示为:
& & T1溢出率=fsoc/12[256-X]
& & 于是波特率(位/秒)表达式为:
& & 当时钟频率选用11.0592MHz时,取易获得标准的波特率,所以很多单片机系统选用这个看起来“怪”的晶振就是这个道理。
左表列出了定时器T1工作于方式2常用波特率及初值。
Powered by

我要回帖

更多关于 单片机串行接口 的文章

 

随机推荐