找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3595|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)+oled+sim800C的接發(fā)短信源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:430589 發(fā)表于 2019-12-25 19:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
在本論壇上搜的一個sim900a改的,我只是用做單片機(jī)設(shè)計就夠了,其他請自己改


單片機(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)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:505629 發(fā)表于 2020-1-6 00:53 | 只看該作者
老哥。。我下載了,用不起來
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表