51单片机之串口通信 ---- 自学笔记

发布者:AngelicWhisper最新更新时间:2021-11-02 来源: eefocus关键字:51单片机  串口通信  信息交换 手机看文章 扫描二维码
随时随地手机看文章

一、串口通信

1.1、计算机通信的基础

计算机通信:是将计算机技术与通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交换,可分为两大类:并行通信与串行通信。


 多微机系统的广泛应用与计算机网络技术的普及。

 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。

通信有两种方式:并行通信、串行通信。

在多微机系统以及现代测控系统中信息的交换多采用串行通信。


1.2、并行通信

将数据字节的各位用多条数据线同时进行传送。同时传送8个字节(下图  )

串行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收困难。


1.3、串行通信

将数据字节分成一位一位的形式存,在一条传输线逐个传输。


特点:传输线少,长距离传送时成本低,且可以利用电话线等现成设备,但数据的传输控制比并行通信复杂。

先传输低位,在传输高位


串行通信可分为同步通信和异步通信


1.3.1、同步通信

同步通信时要建立发送方时钟对接收方时钟的直接控制(两个时钟完全同步),使双方达到完全同步,此时,传输数据的为之间的距离均为“为间隔”的整数倍,同时传送的字符间不留间歇,即保持同步关系,也保持字符同步关系,发送方对接收方的同步可以通过两种方法实现。

1.3.2、异步通信

异步通信是指通信的发送和接收设备使用各自的时钟(即:两个设备的时钟是相互独立的)控制数据的发送和接收的过程,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。


异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间歇是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一个字符内的各位之间的距离均为“位间隔”整数倍。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符都要附加2~3位用于起止位,各帧之间


还有间隔,因此传输效率不高。


1.3.3、串行通信的传输方向

单工:数据传输仅沿一个方向,不能实现反向传输。


半双工:数据传输可以沿两个方向,但需分时进行。


全双工:数据可以同时进行双向传输。

1.3.4串行通信中常见的错误校验

奇偶校验


发送数据时,数据为尾随1位奇偶检验位(0或1)。

奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数。

偶校验时,数据中“1”的个数与检验位“1”的个数之和应为偶数。

接收字符时,对“1”的个数进行检验,若发现不一致,则说明传输数据过程中出现了差错。

代码和校验


发送将所发数据块求和(或个字节异或),产生一个字节的校验字节(校验和)附加到数据块末尾,

接收方接收数据同时对数据块(除校验字节外)求和(或个字节异或),

将所得的结果与发送方的"检验和"进行比较,相符则无差错,否则即认为传送过程中出现了差错。

循环冗余校验


通过某种数学运算实现有效信息与校验位之间的循环校验,常用与对磁盘信息的传输、存储区的完整性校验。


这种检验方法纠错能力强,广泛应用于同步通信中。


1.3.5、传输速率

比特率(也叫波特率):每秒钟传输二进制代码的位数

单位:位/秒(bps)

例子:每秒传输240个字符,每个字符包含10位(一个起始位、一个停止位、八个数据位),这时的比特率为:

10位  X  240个/秒  = 2400 bps

1.3.6、传输距离与传输速率的关系

串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关,

当传输线每使用0.3M(约为1英尺)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增大而减小。

当比特率超过1000bps时,最大传输距离迅速下降,如9600bps时最大距离下降到只有76M(约为250英尺)

1.4、串行通信的接口标准

1.4.1、RS-232C接口

  EIA(美国电子工业协会)1969年修订RS -232C标准。


RS-232C定义了数据终端设备(DTE) 与数据通信设备(DCE)之间的物理接口标准。


机械特性:RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头)

过程特性:规定了信号之间的时序关系,以便正确地接收和发送数据。

1.4.2、RS-232存在的问题

1.5、RS-422A接口

RS-422A输出驱动器为双端平衡驱动器。如果其中一条线为逻辑“1”状态,另外一条线就为逻辑“0”,比采用单端不平衡驱动对电压的放大倍数大一倍,差分电路能从地线干扰中拾取有效信号,差分接收器可以分辨200mv以上电位差。若传输过程中混入了干扰和噪声,由于差分放大器的作用,可使干扰和噪声相互低消。因此可以避免或大大减弱地线干扰和电磁干扰的影响。RS-422A传输速率


(90Kbps)时,传输距离可达到1200米


1.6、RS---485接口

 

 

1.7、89C51串行口的结构

1.8、80C51串行的控制寄存器

SCON是一个特殊功能寄存器,用以设定串行口的工作接收/发送控制以及设置状态标志;

S


SM0和SM1为工作方式选择位,可选择四种工作方式;

 

二、单片机与单片机的通信

 

 

三、串口通信编程

#include "reg52.h"

typedef unsigned int u16; // 定义数据格式

//   #define  宏定义关键字 

typedef unsigned char u8;

 

 

void statsInit()

{

 

  TMOD = 0x20;

  TH1 = 0xF3;

  TL1=  0xF3;

  PCON=0x80;

  TR1=1;           // 打开定时器

  SCON =  0x50;

  ES=1;          

  EA=0;

}

 

void main()

{

 statsInit();

  while(1);

}

 

void Ustart() interrupt 4

