?? sms.h
字號(hào):
#define UINT unsigned int
#define UCHAR unsigned char
#define TI1 (SCON1 & 0x02)
#define RI1 (SCON1 & 0x01)
#define SMS_MAXLENGTH 0x30
UCHAR code error_display[]={0xcd,0xf8,0xc2,0xe7,0xb3,0xac,0xca,0xb1,0xa3,0xac,0xc7,0xeb,0xbc,0xec,0xb2,0xe9,
0xcd,0xf8,0xc2,0xe7,0xb2,0xa2,0xbd,0xab,0xc4,0xa3,0xbf,0xe9,0xd6,0xd8,0xc6,0xf4};
//sms
unsigned char xdata rec[200]; //0923
unsigned char code Command_At[3] = "AT\r";
/*41 54 0d 回傳:41 54 0D 0D 0A 4F 4B 0D 0A
AT
OK
*/
unsigned char code Command_Csq[7] = "AT+CSQ\r";//Signal quality test
//發(fā)送41 54 2B 43 53 51 0d
/*接收到41 54 2B 43 53 51 0D 0D 0A 2B 43 53 51 3A 20 31 36 2C 39 39 0D 0A 0D 0A 4F 4B 0D 0A
對(duì)應(yīng)字符
AT+CSQ
+CSQ: 16,99
OK
*/
unsigned char code Command_Cmgf[10] = "AT+CMGF=0\r";
/*
發(fā)送41 54 2B 43 4D 47 46 3D 30 0D
接收:
41 54 2B 43 4D 47 46 3D 30 0D 0D 0A 4F 4B 0D 0A
AT+CMGF=0
OK
*/
unsigned char code Command_Cmgs[12] = "AT+CMGS=027\r";
/*
發(fā)送41 54 2B 43 4D 47 53 3D 30 32 37 0D
41 54 2B 43 4D 47 53 3D 30 32 37 0D 0D 0A 45 52 52 4F 52 0D 0A
對(duì)應(yīng)字符:AT+CMGS=027
*/
/*
發(fā)送41 54 2B 43 4D 47 53 3D 30 32 37 0D
對(duì)應(yīng)字符:AT+CMGS=027
41 54 2B 43 4D 47 53 3D 30 32 37 0D 0D 0A 3E 20
*/
/*
發(fā)送
30 30 31 31 30 30 30 44 39 31 36 38 33 31 31 38 30 30 33 32 33 38 66 36 30 30 30 38 30 31 30 43 36 32 31 31 35 44 46 32 37 45 43 46 35 32 33 30 38 46 42 45 33 30 30 32 1A
接收:
30 30 31 31 30 30 30 44 39 31 36 38 33 31 31 38 30 30 33 31 33 38 66 36 30 30 30 38 30 31 30 43 36 32 31 31 35 44 46 32 37 45 43 46 35 32 33 30 38 46 42 45 33 30 30 32 1A
0D 0A 2B 43 4D 47 53 3A 20 39 0D 0A 0D 0A 4F 4B 0D 0A
對(duì)應(yīng)字符:
AT+CMGS=027
> 0011000D91683118003138f60008010C62115DF27ECF52308FBE3002
+CMGS: 10
OK
*/
unsigned char code GSMhead[12]="0011000D9168";
unsigned char code Center_number[12]="3118003238f6";
unsigned char code GSM_set[6]="000801";
unsigned char code GSM_sms[26]="0C62115DF27ECF52308FBE3002"; //短消息內(nèi)容:我已經(jīng)到達(dá)。
unsigned char code Command_Cnmi[18] = "AT+CNMI=1,1,0,0,1\r";
unsigned char code Command_Cmgr[8]="AT+CMGR=";
unsigned char code Command_Cmgd[8]="AT+CMGD=";
//sms buffer
xdata UCHAR TxBuf1[256]; //
xdata UCHAR RxBuf1[256];
xdata UCHAR SMS_Buffer[140];
UCHAR SMS_Buffer_Len;
unsigned char xdata sms_index[20][2];
unsigned char sms_index_len;
bit sms_receive_flag;
xdata UCHAR timer0_counter; // Delay counter.
//sound module defination
#define Frame_Head 0x01
#define Frame_End 0x04
#define Output_Da 0x10
#define Output_Pwm 0x20
#define Baudrate_1200 0x02
#define Baudrate_2400 0x04
#define Baudrate_4800 0x06
#define Baudrate_9600 0x08
//參數(shù)1
/*
bit7 : = 1 (防止參數(shù)為0x04 時(shí),與結(jié)束字節(jié)0x04 沖突)
bit6 : 中斷控制位(0:沒(méi)用,1:中斷)
bit4-bit5: 輸出方式選擇(0:保持原來(lái)的沒(méi)用;1:DA 輸出;2:PWM 輸出)
bit1-bit3: 波特率選擇 (0:保持原來(lái);1: 1200 波特率;2: 2400 波特率;3: 4800 波特率;4: 9600
波特率)
bit0 : 休眠控制位 =0:沒(méi)用; =1:表示信息終端要求TTS 芯片休眠,以節(jié)省功耗。
注:當(dāng)bit0 =1 時(shí),《合成數(shù)據(jù)》必須為空即0 字節(jié);休眠后喚醒約需16 毫秒。
*/
//參數(shù)2
/*
bit7:= 1 (防止參數(shù)為0x04 時(shí),與結(jié)束字節(jié)0x04 沖突)
bit6:唱卡拉Ok 時(shí)是否回傳歌詞位(0:不回傳;1:回傳)
bit5 – bit3:循環(huán)播放的遍數(shù)
=0:表示播放1 遍;
=1:表示播放2 遍;
=2:表示播放3 遍;
。。。
=6:表示播放7 遍;
=7:表示播放無(wú)數(shù)遍
bit2: 接收文本朗讀或拼音內(nèi)碼朗讀的第一個(gè)字是否按姓處理(0:不按;1:按)
bit1: 接收的文本朗讀是否讀標(biāo)點(diǎn)符號(hào)(1:讀;0:不讀)
bit0: 接收的文本朗讀數(shù)字1 是否讀成”Yao1”(1:讀;0:不讀,讀本音)—在電話中1 讀成”Yao1”
*/
//參數(shù)3
/*
bit7: = 1 (防止參數(shù)為0x04 時(shí),與結(jié)束字節(jié)0x04 沖突)
bit6: 芯片按命令幀要求播音完后,是否需要告訴信息終端已經(jīng)播完,以便信息終端再發(fā)送其它新命令.
= 1,表示在TTS 芯片操作完成后, 需要向信息終端反饋—全部播音結(jié)束的回應(yīng)幀.
= 0,表示在TTS 芯片操作完成后, 不需要回應(yīng)幀.
bit5 - bit3: 背景音樂(lè)選擇的是第幾曲,0:表示不要背景音樂(lè),1-7:表示背景音樂(lè)曲目.
bit2 - bit0:音量的級(jí)數(shù),0 到5 級(jí)有效
*/
#define Par1_Default 0x80//8'b1000_0000
#define Par2_Default 0x80//8'b1000_0111
#define Par3_Default 0xc5//8'b1100_0101 8'b1100_1000
//3 parameters defined in sound chip protocol
unsigned char data sound_par1,sound_par2,sound_par3;
unsigned char xdata sound_buffer[56];
unsigned char xdata chn_data[50];
unsigned char buffer_len;
unsigned char sound_flag;
unsigned char com_flag;
// LCD Pin I/O defination
sbit LCD_BUSY=P3^6;
sbit LCD_REQ=P0^7;
#define LCD_DATA P2
// sound module
sbit SOUND_READY=P3^2;
// wireless modem
sbit IGT=P3^3;
sbit PD=P3^4;
// led display
sbit led1=P3^0; //
sbit led2=P3^1; // (1-亮,0-滅)
sbit led3=P3^5; //
//function declaration
//--------------------Initialization-----------------------------------------------
void Mcu_ini(void); //mcu initialization
void Baudrate_Init(void); //uart initialization
//---------------------uart interrupt control-----------------------------------------
void Serial0_Inter_Close(void); //關(guān)串口0中斷
void Serial0_Inter_Open(void); //開串口0中斷
void Serial1_Inter_Close(void); //關(guān)串口1中斷
void Serial1_Inter_Open(void); //開串口1中斷
void Inter_Enable(void); //開總中斷
void Inter_Disable(); //關(guān)總中斷
//---------------------flag control---------------------------------------------
void led1_open();
void led1_close();
void led2_open();
void led2_close();
void led3_open();
void led3_close();
//---------------------delay and timer control--------------------------------------------
void Delay10ms(void); //delay 10ms
void Delay_1S(void); //delay 1s
void start_timer0(void);
void close_timer0(void);
void timer0(void);
void deal_with_error(void);
//-----------------------sms--------------------------------------------------
void start_GSM(void); //start and test GSM module
void start_tc35(void);
void AT_SEND(void);
void Signal_test(void);
void AT_cmgf(void);
void AT_cmgs(void);
void power_down(void);
void SEND_sms(void);
void AT_cnmi(void);
unsigned char AT_cmgr(unsigned char index_high,unsigned char index_low,unsigned char buffer[]);
void AT_cmgd(unsigned char index_high,unsigned char index_low);
void uart0_send(unsigned char data_buffer[],unsigned char data_len);
void Serial0_Service(void);
unsigned int String2Bytes(const char* pSrc, unsigned char* pDst,const int nSrcLength);
unsigned char DecodeUcs2(const unsigned char* pSrc, char* pDst,const int nSrcLength);
// lcd module
void send(UCHAR dat);
void wr_zb (UCHAR comm,UCHAR addr_x,UCHAR addr_y);
void disp_img (UCHAR code *img);
//void disp_chn (UCHAR code *chn);
void disp_chn (UCHAR *chn,UCHAR gb_length);
void disp_eng (UCHAR code *eng);
void test_lcd(void);
//////////////////////////////test LCD Module//////////////////////////////
//金鵬科技有限公司 奧可拉液晶顯示器
/*
UCHAR code tab2[]={
0x1d,0x50,0x25,0x54,0x1f,0x26,0x1c,0x1c,0x33,0x30,0x2f,0x3e,0x19,0x0b,0x2b,0x1e,
0x10,0x22,0x1f,0x29,0x20,0x0d,0x32,0x1a,0x1e,0x07,0x2f,0x34,0x2a,0x1e,0x26,0x57};
*/
//北京航空航天大學(xué)
UCHAR code tab2[]={
0xb1,0xb1,0xbe,0xa9,0xba,0xbd,0xbf,0xd5,0xba,0xbd,0xcc,0xec,0xb4,0xf3,0xd1,0xa7,
0xb5,0xe7,0xd7,0xd3,0xd0,0xc5,0xcf,0xa2,0xb9,0xa4,0xb3,0xcc,0xd1,0xa7,0xd4,0xba};
UCHAR code tab4[]={
"Bei Hang Da Xue "
"TEL:010-82317800"
"FAX: 82317236 "
"www.buaa.edu.cn "};
UCHAR code tab6[];
UCHAR code tab6[]={
//-- 調(diào)入了一幅圖像:F:\梁\畫圖\HOCO12832.bmp --
//-- 寬度x高度=128x32 --
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x18,0x0C,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x13,0x10,0x03,0xFE,0x00,
0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x3F,0x30,0x1F,0xFF,0xC0,
0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x8C,0x03,0xF0,0x00,0x7F,0xE0,0x7C,0x01,0xE0,
0x03,0xFF,0xF0,0x00,0x00,0x00,0x01,0x36,0x06,0xC0,0x00,0x5F,0xC0,0xFF,0xFC,0x60,
0x01,0xFF,0xF0,0x00,0x00,0x00,0x02,0x1B,0x0F,0x80,0x00,0xFF,0x01,0xFE,0x0F,0x30,
0x00,0xEF,0xF0,0x00,0x00,0x00,0x02,0x6D,0x9F,0x00,0x00,0x3E,0x03,0xFF,0xF1,0x90,
0x00,0xFF,0xF8,0x00,0x00,0x00,0x04,0x36,0xFE,0x00,0x01,0xFF,0x07,0xFF,0xFC,0x90,
0x00,0xEF,0xFF,0xFF,0x80,0x00,0x04,0xDB,0x7E,0x00,0x03,0xFF,0x87,0xFF,0xFC,0xD0,
0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x04,0x6D,0xFC,0x00,0x07,0xFF,0x8F,0xFF,0xFE,0x50,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x36,0xFC,0x10,0x07,0xFF,0x8F,0xFF,0xFE,0x90,
0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x1B,0xF8,0x10,0x07,0xFF,0xCF,0xFF,0xFE,0x80,
0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x04,0x0F,0xF8,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0x07,0xFF,0xFF,0xF0,0x00,0x04,0x07,0xF0,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
0x00,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x03,0xF0,0x20,0x07,0xFF,0xFF,0xFF,0xBA,0x00,
0x00,0xFD,0xFF,0xFF,0xFC,0x00,0x02,0x03,0xF0,0x20,0x03,0xFF,0xFF,0xDF,0xB8,0x00,
0x00,0xC1,0xC0,0x3F,0xFC,0x00,0x01,0x01,0xE0,0x40,0x00,0xFF,0xFF,0xDF,0xB0,0x00,
0x00,0x81,0xC0,0x3F,0xCE,0x00,0x00,0x81,0xE0,0x80,0x00,0x7F,0xFF,0xDF,0xA0,0x00,
0x00,0x81,0x80,0x1D,0xCF,0x00,0x00,0x41,0xE1,0x00,0x00,0x3F,0xFF,0x9B,0x00,0x00,
0x01,0x83,0x80,0x1F,0xC7,0x80,0x00,0x21,0xE2,0x00,0x00,0x1F,0xFD,0xB6,0x00,0x00,
0x01,0xC3,0x00,0x0E,0xE6,0x80,0x00,0x19,0xEC,0x00,0x00,0x07,0xFE,0x20,0x00,0x00,
0x00,0xC3,0x00,0x07,0x67,0x40,0x00,0x07,0xF0,0x00,0x00,0x03,0x3E,0x00,0x00,0x00,
0x00,0x02,0x00,0x03,0xE7,0xA0,0x00,0x00,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,
0x00,0x06,0x00,0x03,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
0x00,0x06,0x00,0x07,0x03,0x00,0x77,0x46,0x74,0x24,0x80,0x06,0x04,0x00,0x00,0x00,
0x00,0x1C,0x00,0x06,0x00,0x00,0x55,0x45,0x54,0x57,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x1C,0x00,0x0E,0x00,0x00,0x45,0x45,0x74,0x57,0x80,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x00,0x00,0x55,0x45,0x44,0x74,0x80,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x77,0x76,0x47,0x54,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/************************sound module**************************************/
void sound_ini(void);
void uart1_send(unsigned char data_buffer[],unsigned char data_len);
unsigned char check_sum(unsigned char data_buffer[],unsigned char data_len);
void sound_test(void);
void sound_send(unsigned char data_buffer[],unsigned char data_len);
void Serial1_Service(void);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -