51单片机——电动车报警器

51单片机——电动车报警器

1.震动控制灯

硬件:震动传感器,51单片机

#include "reg52.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)//模块说明告诉我们,震动的话,D0输出低电平{led1 = 0;//亮灯Delay2000ms();led1 = 1;}else{led1 = 1;//灭灯}}
}

2.震动控制继电器

#include "reg52.h"sbit vibrate = P3^3;//Do接到了P3.3口
sbit switcher = 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)//模块说明告诉我们,震动的话,D0输出低电平{//当发生震动适合,导通继电器,给继电器IN一个低电平switcher = 0;Delay2000ms();switcher = 1;//高电平,继电器N0和COM不通}else{switcher = 1;}}
}

3.遥控接收433M控制继电器

#include "reg52.h"
sbit D0_ON = P1^2;
sbit D1_OFF = P1^3;
sbit switcher = P1^1;
void main()
{//查询方式哪个按键被按下while(1){if(D0_ON == 1)//收到遥控信号A,D0表现为高电平{//A被按下,我们导通继电器,给继电器IN一个低电平switcher = 0;}if(D1_OFF == 1)//收到遥控信号C,D1表现为高电平{//B被按下,我们不导通继电器,给继电器IN一个高电平switcher = 1;}}
}

电动车报警器开发

#include "reg52.h"
#include<intrins.h> #define J_ON  1
#define J_OFF 0
sbit switcher = P1^0;
sbit D0_ON    = P1^1;
sbit D1_OFF   = P1^2;
sbit vibrate  = 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){//1. 如果a按键被按下,设定为开启警报模式if(D0_ON == 1){//长响,表示进入警报模式switcher = 0;Delay2000ms();switcher = 1;//设定警报模式标记mark = J_ON ;}//2. 如果b按键被按按下,设定为关闭警报模式if(D1_OFF == 1){//短响,表示进入解除警报模式switcher = 0;Delay500ms();switcher = 1;//设定警报解除模式标记mark = J_OFF ;}//3. 如果标记是在警报模式下if(mark == J_ON){//3.1 如果发生了震动if(vibrate == 0){//喇叭响,给继电器低电平,导通switcher = 0;}//3.2 如果不发生震动else{//喇叭不响,给继电器高电平,不导通switcher = 1;}}}
}

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

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

相关文章

PINN物理信息网络 | 全局自适应物理信息神经网络SA-PINN

概述 本文提出的自适应加权方法在于权重适用于不同损失组件中的个别训练点,而不是整个损失组件。之前的方法可以被看作是这个方法的一个特例,当所有针对特定损失组件的自适应权重同时更新时。在之前的方法中,独立开发的极小极大加权方案[16]与SA-PINNs最为相近,因为它也通过…

Mac terminal/vi/vim 编译器 命令总结

一个程序员的自述&#xff1a; 纯纯的脚本编程&#xff0c;去工具化&#xff0c; 一个终端解决战斗&#xff0c; 乃我辈之云云尔。 你别管&#xff01;&#xff01; Mac terminal cd 切换路径ls 当前目录内容pwd 当前文件路径cp 复制 cp file.text /destinationmv 移动(或重命…

vue.js中如何使用动态组件。

使用场景&#xff1a; 在不同的情况下展示相应的组件。 在日常开发中&#xff0c;当我们考虑到要简化代码的情况下&#xff0c;我们要进行模块化&#xff0c;写很多组件&#xff0c;如何动态展示组件呢&#xff1f; 使用 <component is"" ></component>…

JavaScript浅拷贝和深拷贝

浅拷贝和深拷贝的区别 浅拷贝let a 10;let ba;a20console.log(b)//10 1&#xff0c;由于a和b基本类型并且都是在栈中的&#xff0c;它们分别进行保存&#xff0c;所以这里输出的b还是102&#xff0c;通过内存可以看出&#xff0c;它们的两个值是独立的&#xff0c;更改其中一…

CMake 完整入门教程(五)

CMake 使用实例 13.1 例子一 一个经典的 C 程序&#xff0c;如何用 cmake 来进行构建程序呢&#xff1f; //main.c #include <stdio.h> int main() { printf("Hello World!/n"); return 0; } 编写一个 CMakeList.txt 文件 ( 可看做 cmake 的…

深度学习之多分类问题

多分类问题&#xff1a; 我们在解决的时候会使用到一种叫做SoftMax的分类器。 前面我们在做糖尿病问题的时候&#xff0c;我们做出一个二分类网络&#xff0c;我们得到的是y1&#xff08;即一年后发病&#xff09;它的概率是多少&#xff0c;即P&#xff08;y1&#xff09;。这…

