code to interface gsm with microcontoller

Upload: christopher-herring

Post on 13-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Code to interface GSM with microcontoller

    1/4

    #include#define port P2#define dataport P0 // Data port for LCDsbit rs = port^5;sbit rw = port^6;sbit en = port^7;//sbit pi= port^3;int count=0,i,j=0,k=0;//unsigned char check,str_cz[2]={0x1A,'\0'};unsigned char str[15],str_index[10];

    //bit check_space ;

    void init_serial() // Initialize serial port{ TMOD=0x20;

    TL1=0xfd; // Mode=2TH1=0xfd; // 9600 baudSCON=0x50; // Serial mode=1, 8-Bit data, 1 Stop bit, 1 Start bit,

    Receiving onTR1=1; // Start timer

    }void delay(unsigned int msec ) // Function for delay

    { int i,j ;for(i=0;i

  • 7/23/2019 Code to interface GSM with microcontoller

    2/4

    delay(10);}

    return; }

    void lcd(){ lcd_cmd(0x38); // For using 8-bit 2 row LCD

    delay(5);lcd_cmd(0x0F); // For display on, cursor blinking

    delay(5); lcd_cmd(0x80); // Set the cursor on first position of lcd delay(5);

    }void transmit(unsigned char *str){

    int i=0;while(str[i]!='\0'){

    EA=0; SBUF = str[i]; while(TI!=1); delay(1);

    i++; EA=1; }}

    void transmit1(unsigned char str){ SBUF=str; while(TI!=1); TI=0;}void receive_data() interrupt 4 // Function to recieve data serialy from RS232 into microcontroller

    {

    if(RI==1){ str[++count]=SBUF; //Read SBUF

    if(str[count-1]==','|| (k=1) ) { str_index[j]=str[count]; j++; k=1; }

    RI=0;// k=1;

    }}

    /*unsigned char byte_check() //Function to check carraige return and new line character{ switch(str[0])

    {case 0x0a:

  • 7/23/2019 Code to interface GSM with microcontoller

    3/4

    { // Return 0x00 for new linereturn 0x00;

    break ; }

    case 0x0d:{ // Return 0x01 for carriage return

    return 0x1;break ;}

    default:

    return 0x02 ; // Return 0x02 for characters except new line and c

    arriage return } } */void main(){//unsigned char cz; lcd(); // Initialize LCD init_serial(); delay(400); // Initialize serial port

    lcd_data_string("sending msz"); delay(100); //lcd_data('a'); //delay(10); //lcd_cmd(0xc0); count=(-1); //lcd_data_string("Ready...123"); //delay(10);

    lcd_cmd(0xc0);IE=0x94;

    // cz=0x1A;//transmit("AT\rAT+CMGF=1\rAT+CMGS=\"+9779841540672\"\rTest Message 123");

    //transmit(str_cz);

    //delay(40);ES=0;transmit("AT+CMGF=1\r");delay(1000);//transmit("AT+CSCS=\"GSM\"\r");//delay(400);//transmit("AT+CSCA=\"+97798........\",145\r"); //service center no//delay(400);//transmit("AT+CSMP=17,167,0,240\r"); //text mode format//delay(400);transmit("AT+CMGS=\"+97798..........\"\r");//my mob number here

    //delay(400);transmit("Test Message 123");//delay(400);transmit(0x1A);lcd_data_string("msz sent");delay(1000);ES=1;//pi=0;

  • 7/23/2019 Code to interface GSM with microcontoller

    4/4

    }