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

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

3天内不再提示

使用PIC16F628A和SIM900A发送SMS的方法

科技观察员 来源:allaboutcircuits 作者:延斯·克里斯托弗 2022-04-26 17:02 次阅读

在本文中,我将向您展示一种使用 PIC 16F628A 和 SIMCOM SIM900A 模块发送 SMS 的方法。

在上一篇文章中,我对我的 GSM 模块进行了固件升级,因此它会注册到欧洲服务提供商。在那篇文章中,我简要介绍了 AT 命令和指令。

在本文中,我将更进一步。我会用我的 PIC 16F628A 发送短信。

poYBAGJntRWAJbEbAAEWEJZlvhc569.JPG

完整的面包板。

要求

要充分利用本文,您需要具备以下条件:

SIMCOM SIM900A 模块,升级后可以注册到欧洲服务提供商。

一台运行MPLAB X和XC8编译器的计算机。

一个 PIC 16F628A和一个 MAX232。

一种对您的 PIC 进行编程的方法,我使用的是PICkit 3。

面包板、跳线和液晶显示器。

零件清单中的零件。

介绍

SIM900A模块上电后,会发生很多事情。其中之一是模块正在尝试注册到网络。成功注册到网络后,我们可以发送短信、接收短信并获取服务提供商名称。本文的主要目标是将 SMS 发送到预定义的号码。获得服务提供商的名称是一种奖励。

该模块通过 TTL 或板载 MAX232 IC 与周围电路通信。我将使用 MAX232 接口。这意味着所有的通信都是通过 PIC 的 UART 完成的,我们来自 PIC 的所有命令都将通过 printf 发送到 UART 端口

硬件

我已经像这样连接了我的面包板:

pYYBAGJntRaAFr52AABy-llkTKk410.png

单击图像以获得全尺寸分辨率。

由于我使用的是 MAX232,因此我可以使用它来查看微控制器正在发送到 GSM 模块的内容并对其进行故障排除。为此,我断开 GSM 模块,连接串行电缆,然后打开 GtkTerm。波特率设置:9600-8-N-1。

pYYBAGJntReAcRpPAAFOz-bRzZs860.jpg

连接到计算机以进行故障排除。

这是微控制器发送到 GSM 模块的内容。前三行仅用于验证串行通信是否正常并查看我正在发送的内容。最后两行是对 GSM 模块的指令。

poYBAGJntReAX5ykAAAwNYFqBS0937.jpg

我没有收到 GSM 模块的回复,因为它没有连接。

零件清单

这是来自 EagleCAD 的 bom.ulp 的屏幕截图。

pYYBAGJntRiAbKGIAACfpeNUEpU457.jpg

软件

尽管该软件已被注释,但我将在这里介绍它的某些部分。当 PIC 通电时,会显示一条简短的欢迎消息。然后开始 15 秒倒计时。我把这个倒计时,有两个原因:

允许 GSM 模块注册。

一个视觉显示,向用户显示正在发生的事情并且 PIC 正在工作。

倒计时结束后,PIC 发送命令:

AT+CPOL?\r\n

重要的是添加回车 - 新行,\r\n。这告诉模块执行已到达模块缓冲区的文本字符串。

然后模块返回字符串:

+CPOL: 1,0,”N NetCom”,1,0,1

这意味着该模块已注册到 NetCom。NetCom 是服务提供商的名称。这是我们要在 LCD 上显示的名称。现在我们需要从字符串中提取名称。我这样做的方法是将整个字符串读入一个数组。然后我将搜索“-signs”。找到“-signs”后,我将它们的位置存储在另一个数组中。这就是我所说的“开始和停止”。然后我使用“开始和停止”中的值在 LCD 上显示中间的字符。也许不是最花哨的方法,但它很简单。

poYBAGJntRmAbMKIAAA3OPbZyHw757.jpg

要发送短信,我必须发送更多 AT 命令。

首先,我发送命令:

AT+CMGF=1\r\n

这是选择 SMS 消息格式。1 告诉模块进入文本模式。

其次,我发送命令:

AT+CMGS=”接收方”\r\n

“接收者”是我要发送消息的号码。

第三,我发送命令:

来自 PIC16F628A 的消息\r\n

这是实际的消息。由于消息有多个字符,包括空格,所以有一种很好的方法可以告诉模块消息的结尾在哪里。我必须发送 EOF 标志,恰好是 CTRL-Z。

printf(“%c”,26);

