0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串口工作原理知识点汇总

GReq_mcu168 来源:玩转单片机 2020-06-05 15:27 次阅读

理论概念

不同型号的单片机使用的串口不同,根据需求选择相应的单片机,在有些场合如果单片机如果没有需要的串行通信接口,则可以通过单片机的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的初值:

p.s. SMOD=0时,K=1;SMOD=1时,K=2;

代码示例:

1 #include 2 main() 3 { 4 TMOD = 0x20; 5 SM0 = 0; 6 SM1 = 1; 7 REN = 1; 8 PCON = 0; 9 TH1 = 0xFD; //253=256-(1*11.0592*10^6)/(384*9600) 10 TL1 = 0xFD; 11 TR1 = 1; 12 P1 = SBUF; 13 while(!RI); 14 RI = 0; 15 SBUF = P1; 16 while(!TI); 17 TI = 0; 18 }

数据帧格式:起始位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引脚的负跳变。

代码示例:多机互联

1 TMOD = 0x20; 2 TH1 = 0xFD; 3 TL1 = 0xFD; 4 PCON = 0x00; 5 TR1 = 1; 6 SCON = 0xF8; 7 SBUF = 0x01; 8 while(!TI); 9 TI = 0; 10 P3_5 = 0; 11 SM2 = 0; 12 while(!RI); 13 RI = 0; 14 P2 = SBUF; 15 SM2 = 1; 16 P3_5 = 1;

波特率的计算:

当T1用作波特率发生器时,最典型的用法是使T1工作再自动重装8位定时器方式(方式2),溢出率取决于TH1中的计数值

常见波特率对照表

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6034

    文章

    44541

    浏览量

    634135
  • 串口
    +关注

    关注

    14

    文章

    1549

    浏览量

    76359

原文标题:串口工作原理知识点汇总

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    接口测试理论、疑问收录与扩展相关知识点

    本文章使用王者荣耀游戏接口、企业微信接口的展示结合理论知识,讲解什么是接口测试、接口测试理论、疑问收录与扩展相关知识点知识学院,快来一起看看吧~
    的头像 发表于 11-15 09:12 268次阅读
    接口测试理论、疑问收录与扩展相关<b class='flag-5'>知识点</b>

    成像器件的工作原理是什么

    成像器件,也称为图像传感器,是一种将光信号转换为电信号的设备,广泛应用于摄影、视频监控、医学成像、卫星成像、工业检测等领域。成像器件的工作原理涉及到光学、电子学、材料科学等多个学科的知识。 成像器件
    的头像 发表于 10-14 14:05 290次阅读

    MySQL知识点汇总

    大家好,这部分被称为DQL部分,是每个学习MySQL必须要学会的部分,下面就让我来介绍MySQL中的其他部分。
    的头像 发表于 08-05 15:27 388次阅读
    MySQL<b class='flag-5'>知识点</b><b class='flag-5'>汇总</b>

    学习串口屏需要了解哪些方面的知识

    学习串口屏需要掌握的知识主要包括以下几个方面
    的头像 发表于 06-05 09:41 420次阅读
    学习<b class='flag-5'>串口</b>屏需要了解哪些方面的<b class='flag-5'>知识</b>

    模拟电子技术知识点问题总结概览

    给大家分享模拟电子技术知识点问题总结。
    的头像 发表于 05-08 15:16 1135次阅读
    模拟电子技术<b class='flag-5'>知识点</b>问题总结概览

    一篇搞定DCS系统相关知识点

    目标。DCS系统广泛应用于各个行业,如化工、电力、制药等。在这些行业中,DCS系统可以实现对生产过程的集中监控和分散控制,提高生产效率和产品质量,降低能耗和减少环境污染,从而保证产品质量,并确保生产过程的安全可靠。 二.DCS系统知识点
    的头像 发表于 03-26 18:40 868次阅读
    一篇搞定DCS系统相关<b class='flag-5'>知识点</b>

    激光打标机工作原理介绍

    激光打标机,作为现代标识技术的杰出代表,其工作原理的高效与精确性使得它在众多行业中占据了举足轻重的地位。今天,我们将深入探讨激光打标机的工作原理及其背后的科技魅力。激光打标机的工作原理主要基于激光
    的头像 发表于 03-08 19:45 1258次阅读
    激光打标机<b class='flag-5'>工作原理</b>介绍

    【量子计算机重构未来 | 阅读体验】第二章关键知识点

    本帖最后由 oxlm_1 于 2024-3-6 23:20 编辑 之所以将第二章单独拿出来,是因为在阅读过程中,发现第二章知识点较多,理解起来比较耗时间。 第二章的主要知识点: 量子
    发表于 03-06 23:17

    鸿蒙知识点

    1、鸿蒙上的类似adb的工具名叫hdc hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在window/linux/mac系统上与真实设备或者模拟器进行交互。 (1)   hdc list targets   (2)   hdc file send local remote   (3)   hdc install package File   这里列举的几个命令是不是很熟悉?一看名字就知道和安卓中的adb是对应关系。不需要去记忆,在需要使用到的时候去官网查一下就行: hdc使用指导 2、Mac系统配置hdc 环境变量 3、项目中的
    的头像 发表于 01-31 17:40 928次阅读
    鸿蒙<b class='flag-5'>知识点</b>

    串口WiFi模块简介、工作原理工作方式等8大知识点

    串口WIFI模块,体积小,功耗低,采用UART接口。通过串口WIFI模块,传统的串口设备在不需要更改任何配置的情况下,即可通过Internet网络传输自己的数据。是实现无线智能家居、M2M等物联网应用的重要组成部分,属于重要的
    的头像 发表于 01-25 10:00 1232次阅读
    <b class='flag-5'>串口</b>WiFi模块简介、<b class='flag-5'>工作原理</b>、<b class='flag-5'>工作</b>方式等8大<b class='flag-5'>知识点</b>

    电路隔离的基础知识点汇总

    隔离 什么是隔离?为什么需要隔离? 隔离是一种防止电流在两个通信之间流动的手段。一般在两种情况下需使用隔离:第一种是可能会出现导致设备受损或人员伤害的浪涌电流;第二种是互连涉及到不同的地电
    发表于 01-03 08:19

    机器学习、深度学习面试知识点汇总

    AlexNet:在第一个卷积中使用了11x11卷积,第一次使用Relu,使用了NormLayer但不是我们经常说的BN。使用了dropout,在两个GPU上进行了训练,使用的训练方式是模型并行、
    发表于 12-26 10:49 356次阅读
    机器学习、深度学习面试<b class='flag-5'>知识点</b><b class='flag-5'>汇总</b>

    浅谈初级电工必备知识点

    对于初学电工的朋友来说,掌握一些基础且实用的知识点是非常重要的。本文旨在分享初级电工应该掌握的核心知识,帮助新手电工更好地入门和提升技能。
    的头像 发表于 12-26 10:44 1078次阅读

    ​【AWTK开源智能串口屏方案】方案介绍和工作原理

    本篇文章介绍一下AWTK开源智能串口屏方案的基本原理和实际使用效果,包括主要特点、应用场景、工作原理以及简单的Demo演示。引言:AWTK-HMI是基于AWTK与AWTK-MVVM开发的低代码智能
    的头像 发表于 12-21 08:24 975次阅读
    ​【AWTK开源智能<b class='flag-5'>串口</b>屏方案】方案介绍和<b class='flag-5'>工作原理</b>

    TCP协议面试常问知识点总结

    TCP 作为传输层的协议,是一个IT工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。
    的头像 发表于 12-15 10:38 795次阅读
    TCP协议面试常问<b class='flag-5'>知识点</b>总结