首页 > 其他分享 >【51单片机学习笔记】电动车自动报警项目(433M遥控)

【51单片机学习笔记】电动车自动报警项目(433M遥控)

时间:2024-07-29 11:55:27浏览次数:8  
标签:OFF switcher 报警 51 模式 mark 单片机 while 433M

  1. 定义特殊功能位:使用sbit关键字定义了四个特殊功能位,这些位分别连接到单片机的I/O端口P1的第0到第3位。switcher用于控制继电器的开关,D0_OND1_OFF分别用于检测两个按键的状态,vibrate用于检测振动传感器的状态。

  2. 延时函数:定义了两个延时函数Delay2000msDelay500ms,它们通过嵌套循环和while循环实现大约2000毫秒和500毫秒的延时。这些延时用于模拟报警和解除报警的声音。

  3. 主函数main:程序的入口点,包含一个无限循环,表示系统将持续运行。

  4. 初始化变量:定义了一个整型变量mark并初始化为J_OFF,用于存储报警模式的状态。

  5. 按键检测

    • D0_ON按键被检测为按下(状态为1),则设置switcher为0,实现长响,并通过Delay2000ms延时,之后将mark设置为J_ON,表示进入报警模式。
    • D1_OFF按键被检测为按下(状态为1),则设置switcher为0,实现短响,并通过Delay500ms延时,之后将mark设置为J_OFF,表示关闭报警模式。
  6. 报警模式逻辑

    • 如果mark等于J_ON,表示当前处于报警模式。
    • 在报警模式下,程序会检测vibrate状态:
      • 如果vibrate为0(检测到振动),则设置switcher为0,继电器导通,激活报警。
      • 如果vibrate不为0(未检测到振动),则设置switcher为1,继电器不导通,不触发报警。
  7. 无限循环:由于使用了while(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;
				}
		}
	}
}

标签:OFF,switcher,报警,51,模式,mark,单片机,while,433M
From: https://blog.csdn.net/Webb666/article/details/140767790

相关文章

  • 【51CTO-注册安全分析报告】
    前言由于网站注册入口容易被黑客攻击,存在如下安全问题:暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞所以大部分网站及App都采取图形验证码或滑动验证码等交互解决方案,但在机器学习能力提......
  • web期末作业设计网页/web前端开发期末大作业/html css网页制作成品(第51-60套/总计100
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......
  • 关于51单片机控制数码管显示
    目录数码管区域原理图74HC138译码器方法定义IO口创建数组 让数码管显示完整代码 实验现象 数码管区域原理图74HC138译码器  通过控制ABC码来控制LED1~LED8的位选。以此来控制8个数码管中哪一个数码管显示。方法定义IO口#defineSMG_A_DP_PORT P0//宏......
  • 关于用51单片机8X8点阵显示一个爱心
    目录 LED点阵的原理图 74HC595芯片原理图实现方法定义需要使用的IO口 宏定义端口 构造数组 编写延时函数 74HC595芯片数据的读写显示图案完整代码 LED点阵的原理图要控制LED点阵就需要控制P0口来以此控制LED的负极,控制 74HC595芯片来控制LED的正极。只......
  • GYM105139C Lili Likes Polygons
    记矩形的并为\(P\),定义多边形的大小为它的顶点个数\(|P|\),其\(90\)°的顶角为凸角,\(270\)°的顶角为凹角并记凹点构成的集合为\(C\),称竖直或水平在多边形内部分割开矩形的线为割线,连接了两个凹点的割线为好割线贪心可以发现对于\(P\)的任意极小矩阵划分,所有的割线至少有一......
  • 51nod-3928方伯伯的玉米田
    https://class.51nod.com/Html/Textbook/ChapterIndex.html#textbookId=126&chapterId=338https://class.51nod.com/Html/Textbook/Problem.html#problemId=3928&textbookChapterId=725保证右端点为\(n\)是因为如果不是这样操作,可能导致后面的数大小关系发生变化,而如果保证了......
  • 51nod-3986-免费的馅饼
    https://class.51nod.com/Html/Textbook/Problem.html#problemId=3986&textbookChapterId=725https://class.51nod.com/Html/Textbook/ChapterIndex.html#textbookId=126&chapterId=338我们将馅饼表示为\((p_i,t_i)\),即一个平面直角坐标系上的点。我们把馅饼看成静止,人每次往......
  • 代码随想录算法训练营第九天 | 151.翻转字符串里的单词,卡码网:55.右旋转字符串,28. 实现
    151.翻转字符串里的单词题目链接:力扣题目链接文章讲解:代码随想录 视频讲解:字符串复杂操作拿捏了!|LeetCode:151.翻转字符串里的单词思路这道题目可以说是综合考察了字符串的多种操作。其实这道题和反转字符串这道题目很像,而且用法也是通用的方法一:切片,reverse,以及......
  • 【51单片机仿真】基于51单片机设计的广告机系统仿真&源码&原理图&设计文档
     效果:摘要该系统基于51单片机,通过LED点阵显示字符和简单图案,并实现按键控制。系统可以用于广告机,通过两个按键实现暂停/继续显示和显示方向切换功能。系统包含硬件电路设计和软件编程两部分。目录 第1章绪论 第2章系统分析与总体设计第3章系统的硬件结构实现......
  • 【51单片机仿真】基于51单片机设计的多功能电子时钟(实时时钟闹钟秒表温度检测)系统仿真
    效果:1.项目概述该项目是基于单片机的多功能电子时钟系统,集成了时间显示、闹钟设置、秒表功能以及温度显示等功能。主要硬件包括1602液晶显示屏、DS1302时钟芯片、DS18B20温度传感器和蜂鸣器。系统通过按键进行时间和闹钟的设置,并实时显示当前时间和温度。目录效果:1.......