久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

GSM模塊TC35I手機模塊測試程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:117849 發(fā)表于 2016-5-1 19:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/**********************************************************
                  TC35I手機模塊測試程序1            
程序功能:1、打電話。                       
          2、接電話。                        
          3、掛電話。                       
          4、發(fā)送英文和中文信息。

單片機型號:STC10F08XE    晶振:11.0592M

應(yīng)用軟件:Keil2或Keil3                                               
                                                                                                                                       
發(fā)布時間:2010-04-20

說    明:若用于商業(yè)用途,請保留此段文字或注明代碼來源
               
              天祥電子有限公司保留所有版權(quán)

作    者:陳志良            
**********************************************************/
#include<reg51.h>
#include<string.h>
#include<stdio.h>

//#define buf_max 72//定義緩存長度為72
sbit KEY1 = P0^0; //按鍵1,撥打電話
sbit KEY2 = P0^1; //按鍵2,掛斷電話
sbit KEY3 = P0^2; //按鍵3,接聽電話
sbit KEY4 = P0^3; //按鍵4,發(fā)送一條英文短信息
sbit KEY5 = P0^4; //按鍵5,發(fā)送一條中文短信息
//sbit LED1 = P2^0; //第一個指示燈
//sbit LED2 = P2^1; //第二個指示燈
//sbit LED3 = P2^2; //第三個指示燈
//sbit LED4 = P2^3; //第四個指示燈
//sbit IGT = P2^4;  //點火信號線
//unsigned char code trec_buf[buf_max];//定義接收緩存
char code num[]="13101601289F";  //定義要撥打的電話號碼,撥打其它電話在這時修改
char code sms[]="6E295EA6FF1A003300350043";   //"溫度:35C"的Unicode碼,發(fā)送其它中文,可在這里修改

char code str1[]="AT\n";             //定義字符串1
char code str2[]="AT+CMGF=0\n";      //定義字符串2
char code str3[]="AT+CSCS=GSM\n";    //定義字符串3
char code str4[]="AT+CSMP=17,167,0,8\n";    //定義字符串4
char code str5[]="AT+CMGS=";                //定義字符串5
char code str6[]="0891683110901105F011000D9168";   //定義字符串6
char code str7[]="000800";                         //定義字符串7

char code str8[]="AT\n";             //定義字符串8
char code str9[]="AT+CMGF=1\n";      //定義字符串9
char code str10[]="AT+CSCS=GSM\n";   //定義字符串10
char code str11[]="AT+CSMP=17,167,0,0\n";     //定義字符串11
char code str12[]="AT+CMGS=13101601289\n";    //定義字符串12
char code str13[]="Hello world!!";            //定義字符串13
char code str14[]="\x1a";                     //定義字符串14

void Serial_Init(void);     //聲明串口初始化函數(shù)
void GSM_Call(unsigned char *num);   //聲明撥打指定電話函數(shù)
void GSM_Hang(void);                 //聲明掛電話函數(shù)
void GSM_Answer(void);               //聲明接電話函數(shù)
void Delay_ms(unsigned int time);    //聲明延時函數(shù)
void GSM_Sent_Text_Message(void);    //聲明給指定號碼發(fā)送TEXT模式短信息函數(shù)
void GSM_Sent_PDU_Message(char num[],char sms[]);    //聲明給指定號碼發(fā)送PDU模式短信息函數(shù)