这是常规 ASCII 表中的 EOF 字符。该模块现在将发送消息。

使用此链接查找有关 SIM900A 模块的文档。

下载

您可以从链接下载 c 源代码。

jc_pic16f628a-gsm-sms.c.zip

结论

您现在应该能够获取您的服务提供商名称,并使用 SIM900A 模块在欧洲网络上发送 SMS。

图片和视频

poYBAGJntRqAJwuGAACC6wxnkJ8246.JPG

pYYBAGJntRuANBuRAACBfO1-UDA761.JPG

poYBAGJntRyAJ19zAACDlKOb-6w470.JPG

pYYBAGJntR6ABmoSAAB-_Oaz8rI091.JPG

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

    关注

    0

    文章

    73

    浏览量

    28343
  • PIC16F628A
    +关注

    关注

    1

    文章

    8

    浏览量

    9973
  • SIM900A
    +关注

    关注

    3

    文章

    54

    浏览量

    35032
收藏 人收藏

    评论

    相关推荐

    SIM900A发送短信。

    SIM900A发送短信的C51程序怎么写啊。求助大神指导。据说TC35与SIM900A兼容。两者的程序可以通用吗?
    发表于 06-12 14:19

    sim900a发送中文短信程序

    sim900a发送中文短信程序
    发表于 09-21 14:13

    需要编程PIC16F628A

    以下为原文 I am a beginner and I have tried writing my program to the pic16f628a but the pickit2 software
    发表于 10-23 15:56

    使用PIC16F628A进行PWM所需的帮助

    to configuring a PIC16F628A PWM signal. I'm using a 20mhz oscillator crystal with the 16F628A
    发表于 01-04 14:52

    怎么在PIC16F628a上使用MCLR

    , I have what I think will be a quick question - I am using a PIC16F628a powered in a 5 volt
    发表于 01-10 15:43

    使用pic16f628asim800a读取响应不成功

    来自于百度翻译 以下为原文 I have interfaced my pic16f628a with sim800A module...All rx tx of controller & gsm
    发表于 02-26 11:50

    请问怎么用430给SIM900a发送AT指令?

    谁有简单的例子啊,不知道怎么用430给SIM900a发送AT指令
    发表于 04-02 02:55

    PIC16F628PIC16F628A不同

    that the PIC16F628A that I got,doesn't work with it.Can someone help me suggesting in detail the mods to this file
    发表于 04-12 12:00

    PIC单片机控制SIM900A模块收发短信的方法

    PIC单片机控制SIM900A模块收发短信的方法,最好有电路图与代码~
    发表于 07-24 04:35

    基于SIM900A的应用与实现

    部分,本文利用PC机通过串口控制该SIM900A电路系统实现了SMS和TCPIP数据收发功能,并利用单片机与SIM900A进行了通讯实验,使其连续不断地发送数据,经实验测定其数据正确性
    发表于 08-05 06:16

    SIM900A模块

    我想了解一下用51单片机控制SIM900A模块向服务器发送数据,然后怎样传到手机APP里
    发表于 10-21 18:33

    PIC16F628A控制器引脚接地

    海的朋友们,我和PIC16F628A控制器一起工作,在我的项目中我不使用一些引脚……当我连接到地面时,他们需要在引脚和地之间放置电阻……或者我应该配置未使用的引脚作为输出,并留下它们简单…?
    发表于 04-16 10:16

    单片机控制SIM900A型GSM模块发送数字短信(附源码)精选资料分享

    采用工业标准接口,工作频率为GSM/GPRS 850/900/1800/1900MHz,可以低功耗实现语音、SMS、数据和传真信息的传输。另外,SIM900A的尺寸大小为24x24x3mm,能适...
    发表于 07-21 08:06

    使用CCS PICC编程的PIC16F628A制作一个简单的频率计

    描述PIC16F928A DIY 50MHz 频率计我使用使用 CCS PICC 编程的 PIC16F628A 来制作一个简单的 DIY 频率计。它可以测量高达 50MHz 的数字信号。该套件中使
    发表于 06-28 06:44

    PIC16F628A的面包板模块说明

    这是另一个带有PIC16F628A微控制器的面包板模块。可通过公头访问PIC16F628A微控制器的电源引脚和I/O端口。它可以很容易地插入面包板,对于快速制作原型非常有用。由于振荡器,复位
    的头像 发表于 12-06 14:57 7291次阅读
    <b class='flag-5'>PIC16F628A</b>的面包板模块说明