Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Gsm sim900 shield stopped working ||interfaced with 8051

Status
Not open for further replies.
hi everyone,im new to embeded systems

i'm using the GPRS/GSM SHIELD SIM900 module which is designed to interface with Arduino board, specifically this kind gsm sim900

i have a hex file(i will called it hex file 1) which was working correctly when communicating with the GSM module via AT89s52 microcontroller i got the hex file from this link. The GSM module was responding with "OK" respond after serially transmitting "ATE0".i then used a different hex file(lets call it hex file number 2) generated from the below mentioned code and that is when the GSM stopped responding,....then now when i use the first hex file(hex file number 1) the module no longer responds to ATE0 or any command but when i call the GSM number from my phone it rings, could it be that the module is destroyed or having some sort of software bug and how can i fix it? I've already reset the module using the hardware rest pin but it still doesn't respond.

C:
#include <reg52.h>

unsigned char *NUMBER = "+27738849014" ;         //Here insert your number where you want to send message

void ser_init();
void tx(unsigned char send);
void tx_str(unsigned char *s);
unsigned char rx();

void sms(unsigned char *num1,unsigned char *msg);
void gsm_delay();

unsigned int dell;

int main()
{
        ser_init();
        
        sms(NUMBER, "Welcome to the Embetronicx");
        while(1);
}

void ser_init()
{
  SCON=0x50;
  TMOD=0x21;
  TH1=0xFD;
  TL1=0xFD;
  TR1=1;
}

void tx(unsigned char send)
{
  SBUF=send;
  while(TI==0);
  TI=0;
}

void tx_str(unsigned char *s)
{
  while(*s)
    tx(*s++);
}

unsigned char rx()
{
  while(RI==0);
  RI=0;
  return SBUF;
}

void gsm_delay()
{
  unsigned int gsm_del;
  for(gsm_del=0;gsm_del<=50000;gsm_del++);
}

void sms(unsigned char *num1,unsigned char *msg)
{
  tx_str("AT");
  tx(0x0d);
  gsm_delay();

  tx_str("AT+CMGF=1");
  tx(0x0d);
  gsm_delay();

  tx_str("AT+CMGS=");
  tx('"');
  while(*num1)
    tx(*num1++);
  tx('"');
  tx(0x0d);
  gsm_delay();

  while(*msg)
    tx(*msg++);
  tx(0x1a);
  gsm_delay();
}

i also made a simulation of the circuit diagram on proteas and the GSM module on proteas responds correctly(to hex file number 1) but the same hex file no longer gets a response on the physical circuit. here is what the circuit looks like
Capture.PNG
 
Status
Not open for further replies.

Latest threads

Back
Top