/********************************主函數(shù)********************************/
/*函數(shù)原型:void main(void)
/*函數(shù)功能:主函數(shù)
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void main(void)
{
         Serial_Init();        //調(diào)用串口初始化函數(shù)
        TI = 1;
        while(1)
                {

                    if(KEY1==0)                //如果是按鍵1按下,則給13101601289 這個號碼打電話                 
                                {   
                                 Delay_ms(20);
                                 while(KEY1==0);            
                                    {        
                                            Delay_ms(20);
                                            GSM_Call(num);
                                        }
                                }
                        
                    if(KEY2==0)                //如果是按鍵2按下,則掛斷電話
                                {   
                                   Delay_ms(20);
                                   while(KEY2==0);
                                        {        
                                                Delay_ms(20);
                                            GSM_Hang();
                                        }
                                }
                    if(KEY3==0)                //如果是按鍵3按下,則接聽電話
                                {   
                                   Delay_ms(20);
                                   while(KEY3==0);
                                        {        
                                                Delay_ms(20);
                                            GSM_Answer();
                                        }
                                }        
                        if(KEY4==0)                //如果是按鍵4按下,則向13101601289 發(fā)送一條英文信息
                                {   
                                   Delay_ms(20);
                                   while(KEY4==0);
                                        {        
                                                Delay_ms(20);
                                         GSM_Sent_Text_Message();
                                        }
                                }               
                        if(KEY5==0)                //如果是按鍵5按下,則向13101601289 發(fā)送一條中文信息
                                {   
                                   Delay_ms(20);
                                   while(KEY5==0);
                                        {        
                                                Delay_ms(20);
                                            GSM_Sent_PDU_Message(num,sms);
                                        }
                                }
                }
}

/***************************串口初始化函數(shù)*****************************/
/*函數(shù)原型:void Serial_Init(void)
/*函數(shù)功能:串口初始化
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void Serial_Init(void)//串口初始化函數(shù)
{
SCON = 0x50;//串口:方式1,允許發(fā)送和接收
TMOD = 0x20;//定時器1:模式2,8位自動重裝模式,用于產(chǎn)生波特率   
TH1 = 0xFD; //11.0592MHZ晶振,波特率為9600
TL1 = 0xFD;   
TR1 = 1;    //開啟定時器1   
//ES = 1;     //開啟串口中斷
//EA = 1;     //開啟全局中斷
}

/****************************串口中斷處理函數(shù)**************************/
/*函數(shù)原型:void Serial_Int(void)
/*函數(shù)功能:串口中斷處理
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void Serial_Int() interrupt 4
{        
        ES=0;         //關(guān)串口中斷,防止中斷嵌套
        if(TI)         //如果是發(fā)送中斷,則不做任何處理
                {
                        TI = 0;  //清除發(fā)送中斷標(biāo)志位
                }
        if(RI)         //如果是接送中斷,則進行處理
                {        
                        RI = 0; //清除接收中斷標(biāo)志位
                }
        ES = 1;         //開啟串口中斷
}
/****************************time ms延時函數(shù)***************************/
/*函數(shù)原型:Delay_ms(unsigned int time)
/*函數(shù)功能:延時time ms
/*輸入?yún)?shù):time
/*輸出參數(shù):無
/**********************************************************************/
void Delay_ms(unsigned int time)
{
unsigned int i;
for(;time>0;time--)
         {
                  i=1500;
                  while(i--);
         }
}

