当前位置:首页 > 通信技术 > 通信技术
[导读]GSM模块用于许多基于GSM(全球移动通信系统)技术的通信设备。它用于使用计算机与 GSM 网络进行交互。GSM 模块只理解AT 指令,并能做出相应的响应。

GSM模块用于许多基于GSM(全球移动通信系统)技术的通信设备。它用于使用计算机与 GSM 网络进行交互。GSM 模块只理解AT 指令,并能做出相应的响应。最基本的命令是“AT”,如果 GSM 响应 OK,那么它工作正常,否则它响应“ERROR”。AT 指令有很多种,例如 ATA 接听电话,ATD 拨打电话,AT+CMGR 读取信息,AT+CMGS 发送短信等。AT 指令后面应该有回车,即 \r(十六进制的 0D ),如“AT+CMGS\r”。我们可以使用这些命令来使用 GSM 模块。

GSM 与 8051 接口

我们可以不使用 PC,而是使用单片机与 GSM 模块进行交互,在LCD上显示 GSM 模块的响应。因此,我们将GSM 与 单片机(AT89S52) 连接。

GSM 与 8051 的连接非常简单,我们只需要从单片机发送 AT 命令并接收来自 GSM 的响应并显示在 LCD 上。我们可以使用单片机的串口与 GSM 通信,即使用 PIN 10(RXD)和 11(TXD)。

首先,我们需要将 LCD 连接到单片机,然后我们需要将GSM模块连接单片机。现在我们需要注意一下。首先,您需要检查您的 GSM 模块是否能够在 TTL 逻辑下工作,或者它只能与 RS232 一起工作。基本上,如果您的模块板上有 RX 和 TX(带 GND)引脚,那么它可以在 TTL 逻辑上工作。如果它没有任何RX,TX引脚并且只有一个RS232端口(9针的串行端口),那么您需要使用MAX232 IC将串行端口连接到微控制器。基本上MAX232用于将串行数据转换为 TTL 逻辑,因为微控制器只能在 TTL 逻辑上工作。但如果GSM模块有RX、TX引脚,则不需要使用MAX232或任何串口转换器,可以直接将GSM的RX连接到8051的TX(PIN 11),将GSM的TX连接到8051的RX(PIN 10) 。在我们的例子中,使用了 SIM900A 模块,它有 RX、TX 引脚,所以我没有使用 MAX232。

GSM 与 AT89S52单片机连接的电路图如上图所示。连接后,我们只需要编写程序将 AT 命令发送到 GSM 并在 LCD 上接收其响应。如上所述,AT 命令有很多,但本文的范围只是测试GSM 与 8051 连接,因此我们将发送命令“AT”,后跟“\r”(十六进制的 0D)。这会给我们一个“OK”的响应。但是您可以以此扩展此程序以使用 GSM 的其他功能。

GPRS模块和GSM模块的对比

GPRS模块其实是GSM模块的一种拓展,传输功能及分组数据承载是GPRS模块后续发展出来的。GPRS是通用分组无线业务,GSM是全球移动通讯系统,他们一个是电路交换,一个是分组交换属于两个不一样的系统。

下面我们在具体分析一下GSM模块和GPRS模块的几个不同点

1.计算方式的不同

GSM根据连接时间收费。如果对视频通话和互联网接入没有要求,7。成本比较。就成本而言,GSM模块更合适。

2.传输距离不同。

GPRS模块可以在一个数据包中传输1024字节,也可以传输更多数据。如果有自动分包协议,就传输距离而言,传输数据的大小是不同的。

3.传输模式的不同。

GSM模块传输相当于2G频段,包括主动模式和被动模式。可以看出,GPRS模块的传输速度很快。

4所使用的环境场景不同。

在仪表数据采集等应用环境方面,GPSR模块适用的应用环境是单数据量大、频率高的数据采集环境,GSM模块适用于数据量小、采集间隔大的环境。

5.访问速度不同。

超过十倍的速度一直受到大多数人的青睐。GPRS不仅具有更快的接入速度,而且GSM需要10-30秒。与GSM的9.6kbps接入速度相比,“快”。

GPRS模块与GSM模块的区别。

6.信号的不同。

就网络要求而言,GSM网络信号要求较低,一个网格信号发送信息没有问题。

前面讲解的都是单片机自身的一些功能,并未涉及单片机与其它单片机或者计算机之间通信。那么单片机与其它设备之间又是怎么通信的呢?通常来讲有两种通信方式,即并行通信与串行通信。

两个单片机之间的并口通信,以 8 位为例,直接将单片机 1 的 8 位 I/O 口 P0 与单片机 2 的 P1 相连接,在同步时钟信号的作用进行数据的传输。以单片机 1 向单片机 2 传输数据 0x7B 为例,单片机 1 只需将数据 0x7B 输出到 P0 口上,单片机 2 在同步时钟信号的步调下将 0x7B 直接读取。此时同步时钟信号的周期长短将决定数据传输的速度,周期越短,速度越快。并口通信的最大优点为速度快,一个时钟周期内可以传播一个字节,甚至多个字节,缺点为需要占用大量的 I/O 口资源,对于大多数资源紧张的应用场合来说,这种方法是不可取的,而串行通信有效的解决了资源问题。

