找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STC89c51與GSM-TC35i連接發(fā)送短信(已驗(yàn)證成功)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:191320 發(fā)表于 2017-4-19 18:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/************************************************************
程序說明:
本程序運(yùn)行后如果gprs模塊找到服務(wù)商信號(hào),就撥打指定電話。
1.將自己的51單片機(jī)的串口1連接到GSM 232上
2.找到程序中前面的#define處,根據(jù)說明修改好自己的單片機(jī)配置,編譯程序
2.下載程序
3.等待發(fā)送成功


*************************************************************/
#include <REG51.H>

#define uchar unsigned char
#define uint unsigned int
//以下是板子上LED的配置,把Px_x改成自己對(duì)應(yīng)的腳。
//以下是你的51單片機(jī)的晶振大小
#define FOSC_110592M
//#define FOSC_12M

//以下是開機(jī)后發(fā)送到手機(jī)的內(nèi)容,發(fā)送的號(hào)碼在程序中修改。
uchar sms_text[] = "abc123";


//注意,無論接收到信號(hào)還是發(fā)送完信號(hào),都會(huì)進(jìn)中斷服務(wù)程序的
/*初始化程序(必須使用,否則無法收發(fā)),次程序?qū)?huì)使用定時(shí)器1*/
void SerialInti()//初始化程序(必須使用,否則無法收發(fā))
{
    TMOD=0x20;//定時(shí)器1操作模式2:8位自動(dòng)重載定時(shí)器

#ifdef FOSC_12M        //在這里根據(jù)晶振大小設(shè)置不同的數(shù)值初始化串口
    TH1=0xf3;//裝入初值,波特率2400
    TL1=0xf3;   
#else
    TH1=0xfd;//裝入初值,波特率9600
    TL1=0xfd;
#endif //end of SOC_12M

    TR1=1;//打開定時(shí)器
    SM0=0;//設(shè)置串行通訊工作模式,(10為一部發(fā)送,波特率可變,由定時(shí)器1的溢出率控制)
    SM1=1;//(同上)在此模式下,定時(shí)器溢出一次就發(fā)送一個(gè)位的數(shù)據(jù)
    REN=1;//串行接收允許位(要先設(shè)置sm0sm1再開串行允許)
    EA=1;//開總中斷
    ES=1;//開串行口中斷
}

/*串行通訊中斷,收發(fā)完成將進(jìn)入該中斷*/
void Serial_interrupt() interrupt 4
{
//  a=SBUF;
    P2=SBUF;
    RI=0;//接收中斷信號(hào)清零,表示將繼續(xù)接收
//  flag=1;//進(jìn)入中斷的標(biāo)志符號(hào)
}


void Uart1Send(uchar c)
{
    SBUF=c;
    while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
    TI=0;   
}

//串行口連續(xù)發(fā)送char型數(shù)組,遇到終止號(hào)/0將停止
void Uart1Sends(uchar *str)
{
    while(*str!='\0')
    {
        SBUF=*str;
        while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
        TI=0;
        str++;
    }
}

//延時(shí)函數(shù)大概是1s鐘,不過延時(shí)大的話不準(zhǔn)...
void DelaySec(int sec)
{
    uint i , j= 0;

    for(i=0; i<sec; i++)
    {
        for(j=0; j<65535; j++)
        {
        }
    }
}



void main()
{
    uchar i = 0;
    SerialInti();
    while(1)
    {

        Uart1Sends("AT+CSCS=\"GSM\"\r\n");
        DelaySec(3);//延時(shí)3秒
        Uart1Sends("AT+CMGF=1\r\n");
        DelaySec(3);//延時(shí)3秒
        Uart1Sends("AT+CMGS=\"13878963728\"\r\n");//此處修改為對(duì)方的電話號(hào)
        DelaySec(5);//延時(shí)3秒
        Uart1Sends(sms_text);//修改短信內(nèi)容
        Uart1Send(0x1a);
        DelaySec(15);//延時(shí)20秒
    }


}

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:130231 發(fā)表于 2017-4-20 15:23 | 只看該作者
資料不錯(cuò)!樓主能分享原理圖嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:720817 發(fā)表于 2020-4-2 11:28 | 只看該作者
這個(gè)程序下載好就自動(dòng)發(fā)送短信嗎?沒有觸發(fā)條件?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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