0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用PIC16F628A和SIM900A發(fā)送SMS的方法

科技觀察員 ? 來源:allaboutcircuits ? 作者:延斯·克里斯托弗 ? 2022-04-26 17:02 ? 次閱讀

在本文中,我將向您展示一種使用 PIC 16F628A 和 SIMCOM SIM900A 模塊發(fā)送 SMS 的方法。

在上一篇文章中,我對我的 GSM 模塊進行了固件升級,因此它會注冊到歐洲服務(wù)提供商。在那篇文章中,我簡要介紹了 AT 命令和指令。

在本文中,我將更進一步。我會用我的 PIC 16F628A 發(fā)送短信。

poYBAGJntRWAJbEbAAEWEJZlvhc569.JPG

完整的面包板。

要求

要充分利用本文,您需要具備以下條件:

SIMCOM SIM900A 模塊,升級后可以注冊到歐洲服務(wù)提供商。

一臺運行MPLAB X和XC8編譯器的計算機。

一個 PIC 16F628A和一個 MAX232。

一種對您的 PIC 進行編程的方法,我使用的是PICkit 3。

面包板、跳線和液晶顯示器。

零件清單中的零件。

介紹

SIM900A模塊上電后,會發(fā)生很多事情。其中之一是模塊正在嘗試注冊到網(wǎng)絡(luò)。成功注冊到網(wǎng)絡(luò)后,我們可以發(fā)送短信、接收短信并獲取服務(wù)提供商名稱。本文的主要目標(biāo)是將 SMS 發(fā)送到預(yù)定義的號碼。獲得服務(wù)提供商的名稱是一種獎勵。

該模塊通過 TTL 或板載 MAX232 IC 與周圍電路通信。我將使用 MAX232 接口。這意味著所有的通信都是通過 PIC 的 UART 完成的,我們來自 PIC 的所有命令都將通過 printf 發(fā)送到 UART 端口

硬件

我已經(jīng)像這樣連接了我的面包板:

pYYBAGJntRaAFr52AABy-llkTKk410.png

單擊圖像以獲得全尺寸分辨率。

由于我使用的是 MAX232,因此我可以使用它來查看微控制器正在發(fā)送到 GSM 模塊的內(nèi)容并對其進行故障排除。為此,我斷開 GSM 模塊,連接串行電纜,然后打開 GtkTerm。波特率設(shè)置:9600-8-N-1。

pYYBAGJntReAcRpPAAFOz-bRzZs860.jpg

連接到計算機以進行故障排除。

這是微控制器發(fā)送到 GSM 模塊的內(nèi)容。前三行僅用于驗證串行通信是否正常并查看我正在發(fā)送的內(nèi)容。最后兩行是對 GSM 模塊的指令。

poYBAGJntReAX5ykAAAwNYFqBS0937.jpg

我沒有收到 GSM 模塊的回復(fù),因為它沒有連接。

零件清單

這是來自 EagleCAD 的 bom.ulp 的屏幕截圖。

pYYBAGJntRiAbKGIAACfpeNUEpU457.jpg

軟件

盡管該軟件已被注釋,但我將在這里介紹它的某些部分。當(dāng) PIC 通電時,會顯示一條簡短的歡迎消息。然后開始 15 秒倒計時。我把這個倒計時,有兩個原因:

允許 GSM 模塊注冊。

一個視覺顯示,向用戶顯示正在發(fā)生的事情并且 PIC 正在工作。

倒計時結(jié)束后,PIC 發(fā)送命令:

AT+CPOL?\r\n

重要的是添加回車 - 新行,\r\n。這告訴模塊執(zhí)行已到達模塊緩沖區(qū)的文本字符串。

然后模塊返回字符串:

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

這意味著該模塊已注冊到 NetCom。NetCom 是服務(wù)提供商的名稱。這是我們要在 LCD 上顯示的名稱。現(xiàn)在我們需要從字符串中提取名稱。我這樣做的方法是將整個字符串讀入一個數(shù)組。然后我將搜索“-signs”。找到“-signs”后,我將它們的位置存儲在另一個數(shù)組中。這就是我所說的“開始和停止”。然后我使用“開始和停止”中的值在 LCD 上顯示中間的字符。也許不是最花哨的方法,但它很簡單。

poYBAGJntRmAbMKIAAA3OPbZyHw757.jpg

要發(fā)送短信,我必須發(fā)送更多 AT 命令。

首先,我發(fā)送命令:

AT+CMGF=1\r\n

這是選擇 SMS 消息格式。1 告訴模塊進入文本模式。

其次,我發(fā)送命令:

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

“接收者”是我要發(fā)送消息的號碼。

第三,我發(fā)送命令:

來自 PIC16F628A 的消息\r\n

這是實際的消息。由于消息有多個字符,包括空格,所以有一種很好的方法可以告訴模塊消息的結(jié)尾在哪里。我必須發(fā)送 EOF 標(biāo)志,恰好是 CTRL-Z。

printf(“%c”,26);

這是常規(guī) ASCII 表中的 EOF 字符。該模塊現(xiàn)在將發(fā)送消息。

使用此鏈接查找有關(guān) SIM900A 模塊的文檔。

下載

您可以從鏈接下載 c 源代碼。

jc_pic16f628a-gsm-sms.c.zip

結(jié)論

您現(xiàn)在應(yīng)該能夠獲取您的服務(wù)提供商名稱,并使用 SIM900A 模塊在歐洲網(wǎng)絡(luò)上發(fā)送 SMS。

圖片和視頻

poYBAGJntRqAJwuGAACC6wxnkJ8246.JPG

pYYBAGJntRuANBuRAACBfO1-UDA761.JPG

