天津市工程建设交易网站查汗国,ui培训机构排名前十,手机把网站做成软件有哪些,wordpress评论模块51单片机与GSM模块实现通信1、检测串口线的好坏1)将串口线插在电脑上#xff0c;用短路子短接串口的2脚和3脚2)打开串口调试助手3)点击自动发送#xff0c;在自动发送的窗口中随便发个数据#xff0c;看看能不能接收到若能接收到自己发的数据表示串口线是正常的#xff0c;…51单片机与GSM模块实现通信1、检测串口线的好坏1)将串口线插在电脑上用短路子短接串口的2脚和3脚2)打开串口调试助手3)点击自动发送在自动发送的窗口中随便发个数据看看能不能接收到若能接收到自己发的数据表示串口线是正常的否则是坏的。2、下完单片机程序后看看串口是否有数据发出检测3、单片机上与模块通信的4个灯表示的含义1)DO灯一直闪表示单片机串口与GSM模块串口通信不正常否则串口通信正常2)D1灯灯亮就表示模块注册上网络否则没有注册上网络3)D2灯灯亮表示开始发短信4)D3灯灯亮表示发短信结束4、单片机板子与GSM模块的连接单片机---------GSM模块VCC--------vcc(P5的第3脚)GND--------GND(P5的第4脚)RX_232(表示单片机的发)----------RXDPC_232(模块的收(P5的第5脚))TX_232(表示单片机的收)----------TXD_PC232(模块的发(P5的第6脚))gsm模块和单片机连接单片机连接GSM模块直接就是把异步串行通信口的TX和RX连上就可以别忘了地线。注意事项1、不同的单片机有不同的电压一般GSM模块的输入输出电平是2.85V51系列的电平是5V一般在51输出的TX那根线上串联2K的电阻基本上可以使用。如果是3.3V的单片机这个电阻就可以很小几百欧姆就可以。2、GSM模块本身的电源和SIM卡电路很麻烦首先是大多数GSM模块都是用FPC40的接口排线的间距只有零点五毫米而且是塑料外壳不好焊接。焊不好的话工作不稳定。其次是电源部分较麻烦GSM模块的发射电流较大最大瞬间电流2A所以电源部分一般要用LM2576这种大电流的DC-DC变换器来提供4V的电压DCDC电路设计本身就很不容易个人应用比较难需要做电路板。搭接的不稳定。还有SIM卡部分SIM卡与GSM模块通信本身就是个复杂的高频过程电路抗干扰能力强我曾经试过用电线给它们连接起来没有十分钟就掉线了。所以SIM卡部分也需要精心设计别看只有五根数据线而已。单片机控制TC35GSM模块的方法1、硬件连接电路见下图只需设计一个TTL转RS232电平电路连接到MCU的UART口另一端直接连接到TC35。2、指令输出的方法单片机串口设置成模式1(9600N81)依次将ATxxx以ASCII码形式输出到UART口;接收TC35的数据采用中断方式。这里给出详细的程序清单(Keil C51)不介绍编程的方法。程序见下//AT指令的定义char code AT_Tc35“AT”; //连机char code Bps_Tc35“IPR38400”; //波特率char code Text_Tc35“CMGF1”; //文本模式char code Read_Tc35“CMGR”; //读信息char code Erase_Tc35“CMGD”; //删除信息char code Send_Tc35“CMGS”; //发送信息char code Creg_Tc35“CREG”; //注册//模式设置void UART_Init(void){SCON0x50; //01010000b》1模式scon#11011000b;ESl;}//发送-个ASCIIvoid SendASC(unsigned char ASC){bit es;esES;ES0;//关闭中断TI0;SBUFASC;while(TI);TI0;ESes;)//发送命令到TC35void SendToTc35(unsigned char* punsigned char Long){while(Long--){SendASC(*p);}}// 通讯中断接收程序void Rs485_Do(void) interrupt 4 using 1{if(RIl){RI0;RsBuqRsPointSBUF;if fRsPoint》sizeof(RsBuf)){RsPoint0;//FlagRs4850;} //数据处理}}// 发送AT连机命令char code AT_Code“OK”;void Send_AT(void){unsigned char *p;while(1){ClrRsBuf(RsBufsizeof(RsBuf));SendToTc35(AT_Tc352); //“AT”SendASC(OVER);//************等待应答“ok“ES1; //必须中断Delay(50);Pstrstr(RsBufAT_Code);if(pNULL) break;})//发送bps连机命令void Send_BPS(void){SendToTc35(AT_Tc353); //”AT“SendToTc35(Bps_Tc35sizeof(Bps_Tc35)-1);//”IPR19200“SendASC(OVER);}//设置文本void SetText(void){SendToTc35(AT_Tc353); //”AT“SendToTc35(Text_tc35sizeof(Text_tc35)-1);//”IPR19200“SendASC(OVER);Delay(100)//删除短信息unsigned char EraseMsg(unsigned char index){unsigned char *pi20;SendToTc35(AT_Tc353); //”AT“SendToTc35(Erase_Tc35sizeof(Erase_Tc35)-1);//”IPR19200“SendASC(index);SendASC(OVER);ES1;while(i--){Delay(200);Pstrstr(RsBufAT_Code);if(PNULL) {return 1;}}return 0;}//读取短信息char code Ask_No”CMGR:00“;char code ERROR{”ERROR“;char code Ask_Tc35”/“;unsigned char ReadMsg(unsigned char index){unsigned char *pi;unsigned char Buf40;SendToTc35(AT_Tc353); //”AT“SendToTc35(Read_Tc35sizeof(Read_Tc35)-1);SendASC(index);SendASC(OVER);ES1; //必须中断Delay(600);/*-------ES0SendToTc35(RsBuf99);ES1;*/|pstrstr(RsBufERROR);if(PNULL){Send_AT();return 0;pstrstr(RsBufAsk_No);//无信息if(pNULL)return 0;pstrstr(RsBufAsk_Tc35);//20个字节后是MSGif(pNULL) return 0;pp21;for(i0;i《sizeof(Buf);i){Bufi*p;}if(EraseMsg(index)0) return 0;pstrcpy(RsBufBuf); //放回RsBufreturn 1;)//发送短信息char code SK”》“;void SendMsgStart(void){unsigned char *pi10;SendToTc35(AT_Tc353); //”AT“SendToTc35(Send_Tc35sizeof(Send_Tc35)-1);//”IPR19200“SendASC(YinHao);SendToTc35(Mp1.Handsizeof(Mp1.Hand)); //”AT“SendASC(YinHao);SendASC(OVER);ES1;while(i--){Delay(100); //Get”》“pstrstr(RsBufSK);//”》“if(pNULL){ClrRsBuf(RsBufsizeof(RsBuf));Delay(150); //Get”》“break;}}}