单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 基于51单片机的GSM智能快递柜设计

基于51单片机的GSM智能快递柜设计

.

   STC89C52GSM


   51+LCD1602+GSM++

.

1LCD1602

2(0-6)

3GSM

4


.

AD,



.

void main (void){ unsigned char i; Init_Timer0(); //定时器0初始化 UART_Init(); P1=0xff; LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); sprintf(displaytemp,"AutomaticMachine");//打印输入界面 LCD_Write_String(0,0,displaytemp);//显示第一行 sprintf(displaytemp,"____ pass word ");//打印输入值 提示电机确定 LCD_Write_String(0,1,displaytemp);//显示第二行
LED=0; for(i=0;i<20;i++) //短暂延时gsm稳定 {DelayMs(50);}
// SendStr("ready ok!",9); RELAY=1; LED=1;
while(1) //主循环 { KeyScanDeal(); if(KEYFAS==0) //按键按下 { DelayMs(20); //消除抖动 if(KEYFAS==0) { while(KEYFAS==0); //按键送掉发送验证码 SendMsg=TRUE; //发送消息置位 } } if(SendMsg==TRUE) { LED=0; SendMsg=FALSE; //发送消息置位取消 SendStr("AT+CMGF=1\r\n",11); //设置字符 for(i=0;i<20;i++) //延时 {DelayMs(50);} SendStr("AT+CSCS=\"GSM\"\r\n",15); //设置gsm格式 for(i=0;i<20;i++) //延时 {DelayMs(50);} SendStr("AT+CMGS=\"+8618799697649\"\r\n",26);//此处可修改信息接收手机的号码 第一个手机号 for(i=0;i<2;i++) //延时 {DelayMs(50);} SendStr("The PW :",8); //此处可修改信息,9代表字节数
if(PwCount==0) {remempw[0]=pw01[0];remempw[1]=pw01[1];remempw[2]=pw01[2];remempw[3]=pw01[3];} //记录发送出去的号码 else if(PwCount==1) {remempw[0]=pw02[0];remempw[1]=pw02[1];remempw[2]=pw02[2];remempw[3]=pw02[3];} //记录发送出去的号码 else if(PwCount==2) {remempw[0]=pw03[0];remempw[1]=pw03[1];remempw[2]=pw03[2];remempw[3]=pw03[3];} //记录发送出去的号码 else if(PwCount==3) {remempw[0]=pw04[0];remempw[1]=pw04[1];remempw[2]=pw04[2];remempw[3]=pw04[3];} //记录发送出去的号码 else if(PwCount==4) {remempw[0]=pw05[0];remempw[1]=pw05[1];remempw[2]=pw05[2];remempw[3]=pw05[3];} //记录发送出去的号码 else if(PwCount==5) {remempw[0]=pw06[0];remempw[1]=pw06[1];remempw[2]=pw06[2];remempw[3]=pw06[3];} //记录发送出去的号码 else if(PwCount==6) {remempw[0]=pw07[0];remempw[1]=pw07[1];remempw[2]=pw07[2];remempw[3]=pw07[3];} //记录发送出去的号码 SendStr(remempw,4); for(i=0;i<2;i++) //延时 {DelayMs(50);} SendByte(0x1a); for(i=0;i<20;i++) //延时 {DelayMs(50);}
// SendStr("AT+CMGS=\"+8618119677903\"\r\n",26);//此处可修改信息接收手机的号码 第二个手机号// for(i=0;i<2;i++) //延时// {DelayMs(50);}// SendStr("The PW :",8); //此处可修改信息,9代表字节数// SendStr(remempw,4);// for(i=0;i<2;i++) //延时// {DelayMs(50);} // SendByte(0x1a);// for(i=0;i<20;i++) //延时// {DelayMs(50);}
LED=1; }
}}