poYBAGJntRyAJ19zAACDlKOb-6w470.JPG

pYYBAGJntR6ABmoSAAB-_Oaz8rI091.JPG

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SMS
    SMS
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    28500
  • PIC16F628A
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    10028
  • SIM900A
    +關(guān)注

    關(guān)注

    3

    文章

    54

    瀏覽量

    35188
收藏 人收藏

    評論

    相關(guān)推薦

    SIM900A發(fā)送短信。

    SIM900A發(fā)送短信的C51程序怎么寫啊。求助大神指導(dǎo)。據(jù)說TC35與SIM900A兼容。兩者的程序可以通用嗎?
    發(fā)表于 06-12 14:19

    需要編程PIC16F628A

    以下為原文 I am a beginner and I have tried writing my program to the pic16f628a but the pickit2 software
    發(fā)表于 10-23 15:56

    使用pic16f628asim800a讀取響應(yīng)不成功

    來自于百度翻譯 以下為原文 I have interfaced my pic16f628a with sim800A module...All rx tx of controller & gsm
    發(fā)表于 02-26 11:50

    PIC16F628PIC16F628A不同

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

    基于SIM900A的應(yīng)用與實現(xiàn)

    部分,本文利用PC機通過串口控制該SIM900A電路系統(tǒng)實現(xiàn)了SMS和TCPIP數(shù)據(jù)收發(fā)功能,并利用單片機與SIM900A進行了通訊實驗,使其連續(xù)不斷地發(fā)送數(shù)據(jù),經(jīng)實驗測定其數(shù)據(jù)正確性
    發(fā)表于 08-05 06:16

    MSP430F149接SIM900A

    MSP430F149通過USART連接SIM900A實現(xiàn)TCP/IP通訊。
    發(fā)表于 05-18 11:44 ?25次下載

    sim900a中英文短信發(fā)送步驟

    sim900a中英文短信發(fā)送步驟介紹。
    發(fā)表于 11-06 11:57 ?1.7w次閱讀
    <b class='flag-5'>sim900a</b>中英文短信<b class='flag-5'>發(fā)送</b>步驟

    sim900a http,SIM900A訪問HTTP的方法

    使用Arduino控制設(shè)備,讀取數(shù)據(jù),然后通過移動網(wǎng)絡(luò)傳送到服務(wù)器。選用的是正點原子的SIM900A模塊。在服務(wù)器部署了一個監(jiān)聽程序,Arduino控制SIM900A通過TCP方式把數(shù)據(jù)發(fā)送到服務(wù)器。
    發(fā)表于 11-06 14:54 ?6118次閱讀
    <b class='flag-5'>sim900a</b> http,<b class='flag-5'>SIM900A</b>訪問HTTP的<b class='flag-5'>方法</b>

    SIM900A

    SIM900A模塊,單片機控制通信
    發(fā)表于 12-04 13:34 ?19次下載

    sim900a模塊簡介_sim900a原理圖

    本文首先介紹了SIM900A模塊主要特點與功能,其次介紹了sim900a功能框圖與原理圖,最后介紹了sim900a模塊引腳及功能。
    的頭像 發(fā)表于 05-30 14:50 ?15.5w次閱讀
    <b class='flag-5'>sim900a</b>模塊簡介_<b class='flag-5'>sim900a</b>原理圖

    SIM900A調(diào)試之波特率設(shè)置_SIM900A基站定位調(diào)試詳細步驟

    本文主要介紹了SIM900A調(diào)試的波特率設(shè)置方法,另外還詳細介紹了SIM900A基站定位調(diào)試詳細方法步驟。
    的頭像 發(fā)表于 05-31 08:39 ?1.4w次閱讀
    <b class='flag-5'>SIM900A</b>調(diào)試之波特率設(shè)置_<b class='flag-5'>SIM900A</b>基站定位調(diào)試詳細步驟

    PIC16F628A的面包板模塊說明

    這是另一個帶有PIC16F628A微控制器的面包板模塊??赏ㄟ^公頭訪問PIC16F628A微控制器的電源引腳和I/O端口。它可以很容易地插入面包板,對于快速制作原型非常有用。由于振蕩器,復(fù)位
    的頭像 發(fā)表于 12-06 14:57 ?8030次閱讀
    <b class='flag-5'>PIC16F628A</b>的面包板模塊說明

    單片機控制SIM900A型GSM模塊發(fā)送數(shù)字短信(附源碼)

    采用工業(yè)標(biāo)準接口,工作頻率為GSM/GPRS 850/900/1800/1900MHz,可以低功耗實現(xiàn)語音、SMS、數(shù)據(jù)和傳真信息的傳輸。另外,SIM900A的尺寸大小為24x24x3mm,能適...
    發(fā)表于 11-23 17:36 ?93次下載
    單片機控制<b class='flag-5'>SIM900A</b>型GSM模塊<b class='flag-5'>發(fā)送</b>數(shù)字短信(附源碼)

    帶有PIC16F628A的頻率計數(shù)器

    電子發(fā)燒友網(wǎng)站提供《帶有PIC16F628A的頻率計數(shù)器.zip》資料免費下載
    發(fā)表于 07-28 11:30 ?5次下載
    帶有<b class='flag-5'>PIC16F628A</b>的頻率計數(shù)器

    pic16f628a燒錄設(shè)置

    PIC16F628A是微芯科技(Microchip)推出的一款8位微控制器芯片。它是一款多功能的芯片,被廣泛應(yīng)用于各種嵌入式系統(tǒng)和電子設(shè)備中。燒錄是將程序代碼寫入芯片的過程,它是使用這款芯片的第一步
    的頭像 發(fā)表于 12-19 09:43 ?1883次閱讀