標(biāo)題: 基于單片機(jī)+oled+sim800C的接發(fā)短信源程序 [打印本頁]

作者: xm1234    時(shí)間: 2019-12-25 19:25
標(biāo)題: 基于單片機(jī)+oled+sim800C的接發(fā)短信源程序
在本論壇上搜的一個(gè)sim900a改的,我只是用做單片機(jī)設(shè)計(jì)就夠了,其他請自己改


單片機(jī)源程序如下:
  1. void main(void)
  2. {
  3. uint aa=0;
  4. EA=1;            //開總中斷
  5. uart_init();          //串口初始化
  6. OLED_Init();   //初始化OLED  
  7. OLED_Clear()   ;
  8. Rx_bit=0;
  9. Uart_SendString("AT+CLIP=1\r\n");
  10. delay(500);
  11. Uart_SendString("AT+CMGF=1\r\n");        //設(shè)置sim900模塊為英文方式發(fā)送短信
  12. delay(500);  
  13. Uart_SendString("AT+CMGD=1\r\n");  //清除所有短信
  14. delay(500);

  15. Uart_SendString("AT+CSCS=\"GSM\"\r");  //設(shè)置sim900模塊GSM字符集
  16. delay(500);
  17. Uart_SendString("AT+CMGF=1\r");     //設(shè)置sim900模塊為英文方式發(fā)送短信
  18. delay(500);
  19. Clear_Rxdata(Rx_data_length);
  20. delay(500);
  21. memset(Rx_data,' ',sizeof(Rx_data));    //Rx_data數(shù)組中元素都為空格
  22. OLED_ShowString(10,0,w);            
  23. while(1)
  24. {   
  25.   EA=1;
  26.   EX0=1;           //開外部中斷0
  27.   IT0=0;           //脈沖觸發(fā)方式
  28.   Response_receive_SMS();        //循環(huán)檢測是否收到短信,若收到短信則 Response_receive_SMS_flag==1
  29.   delay(100);
  30.   Rx_bit=0;        
  31.   if(Response_receive_SMS_flag==1)
  32.   {
  33.    OLED_Clear();
  34.    Uart_SendString("AT+CMGR=1\r\n");    //短信讀取
  35.    delay(2000);
  36. //   write_1602com(one);
  37.    for(i=0;i<16;i++)     
  38.    {
  39.     if(Rx_data[69+i] !='O'
  40.     &&Rx_data[69+i+1]!='K'
  41.     &&Rx_data[69+i+2]!='0')    // 判斷是否結(jié)束
  42.     {
  43.      a[i]=Rx_data[69+i];
  44.      OLED_ShowString(10,2,a);
  45.     }
  46.    }
  47.    if(Rx_data[c] =='C'
  48.    &&Rx_data[c+1]=='O'
  49.    &&Rx_data[c+2]=='M'
  50.    &&Rx_data[c+3]=='M'
  51.    &&Rx_data[c+4]=='O'
  52.    &&Rx_data[c+5]=='N') //判斷的短信內(nèi)容,可以不止5位
  53.    {
  54.     aa=1;
  55.    }         
  56.    Response_receive_SMS_flag=0;
  57.    Clear_a(16);
  58.    delay(100);
  59.    Clear_Rxdata(Rx_data_length);
  60.    delay(100);
  61.    Uart_SendString("AT+CMGD=1\r\n");   //清除所有短信
  62.    delay(100);
  63.    Response_receive_SMS_flag=0;                     
  64.   }
  65.    
  66.   delay(1000);
  67.   if(aa==1)
  68.   {
  69.    delay(1000);
  70.    Uart_SendString("AT+CMGS=\"");
  71.    for(j=0;j<11;j++)
  72.    {
  73.     SBUF=Admin_num[j];
  74.     while(TI==0);
  75.     TI=0;
  76.    }
  77.    Uart_SendString("\"\r");
  78.    delay(200);
  79.    Uart_SendString("hello!");   //返回的短信內(nèi)容
  80.    delay(300);
  81.    Uart_SendChar(0x1a);
  82.    delay(1000);
  83.    aa=0;        }         
  84. }         
  85. }
復(fù)制代碼
全部資料51hei下載地址:
接發(fā)短信.zip (150.78 KB, 下載次數(shù): 76)



作者: lvpeng7446281    時(shí)間: 2020-1-6 00:53
老哥。。我下載了,用不起來




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1