找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4668|回復: 2
打印 上一主題 下一主題
收起左側(cè)

AT89S52單片機控制SIM800c發(fā)短信的源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:308386 發(fā)表于 2018-5-2 11:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include "UART.h"
#include "Delay.h"

#define Yes                1
#define No                0

sbit Power_key = P1 ^ 0;

/********??GSM????**********/
int test_boot;
/********??GSM??????**********/
int test_net_register;
/********GSM????????**********/
unsigned char GSM_receive[60];
/********GSM???????**********/
unsigned char GSMDATA_count;

void main(void)
{
        //?????
        Power_key=0;
        test_boot=No;
        test_net_register=No;
        
        //GSM??
        Power_key=1;
        Delay_Ms(1000);
        Power_key=0;
        
        Uart_Init();
        //????????
        while(test_boot==No)
        {
                Send_String("AT\r\n");
                Delay_Ms(1000);
        }
  //
        while(test_net_register==No)
        {
                Send_String("AT+COPS?\r\n");
                Delay_Ms(1000);        
        }
        
        Send_String("AT+CMGF=1\r\n");
        Delay_Ms(100);
        
        Send_String("AT+CSMP=17,167,2,25\r\n");//¶ìDÅÎı¾2Îêy
        Delay_Ms(100);
        
        Send_String("AT+CSCS=\"UCS2\"\r\n");
        Delay_Ms(100);
        
        Send_String("AT+CMGS=\"00310030003000380036\"\r\n");//·¢Ëí¶ìDÅ
        Delay_Ms(100);
        
        Send_String("8FD9662F4E0067616D4B8BD54FE1606F3002\r\n");
        Delay_Ms(100);
        
        Send_Char(0x1A);
        Delay_Ms(20000);
               
        //GSM??
        Power_key=1;
        Delay_Ms(1000);
        Power_key=0;
}

/*****************************************************************************
????
/****************************************************************************/
void uart(void) interrupt 4
{
        unsigned char UART_data;
        if(RI)
        {
                UART_data=SBUF;
                if(UART_data=='\n')
                {
                        if(GSM_receive[0]=='O'&&GSM_receive[1]=='K')
                                test_boot=Yes;
                        else
                                test_boot=No;
                        
                        if(GSM_receive[12]=='C')
                                test_net_register=Yes;
                        else
                                test_net_register=No;
                        
                        GSMDATA_count=0;
                }
                else
                {
                        GSM_receive[GSMDATA_count]=UART_data;
                        GSMDATA_count++;
                }
        }
        RI=0;
}


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

使用道具 舉報

沙發(fā)
ID:338882 發(fā)表于 2019-3-19 19:39 | 只看該作者
第二個頭文件沒有啊
回復

使用道具 舉報

板凳
ID:264360 發(fā)表于 2019-5-10 10:50 | 只看該作者
如果來點注解那就最好不過了
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表