串行通信的初步认识

发布者:leader4最新更新时间:2015-03-19 来源: diangon关键字:串行通信  单片机  并行总线 手机看文章 扫描二维码
随时随地手机看文章
  通信按照基本类型可以分为并行通信和串行通信。并行通信时数据的各个位同时传送,可以实现字节为单位通信,但是因为通信线多占用资源多,成本高。比如我们前边用到的P0 = 0xfe;一次给P0的8个IO口分别赋值,同时进行信号输出,类似于有8个车道同时可以过去8辆车一样,这种形式就是并行的,我们习惯上还称P0、P1、P2和P3为51单片机的4组并行总线。

  而串行通信,就如同一条车道,一次只能一辆车过去,如果一个0xfe这样一个字节的数据要传输过去的话,假如低位在前高位在后,那发送方式就是0-1-1-1-1-1-1-1-1,一位一位的发送出去的,要发送8次才能发送完一个字节。

  在我们的STC89C52上,有两个引脚,是专门用来做UART串口通信的,一个是P3.0一个是P3.1,还分别有另外的名字叫做RXD和TXD,这两个引脚是专门用来进行UART通信的,如果我们两个单片机进行UART串口通信的话,那基本的演示图如图1所示。

单片机之间UART通信示意图

图1 单片机之间UART通信示意图

  图中,GND表示单片机系统电源的参考地,TXD是串行发送引脚,RXD是串行接收引脚。两个单片机之间要通信,首先电源基准得一样,所以我们要把两个单片机的GND相互连起来,然后单片机1的TXD引脚接到单片机2的RXD引脚上,即此路为单片机1发送而单片机2接收的通道,单片机1的RXD引脚接到单片机2的TXD引脚上,即此路为单片机2发送而单片机2接收的通道。这个示意图就体现了两个单片机各自收发信息的过程。

  当单片机1想给单片机2发送数据时,比如发送一个0xE4这个数据,用二进制形式表示就是0b11100100,在UART通信过程中,是低位先发,高位后发的原则,那么就让TXD首先拉低电平,持续一段时间,发送一位0,然后继续拉低,再持续一段时间,又发送了一位0,然后拉高电平,持续一段时间,发了一位1......一直到把8位二进制数字0b11100100全部发送完毕。这里就牵扯到了一个问题,就是持续的这“一段时间”到底是多久?从这里引入我们通信中的另外重要概念——波特率,也叫做比特率。

  波特率就是发送一位二进制数据的速率,习惯上用baud表示,即我们发送一位数据的持续时间=1/baud。在通信之前,单片机1和单片机2首先都要明确的约定好他们之间的通信波特率,必须保持一致,收发双方才能正常实现通信,这一点大家一定要记清楚。

  约定好速度后,我们还要考虑第二个问题,数据什么时候是起始,什么时候是结束呢?不管是提前接收还是延迟接收,数据都会接收错误。在UART串行通信的时候,一个字节是8位,规定当没有通信信号发生时,通信线路保持高电平,当要发送数据之前,先发一位0表示起始位,然后发送8位数据位,数据位是先低后高的顺序,数据位发完后再发一位1表示停止位。这样本来要发送一个字节8位数据,而实际上我们一共发送了10位,多出来的两位其中一位起始位,一位停止位。而接收方呢,原本一直保持的高电平,一旦检测到来了一位低电平,那就知道了要开始准备接收数据了,接收到8位数据位后,然后检测到停止位,再准备下一个数据的接收了。我们图示看一下,如图2所示。

串口数据发送示意图

图2 串口数据发送示意图

   像我们的图2串口数据发送示意图,实际上是一个时域示意图,就是信号随着时间变化的对应关系。比如在单片机的发送引脚上,左边的是先发生的,右边的是后发生的,数据位的切换时间就是波特率分之一秒,如果能够理解时域的概念,后边很多通信的时序图就很容易理解了。

关键字:串行通信  单片机  并行总线 引用地址:串行通信的初步认识

上一篇:串行RS232通信接口_MAX232转接图
下一篇:I2C总线与EEPROM

推荐阅读最新更新时间:2024-03-16 13:55