【Linux C | 网络编程】详细介绍 “三次握手(建立连接)、四次挥手(终止连接)、TCP状态”

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Linux命令-apt-key命令(管理Debian Linux系统中的软件包密钥)

补充说明 apt-key命令 用于管理Debian Linux系统中的软件包密钥。每个发布的deb包&#xff0c;都是通过密钥认证 的&#xff0c;apt-key用来管理密钥。 语法 apt-key(参数)参数 操作指令&#xff1a;APT密钥操作指令。 实例 apt-key list # 列出已保存在系统中key。 apt-…

微服务架构的实现:选择最佳方案,构建未来的应用生态

目录 一、概述 1.1 什么是微服务架构&#xff1f; 1.2 微服务架构的优势和劣势 二、微服务架构的设计原则与最佳实践 2.1 单一职责原则 2.2 服务自治与自治团队 2.3. 松耦合与高内聚 2.4 服务边界的划分 2.5 服务间通信方式选择 2.6 高可用与容错设计 2.7 服务监控…

JVM篇:垃圾回收算法

标记清除 通过遍历GC Root后得到不再被引用的对象&#xff0c;对没被引用的对象做一个标记处理&#xff0c;然后对其进行清除。 优点&#xff1a;速度快 缺点&#xff1a;会产生内存碎片&#xff0c;可能会导致空闲的内存足够保存对象&#xff0c;但由于不连续而保存失败。 标…

R语言【taxlist】——print_name():为发表文章准备可用的格式化名称

Package taxlist version 0.2.4 Description 在撰写关于生物多样性的文章时&#xff0c;可以使用名称自动插入到文件中&#xff0c;包括学名不同元素的典型斜体格式。函数print_name既可以应用于 Markdown 文档&#xff0c;也可以应用于图形。在 Rmarkdown 文档中&#xff0c;…

(java)idel中将对与json的相互转

1、目录结构 2、导入包 在模块下面建立lib目录将包导入模块中 包的百度网盘 链接&#xff1a;https://pan.baidu.com/s/1abNF8cOTeNb00rM7tp04iQ?pwd39wc 提取码&#xff1a;39wc 3、建立两个测试类person和dog类 public class Dog {private String name;private int age…

leetcode-top100数组专题

53.最大子数组和 题目链接 53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 解题思路 dp[i]&#xff1a;表示以nums[i]结尾的连续子数组的最大和。其中“连续”和“结尾”时关键词。 状态转移方程 根据状态的定义&#xff0c;由于nums[i]一定会被选取&#xff…

【ESP32】Ubuntu2004搭建espressif

文章目录 环境流程概述一、安装依赖二、下载SDK、管理工具1. 管理工具下载2. 下载SDK 三、安装toolchain、更新子库、配置SDK环境1. 替换下载源&#xff0c;安装虚拟环境等等2. 更新子库3. 配置SDK环境 四、复制例程验证环境问题汇总1. CMake 版本低2. 编译cmake源码时提示无g编…

day25 回溯part2

216. 组合总和 III 中等 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 class Solution {List&…

学习JavaEE的日子 Day19 常用类

Day19 1.包装类的使用 理解&#xff1a;8种基本数据类型对应类 出现原因&#xff1a; ​ Java为纯面向对象语言(万物皆对象)&#xff0c;8种基本数据类型不能new对象&#xff0c; ​ 就破坏Java为纯面向对应语言的特征&#xff0c;Java又为8种基本数据类型分别 ​ 匹配了对应的…

ubuntu 增加 swap 空间大小

之前装系统的时候&#xff0c;使用了默认的分区方案&#xff0c;结果只有 2GB 的 swap 分区&#xff0c;机器只有这么点内存&#xff0c;平时使用经常出现内存不够用&#xff0c;又没有分配足够的交换空间&#xff0c;市场感觉到拮据&#xff0c;有必要增加一些 swap 空间大小。…

python算法与数据结构---滑动窗口双指针

学习目标 了解滑动窗口的基本原理&#xff1b;学会用使用python语言解答滑动窗口经典题目&#xff1b;了解双指针的基本原理&#xff1b;学会使用python语言解答双指针经典题目&#xff1b; 滑动窗口 209. 长度最小的子数组 https://leetcode.cn/problems/minimum-size-sub…

Unity 中介者模式 (实例详解)

文章目录 简介实例1&#xff1a;玩家与UI交互实例2&#xff1a;战斗模块中的攻击事件协调实例3&#xff1a;游戏场景中的事件广播实例4&#xff1a;模块间通信 - 地图导航与角色移动实例5&#xff1a;UI模块间同步 - 菜单切换与选项状态 简介 在Unity游戏开发中&#xff0c;中…

初识K8S(Kubernetes )

一、概述 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态&#xff0c;其服务、支持和工具的使用范围相当广泛。&#xff08;官网&#xff09; Kuberne…