GSM modulis naudojamas daugelyje ryšio įrenginių, kurie yra pagrįsti GSM (pasauline mobiliojo ryšio sistema) technologija. Jis naudojamas sąveikauti su GSM tinklu naudojant kompiuterį. GSM modulis supranta tik AT komandas ir gali atitinkamai atsakyti. Pagrindinė komanda yra „AT“, jei GSM atsako gerai, ji veikia gerai, kitaip ji atsako „KLAIDA“. Yra įvairių AT komandų, tokių kaip ATA, kad atsilieptų į skambutį, ATD, kad surinktumėte skambutį, AT + CMGR, norėdami perskaityti pranešimą, AT + CMGS, kad išsiųstumėte sms ir tt), pvz., „AT + CMGS“. Mes galime naudoti GSM modulį naudodami šias komandas.
GSM sąsaja su 8051
Užuot naudojęsi kompiuteriu, galime naudoti mikrovaldiklius sąveikai su GSM moduliu ir LCD gauti atsakymą iš GSM modulio. Taigi mes ketiname sąsają su GSM su 8051 mikrovaldikliu (AT89S52). Labai lengva susieti GSM ryšį su 8051, mums tiesiog reikia išsiųsti AT komandas iš mikrovaldiklio ir gauti atsakymą iš GSM ir parodyti jį LCD. Mes galime naudoti mikrovaldiklio nuoseklųjį prievadą, kad galėtume bendrauti su GSM, ty PIN 10 (RXD) ir 11 (TXD).
Pirmiausia turime prijungti skystųjų kristalų ekraną prie 8051, tai galite sužinoti čia: LCD sąsaja su 8051 mikrovaldikliu. Tada mes turime prijungti GSM modulį prie 8051, dabar čia turėtume atkreipti dėmesį. Pirmiausia turite patikrinti, ar jūsų GSM modulis gali veikti pagal TTL logiką, ar jis gali veikti tik su RS232. Iš esmės, jei modulis turi RX ir TX (su GND) kaiščiais, jis gali veikti pagal TTL logiką. Ir jei jis neturi jokių RX, TX smeigtukų ir turi tik RS232 prievadą (nuoseklųjį prievadą su 9), turite naudoti MAX232 IC, kad prijungtumėte nuoseklųjį prievadą prie mikrovaldiklio. Iš esmės MAX232naudojamas konvertuoti nuoseklius duomenis į TTL logiką, nes mikrovaldiklis gali dirbti tik su TTL logika. Bet jei GSM modulis turi RX, TX kaiščius, jums nereikia naudoti MAX232 ar jokio serijinio keitiklio, galite tiesiogiai prijungti GSM RX prie TX (PIN 11) iš 8051 ir TX iš GSM į RX (PIN 10) iš 8051 Mūsų atveju aš naudojau SIM900A modulį ir jame yra RX, TX kaiščiai, todėl nenaudojau MAX232.
GSM sąsajos su mikrovaldikliu AT89S52 grandinės schema parodyta aukščiau esančiame paveiksle. Po prisijungimo mums tiesiog reikia parašyti programą, kad galėtume siųsti AT komandas į GSM ir gauti jos atsakymą LCD. Yra daug AT komandų, kaip aprašyta aukščiau, tačiau šio straipsnio taikymo sritis yra tik sąsaja su GSM su 8051, todėl mes tiesiog ketiname siųsti komandą „AT“, po kurios eina „\ r“ (0D šešioliktainiais). Tai suteiks mums atsakymą „Gerai“. Bet jūs galite išplėsti šią programą, kad galėtumėte naudotis visomis GSM galimybėmis.
Kodo paaiškinimas
Be visų su LCD susijusių funkcijų, čia mes naudojome nuoseklųjį prievadą ir laikmačio režimo registrą (TMOD). Apie LCD funkcijas ir kitus kodus galite sužinoti perėję į mūsų 8051 projektų skyrių, čia aš paaiškinu apie serijinio ryšio susijusias kodo funkcijas:
GSM_init () funkcija:
Ši funkcija naudojama norint nustatyti mikrovaldiklio pralaidumą. „Baudrate“ yra ne kas kitas, o perduoti ar priimti bitai per sekundę. 8051 perdavimo spartą turime suderinti su GSM modulio perdavimo sparta, ty 9600. Laikmatį 1 naudojome 2 režimu (8 bitų automatinio perkrovimo režimu) nustatydami TMOD registrą į 0X20 ir 1 laikmačio aukštesnį baitą. (TH1) iki 0XFD, kad gautume 9600 perdavimo spartą. Taip pat SCON registras naudojamas nuoseklaus ryšio režimui nustatyti, mes naudojome „Mode1“ (8 bitų UART) su įjungtu priėmimu.
„GSM_write“ funkcija:
SBUF (serijinio buferio specialiųjų funkcijų registras) naudojamas nuosekliam ryšiui, kai tik norime nusiųsti bet kokį baitą į nuoseklųjį įrenginį, tą baitą įrašome į SBUF registrą, kai visas baitas išsiųstas, tada TI bitą nustato aparatinė įranga. Turime jį iš naujo nustatyti, kad išsiųstume kitą baitą. Tai vėliava, nurodanti, kad baitas sėkmingai išsiųstas. TI yra antrasis SCON registro bitas. Išsiuntėme „AT“ naudodami šią funkciją.
GSM_read funkcija:
Tas pats, kas siuntimas, kai tik gauname bet kokį baitą iš išorinio įrenginio, kurį baitą įrašome į SBUF registrą, mes tiesiog turime jį perskaityti. Kai tik gaunamas visas baitas, RI bitą nustato aparatinė įranga. Turime jį iš naujo nustatyti, kad gautume kitą baitą. RI yra pirmasis SCON registro bitas. Naudodamiesi šia funkcija, mes perskaitėme atsakymą „Gerai“.