当前位置: 首页 > news >正文

基于单片机无线智能报警系统的设计

文章目录

  • 前言
  • 资料获取
  • 设计介绍
  • 功能介绍
  • 设计程序
  • 具体实现截图
  • 设计获取


前言

💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗
👇🏻 精彩专栏 推荐订阅👇🏻
单片机设计精品实战案例
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

资料获取

文章底部名片,详细资料联系我。

设计介绍

基于单片机无线智能报警系统是一种结合了单片机控制技术、无线通信技术以及智能报警策略的安全防护系统。以下是该系统设计的详细介绍:

一、系统概述
基于单片机无线智能报警系统通过无线传感器节点实时监测周围环境,一旦检测到异常入侵或危险情况,即通过无线传输方式将报警信号发送给单片机控制器。单片机控制器对接收到的信号进行处理和逻辑判断,进而触发报警装置,并通过无线通信模块将报警信息发送给远程监控中心或用户手机APP,实现实时报警和远程监控。

二、系统组成
整个系统主要由以下几个部分组成:

传感器模块:包括红外传感器、烟雾传感器、温度传感器、湿度传感器等,用于实时监测入侵者的红外辐射、环境中的烟雾浓度、温度和湿度等参数。这些传感器节点应具备灵敏度高、抗干扰能力强等特点。
单片机模块:选用性能稳定、功能强大的单片机作为系统的控制核心,设计相应的外围电路,包括电源电路、复位电路、时钟电路等。单片机负责接收传感器模块传输的数据,根据预设的报警逻辑判断是否需要发出报警信号,并控制报警模块进行声光报警或其他形式的报警。
报警模块:设计合适的报警装置,如声光报警器、振动马达等,用于在检测到异常事件时发出警报信号。报警模块的设计需要考虑到报警方式的多样性、报警声音的响度与辨识度以及报警灯光的亮度与闪烁频率等。
无线通信模块:选择适当的无线传输模块,如WiFi模块、蓝牙模块或LoRa模块等,用于实现单片机控制器与无线传感器节点以及远程监控中心之间的通信。无线通信模块的设计需要考虑到通信距离的远近、通信速率的快慢以及通信协议的兼容性等。

功能介绍

通过多机通信模拟远程无线报警传输,可以传输多种报警信息,多种报警信息采用不同的二进制组合或者数字进行表示。

设计程序

#include <reg51.h>              /* 库函数调用 */
#include <intrins.h>            /* 库函数调用 */
#define uchar	unsigned char   /* 宏定义 */
#define uint	unsigned int    /* 宏定义 */
sbit	K0	= P1 ^ 0;       /*按键定义引脚 */
sbit	K1	= P1 ^ 1;       /*按键定义引脚 */
sbit	K2	= P1 ^ 2;       /*按键定义引脚 */
sbit	K3	= P1 ^ 3;       /*按键定义引脚 */
sbit	K4	= P1 ^ 4;       /*按键定义引脚 */
sbit	K5	= P1 ^ 5;       /*按键定义引脚 */
sbit	K6	= P1 ^ 6;       /*按键定义引脚 */
sbit	K7	= P1 ^ 7;       /*按键定义引脚 */
uchar i;/* 数码管显示字符 */
uchar code tab[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66,0x6d, 0x7d, 0x07, 0x7f, 0x6f,0x77, 0x7c, 0x39, 0x5e, 0x79,0x71 };
/***************************延时函数************************/
void delay( uint z )
{uint x, y;for ( x = z; x > 0; x-- )for ( y = 110; y < 0; y-- );
}/***************************信息发送函数************************/
void send( uchar c )   /* 向串口发送字符 */
{SBUF = c;while ( TI == 0 );TI = 0;
}/***************************主函数************************/
void main()
{P2	= 0x00;SCON	= 0x50;                         /* 串口模式1 */TMOD	= 0x20;                         /* T1工作模式2 */PCON	= 0x00;                         /* 波特率不倍增 */TH1	= 0xfd;                         /* 波特率设定6900 */TL1	= 0xfd;TI	= RI = 0;TR1	= 1;                            /* 启动定时器T1 */IE	= 0x90;                         /* 允许串口中断 */while ( 1 ){if ( K0 == 0 )send( '0' );else send( 'A' );               /* 发送数据 */if ( K1 == 0 )send( '1' );else send( 'B' );               /* 发送数据 */if ( K2 == 0 )send( '2' );else send( 'C' );               /* 发送数据 */if ( K3 == 0 )send( '3' );else send( 'D' );               /* 发送数据 */if ( K4 == 0 )send( '4' );else send( 'E' );               /* 发送数据 */if ( K5 == 0 )send( '5' );else send( 'F' );               /* 发送数据 */if ( K6 == 0 )send( '6' );else send( 'G' );               /* 发送数据 */if ( K7 == 0 )send( '7' );else send( 'H' );               /* 发送数据 */}
}/**************************串口中断***********************/
void serial_int() interrupt 4                   /* 甲机串口接收中断函数 */
{if ( RI ){RI = 0;                         /* 标志位置零 */if ( SBUF >= 0 && SBUF <= 15 )P2 = tab[SBUF];         /* 接收的信息置位 */elseP2 = 0x00;              /* 没有信息则处理此方法 */if ( SBUF == 'x' )              /* buf中为x则调用 */if ( i >= 0 && i < 9 ){i	= i + 1;P2	= tab[i];}if ( i == 9 )i = 0;if ( SBUF == 'y' ){P2	= 0x00;i	= 0;}}
}

