- 所需装置(1.LED、2.蜂鸣器、3.MCU三个基础装置)如果需改造成夜间太阳能报警器,则需要光控装置、太阳能板、电池、以及功放或者是放大声音装置。
需求
- 太阳能充放电,无需额外供电
-
白天不会工作,夜晚工作
这些还只是猜想,目前需查询资料进行实验及测试
简易报警器C代码
#include"reg52.h"
typedef unsigned int u16;
typedef unsigned long u32;
sbit led=P2^0;
sbit beep=P1^5;
void delay(u32 i)
{
while(i--);
}
void bee(u16 i)
{
while(i--)
{
beep=~beep;
delay(20);
}
}
main()
{
while(1)
{
led=0;
bee(2000);
led=1;
delay(60000);
}
}
以上只实现了间隔报警,也就是隔几秒红灯点亮且蜂鸣器报警,而后灯灭蜂鸣器自动关闭,循环往复,其他功能涉及电路待查资料,后期会给出实物及完整实现功能。
编写代码遇到的问题
- 在传值时,一开始用的unsigned char,然后输入值为60000,而后改变值的大小延时函数仍无变化,由此我发现超过数值范围后多的没有用到,改用了unsigned int 后,或者long类型果然产生变化,最后查阅书籍char占8位也就是一字节,范围为0-256-1(从0开始所以-1)int占16位范围为0-65536-1,long则占32位,范围为0-2^32-1。
- 完成品则需要涉及电路设计,以及功放或者放大器设计。
版权声明:本文为nanshenya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。