找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3070|回复: 1
收起左侧

基于单片机+oled+sim800C的接发短信源程序

[复制链接]
ID:430589 发表于 2019-12-25 19:25 | 显示全部楼层 |阅读模式
在本论坛上搜的一个sim900a改的,我只是用做单片机设计就够了,其他请自己改
51hei图片20191225192119.jpg 51hei图片20191225192108.jpg

单片机源程序如下:
  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");        //设置sim900模块为英文方式发送短信
  12. delay(500);  
  13. Uart_SendString("AT+CMGD=1\r\n");  //清除所有短信
  14. delay(500);

  15. Uart_SendString("AT+CSCS=\"GSM\"\r");  //设置sim900模块GSM字符集
  16. delay(500);
  17. Uart_SendString("AT+CMGF=1\r");     //设置sim900模块为英文方式发送短信
  18. delay(500);
  19. Clear_Rxdata(Rx_data_length);
  20. delay(500);
  21. memset(Rx_data,' ',sizeof(Rx_data));    //Rx_data数组中元素都为空格
  22. OLED_ShowString(10,0,w);            
  23. while(1)
  24. {   
  25.   EA=1;
  26.   EX0=1;           //开外部中断0
  27.   IT0=0;           //脉冲触发方式
  28.   Response_receive_SMS();        //循环检测是否收到短信,若收到短信则 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')    // 判断是否结束
  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') //判断的短信内容,可以不止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!");   //返回的短信内容
  80.    delay(300);
  81.    Uart_SendChar(0x1a);
  82.    delay(1000);
  83.    aa=0;        }         
  84. }         
  85. }
复制代码
全部资料51hei下载地址:
接发短信.zip (150.78 KB, 下载次数: 76)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:505629 发表于 2020-1-6 00:53 | 显示全部楼层
老哥。。我下载了,用不起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表