3.有关LED及蜂鸣器联合设置的夜晚警示器

  • Post author:
  • Post category:其他


  1. 所需装置(1.LED、2.蜂鸣器、3.MCU三个基础装置)如果需改造成夜间太阳能报警器,则需要光控装置、太阳能板、电池、以及功放或者是放大声音装置。



需求

  1. 太阳能充放电,无需额外供电
  2. 白天不会工作,夜晚工作

    这些还只是猜想,目前需查询资料进行实验及测试



简易报警器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);		
	}


}

以上只实现了间隔报警,也就是隔几秒红灯点亮且蜂鸣器报警,而后灯灭蜂鸣器自动关闭,循环往复,其他功能涉及电路待查资料,后期会给出实物及完整实现功能。



编写代码遇到的问题

  1. 在传值时,一开始用的unsigned char,然后输入值为60000,而后改变值的大小延时函数仍无变化,由此我发现超过数值范围后多的没有用到,改用了unsigned int 后,或者long类型果然产生变化,最后查阅书籍char占8位也就是一字节,范围为0-256-1(从0开始所以-1)int占16位范围为0-65536-1,long则占32位,范围为0-2^32-1。
  2. 完成品则需要涉及电路设计,以及功放或者放大器设计。



版权声明:本文为nanshenya原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。