我是一个单片机初学者,现在学校要求做基于89c51家庭防盗系统的设计,也就是毕业设计,其中经过我的努力,只能实现基本检测的功能,能检测有人经过时,报警灯能亮,也能正常熄灭,问题是蜂鸣器不报警且无法编入频率,希望大家能出谋划策,我把我自己做的程序上传上来,希望高手们能帮我改进或者重新制作一个,里面包含C语言程序和仿真程序,另外由于刚学,
汇编还没掌握,只懂得c语言,希望大家能费点时间帮我写出c语言~
不胜感激~
非常感谢!
基本原理是正常工作时,工作指示灯常亮,当热释电传感器检测到有人经过时,会直接输出信号给单片机,由单片机判断并发出警告,工作指示灯熄灭,此时报警灯跳动且蜂鸣器鸣叫,十秒钟后警报停止,恢复正常(仿真程序中使用一个按键开关充当热释电传感器,此设计不需要GSM模块)
此帖出自
小平头技术问答
假设你用单片机的P1^1作为蜂鸣器输出,当然之前端口定义你已经定义过它了。
sbit BELL = P1^1;
uchar bell(uchar mode)
{
static uint time = 0;
static uchar mode_buf = 0;
if(mode != 0)
{
mode_buf = mode;
return 0;
}
if(mode_buf == 1)
{
BELL = 0;
}
else if(mode_buf == 3)
{
time++;
if(time < 300)
{
BELL = 1;
}
else if(time < 1000)
{
BELL = 0;
}
else
{
time = 0;
}
}
else if(mode_buf == 4)
{
time++;
if(time < 200)
{
BELL = 1;
}
else if(time < 500)
{
BELL = 0;
}
else
{
time = 0;
}
}
}
一周热门 更多>