51单片机入门项目总结:简易版防盗报警器
好久没有更新博客了,今天开始有时间就写写博客,总结一下之前做过的项目,以及对一些技术的思考。因为目前做过的项目都是为了学习单片机的某个知识点而做的,完成程度并不完整,后面也会对这些做过的项目进行完善和拓展,同样会记录在csdn博客。
简单介绍一下项目
当你将电动车的警报模式开启之后,如果有人接触到了电动车,报警器就会发出警报。
未来完善项目的设想
后续我想加入通信功能,再使用一个简单的app,可以在发出预警的同时,将预警信息发送到车主的手机app上,在app上可以显示车子的实时定位。
需要用到的模块
一块51单片机
震动传感器
继电器
一个小喇叭
433M无线收发模块
足够的杜邦线
一台能用的电脑
这个项目用到的技术
为何说这个项目比较基础?因为这个项目完全可以用IO口来实现,就是把各个需要调用的模块接到单片机的IO口上,然后就可以通过编写程序来控制这些硬件模块。
那就开始实现这个项目吧
首先需要用到的就是51单片机,刚开始的时候可以先测试一下板子是否可用,可以先搞一个点亮LED灯的程序来测试一下单片机是否可以成功烧录程序。没问题的话,就可以继续往下一步走。当然,这个步骤是可以省略,毕竟碰到板子出问题的概率还是蛮低的。也不是没有吧,像我之前就碰到了,害。如何使用上述模块,看下面。
震动传感器
上面这个图就是震动传感器,可以看到上面有四个针脚,VCC和GND是负责给传感器供电的,DO口就是负责数字信号输出,这个口一般就是接在单片机的IO口上。当VCC和GND接上单片机的时候,震动传感器的电源指示灯就会亮。当前面的SW-18010P感受到震动时,开关信号指示灯就会亮,关于接收震动的灵敏度可以通过调节电位器来调节。
继电器模块
VCC和GND分别接电源正极和负极,IN接单片机的IO口。在这个项目中,可以看一下第二张图的原理图,接喇叭的正负极分别接到NO和COM口上,就形成了一个电路。在这里面起控制作用的就是继电器里面的铁片,当IO口发来的是低电平时,NO和COM口就会接到一起,电路接通,喇叭就会响;当IO口发来的是高电平时,COM端就会和NC端接在一起,电路处于不接通的状态。
433M无线发射接收模块
还是老样子,VCC和GND负责供电。上面的D0到D3管脚,分别对应的是遥控器上的ABCD。
这些模块如何使用之后,就可以开始制作报警器了。 关于433M无线发射接收模块的内容,可以参考一下这个网站:https://wenku.baidu.com/view/8fe8f444bed5b9f3f80f1c33.html
话不多说,直接上代码:
#include "reg52.h"
#include <intrins.h>#define J_ON 1 //状态位
#define J_OFF 0 //状态位
sbit virate = P3^3; //震动传感器
sbit switcher = P1^3; //继电器sbit D0_ON = P1^2; //433M打开
sbit D1_OFF = P1^1; //433M关闭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;}//B按键被按下if(D1_OFF == 1){switcher =0;delay500ms();switcher = 1;//警报状态解除,变成正常状态mark = J_OFF;}//判断状态位if(mark == J_ON){//震动传感器发低电平时if(virate == 0){switcher = 0;//下面的可要可不要,不要的话,一旦有震动就会一直响。//delay2000ms();//switcher = 1;}else{switcher = 1;}}}
}
项目效果
最后呈现出来的效果:遥控器按下A,进入警报模式,喇叭会响2秒钟;然后就会监测是否震动。当感受到震动时,喇叭就会发出警报声(在这里因为我不想他响这么久,就设置了只响两秒,正常的话会一直长响)。遥控器按下B,就会退出警报模式,不管怎么震,都不会响。
效果视频可以看看我主页的里面的视频栏目,因为上传视频需要时间审核,等上传成功后我会在后面补上。
简易版电动车报警器效果图
第一次写项目总结,有不足的地方或者不对的地方请多多指教。
51单片机入门项目总结:简易版防盗报警器相关推荐
- c语言程序 电子钢琴按键,基于51单片机8按键电子琴-简易版系统设计(原理图+程序仿真+论文)...
一. 引言 单片机因其体积小,功能强,价格低廉而得到广泛应用,同时随着我国经济的飞速发展,单片机在越来越多的领域得到了广泛的应用,现在国内的单片机多用于电话,玩具和LCD等产品,预计在未来,利用单片机 ...
- 51单片机入门——数字时钟
文章目录 1. 前言 1.1. 设计要求 2. 硬件原理 2.1. 时钟信号(晶振) 2.2. 按键开关 2.3. 数码管显示 3. 原理图 3.1. 仿真原理图 3.2. AD原理图 3.3. PC ...
- 51单片机入门——矩阵按键
文章目录 1.按键 1.1.独立按键 1.2.矩阵按键 2.按键的扫描与抖动 2.1.独立按键的扫描 2.2.按键抖动与消抖 2.3.矩阵按键的扫描 3.简易计算器 1.按键 1.1.独立按键 常用的 ...
- 51单片机入门——16路抢答器
文章目录 设计要求 电路原理图 硬件原理 时钟信号(晶振) 矩阵按键与独立按键 代码解析 设计要求 同时为16支参赛队提供抢答功能,抢答成功后应能通过数码管显示出参赛队号数,同时点亮发光二极管示意抢答 ...
- 51单片机入门学习笔记(上)
笔记整理自B站UP主江科大自化协教程<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 所用单片机为普中51 STC89C52单片机2022新款,文中所提到的调试现象及结果也 ...
- 51单片机入门教程学习笔记
基于江科大自化协B站教学视频<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 一.单片机介绍 单片机,英文Micro Controller Unit,简称MCU 内部集成了 ...
- C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)
系列文章目录 提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好 <第一章 C语言极速学习开发--51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学 ...
- 想学单片机怎么入手?51单片机入门自学最佳指南
曾经我是自学单片机然后跨行成功,今天来分享下自己的经验. 在网上看了很多文章,很多人说现在51单片机已经过时了,建议从STM32开始学习. 或者单片机没有钱途,直接搞ARM+Linux. 我的建议是从 ...
- 51单片机入门教程(6)——外部中断
51单片机入门教程(6)--外部中断 一.外部中断 1.1 中断 1.2 外部中断 二.中断优先级 一.外部中断 1.1 中断 关于中断的概念在上一篇博客中已经提到了.(传送门:51单片机入门教程(5 ...
最新文章
- pek (北大oj)3070
- “大众搬家”何其多啊?[3/14/2007 update]
- js中内置对象Math()常用方法笔记
- 互联网数据中心安全管理方案
- 5.3 个体条件期望(Individual Conditional Expectation, ICE)
- Matlab 进行FFT
- 另一种launch SAP CRM AET的方式
- 解析css之position
- 【CodeForces - 789C】Functions again(最大子段和变形,dp,思维)
- c语言limits.h_ (limits.h)C ++中(整数类型的大小)的宏常量
- 数据科学家 数据工程师_发展数据科学家和工程师
- java 全选 反选取值_全选反选以及获取选中的数据
- 使用apidoc 生成Restful web Api文档——新手问题与解决方法
- tomcat修改端口号
- 英语单词听力测试软件,英语单词发音软件
- 计算机内存清理原理,怎样清理计算机内存
- 什么是flex布局,它的常用属性有哪些
- java.awt.eventdispatchthread_大神们,小弟来了!解决办法
- 移动安全-Frida hook安卓So层函数实战
- 数据库---四中连接查询(交叉、左连接、右连接、完整查询)