学习STC51单片机08(芯片为STC89C52RC)

硬件3:433M无线射频信号控制警报器

这边是接收模块

我将GND连接板子上面的GND  5v连接5v

然后D0连接P1.2口  D1连接P1.3口,这边是说D0 D1 代表着按键A和B

那么我们设置按A开启   按B关闭,其实也就是给继电器信号,按A的时候让继电器工作,按B的时候停止工作

代码如下

这边我们要看说明书  因为这个模块接收到我们按键是输出高电平的,所以是我们设置D0_ON ==1;  

Tips:一般市面上常见的继电器模块,很多是低电平触发(低电平有效),但也有高电平触发以及高低电平触发

我们这边的是低电平触发的继电器,所以给继电器传一个0(代表低电平触发)继电器就工作了com - NO连接,电池与警报器串联,就会叫了

当我们按B按键的时候D1_OFF == 1那么 我们本意是想B按键按下是关闭警报器的  所以就设置传一个1的信号给继电器(1代表高电平),那么高电平的传进去,继电器内部的控制电路就发生改变,等于是切断了电源,那么电磁感应就没有了,那么铁片复位,铁片是由一个弹簧带动的,在有电磁感应的时候弹簧被拉长,没有电磁感应的时候弹簧恢复,那么铁片就会回到没有工作的位置了也就是com-NC

项目:电动车简易报警器

学习了以上的这些东西,都在为这个项目做铺垫,现在我们开始

电动车简易报警器信号电路设计

主要实现功能代码在这

整段代码是这样的

#include "reg52.h"

#include <intrins.h>

sbit switcher = P1^0;

sbit D0_ON    = P1^1;

sbit D1_OFF   = P1^2;

sbit vibrate  = P1^3;

#define J_ON  1

#define J_OFF 0

void Delay1000ms() //@11.0592MHz

{

unsigned char data i, j, k;

_nop_();

i = 8;

j = 1;

k = 243;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void Delay200ms() //@11.0592MHz

{

unsigned char data i, j, k;

_nop_();

i = 2;

j = 103;

k = 147;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void main()

{

int mark = J_OFF;

while(1){

if(D0_ON == 1){

switcher = 0;

Delay1000ms();

switcher = 1;

mark = J_ON;

}

if(D1_OFF == 1){

switcher = 0;

Delay200ms();

switcher = 1;

mark = J_OFF;

}

if(mark == J_ON){

if(vibrate == 0){

switcher = 0;

Delay200ms();

}else{

switcher = 1;

}

}

}

}

什么原理呢? 我们这边借助一下记录状态位来控制A按键按下表示J_ON 打开警报,B按键按下表示J_OFF 关闭警报,代码逻辑比较简单的,主要是记录状态位这个要牢牢记住这个思想

后面我发现这样写的代码当我开启警报后  我去震动传感器,传来的警报是断断续续的,所以我们这边给个时间

这样写的话看不出什么问题,但是我们知道现实生活中,警报声会比较长,因此我们多加几个

        这样我们会发现传感器感受震动的时候这个声音在持续的响,我们嫌弃太吵了想要按B键取消警报,但是没有用,因为此时单片机还在数数。。。哈哈哈,以为我们还没有学习中断,单片机在数数期间他不会管任何其他事情的。Ok啊这个程序有BUG以后学习了中断再回来修改程序!!!

展示效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真的想上岸啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值