AT89C52单片机对蜂鸣器的设计
该电路较简单,用PNP型三极管驱动蜂鸣器,当P3.7为低电平时,PN结正向偏置,三极管导通,蜂鸣器发声。 程序如下: #include #define uchar unsigned char sbit sounder=P3^7; void delay(uchar z) { uchar j,i; for(i=z;i》0;i--) for(j=110;j》0;j--); } void main() { sounder=1; while(1) { sounder=~sounder; delay(500); } 仿真结果如下:
[单片机]
AT89C52<font color='red'>单片机</font>对蜂鸣器的设计
单片机多机冗余设计及控制模块的VHDL语言描述
本文提出一种表决式单片机多机冗余设计方案。该方案不同于中央系统的多机冗余设计。大规模系统冗余大多采用完善而复杂的机间通讯协议实现系统重构,不太注重系统的实时性。本方案结构简单,易于实现,具有极强的实时性,没有电子开关切换总线的咔嗒声输出。单片机价格低廉、功能灵活,也使得该设计在类似仪器仪表的小系统中的运用成为可能。 1 设计原理 设计结构如图1所示。 完成整个冗余设计的电路被置于一个核心控制模块中,如果该模块以FPGA实现也就是一块芯片。图1中单片机1、2、3被假定为冗余的三个单片机,它们的输入总线并联,接收核心控制模块中输入缓冲的输出。输出总线分别接到模块的输出总线仲裁器。核心控制模块包括输入缓冲、输出
[单片机]
单片机+CPLD结构体系在电子设计中的应用
  自20世纪80年代单片机引入我国以来,学习和应用单片机的热潮始终不减,特别是MCS51系列。这是由单片机的特点决定的。实际上,从单片机/CPLD应用通用数字集成电路系统,到广泛应用单片机,是我国电子设计在智能化应用水平上质的飞跃。据统计分析,单片机的销量单片机/CPLD到目前为止依然逐年递增,而且在很长一段的时间内,单片机依然会是电子设计的主角(虽然这一地址已经受到了CPLD的挑战)。 1 纯单片机系统优缺点 ①大量单片机/CPLD的外围芯片和接口电路使得单片机应用系统的设计变得简单而且快捷,新型单片机的上市和高级语言的支持(如C51)进一步延长了单片机的寿命。 ②长期稳定的发展和使单片机性价比非
[单片机]
<font color='red'>单片机</font>+CPLD结构体系在电子设计中的应用
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中 这款独特的解决方案首次全面支持 8 位、16 位和 32 位 MCU 以及 32位MPU,可在边缘 实现机器学习 机器学习 (ML) 正成为嵌入式设计人员开发或改进各种产品的标准要求。为满足这一需求,Microchip Technology Inc.(美国微芯科技公司)近日推出了全新的 MPLAB® 机器学习开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包可用于Microchip的各类单片机 (MCU) 和微处理器 (MPU) 产品组合,助力开发人员快速高效地添加机器学习推
[单片机]
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 <font color='red'>MCU</font> 和 MPU中
单片机笔记】NodeMcu入坑—局域网通信
先上源码 --wifi_light.lua wifi.setmode(wifi.STATION) wifi.sta.config( wifi_ssid , wifi_psw ) print(wifi.sta.getip()) led1 = 0 gpio.mode(led1, gpio.OUTPUT) srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on( receive , function(client,request) local buf = ; local _, _, method, path, vars = string.fi
[单片机]
【<font color='red'>单片机</font>笔记】NodeMcu入坑—局域网通信
单片机初学者不好掌握的概念
  一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中 ,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很 多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线 上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一 个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以 要通过控制
[单片机]
单片机为核心设计云台控制器解析
引言 采用单片机为核心设计的云台控制器在监控场合能实现控制摄像机进行大范围、宽角度的移动,以使摄像机能够达到接近360°全景式摄像,且其在经济性、灵活性、扩展性和可维护性等方面都具有独特的优势。 1 系统总体结构 系统由以下几部分构成:①单片机:设计的核心,在软件的配合下实现对键盘所输入信息的识别,根据输入信息向云台中的步进电机发出指令,使其实现正/ 反转、速度控制、程序控制等功能,并将步进电机的转速通过数码管显示出来;②步进电机及驱动:负责云台系统在竖直和水平两个方向上的转动,是系统的执行部件;③键盘:外部信息的输入器件,是控制人员指挥云台系统工作的重要组成部分; ④显示器件:将步进电机的实时转速显示出来,以便控制人员根据
[单片机]
<font color='red'>单片机</font>为核心设计云台控制器解析
AVR单片机有什么特性可用于哪些领域
AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取了8051及PIC单片机的优点,具备单时钟周期执行一条指令的能力,运行速度高达1Mips/MHz。AVR单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑),提高了指令执行速度,克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。AVR单片机在软/硬件开销;速度、性能和成本诸多方面取
[单片机]
AVR<font color='red'>单片机</font>有什么特性可用于哪些领域
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved