Chủ Nhật, 27 tháng 5, 2012

Giao tiếp giữa Vi Điều Khiển với Module Sim548

Sơ đồ nguyên lý giao tiếp giữa Vi Điều Khiển với Module Sim548:





 

 

Thao khảo thêm về: Module Sim548

 

Code Demo:

 


#include "Pic_GSM_demo.h"

 

#include ".\myLCD16x2.c"

#include 

 

#define Led0 PIN_C1

#define Led1 PIN_C2

#define GSM_PW PIN_E2

#define GSM_SENSE PIN_E1

#define TEXTMODE 5;

#define PDUMODE 0;

 

void GSM_init(void);

void GSM_start(void);

void GSM_sel_mess_mode(char mode);

 

void GSM_init(void)

{

   output_bit(GSM_PW,1);

   output_bit(Led1,1);

   output_float(GSM_SENSE);

}

void GSM_start(void)

{

//start up GSM module

   delay_ms(2000);

   lcd_init();

    

   lcd_putc("\fwww.elabvn.com\n");

   lcd_putc("Pic GSM rev 1.0");

   //printf("GSM demo \n \r");   

   output_bit(GSM_PW,0);

   output_bit(Led1,0);

   delay_ms(2000);

   output_bit(GSM_PW,1);

   output_bit(Led1,1);

   lcd_putc("\nGSM initializing");

   delay_ms(50000);

 

}

 

void GSM_sel_mess_mode(char mode)

{

   if(mode>0) //text mode

      {

         output_bit(Led1,0);

         printf("AT+CMGF=1");

         putc(13);//enter CR

          output_bit(Led1,1);

         delay_ms(1000);

         output_bit(Led1,0);

 

         }

   else //PDU mode

      {

         output_bit(Led1,0);

         printf("AT+CMGF=0");

         putc(13);//enter CR

         output_bit(Led1,1);

         delay_ms(1000);

         output_bit(Led1,0);

      }

  

}

 

void main()

{

   int1 gsm_ok;

   int cnt;

   int1 temp;

   char c;

   int i;

 

   

   GSM_init();

   setup_adc_ports(NO_ANALOGS|VSS_VDD);

   setup_adc(ADC_CLOCK_DIV_2);

   setup_spi(SPI_SS_DISABLED);

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

   setup_timer_1(T1_DISABLED);

   setup_timer_2(T2_DISABLED,0,1);

   setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard

//Setup_Oscillator parameter not selected from Intr Oscillator Config tab

 

   // TODO: USER CODE!!

      GSM_start();

      GSM_sel_mess_mode(5);

   

      printf("ATE1"); //echo on

      putc(13);//enter CR

      delay_ms(1000);//

      

      printf("AT");

      putc(13);//enter CR

      output_bit(Led1,1);

      lcd_putc("\nGSM send message      ");

      delay_ms(1000);

      output_bit(Led1,0);

      printf("AT+CMGS=");

      putc(34);//"

      printf("0989703330");

      putc(34);//"

      

      putc(13);//enter CR

      delay_ms(1000);//cho ki tu ">"

      printf("SIM300 Ready");

      delay_ms(1000);//

      putc(0x1A);//CTRL+Z

       output_bit(Led1,1);

      delay_ms(2000);//

     

      lcd_putc("\nGSM sent done    ");

      while(1);

}

1 nhận xét:

  1. Ban co the cho minh So do nguyen ly mo rong phan ket noi voi Pic Va LCd ko cam on ban!Send cho minh nha minhhaict100@gmail.com

    Trả lờiXóa