找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

单片机控制GSM模块,为什么我在串口助手里面以十六进制发送1A,接收区没有显示

[复制链接]
cy1144391746 发表于 2014-3-18 14:44:51 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
/*****************************************
历程描述:GSM模块联网成功后,启动单片机,LED2亮后,开始控制GSM模块发送一条短
信。发送完毕后,LED2和3亮。例程结束。
******************************************/

//#include<reg52.h>
#include<intrins.h>
#include "STC89C52.H"
#include<stdlib.h>
#define uchar unsigned char
#define uint unsigned int
//#include "LCD1602.h"

//sbit LED1 = P1^2;
//sbit LED2 = P1^3;

// unsigned char  net[]    = {"*WWW.SINOVE.COM*"};
//
// uchar table2[16];


sbit LED2=P1^2;        //LED2
sbit LED3=P1^3;//LED3
uchar code at[]="AT\r";
uchar code TC_MSXZ[]={"AT+CMGF=1\r"};//        发送模式选择
uchar code TCT[]={"AT+CSMP=17,167,0,0\r"} ;
uchar code TCTC[]={"AT+CSCS=GSM\r"};
uchar code TC_ZXH[]={"AT+CSCA=+8613010714500\r"};// 本地联通中心号
uchar code TC_MDSJ[]={"AT+CMGS=15629702991\r"}; // 目的手机地址
uchar code TC_FSNR[]={"chenyu!\r"};
uchar num,temp,key,m=3,n=0,z=0;
void delay_1ms(uint z) //延时函数
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
/****************  数据发送 *****************/
void send(uchar *tab)
{
        while((*tab)!='\0')
        {
        //        ES=0; //关串口中断
                SBUF=*tab;
                while(TI==0);
                TI=0;
                tab++;
        //        ES=1;  //开串口中断
        }
}
/********** 串口初始化 ***********/
void uart_int(void)
{
        SCON=0x50;//UART方式1:8位UART;
        REN =1;          //允许串行口接收数据;
        PCON=0x00;//SMOD=0:波特率不加倍;
        TMOD=0x20;//T1方式2,用于UART波特率;
        TH1 =0xFD; //装初值;
        TL1 =0xFD; //装初值
        TR1 =1;           //启动定时器1
//        EA=1;   //打开全局中断控制
//        ES=1;    //打开串行口中断
}
void LEDliang() //LED2亮
{        uint b,r;
        for (b=0;b<300;b++)
        {
                LED2=0;
                for(r=50;r>0;r--);
                LED2=1;
                for(r=50;r>0;r--);
                LED2=0;       
        }       
}

// void Uart_Receive(void) interrupt 4
//    {  
//    EA=0;       
//        if((SBUF<=90&&SBUF>=65)||(SBUF>=48&&SBUF<=59))
//        {
//                table2[n]=SBUF;
//                n++;
//                if(n==17)
//                {
//                        n=0;
//                }
//        }
//        RI=0;
//        EA=1;
// }


void main()
{
     P1=0x00;
//                  LCDInit();  //LCM初始化
//*        DLED=1;
//        P0=0x00;
//        DLED=0;
//        n=0;
//        init();        */
        delay_1ms(1000);
        P1=0xff;
        delay_1ms(1000);
        LEDliang();        //LED2亮一下
        uart_int();//串口初始化
        P1=0x11;
        send(at);        //发送AT
        delay_1ms(500);
        send(at);        //发送AT
        delay_1ms(500);
        send(TC_MSXZ); //发送短信模式
        delay_1ms(500);

        send(TCT);
        delay_1ms(500);
        send(TCTC);
        delay_1ms(500);
        send(TC_ZXH);        //发送移动中心号
        delay_1ms(500);
        send(TC_MDSJ);         //发送目标手机号
        delay_1ms(500);
        send(TC_FSNR);         //发送短信正文
        delay_1ms(500);
        SBUF=0x1A;                //十六进制发送1A
        while(TI==0);
        TI=0;
        LEDliang();        //LED2一下
        delay_1ms(500);                                                                          
         P1=0xff;
          delay_1ms(3000);
////        while(1);                //程序停止
//
//                        if(n!=0)
//                {       
//           DisplayString(0, 0, table2);        //显示一行字符
//                   DisplayString(0, 1, net);//显示第二行字符
//                       
//            }

}

这个是主控制部分,还有3个以 .h结尾的文件



*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 11:54 , Processed in 0.055742 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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