top of page

GSM 900 Module, call and SMS Using PIC 16F877A 

By Bernice Zuiya

Connection Rx and Tx

Introduction

              GSM 900 Module maybe taken as a wireless mobile phone, it is suitable for embedded applications. With GSM900 a user can access internet, send SMS, Call, etc... almost everything a mobile phone can do.

Features of GSM900 module:

  • Dual-Band 900 / 1800 MHz

  • GPRS multi-slot class 10/8GPRS mobile station class B

  • Control via AT commands 

  • Low power consumption: 1.5mA (when this operate in sleep mode)

  • Operation temperature: -40°C to +85 °C

                                 The connection between the micro-controller and the module is as follow:

1. Rx  of PIC goes to Tx of  GSM module  

2. Tx  of PIC goes to Rx of  GSM module, All with respect to ground (the ground should be common for both circuits).

Working :

                   As we already know GSM module may be controlled using ATs command via a serial  communication of a computer or any device having a serial port communication. In case of this project ATs commands are sent from a micro-controller PIC16F877A. 

Code "Call "

// This is a very easy PROGRAM FOR GSM900
// Used to Make a call then after 20 sec Stop.
// Connexions with the Module should be Crossed
// Rx - To - Tx  , once the program is already
// In memory of MCU then Reset the Device...
// Bernice Zuiya
             char numero[] = "ATD9728856177;";
             char call_Stop[] = "ATH";
             unsigned int i;
             void main() {
             UART1_Init(9615);
             Delay_ms(1000);
             UART1_Write_Text(numero);
             UART1_Write(13);
             UART1_Write(10);
             for(i=0;i<=19;i++){
                     Delay_ms(1000);
                 }
           UART1_Write_Text(call_Stop);
           UART1_Write(13);
           UART1_Write(10);
      }

Code "Message "

                 #define baud 9615​

                char numero[]="+919728856177";        // NUMBER
                char message[]=" Msg Automatic OSat";  // MESSAGE
                 int _Enter_Button(void){
                                                             UART1_Write(13);
                                                             UART1_Write(10);
                    }
                 int _Message_Send(void){
                                                             UART1_Write(26);
                                                             UART1_Write(26);
                    }
                void main(void) {
                                  UART1_Init(baud);
                                  Delay_ms(10);
                                  UART1_write_Text("AT+CMGS=");  
                                  UART1_Write(0X22);              // double quotes
                                  UART1_write_Text(numero);     
                                  UART1_Write(0X22);              // double quotes
                                  _Enter_Button();   
                           Delay_ms(1000);
                   UART1_write_Text(message);    
                   _Message_Send(); 
                   _Enter_Button();
            Delay_ms(500);
         }

This code were written using mikroC compiler software, you can copy and compile it or modify it as well, this is used to blink an led OFF and ON (second). 

Download the full project  GSM900 Call here

Download the full project GSM900 Message here

bottom of page