{

   u8 receiveDate;      // 将数据从缓冲器中读出

receiveDate =SBUF;

RI=0;   //软件清零

SBUF = receiveDate;

while(!TI);

TI=0;

}

关键字:51单片机  串口通信  信息交换 引用地址:51单片机之串口通信 ---- 自学笔记

上一篇:89C51之EEPROM-IIC 实验 ---- 自学笔记
下一篇:STC89C52之中断终结篇 ---- 自学笔记

推荐阅读最新更新时间:2024-11-08 14:33

嵌入式系统中串口通信帧的同步方法
引 言 串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普遍使用的通信方式。在嵌入式系统的硬件结构中,通常只有一个8位或16位的CPU,不仅要完成主流程的工作,同时还要处理随时发生的各种中断,因而嵌入式系统中的串口通信程序设计与PC机有很大的不同。若嵌入式系统中.中断服务子程序在系统运行过程中占用了较多的时间,就有可能在中断眼务子程序正运行时,又产生一个同类型或其他类型的中断,从而造成主程序得不到执行或后续中断数据丢失。所以,嵌入式系统中的串口通信虽然看似简单,但其中仍有许多问题值得研究,例如串口通信过程中的帧同步问题。本文针对该问题给出了逐次比较、基于FIFO队列和基于状态机的
[工业控制]
51单片机实验——输出周期为200ms的方波
1.实验题目: 利用定时器T0的16位不可重加载模式,编制一段程序,只有当INT0(P3.2)引脚输出高电平时,在P1.6输出一个方波控制一个指示灯。设单片机的时钟为12MHz,输出周期为200ms的方波,观察指示灯的变化。 2.KEIL代码 #include reg51.h sbit OUT=P1^6; sbit P32=P3^2; void Int0_Init(); void main() { Int0_Init(); TMOD &=0X0F; TMOD |=0x09;//选择定时器T0的工作模式1 TH0 = (65536 - 50000)/256;//高四位初值 TL0 = (65536 - 5
[单片机]
<font color='red'>51单片机</font>实验——输出周期为200ms的方波
51单片机编程 第七节:电子表
第七节:电子表 单键可调电子表:主要学习编程方法。 外部中断应用,中断嵌 解:电子表分为工作状态和调整状态。平时为工作状态,按键不足一秒,接键为换屏 S 。按键超过一秒移位则进入调整状态 C ,而且调整光标在秒个位开始。调整状态时,按键不足一秒为光标移动 M ,超过一秒则为调整读数,每0.5秒加一 A ,直到松键;如果10秒无按键则自动回到工作状态 W 。 如果有年、月、日、时、分、秒。四联数码管可分三屏显示,显示格式为 年月. 、 日.时. 、 分.秒 ,从小数点的位置来区分显示内容。(月份的十位数也可以用 - 和 -1 表示)。 代码 1. enum status = { Work, Change, Add, Mov
[单片机]
RS232串口通信在PC机与单片机通信中的应用
0 引言 随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。而单片机的计算能力有限,难以进行复杂的数据处理。在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用
[单片机]
RS232<font color='red'>串口通信</font>在PC机与单片机通信中的应用
AT89S51单片机并行I/O端口的扩展
   1 引言   单片机面向工业控制领域,控制功能强,在工业测控系统、智能仪表、智能通信产品、智能家用电器和智能终端设备等领域得到广泛应用。最常用的80C51系列单片机有4个并行端口(P0,P1,P2,P3端口),但对稍复杂的应用系统,真正可供用户使用的并行端口只有P1端口,且常因扩展I2C和SPI的器件需占用P1端口,迫使用户不得不扩展并行端口以满足实际需要。   这里研究80C51系列单片机中的AT89S51并行I/O端口的扩展,采用并行可编程接口器件Intel 8155扩展并行I/O端口,并在扩展的I/O端口上实现数码管动态显示。    2 系统设计   2.1 系统硬件设计   Intel 8155与AT89
[单片机]
ARM学习笔记15——串口通信基本原理
计算机串口基本理论 1.什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现
[单片机]
基于DDS的多路任意波形发生器的设计与实现
本文采用单片机控制DDS专用芯片(AD9854)设计了信号发生器。以AD9854芯片为核心,详细分析了该信号发生器的系统结构、软硬件设计和具体电路实现,并介绍了使用单片机STC12LE5A56S2对AD9854的控制方法。信号发生器利用计算机串口通信技术,使用上位机通过串口对下位机控制,通过人机交互的控制方法产生正弦单频信号、扫频信号、FSK调制信号等波形。本信号发生器的优点是硬件电路简单,软件功能完善,人机界面友好,控制方便,性价比较高等特点,具有一定的使用和参考价值。 任意波形发生器是一种常用信号源,是现代电子测试领域内应用最为广泛的常用仪器之一,广泛用于电子电路、通信、雷达、导航、宇航等领域。输出信号的灵活性使之成为系统综合测
[单片机]
基于DDS的多路任意波形发生器的设计与实现
51单片机指令集
当你编写完一个程序后,通过软件调试,你可以看到程序的指令集,从指令集你就能知道单片机内部是如何工作的,比如数据存取的寄存器与地址,下面是网上找的一篇指令集,讲的蛮好的。 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP  (Pop from
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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