当前位置:首页 > 单片机课程设计-基于GSM的智能家居系统[自制]
徐州师范大学物理与电子工程学院课程设计报告
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////函数void Start_GSM(void);实现功能:对TC35进行启动,开启TC35///////////////////////////////////
//功能详述:单片机上的IGT管脚是跟TC35的IGT管脚相连;需要启动TC35,必须在 15脚(/IGT)加时长至少为100ms的低电平信号,
///且该信号下降沿时间小于1ms。启动后,15 脚的信号应保持高电平. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/******************************************************************************************************************/ void Start_GSM(void) { IGT=0; Delay_ms(1000); IGT=1; Delay_ms(1000); }
/******************************************************************************************************************/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////函数void GSM_INIT(void);实现功能:初始化TC35模块/////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/******************************************************************************************************************/ void GSM_INIT(void) { LOOP: Delay_ms(1000); sendstring(AT); Delay_ms(1000); sendstring(ATE); Delay_ms(1000);
sendstring(AT_CNMI); Delay_ms(1000);
sendstring(AT_CSCA); Delay_ms(1000);
for(Rx=0;Rx SystemBuf[Rx]=0x00; } Rx=0; sendstring(AT_CMGF); Delay_ms(1000); - 15 - 徐州师范大学物理与电子工程学院课程设计报告 if((SystemBuf[2]=='O')&&(SystemBuf[3]=='K')) //判断是否模块初始化成功,成功的话模块会回复\给单片机 { // beep=1; //如果单片机没有收到OK,就继续发送初始化指令/ for(Rx=0;Rx SystemBuf[Rx]=0x00; } Rx=0; } else { //beep=0; for(Rx=0;Rx SystemBuf[Rx]=0x00; } Rx=0; goto LOOP; } } /******************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////函数void receive_ready(void);实现功能:接收短信准备/////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /******************************************************************************************************************/ void receive_ready(void) { uchar i; if((SystemBuf[5]==0x54)&&SystemBuf[6]==0x49) //如果有新短信(TI)来,模块会通过串口向单片机发送字符串, { // 此函数的功能是判断是否有新短信来,如果来的话就置位准备接受位标志为1 receiveready=1; //如果不是新短信的指令,就舍弃,并将接收数组清零/ } else { for(i=0;i - 16 - 徐州师范大学物理与电子工程学院课程设计报告 Rx=0; } } /******************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////函数 void message_read(void);实现功能:判断短信,准备是否回复短信给目标号码////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /******************************************************************************************************************/ void message_read(void) { if((sendready==1)&&(SystemBuf[5]==0x47)&&(SystemBuf[6]==0x52)) //GR send=1; } /******************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////函数 void read_message(void);实现功能:发送读取短信指令,//////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /******************************************************************************************************************/ void read_message(void) { uchar i; Delay_ms(1000); for(i=0;i<3;i++) { numberbuf[i]=SystemBuf[14+i]; } for(i=0;i<8;i++) { AT_Read[i]=AT_CMGR[i]; } for(i=8;i<11;i++) { AT_Read[i]=numberbuf[i-8]; } - 17 - 徐州师范大学物理与电子工程学院课程设计报告 for(Rx=0;Rx /******************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////函数 void delete_message;实现功能:删除读短信指令,//////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /******************************************************************************************************************/ void delete_message(void) { uchar i; Delay_ms(1000); Delay_ms(1000); Delay_ms(5000); for(i=0;i<8;i++) { AT_delete[i]=AT_CMGD[i]; } for(i=8;i<11;i++) { AT_delete[i]=numberbuf[i-8]; } for(Rx=0;Rx /******************************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////函数 void sendmessage(void);实现功能:发送回复短信指 - 18 -
共分享92篇相关文档