本文包含原理图、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结尾的文件
|
|