C51--简易报警器设计

news2024/11/18 8:10:39

硬件清单:

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  1

sbit 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;
				}
		}
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1113008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果cms模板MXone V10.6魔改版短视大气海报样式

苹果cms模板MXone V10.6魔改版短视大气海报样式 安装模板教程说明&#xff1a; 1、将模板压缩包上传到苹果cms程序/template下解压 2、网站板选择mxone 模板目录填写html 3、网站模板选择好之后一定要先访问前台&#xff0c;然后再进入后台设置 4、主题后台地址&#xff1…

1024,毕业后工作的五个月

入职 一晃一下又到了1024&#xff0c;彼时已经成为打工人在写分享了&#xff0c;自己已经搬砖5个月了&#xff0c;总感觉4月份拍毕业照、去川渝毕业旅行看plmm还是在昨天&#xff0c;但五月下旬入职到现在已经5个月了。给大家简单的share一下工作和生活。 在5月初光速毁约ks入…

1024节日快乐!

1024程序员节&#xff1a;向英勇的程序员们致敬&#xff01; 嘿&#xff0c;大家好&#xff01;听说今天是个特殊的日子&#xff0c;是程序员的节日&#xff01;咱们可得好好庆祝一下&#xff01; 我想先跟大家说声谢谢。是你们的辛勤工作&#xff0c;才让我们的APP、网站、电…

论坛介绍 | COSCon'23 开源治理(G)

众多开源爱好者翘首期盼的开源盛会&#xff1a;第八届中国开源年会&#xff08;COSCon23&#xff09;将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01;各位新老朋友们&#xff0c;欢迎到成都&a…

从鸟瞰世界:倾斜摄影技术的地理信息之美

在当今数字时代&#xff0c;地理信息和地图数据的需求与应用已经成为我们生活的一部分。这些数据不仅在导航、地图应用中发挥着关键作用&#xff0c;还在城市规划、环境保护、农业、建筑和许多其他领域中至关重要。而倾斜摄影技术与可视化技术的结合&#xff0c;正为地理信息的…

如何学习深度学习

文章目录 &#x1f31f; 如何学习深度学习&#x1f34a; 基础数学知识&#x1f34a; 编程基础知识&#x1f34a; 深度学习基础知识&#x1f34a; 学习资源&#x1f34a; 总结 &#x1f4d5;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO…

深入理解JNI

文章目录 1.JNI1.1 JNI实现步骤1.2 NDK1.3 CMakeList.txt1.4 HelloWorld 2. native-lib.cpp2.1 调用java静态方法2.2 调用java实例方法2.3 创建引用 3.CMake4.JNI使用全解4.1 JNI 类型签名介绍4.2 abi4.3 so文件 1.JNI 1.1 JNI实现步骤 JNI&#xff1a;全名 Java Native Inte…

软件测试(四)黑盒,白盒,灰盒测试

黑盒测试 测试人员不关注代码内部实现&#xff0c;通过一些科学的手段&#xff0c;向测试系统发起测试数据&#xff0c;关注执行结果是否和预期结果一直 白盒测试 测试人员关注代码内部实现&#xff0c;它一般用来分析程序的内部结构&#xff0c;针对程序的逻辑结构来设计测…

Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

目录 1 Zookeeper 1.1 Zookeeper 定义 1.2 Zookeeper 工作机制 1.3 Zookeeper 特点 1.4 Zookeeper 数据结构 1.5 Zookeeper 应用场景 1.6 Zookeeper 选举机制 2 部署 Zookeeper 集群 2.1 安装前准备 2.2 安装 Zookeeper 3 Kafka 3.1 为什么需要消息队列&#xff08;…

Linux-git

文章目录 git简介git常用命令配置初始化仓库将文件添加到暂存区将暂存区文件加入版本库对比工作区某文件和暂存区中的区别将暂存区的文件移除但git仍管理将文件移除暂存区并且git不再管理查看版本库切换到之前的版本恢复文件持久化 云端将本地的项目推送到远程仓库将远程仓库的…

使用RestSharp和C#编写程序

以下是一个使用RestSharp和C#编写的爬虫程序&#xff0c;用于爬取www.zhihu.com上的视频。此程序使用了https://www.duoip.cn/get_proxy来获取代理IP。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks…

关于利用webase-front节点控制台一键导出的java项目解析

搭建区块链系统和管理平台分别用的的fisco、webase。 关于我们在利用java开发DApp(去中心化引用)&#xff0c;与区块链系统交互&#xff0c;可以用: 1.webase前置服务给开发者提供的api&#xff1a;我们在搭建好fisco链之后&#xff0c;在搭一个webase-front服务&#xff0c;我…

Ceph存储

数据存储类型 块存储 存储设备与客户端主机是 一对一 的关系&#xff0c;块存储设备只能被一个主机挂载使用&#xff0c;数据以块为单位进行存储的&#xff0c;典型代表&#xff1a;硬盘 文件存储 一对多&#xff0c;能被多个主机同时挂载/传输使用&#xff0c;数据以文件的…

新年学新语言Go之四

一、前言 任何编程语言都有类型系统&#xff0c;类型系统解决了数据的存取问题&#xff0c;它决定了使用这个类型需要开辟内存空间大小以及数据是如何存放的&#xff0c;也解决如何读出数据&#xff0c;因为在内存中相同二进制值不同类型的含义是不一样的&#xff0c;关于Go基…

单链表的相关操作(初阶)

链表的概念 链表是线性表的一种&#xff0c;它是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻 辑顺序是通过链表中的指针链接次序实现的 。其实链表就相当于一列火车&#xff1a; 链表的结构跟⽕⻋⻋厢相似&#xff0c;淡季⻋厢会相应减少&#xff0c…

再添合作 | 大势智慧与长沙市规划信息服务中心签订战略合作协议

10月18日&#xff0c;武汉大势智慧科技有限公司&#xff08;以下简称&#xff1a;大势智慧&#xff09;与长沙市规划信息服务中心&#xff08;以下简称&#xff09;战略合作签约仪式在长沙举行。大势智慧CTO张帆与长沙市规划信息服务中心生产经营总监杨凤京代表双方签署战略合作…

如何处理前端无障碍(Accessibility)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

酷开会员值得回味的经典老剧还记得吗?酷开系统家庭影院带你重温

那些年&#xff0c;大家的娱乐生活主要集中在那一台9寸的黑白电视机中&#xff1b;那些年&#xff0c;家家户户的孩子们晚上都会聚到电视机前欢声笑语&#xff1b;那些年&#xff0c;是诸多经典的电视剧陪伴了很多人的闲暇时光……那些年陪伴我们成长&#xff0c;在记忆中熠熠生…

向量数据库Transwarp Hippo1.1多个新特性升级,帮助用户实现降本增效

例如,当查询“A公司业务发展情况”时,通过向量检索可以检索出A公司“主要业务”、“经营模式”、“财务情况”、“市场地位”等信息,通过全文检索可以检索出知识库中和关键字“业务”、“发展”相关的结果作为补充,通过将两者检索的结果进行结合,可以使得大模型回答的结果…

nexus私服安装

1.将文件上传到linux服务器中 2.解压、重命名 tar -zxvf nexus-3.7.1-02-unix.tar.gz //解压 mv nexus-3.7.1-02 nexus //重命名 3.自定义配置虚拟机可打开 nexus.vmoptions 文件进行配置 如果Linux硬件配置比较低的话&#xff0c;建议修改为合适的大小&…