基于单片机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。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