具体实现截图

在这里插入图片描述

请添加图片描述
在这里插入图片描述
在这里插入图片描述

设计获取

文章下方名片联系我即可~

精彩专栏推荐订阅:在下方专栏👇🏻

毕业设计精品实战案例

收藏关注不迷路!!

🌟文末获取设计🌟

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 华为昇腾智算中心-智算中心测试方案与标准
  • Java Integer 缓存机制:小镇的居民与大城市的拥堵
  • python内置模块pathlib.Path类操作目录和文件
  • Redis数据结构之list列表
  • 【编程底层原理】mysql的redo log undo log bin log日志的作用,以及何时生成,涉及到哪些参数变量
  • Oracle 单机和集群环境部署教程
  • JUC高并发编程1:JUC概述
  • 【学习笔记】IOC容器
  • 用工厂模式演示springboot三种注入方式 | @Autowired
  • C++基础知识7 list
  • css如何设置间距
  • Mac 上哪个剪切板增强工具比较好用? 好用剪切板工具推荐
  • zabbix入门单机部署
  • SpringBoot如何在使用MongoRepository时启用@Created
  • Laravel邮件发送:从配置到发邮件的指南!
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Angular 响应式表单 基础例子
  • DOM的那些事
  • eclipse(luna)创建web工程
  • MD5加密原理解析及OC版原理实现
  • pdf文件如何在线转换为jpg图片
  • ReactNativeweexDeviceOne对比
  • spark本地环境的搭建到运行第一个spark程序
  • swift基础之_对象 实例方法 对象方法。
  • vue-cli3搭建项目
  • 阿里研究院入选中国企业智库系统影响力榜
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前言-如何学习区块链
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 通信类
  •  一套莫尔斯电报听写、翻译系统
  • 原生js练习题---第五课
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​flutter 代码混淆
  • ​linux启动进程的方式
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #mysql 8.0 踩坑日记
  • (Charles)如何抓取手机http的报文
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二)fiber的基本认识
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (万字长文)Spring的核心知识尽揽其中
  • ..回顾17,展望18
  • .gitignore
  • .NET 8.0 中有哪些新的变化?
  • .NET BackgroundWorker
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core 中插件式开发实现
  • .net反混淆脱壳工具de4dot的使用
  • .NET简谈设计模式之(单件模式)
  • /bin、/sbin、/usr/bin、/usr/sbin
  • /etc/fstab 只读无法修改的解决办法
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理