?? main.c
字號:
#include <REG52.h>
#include <stdlib.h>
//#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define show ;
uchar Finish_Flag=0;
#include "TC35.c"
sbit Key1=P3^2;
sbit Key2=P3^3;
uchar INT0_Flag=0;
uchar INT1_Flag=0;
uchar num=0,j=0;
/*****************模式設置初始化串口 **************************/
void UART_init(void)
{
//初始化串行口和波特率發生器
SCON =0x50; //選擇串口工作方式,打開接收允許
TMOD =0x20; //定時器1工作在方式2,
//PCON =0x80; //波特率加倍
TH1 =0xfa; //實現波特率9600*2=19200(系統時鐘11.0592MHZ)
TL1 =0xfa;
TR1 =1; //啟動定時器T1
ES=1; //允許串行口中斷
PS=1; //設計串行口中斷優先級
EX0=1;
IT0=1;
EX1=1;
IT1=1;
EA =1; //單片機中斷允許
}
/**************1ms延時*****************/
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=115;y>0;y--);
}
void main(void)
{
char i=0;
GPS_EN=1;
delayms(100);
for(i=0;i<5;i++)delayms(200);
ClrBuf(RsBuf,RsBuf_N);
ClrBuf(databuf,50);
//串口初始化 定時器初始化
UART_init(); //中斷初使化
delayms(100);
start_tc35(); //開機
//串口發送"聯機"指令
Send_AT();
SendString("ATE0\r");
delayms(1000);
//串口發送"新信息報告"指令
SendString("AT+CNMI=1,1,0,2,1\r");
delayms(1000);
//清除串口接收緩沖區前50字節
ClrBuf(RsBuf,150);
RsPoint=0;
ES=1;
//tc35i向服務臺發送請求信息
while(1)
{
if(RsPoint)
{
//有新信息 "+CMTI: "SM",xx"
ReturnCommand_OffSet=mystrstr(RsBuf,"+CMTI: \"SM\"");
if(ReturnCommand_OffSet!=NULL)
{
RsPoint=0;
// for(i=0;i<16;i++) dis2[i]=*(ReturnCommand_OffSet+i);
delayms(1000);
ReadMsg();
ClrBuf(RsBuf,8);
RsPoint=0;
}
}
////////////////////////////////////////////////
if(INT0_Flag==1 )
{
INT0_Flag=0;
Send_Chinese();
ClrBuf(RsBuf,8);
RsPoint=0;
}
//////////////////////////////////////////////////////////
if(INT1_Flag==1)
{
INT1_Flag=0;
while(1)
{
// if(num%2) Show_GPS_Time ();
// else Show_GPS_NE ();
}
}
}
}
void EX_Int0() interrupt 0
{
INT0_Flag=1;
}
void EX_Int1() interrupt 2
{
INT1_Flag=1;
num++;
if(num>=10)num=0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -