GSM modulis tiek izmantots daudzās sakaru ierīcēs, kuru pamatā ir GSM (globālās mobilo sakaru sistēmas) tehnoloģija. To izmanto, lai mijiedarbotos ar GSM tīklu, izmantojot datoru. GSM modulis saprot tikai AT komandas un var atbilstoši reaģēt. Pamata komanda ir “AT”, ja GSM reaģē labi, tad tā darbojas labi, pretējā gadījumā tā atbild ar “ERROR”. Ir dažādas AT komandas, piemēram, ATA, lai atbildētu uz zvanu, ATD, lai izsauktu zvanu, AT + CMGR, lai lasītu ziņojumu, AT + CMGS, lai nosūtītu īsziņas, utt. AT komandām jāseko Carriage return, ti, \ r (0D ar sešstūri), piemēram, “AT + CMGS \ r”. Izmantojot šīs komandas, mēs varam izmantot GSM moduli.
GSM saskarne ar 8051
Tā vietā, lai izmantotu datoru, mēs varam izmantot mikrokontrollerus, lai mijiedarbotos ar GSM moduli un LCD, lai saņemtu atbildi no GSM moduļa. Tātad mēs saskaramies ar GSM ar 8051 mikrokontrolleru (AT89S52). Ir ļoti viegli saskarni GSM savienot ar 8051, mums vienkārši jānosūta AT komandas no mikrokontrollera un jāsaņem atbilde no GSM un jāparāda LCD. Mēs varam izmantot mikrokontrollera seriālo portu, lai sazinātos ar GSM, tas ir, izmantojot PIN 10 (RXD) un 11 (TXD).
Vispirms mums ir jāpieslēdz LCD displejs ar 8051, to var uzzināt šeit: LCD mijiedarbība ar 8051 mikrokontrolleru. Tad mums jāpievieno GSM modulis 8051, tagad šeit mums vajadzētu pievērst nelielu uzmanību. Vispirms jums jāpārbauda, vai jūsu GSM modulis spēj darboties pēc TTL loģikas, vai tas var darboties tikai ar RS232. Būtībā, ja jūsu modulī ir RX un TX (ar GND) tapas, tas var strādāt ar TTL loģiku. Un, ja tam nav neviena RX, TX kontakta un tam ir tikai RS232 ports (seriālais ports ar 9), tad, lai savienotu sērijas portu ar mikrokontrolleru, jāizmanto MAX232 IC. Būtībā MAX232izmanto, lai pārveidotu sērijas datus TTL loģikā, jo mikrokontrolleris var darboties tikai ar TTL loģiku. Bet, ja GSM modulim ir RX, TX tapas, jums nav jāizmanto MAX232 vai jebkurš sērijveida pārveidotājs, jūs varat tieši savienot GSM RX ar TX (PIN 11) no 8051 un GSM no TX līdz RX (PIN 10) no 8051 Mūsu gadījumā esmu izmantojis SIM900A moduli, un tam ir RX, TX tapas, tāpēc es neesmu izmantojis MAX232.
GSM saskarnes shēma ar AT89S52 mikrokontrolleru ir parādīta iepriekš redzamajā attēlā. Pēc savienojuma izveidošanas mums vienkārši jāieraksta programma, lai nosūtītu AT komandas uz GSM un saņemtu tās atbildi LCD. Ir daudz AT komandu, kā aprakstīts iepriekš, taču šī raksta darbības joma ir tikai GSM saskarne ar 8051, tāpēc mēs vienkārši nosūtīsim komandu “AT”, kam seko “\ r” (0D sešstūrī). Tas mums atbildēs “Labi”. Bet jūs varat paplašināt šo programmu, lai izmantotu visas GSM iespējas.
Koda skaidrojums
Papildus visām ar LCD saistītajām funkcijām šeit mēs izmantojām seriālo portu un taimera režīmu reģistru (TMOD). Jūs varat uzzināt par LCD funkcijām un citu kodu, apmeklējot sadaļu 8051 projekti, šeit es izskaidroju par sērijas sakariem saistītās koda funkcijas:
GSM_init () funkcija:
Šo funkciju izmanto, lai iestatītu Baudrate mikrokontrollerim. Bodrate nav nekas cits kā pārsūtītie vai saņemtie Biti sekundē. Un mums jāsaskaņo 8051 pārraides ātrums ar GSM moduļa pārraides ātrumu, ti, 9600. Mēs izmantojām taimeri 1 2. režīmā (8 bitu automātiskās pārlādēšanas režīmā), iestatot TMOD reģistru uz 0X20 un 1. taimera augstāko baitu. (TH1) līdz 0XFD, lai iegūtu 9600 pārraides ātrumu. Arī SCON reģistrs tiek izmantots, lai iestatītu sērijveida sakaru režīmu, mēs esam izmantojuši Mode1 (8 bitu UART) ar iespējotu uztveršanu.
Funkcija GSM_write:
SBUF (seriālā bufera īpašo funkciju reģistrs) tiek izmantots seriālai saziņai, kad mēs vēlamies nosūtīt jebkuru baitu uz seriālo ierīci, mēs ievietojam šo baitu SBUF reģistrā, kad viss baits ir nosūtīts, tad TI bitu nosaka aparatūra. Mums tas jāiestata no jauna, lai nosūtītu nākamo baitu. Tas ir karodziņš, kas norāda, ka baits ir veiksmīgi nosūtīts. TI ir otrais SCON reģistra bits. Izmantojot šo funkciju, mēs esam nosūtījuši “AT”.
GSM_read funkcija:
Tas pats, kas sūtīt, kad mēs saņemam jebkuru baitu no ārējās ierīces, ka baits tiek ievietots SBUF reģistrā, mums tas vienkārši jāizlasa. Ikreiz, kad ir saņemts pilns baits, aparatūra nosaka RI bitu. Mums tas ir jāatjauno, lai saņemtu nākamo baitu. RI ir pirmais SCON reģistra bits. Izmantojot šo funkciju, mēs esam izlasījuši atbildi “OK”.