STC89C52 系列单片机配置了串行方式通信接口,对应单片机的管脚 P3.0/RxD,串行数据接收引脚、P3.1/TxD,串行数据发送引脚。如上图所示,单片机 1 的串行发送引脚 TxD 与单片机 2 的串行数据接收引脚 RxD 相连接,形成了一条单片机 1 发送、单片机 2 接收的数据通信链路。单片机 2 的 TxD 与单片机 1 的 RxD 连接,形成了一条单片机 2 发送、单片机 1 接收数据的通信链路。单片机 1 的 GND 与单片机 2 的 GND 相连接确保了两个单片机在同一电源基准下工作。接下来讲解单片机串行通信的工作原理。

同样以单片机 1 向单片机 2 发送数据 0x7B 为例,二进制表示为 01111011,单片机依次 01111011 的最低位‘1’到最高位‘0’依次发送出去。发送 1 的时候为将 TxD 拉高’一段时间’,发送 0 的时候为将 TxD 拉低‘一段时间’,即发送数据的时候后,每发送一位都持续‘一段时间’,发送 0x7B 的从低位到高位的顺序为:1->1->0->1->1->1->1->0。“一段时间”的长短决定了单片机的串口传输的速度,时间越短,传输速度越快。那么在同样位传输速率的情况下,并行通信速度为串行通信的 8 倍,显然串行通信以牺牲速度的方式换取了更多的资源,这就是时间换资源的概念。

上面讲解的“一段时间”实际上为单片机串口传输 1 位数据所耗费的时间,在应用中我们常常把 1 秒传输多少位来衡量单片机串口传输速率,这就是波特率的概念。例如通信双方约定波特率为:9600bps,即每秒传输 9600 位(bps:bit per second)。波特率在单片串口通信中为非常重要的参数指标,通信双方只有在约定共同的波特率下才能保证数据的正确传输。

在单片机串口通信中,并没有同步时钟信号来统一数据发送和接收,通过双方约定的波特率来保证数据的通信。以单片机 1 向单片机 2 发送数据为例,假设双方设定的波特率为 9600bps,那么单片机 2 是怎么知道单片机 1 什么时候给它发送数据,又是什么时候结束的呢?

这里我们引入两个重要的概念,起始位和停止位。单片机在没有进行串口通信的情况下,数据发送引脚 TxD 为高电平,当单片机 1 需要发送数据时,首先通过 TXD 发送一位“0”,即把单片机 TxD 从高电平拉低,当单片机 2 检测到数据接收引脚 RxD 的低电平后便开始接收数据了。那么这里单片机 1 发送的第一位“0”称为起止位。紧接着单片机 1 将 8 位数据依次发送出去,当 8 位数据发送完后,单片机发送一位“1”,单片机 2 接收完 8 位数据后,又接收到一位“1”,便知道停止发送数据了,至此便完成了一次数据的传输。这里单片机 1 发送的最后一位“1”称之为停止位。根据上面的步骤,完成一次数据的传输,包括起始位、8 位数据、停止位,总共 10 位数据,如下图所示。这里的 10 位数据称之为一帧数据。

下面讲解一下单片机串口的工作原理。STC89C52系列单片机串口内部模块有两个独立的串行口缓冲寄存器(SBUF),两个寄存器均为8位,一个为发送SBUF,只能往里写数据、另一个为接收SBUF、只能读取数据。当单片机要通过串口往外发送数据时,只需要将待发送的数据写入发送SBUF中,通过TxD引脚将数据发送出去。当一帧数据发送完成后,内部硬件自动置位TI,即TI=1,请求中断处理。前面讲过串口中断是单片机中断源的一种,产生中断后,程序进入串口中断函数。同样,当单片机接收到一帧数据后,内部硬件自动置位RI,即RI=1,请求串口中断处理,进入串口中断函数。读取接收SBUF可获得通过串口接收到的数据。

在单片机内部编程中两个寄存器共用 SBUF 这个名字,那么怎么区分是对发送还是接收 SBUF 进行操作呢?由于这两个寄存器一个只能读、另一个只能写。当程序中往 SBUF 中写入数据时,则代表操作发送 SBUF,当程序中读取 SBUF 的数据时,则代表操作接收 SBUF。

通过上面的介绍,无论是接收到一帧数据,还是发送完一帧数据,程序都会产生串口中断,那么在串口中断程序中是怎么区分来的是接收中断还是发送中断呢?在单片机串口中断程序开始的地方通过查询中断标志位 TI、RI 哪个为 1 来判断串口中断的类型。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备
关闭