你要的单片机串口工作原理知识点都在这里-设计应用_第1页
你要的单片机串口工作原理知识点都在这里-设计应用_第2页
你要的单片机串口工作原理知识点都在这里-设计应用_第3页
你要的单片机串口工作原理知识点都在这里-设计应用_第4页
你要的单片机串口工作原理知识点都在这里-设计应用_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑你要的单片机串口工作原理知识点都在这里-设计应用概念不同型号的单片机使用的串口不同,根据需求选择相应的单片机,在有些场合如果单片机如果没有需要的串行通信接口,则可以通过单片机的I/O口进行模拟。全双工UART(异步串行通信接口)UART有两种工作状态:同步串行通信状态:速率高,硬件电路复杂,需要同时使用两条信号线,所以只能使用单工方式或半双工方式工作。异步串行通信状态:方式简单,传输速率不高,应用广泛,方便与其他通信标准进行衔接。异步传输工作方式:传输效率较低起始位校验位停止位占用的位较多

数据格式:同步传输工作方式:双方同时使用两条通信线:一条用于产生时钟并要求发送和接受的双方必须保持完全同步(一般情况下,时钟信号由发送端提供)。另一条用于传送数据。如果需要双向数据传输,需要再多添加两条通信线(MCS-51不支持同时的双向数据同步传输,只能使用分时复用)。除了用于通信外,同步方式还可以用于I/O口的扩展,与74LS164联合使用时扩展成输出口,与74LS165联合使用时扩展成输入口。因为没有附加起始位和停止位,所以传输效率较高一旦发现数据出错,所有的数据都需要重新传输,大量数据性传输时错误的概率较高。远距离通信时,通过调试解调从数据流中提取同步信号,用锁相的技术使接收方得到与发送方相同的时钟信号。时钟信号线与数据线分离可以实现高效率、大容量的数据通信。数据格式:

使用方式使用的寄存器:串行接口寄存器SCON:规定了串行通信的方式和功能,可以选择通信模式/允许接收/检查状态位

电源控制寄存器PCON

SMOD=0波特率为原值;

SMOD为1波特率提高一倍。只有SMOD位对串口通信有影响注:该寄存器不能进行位寻址,只能整字节操作。工作方式:p.s.:UART有一个接收数据缓冲区,当上一个字节未被处理时下一个字节收入缓冲区。但如果在下一个字节接收完毕时前一字节还未处理,则上一个字节会被覆盖掉。因此软件必须在下一个字节接收完毕之前处理上一个字节(当连续发送字节时也是如此)。用途:可以用来和某些具有8位串行口的EEPROM器件通信原理:RXD从低位开始收发数据,TXD从发送同步移位脉冲。向SBUF写入字节时开始发送数据,发送完毕后TI位置位。

置位REN时,开始接收数据,接收完8位数据后RI位置位。

方式1:10位数据的异步通信口,波特率可变(与T1的溢出率有关)。RXD为数据接收,TXD为数据发送。数据帧格式:

原理:软件置REN为1时,接收器选择波特率为16倍速率采样RXD引脚电平,当检测到RXD引脚输入电平发生负跳变(1-0)说明起始位有效,移入输入移位寄存器并开始接收这一帧信息的其余位。需要手动清零

接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器左边时,控制电路进行移位。当RI=0且SM2=0(或接收到的停止位为1)时,接收到的9位数据的前8位装入接收SBUF,第9位(停止位)进入RB8并置RI=1,向CPU请求中断。RI需要手动清零波特率计算装入TH1的初值:

代码示例:#includereg51.hmain(){TMOD=0x20;SM0=0;SM1=1;REN=1;PCON=0;TH1=0xFD;//253=256-(1*11.0592*10^6)/(384*9600)TL1=0xFD;TR1=1;P1=SBUF;while(!RI);RI=0;SBUF=P1;while(!TI);TI=0;}数据帧格式:起始位1位,数据9位(第9位在发送时为TB8,接收时为RB8)原理:发送开始时,先把起始位0输出到TXD引脚,然后发送移位寄存器的输出位D0到TXD引脚,每一个移位脉冲都使输出移位寄存器的各位向右移一位,并由TXD引脚输出。次移位时,停止位"1"移入输出移位寄存器的第9位,以后每次移位左边都移入0。当停止位移至输出位时,左边其余位全为0,当检测到这一条件时,控制电路进行移位并置TI=1,请求中断。需要手动清零接收数据时,数据从右边移入输入移位寄存器,在起始位0移到左边时,控制电路进行移位。当RI=0且SM2=0(或接收到的第9位数据为1)时,接收到的数据装入接收缓冲器SBUF和RB8(接收数据的第9位),置RI=1,向CPU请求中断。如果条件不满足,则数据丢失且不置位RI,继续搜索RXD引脚的负跳变。代码示例:多机互联TMOD=0x20;TH1=0xFD;TL1=0xFD;PCON=0x00;TR1=1;SCON=0xF8;SBUF=0x01;while(!TI);TI=0;P3_5=0;SM2=0;while(!RI);RI=0;P2=SBUF;SM2=1;P3_5=1;波特率的计算:当T1用作波特率发生器时,典型的用法是使T1工作再自动重装8位定时器方式(方式2),溢出率取决于TH1中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论