📄 sms.h
字号:
#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
//发送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
对应字符
AT+CSQ
+CSQ: 16,99
OK
*/
unsigned char code Command_Cmgf[10] = "AT+CMGF=0\r";
/*
发送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";
/*
发送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
对应字符:AT+CMGS=027
*/
/*
发送41 54 2B 43 4D 47 53 3D 30 32 37 0D
对应字符:AT+CMGS=027
41 54 2B 43 4D 47 53 3D 30 32 37 0D 0D 0A 3E 20
*/
/*
发送
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
对应字符:
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"; //短消息内容:我已经到达。
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
//参数1
/*
bit7 : = 1 (防止参数为0x04 时,与结束字节0x04 冲突)
bit6 : 中断控制位(0:没用,1:中断)
bit4-bit5: 输出方式选择(0:保持原来的没用;1:DA 输出;2:PWM 输出)
bit1-bit3: 波特率选择 (0:保持原来;1: 1200 波特率;2: 2400 波特率;3: 4800 波特率;4: 9600
波特率)
bit0 : 休眠控制位 =0:没用; =1:表示信息终端要求TTS 芯片休眠,以节省功耗。
注:当bit0 =1 时,《合成数据》必须为空即0 字节;休眠后唤醒约需16 毫秒。
*/
//参数2
/*
bit7:= 1 (防止参数为0x04 时,与结束字节0x04 冲突)
bit6:唱卡拉Ok 时是否回传歌词位(0:不回传;1:回传)
bit5 – bit3:循环播放的遍数
=0:表示播放1 遍;
=1:表示播放2 遍;
=2:表示播放3 遍;
。。。
=6:表示播放7 遍;
=7:表示播放无数遍
bit2: 接收文本朗读或拼音内码朗读的第一个字是否按姓处理(0:不按;1:按)
bit1: 接收的文本朗读是否读标点符号(1:读;0:不读)
bit0: 接收的文本朗读数字1 是否读成”Yao1”(1:读;0:不读,读本音)—在电话中1 读成”Yao1”
*/
//参数3
/*
bit7: = 1 (防止参数为0x04 时,与结束字节0x04 冲突)
bit6: 芯片按命令帧要求播音完后,是否需要告诉信息终端已经播完,以便信息终端再发送其它新命令.
= 1,表示在TTS 芯片操作完成后, 需要向信息终端反馈—全部播音结束的回应帧.
= 0,表示在TTS 芯片操作完成后, 不需要回应帧.
bit5 - bit3: 背景音乐选择的是第几曲,0:表示不要背景音乐,1-7:表示背景音乐曲目.
bit2 - bit0:音量的级数,0 到5 级有效
*/
#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); //关串口0中断
void Serial0_Inter_Open(void); //开串口0中断
void Serial1_Inter_Close(void); //关串口1中断
void Serial1_Inter_Open(void); //开串口1中断
void Inter_Enable(void); //开总中断
void Inter_Disable(); //关总中断
//---------------------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};
*/
//北京航空航天大学
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[]={
//-- 调入了一幅图像: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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -