C51--简易报警器设计
硬件清单:
C52单片机
震动传感器模块
433M无线发射接受模块
继电器模块
高功率喇叭
杜邦线
振动传感器控制灯:
如何知道是否发生震动?震动后的信号表示又是什么?
振动传感器模块产生震动,输出低电平,绿色指示灯亮。
不震动,输出高电平,模块上的AO口。
AO口本次不用
振动传感器控制灯
#include "reg52.h"
#include <intrins.h>sbit led1 = P3^7;
//根据原理图(电路图)设备变量led1指向P3组IO口的第7口
sbit vibrate = P3^3;
//振动传感器模块上的 Do接口接到了P3.3口void Delay2000ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void main()
{//查询方式判断是否发生震动while(1){if(vibrate == 0){ //产生震动,DO输出低电平led1 = 0;//灯亮Delay2000ms();//震动之后亮灯两秒}else{led1 = 1;//灯灭}}
}
继电器工作:
就相当于电子开关,继电器上的IN,接入到单片机
NO口:常开端
NC口:常闭端
COM:公共端
接入低电平时,NO口和COM接通
接入高电平时,NO口和COM不接通
#include "reg52.h"
#include <intrins.h>sbit vibrate = P3^3;
//振动传感器模块上的 Do接口接到了P3.3口
sbit switcher = P1^1;
//继电器连接P1.1口 void Delay2000ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void main()
{//查询方式判断是否发生震动while(1){if(vibrate == 0){ //产生震动,DO输出低电平switcher = 0;//发生震动,导通继电器,给继电器一个低电平Delay2000ms();}else{switcher = 1;//接入高电平时,NO口和COM不接通}}
}
将报警器接入继电器
遥控接收发送433M
#include "reg52.h"sbit D0_ON = P1^2;
sbit D1_OFF = P1^3;
//接收器模块上的 D0接口接到单片机的P1.2接口,D1接口接到了P1.3口
sbit switcher = P1^1;
//继电器连接P1.1口 void main()
{//查询方式判断那个按键被按下while(1){if(D0_ON == 1){ //收到遥控器按键的信号A,DO表现为高电平switcher = 0;//A按键被按下,导通继电器,给继电器一个低电平}if(D1_OFF == 1){ //收到遥控器按键的信号B,D1表现为高电平switcher = 1;//B按键被按下,不导通继电器,给继电器一个高电平时}}
}
电动简易报警器电路

