基于单片机STC89C52和GSM实现的远程拨号开锁设计(含文档、源码与proteus仿真,以及系统详细介绍)
本篇文章论述的是基于单片机STC89C52和GSM实现的远程拨号开锁设计的详情介绍,如果对您有帮助的话,还请关注一下哦,如果有资源方面的需要可以联系我。
目录
摘要
仿真图
单片机系统流程图
实物图
代码
系统论文
资源下载
摘要
本文介绍了一种基于单片机STC89C52和GSM模块实现的远程拨号开锁设计。该设计通过单片机控制锁的电路,并通过GSM模块实现与手机的通信。用户可以通过手机发送指定的短信命令来控制锁的开关。当收到开锁命令后,单片机会对锁的电路进行控制,从而实现远程开锁。本设计实现了智能化的远程控制,方便了用户的使用,并提高了安全性和便利性。通过实际测试,该设计稳定可靠,实用性较强。
关键词:STC89C52;单片机;远程拨号开锁
仿真图
单片机系统流程图
实物图
实物图
效果展示图
代码
/***************************************************************************** 程序名: GSM接听电话 *****************************************************************************/ #include #include "UART.h" #include "Delay.h" #include "LCD1602.h" #include "FMQ.h" #include "28BYJ.h" #define Yes 1 #define No 0 sbit Power_key=P2^7; sbit led=P2^ 6; /********测试GSM是否启动**********/ int test_boot; /********测试GSM是否注册网络**********/ int test_net_register; /********测试是否有电话打入**********/ int test_have_call; /********GSM串口接收数据缓存**********/ unsigned char GSM_receive[60]; /********GSM串口接收计数器**********/ unsigned char GSMDATA_count; /********号码缓存*******************/ unsigned char number_get; unsigned char door; /********短信发送程序********/ void message() { Send_String("AT+CMGF=1\r\n");//指定信息的输入输出格式为文本格式 Delay_Ms(100); Send_String("AT+CSMP=17,167,2,25\r\n"); Delay_Ms(100); Send_String("AT+CSCS=\"UCS2\"\r\n"); Delay_Ms(100); Send_String("AT+CMGS=\"00310033003200300038003000330038003000300035\"\r\n"); Delay_Ms(100); Send_String("4E3B94F6007E95E85F004E86007E\r\n"); Delay_Ms(100); Send_Char(0x1A); Delay_Ms(200); } void main() { unsigned char m; //初始化状态 Power_key=0; test_boot=No; test_net_register=No; test_have_call=No; door=No; fmq=1; P2=0x00; number_get=No; //GSM启动 Power_key=1; Delay_Ms(1000); Power_key=0; Uart_Init(); //串口初始化 LcdInitiate(); Print_String(line_1,0x00,"calling test--HM"); //测试是否已经开机 while(test_boot==No) { Send_String("AT\r\n"); Delay_Ms(1000); } //测试是否注册到网络 while(test_net_register==No) { Send_String("AT+COPS?\r\n"); Delay_Ms(1000); } //等待电话打入 Send_String("AT+CLIP=1\r\n"); Delay_Ms(100); while(1) { while(test_have_call==Yes) { if(number[10]=='5'&&number[9]=='0'&&number[8]=='0'&&number[7]=='8') { // if(door==No) // { for(m=0;m
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!