/****************************撥打指定電話函數(shù)**************************/
/*函數(shù)原型: GSM_Call(unsigned char *num)
/*函數(shù)功能:撥打指定電話
/*輸入?yún)?shù):num
/*輸出參數(shù):無
/**********************************************************************/
void GSM_Call(unsigned char *num)
{
printf("ATD");
printf("%s;\n",num);
Delay_ms(100);
}
/*********************************掛機函數(shù)*****************************/
/*函數(shù)原型: void GSM_Hang(void)
/*函數(shù)功能:掛斷電話
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void GSM_Hang(void)
{
printf("ATH\n");
Delay_ms(100);
}
/********************************接電話函數(shù)****************************/
/*函數(shù)原型: void GSM_Answer(void)
/*函數(shù)功能:接聽電話
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void GSM_Answer(void)
{
printf("ATA\n");
Delay_ms(100);
}
/***********************給指定號碼發(fā)送TEXT模式短信*********************/
/*函數(shù)原型:GSM_Sent_Text_Message(void)
/*函數(shù)功能:給指定號碼發(fā)送英文短信息。num[]=接收端號碼
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void GSM_Sent_Text_Message(void)
{
printf("%s",str8);                           //以下幾個為GSM的AT串口指令,設(shè)置短信發(fā)送類型
Delay_ms(200);         
printf("%s",str9);                    //設(shè)置為TEXT模式,適合發(fā)送短信內(nèi)容為英文
Delay_ms(200);
printf("%s",str10);                  //使用GSM字符集
Delay_ms(200);
printf("%s",str11);            //設(shè)置TEXT模式參數(shù)
Delay_ms(200);
printf("%s",str12);           //設(shè)置接收端電話號碼
Delay_ms(200);
printf("%s",str13);                   //具體發(fā)送的內(nèi)容在此修改
printf("%s",str14);                            //結(jié)束符,相當(dāng)于鍵盤的CTRL+Z
Delay_ms(200);
}

/***********************給指定號碼發(fā)送PDU模式短信*********************/
/*函數(shù)原型:GSM_Sent_PDU_Message(void)
/*函數(shù)功能:給指定號碼發(fā)送中文短信。num[]=接收端號碼;Sms[]=發(fā)送中文內(nèi)容的Unicode編碼
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/**********************************************************************/
void GSM_Sent_PDU_Message(char num[],char sms[])
{
unsigned char i;
printf("%s",str1);
Delay_ms(200);
printf("%s",str2);       //設(shè)置為PDU模式,適合發(fā)送短信內(nèi)容為中文
Delay_ms(200);
printf("%s",str3);     //使用GSM字符集
Delay_ms(200);
printf("%s",str4);     //設(shè)置PDU模式參數(shù),8為使用Unicode編碼
Delay_ms(200);
printf("%s",str5);
printf("%d\n",strlen(sms)/2+15);    //字節(jié)長度,與實際短信內(nèi)容長度有關(guān)
Delay_ms(200);
printf("%s",str6);   //一開始發(fā)送的字符,包括短信中心號碼等,這部分一般都是固定不變的,可以不用管它
//strcat(num,"F");                        //在接收端號碼后面補F,使之成為12位字符
for(i=0;i<6;i++)                        //然后再兩位兩位分別調(diào)換位置
         {
                  printf("%c%c",num[2*i+1],num[2*i]);
         }
printf("%s",str7);        //固定字符
printf("%02x",strlen(sms)/2);     //中文短信內(nèi)容字數(shù)
printf("%s\x1a",sms);       //發(fā)送內(nèi)容的Unicode編碼字符串+(CTRL+Z)
Delay_ms(200);
}


評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:117861 發(fā)表于 2016-5-1 20:25 | 只看該作者
大神,正在調(diào)試,看看怎么樣,謝謝分享
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费在线观看成人av | 97免费在线观看视频 | 亚洲午夜视频 | 亚洲国产精品久久久 | 欧美精品一区二区三区在线四季 | 欧美多人在线 | 精品欧美一区免费观看α√ | 精品久久久久久久久久久久久久久久久 | 国产精品久久久久久久久污网站 | 国产成人综合网 | 国产不卡视频 | 中文字幕在线观看国产 | 在线观看视频福利 | 国产一区二区在线免费视频 | 日韩欧美一区二区三区四区 | 自拍偷拍第1页 | 欧美视频网 | 日韩1区 | 欧美精品一区二区在线观看 | 亚洲欧美另类在线观看 | 日韩欧美一区二区三区免费观看 | 国产亚洲精品久久久久久豆腐 | 日韩精品在线看 | 精品一区二区视频 | 成人免费观看男女羞羞视频 | 女同久久另类99精品国产 | 91精品国产色综合久久不卡98口 | 日韩一区欧美一区 | 成人免费区一区二区三区 | 午夜在线免费观看视频 | 日本在线看 | 国产精品久久久久久吹潮 | 欧美日韩一区在线观看 | 日韩综合在线视频 | 欧美日韩1区2区3区 欧美久久一区 | 四虎在线视频 | 亚洲欧美日韩精品 | 在线看亚洲 | 国产99久久精品一区二区300 | 国产视频二区 | 婷婷久久综合 |