/*
1、A按键被按下,设定为开启警报模式长响,表示进入警报模式,设定警报模式标记
2、B按键被按下,设定为关闭警报模式短响,表示进入解除警报模式,设定解除警报模式标记
3、如果在报警模式下如果发生震动,喇叭响----低电平,导通如果没有发生震动,喇叭不响-----高电平,不导通
*/#include "reg52.h"
#include <intrins.h>#define J_OFF 0
#define J_ON 1sbit D0_ON = P1^1;
sbit D1_OFF = P1^2;
//接收器模块上的 D0(A)接口接到单片机的P1.1接口,D1(B)接口接到了P1.2口
sbit switcher = P1^0;
//继电器连接P1.0口
sbit vibrate = P1^3; //振动传感器接在P1.3口void Delay2000ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void Delay500ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}void main()
{int mark = J_OFF;//判断标志位//查询方式判断那个按键被按下while(1){if(D0_ON == 1){switcher = 0;Delay2000ms();switcher = 1;mark = J_ON;}if(D1_OFF == 1){switcher = 0;Delay500ms();switcher = 1;mark = J_OFF;}if(mark == J_ON){if(vibrate == 0){ //震动发生低电平switcher = 0;}else{switcher = 1;}}}
}
相关文章:
C51--简易报警器设计
硬件清单: C52单片机 震动传感器模块 433M无线发射接受模块 继电器模块 高功率喇叭 杜邦线 振动传感器控制灯: 如何知道是否发生震动?震动后的信号表示又是什么? 振动传感器模块产生震动,输出低电平,绿色指…...
2023年最新全国各省行政区划数据(省-市-区县-乡镇-村)
背景 现实情况,在信息系统开发、电子商务平台、app等等相关软件开发,都会设计到行政区数据联动,这里已经爬好全国各省行政区划数据可供下载。 数据来源 内容为2023年全国统计用区划代码(12位)和城乡分类代码ÿ…...
html5 web 按钮跳转方法(及其相关)
html5 web 按钮跳转方法(及其相关) 方法一 <a href"javascript:" οnclick"history.go(-2); ">返回前两页</a> 方法二 <a href"javascript:" οnclick"self.locationdocument.referrer;">返…...
ES6 Generator 函数
Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用…...
从零开始探索C语言(十二)----预处理器、输入输出及文件读写
文章目录 1. 预处理器1.1 预处理器实例1.2 预定义宏1.3 预处理器运算符1.4 参数化的宏 2. 输入和输出2.1 getchar() & putchar() 函数2.2 gets() & puts() 函数 3. 文件读写3.1 打开文件3.2 关闭文件3.3 写入文件3.4 读取文件3.5 二进制 I/O 函数 4. typedef 和 #defin…...
跨境电商:产业带的深度赋能
近年来,中国跨境电商平台崭露头角,成为推动国内产业带转型升级和出海的新引擎。这一充满活力的领域不仅让中国制造走向世界,也为国内众多产业提供了数字化升级的机会,实现了“小单快反”和按需供应。 专业跨境电商平台如SHEIN和阿…...
09-Vue基础之实现注册页面
个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…...
vue 树状结构数据渲染 (java 处理 list ->树状)
树状结构 Element ui https://element.eleme.cn/#/zh-CN/component/tree <el-tree :data"data" :props"defaultProps" node-click"handleNodeClick"></el-tree><script>export default {data() {return {data: [{label: 一级…...
惊艳!这些独特的搜索引擎你都知道吗?
随着互联网的普及和发展,搜索引擎已经成为我们日常获取信息的重要工具。然而,当我们想要寻找一些特定类型的信息时,普通的搜索引擎可能无法满足我们的需求。这时,一些特殊的搜索引擎便能派上用场本。 文将介绍几种常用的特殊搜索引…...
解除OU屏蔽(EBS检查无法直接查询解决)
解除OU屏蔽(EBS检查无法直接查询解决) 具有OU屏蔽的例子 SELECT t.org_id, t.* FROM po.po_headers_all t -- 无屏蔽表,在PL/SQL运行有数据 SELECT t.org_id, t.* FROM apps.po_headers t -- 包含OU屏蔽,在PL/SQL中查询无数据多组织屏蔽原理 1. 在…...
10月8日 Jdbc(1)
jdbc 接口是一个类的父类 java连接数据库, java操作数据库, 把java作为数据库的一个客户端 JDBC是接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接!每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。 …...
SAP 第三方销售/单独采购
一、概述 1. 概念 第三方销售和单独采购都是指接到客户订单后,客户所需产品需要向供应商进行采购,该供应商一般是指外部的供应商,特殊情况下,才可能是集团内部的其他子公司,当是集团内其他子公司时,因为如…...
yxy销售网站后台管理系统
springbootmybatisthymeleaf 第一个练习的项目就是小商品零售平台后台管理系统,但是当时由于业务不熟练,需求分析先不做好,导致在开发的过程中出现了很多问题。 这次首先把需求确定,详细的做好前期准备工作,再来进行…...
【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅲ—— 颁发自签名证书
目录 博文摘要5. 使用 Microsoft 证书颁发机构颁发自签名 SSL 证书5.1 登录MADCS5.2 申请证书5.3 选择证书类型5.4 提交CR5.5 下载 Base 64 编码的证书5.6 导出 CA 证书(1)打开 cachain.p7b(2)进入证书导出导向(3&…...
Hadoop3教程(十九):MapReduce之ETL清洗案例
文章目录 (121)ETL数据清洗案例参考文献 (121)ETL数据清洗案例 ETL,即Extract-Transform-Load的缩写,用来描述数据从源端,经过抽取(Extract)、转换(transfor…...
数据库设计阶段-架构真题(五十七)
下面关于联合需求计划JRP叙述,不正确的是()。 JRP是一种相对成本较高但十分有效的需求获取方法在讨论期间尽量避免使用专业术语JRP的主要目的是对需求进行分析和验证在JRP实施之前,应制定详细的议程,并严格遵照议程进…...
python控制Windows桌面程序自动化模块uiautomation
github仓库地址:GitHub - yinkaisheng/Python-UIAutomation-for-Windows: (Donot use 3.7.6,3.8.1):snake:Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ... uiaut…...
Serializable 和Parcelable的区别
Serializable和Parcelable接口可以完成对象的序列化的过程,当我们需要通过Intent和Binder传输数据时就需要使用Parcelable或者Serializable,有时候我们还需要把对象持久化到存储设备上或者通过网络传输给其他客户端,这个时候也需要使用Seriaz…...
dubbogo-02 将服务注册到nacos
增加dubbo配置 dubbo:application:name: gotestmodule: gotestgroup: daoorganization: qiudaozhangowner: qiudaozhangversion: 0.1environment: proregistries:nacosWithCustomGroup:protocol: nacos # 注册中心选择 nacosaddress: 127.0.0.1:8848 # nacos ipgroup: RIDE # …...
postgresql 配置文件 与 修改配置如何启用
2.启用配置 postgresql显式地以表格的方式告诉我们哪些配置项需要重启数据库实例、哪些配置项仅需要重新加载配置文件即可无需重启服务 select name, context from pg_settings context 的值指示具体策略: internal: 编译期间的设置,只有重新编译才能生…...
Qwen3-14B应用案例:智能客服与内容生成,企业落地实操
Qwen3-14B应用案例:智能客服与内容生成,企业落地实操 1. 为什么选择Qwen3-14B作为企业AI解决方案 在当今企业数字化转型浪潮中,AI技术正从实验室走向实际业务场景。Qwen3-14B作为140亿参数的大型语言模型,在能力与资源消耗之间取…...
免费窗口调整工具:3分钟学会强制修改任意窗口大小
免费窗口调整工具:3分钟学会强制修改任意窗口大小 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些无法拖拽、尺寸固定的应用程序窗口而烦恼吗?Wi…...
春招已经过半,这一波再不动手,基本就没位置了
关注 霍格沃兹测试学院公众号,回复「资料」,领取人工智能测试开发技术合集导读3月底这个时间点,如果你还在纠结“要不要投”,那基本已经慢半拍了。现在的真实情况是:大厂已经进入筛选面试并行阶段一部分公司已经开始发…...
ZGC在超大堆(>16TB)下的隐性崩溃风险:JDK17~21版本兼容性断层分析(仅限内测团队知晓)
第一章:ZGC在超大堆(>16TB)下的隐性崩溃风险:JDK17~21版本兼容性断层分析(仅限内测团队知晓)当堆内存突破16TB阈值后,ZGC在JDK17至JDK21的多个GA版本中暴露出未公开的元数据结构越界行为——…...
Python中缓存入门实战之核心概念与用法详解
缓存是提升程序性能的关键技术——将频繁访问的「计算结果/数据」临时存储在高速介质(如内存)中,避免重复计算/重复查询(如数据库、API),从而大幅降低响应时间。以下是 Python 缓存的入门指南,涵…...
3步解锁魔兽争霸III最佳体验:WarcraftHelper全方位优化工具指南
3步解锁魔兽争霸III最佳体验:WarcraftHelper全方位优化工具指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为…...
信创协同办公价格与成本:这样选,性价比直接拉满!
“一套信创协同办公到底多少钱?”“是按人头收费,还是按项目打包算?”“前期买着便宜,后期维护会不会无底洞?”不管是政企单位采购,还是企业选型,这三个问题几乎是所有人的核心顾虑。毕竟信创办…...
5G NR实战:LDPC与Polar编码在真实场景中的选择与优化技巧
5G NR实战:LDPC与Polar编码在真实场景中的选择与优化技巧 当你在基站调试现场遇到突发的大流量视频传输需求,或是需要为工业自动化设备配置毫秒级响应的控制信道时,编码方案的选择往往决定着整个通信系统的成败。LDPC和Polar这对5G NR的"…...
C语言调用Omni-Vision Sanctuary轻量级推理接口(C API)教程
C语言调用Omni-Vision Sanctuary轻量级推理接口(C API)教程 1. 引言:为什么选择C API? 在嵌入式设备和资源受限的环境中,Python运行时往往显得过于臃肿。Omni-Vision Sanctuary提供的C语言接口(C API&…...
新手避坑指南:PX4飞控连接TFmini、LIDAR Lite V3等定高雷达的完整接线与参数配置(QGC实操)
PX4飞控与定高雷达实战:从接线到参数配置的避坑指南 刚拿到PX4飞控和一堆传感器的新手们,面对密密麻麻的接口和参数设置,是不是有种无从下手的感觉?特别是当你需要连接定高雷达时,不同品牌(北醒TFmini、LID…...
