❶ 基于单片机防盗报警系统的设计的毕业论文
第1章 绪 论
随着经济的发展,人们对防盗、防劫、防火保安设备的需求量大大增加。针对偷盗、抢劫、火灾、煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。本设计运用单片机技术设计了一新颖红外线防盗报警器。而本设计中的输入部分主要是各种各样的传感器。不同类型的探测器用不同的手段探测各种入侵行为;不同作用的传感器,也可检测出不同类型的情况。
本章节主要介绍了本设计的选题背景、课题介绍、本文主要工作、方案论证。
1.1选题背景
单片机现在已越来越广泛地应用于智能仪表、工业控制、日常生活等很多领域,可以说单片机的应用已渗透到人类的生活、工作的每一个角落,这说明它和我们每个人的工作、生活密切相关,也说明我们每个人都有可能和有机会利用单片机去改造你身边的仪器、产品、工作与生活环境。
红外技术已经成为先进科学技术的重要组成部分,他在各领域都得到广泛的应用。由于他是不可见光,因此用他做防盗报警监控器,具有良好的隐蔽性,白天黑夜均可使用,而且抗干扰能力强。这种监控报警装置广泛应用与博物馆、单位要害部门和家庭的防护[1]。
通常红外线发射电路都是采用脉冲调制式。红外接收电路首先将接收到的红外光转换为电信号,并进行放大和解调出用于无线发射电路的调制信号。当无人遮挡红外光时,锁相环输出低电平,报警处于监控状态;一旦有人闯入便遮挡了红外光,则锁相环失锁,输出高电平,驱动继电器接通无线发射电路,监控室便可接收到无线报警信号,并可区分报警地点[2]。
当我们考虑的范围广一点:若是在小区每一住户内安装防盗报警装置。当住户家中无人时,可把家庭内的防盗报警系统设置为布防状态,当窃贼闯入时,报警系统自动发出警报并向小区安保中心报警[3]。周界报警系统:在小区的围墙上设置主动红外对射式探测器,防止罪犯由围墙翻入小区作案,保证小区内居民的生活安全[4]。
目 录
第1章 绪 论 3
1.1选题背景 3
1.2课题介绍 4
1.3本文主要工作 5
1.4方案选择论证 5
1.4.1单片机的选择 5
1.4.2显示器工作原理及其选择 6
1.4.3液晶显示和数码显示 6
1.4.4 防盗报警选择传感器的选择 7
2.1硬件系统总体设计 8
2.2 AT89C51芯片的介绍 9
2.2.1引脚功能 9
2.2.2 结构原理 11
2.2.3 AT89C51定时器/计数器相关的控制寄存器介绍 12
2.2.4 MAX708芯片介绍 13
2.3 单片机复位设置 14
2.4 8255A芯片介绍 14
2.4.1 8255A的引脚和结构 15
2.4.2 8255的工作方式 16
2.4.3 8255的控制字 18
2.5 AT89C51与8255的接口电路 19
2.6 显示部分 20
2.6.1七段显示译码器 20
2.6.2 7448译码驱动 21
2.6.3 单片机与7448译码驱动器及LED的连接 23
2.6.4外部地址锁存器 23
第3章 检测信号放大电路设计 24
3.1 热释红外线传感器典型电路 25
3.2 红外光敏二极管警灯电路 26
3.2.1 光敏二极管控制电路 27
3.3红外线探测信号放大电路设计 28
3.3.1光电耦合器驱动接口 30
3.3.2 集成电路运算放大器 31
3.3.3 精密多功能运算放大器INA105 31
3.3.4 低功耗、双运算放大器LM358 34
第4章 电源设计 35
4.1 单片机系统电源 35
4.2检测部分电源 35
5.1 主程序设计 37
5.2 核对子程序设计 38
5.3 中断子程序设计 38
5.4 读数子程序设计 39
5.5 程序设计说明 40
5.6 程序清单 41
第6章 调试 45
6.1安装调试 45
6.2音响(和继电器)驱动线路具体连接 45
6.3 程序修改 46
6.4 程序执行过程 47
结论 48
参考文献 49
致谢 51
原理图 52
基于单片机控制的红外防盗报警器的设计
[摘要]:随着社会的不断进步和科学技术、经济的不断发展,人们生活水
平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提
出了新的要求。 本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子
防盗系统。
目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。本系统采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现。同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。
本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。处理器采用51系列单片机AT89S51。整个系统是在系统软件控制下工作的。系统程序可以划分为以下几个模块: 数据采集、键盘控制、报警和显示等子函数。
[关键词]:单片机、红外传感器、数据采集、报警电路。
Infrared burglar alarm design controls which based
on the monolithicintegrated circuit
Abstract :Along with society's unceasing progress and science and technology,economical unceasing development, the people living standard obtainsthe very big enhancement, to private property protection consciousnessin unceasing enhancement, thus set the new request to the securitymeasure. This design is for satisfy the family type electron securitysystem which the modern housing security needs to design.
At present in the market condition equips mainly has the pressure totouch the hair style burglar alarm, the switch electron burglar alarmand the pressure shields light the hair style burglar alarmand so on each kind of alarm apparatus, but these kind of quite commonalarm apparatuses all have some shortcomings. This system used hashotly released the electricity infrared sensor, its manufacturesimple, cost low, installm the antijamming ability strong, thesensitivity high, safe was reliable. This kind of security installmenthiding, was not easily discovered by the bandits and thieves.Simultaneously its signal after monolithic integrated circuit systemprocessing the convenience and P the C machine correspondence, isadvantageous for the multiuser unification management.
This design designs two parts including the hardware and software. Thehardware partially including the monolithic integrated circuit controlcircuit, infrared pokes head in the electric circuit, the actuationexecution alarm circuit, the LED control circuit and so on the partialcompositions. The processor uses 51 series monolithic integratedcircuits AT89S51, the overall system is works under the systemsoftware control. The system program may divide into following severalmoles: The data acquisition, the keyboard control, reports to thepolice with the demonstration small steelyard function.
Key words: AT89S51 monolithic integrated circuit, infrared sensor,data acquisition, alarm circuit.
目 录
1. 绪论 1 1.1 前言 1
1.2 设计任务与要求 1
2. 热释电红外传感器概述 2
2.1 PIR传感器简单介绍 2
2.2 PIR 的原理特性 2
2.3 PIR 结构特性 3
3. AT89S51单片机概述 6
3.1 AT89S51单片机的结构 6
3.1.1管脚说明 8
3.1.2 主要特性 11
3.1.3 振荡器特性 11
3.2 AT89S51单片机的工作周期 12
3.3 AT89S51单片机的工作过程和工作方式 13
3.4 AT89S51的指令系统 16
4. 方案设计 18
4.1 系统概述 18
4.2 总体设计 19
4.3 系统硬件选择 19
4.4 硬件电路实现 20
4.5 软件的程序实现 21
5. 结论概述 27
5.1 主要结论 27
5.2 结束语 27
致谢 28
参考文献 29
❷ 用51单片机设计GSM温度报警系统需要用到哪些元器件温度传感器采集温度,当温度达到设定的温度时,产生报
首先要gsm 无线模块,还有 51单排机上要有跟gsm模块通讯的片子,还有些外围电路就看自己设计了,不过前面提到的2个东西很贵的哦。
❸ 51单片机温度报警器原理图和程序有吗
这个是自动控制温度的一个例子,温度降低到一定程度就启动加热。
//温度传感器:DS18B20
//显示方式:LED
#include <reg51.h>
#define uchar unsigned char
sbit keyup=P1^0;
sbit keydn=P1^1;
sbit keymd=P1^2;
sbit out=P3^7;//接控制继电器
sbit DQ = P3^4;//接温度传感器18B20
uchar t[2],number=0,*pt;//温度值
uchar TempBuffer1[4]={0,0,0,0};
uchar Tmax=18,Tmin=8;
uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7};
uchar dismod=0,xiaodou1=0,xiaodou2=0,currtemp;
bit flag;
void t0isr() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(number)
{
case 0:
P2=0x08;
P0=distab[TempBuffer1[0]];
break;
case 1:
P2=0x04;
P0=distab[TempBuffer1[1]];
break;
case 2:
P2=0x02;
P0=distab[TempBuffer1[2]]&0x7f;
break;
case 3:
P2=0x01;
P0=distab[TempBuffer1[3]];
break;
default:
break;
}
number++;
if(number>3)number=0;
}
void delay_18B20(unsigned int i)
{
while(i--);
}
/**********ds18b20初始化函数**********************/
void Init_DS18B20(void)
{
bit x=0;
do{
DQ=1;
delay_18B20(8);
DQ = 0; //单片机将DQ拉低
delay_18B20(90); //精确延时 大于 480us
DQ = 1; //拉高总线
delay_18B20(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败,继续初始化
}while(x);
delay_18B20(20);
}
/***********ds18b20读一个字节**************/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}
/*************ds18b20写一个字节****************/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_18B20(5);
DQ = 1;
dat>>=1;
}
}
/**************读取ds18b20当前温度************/
unsigned char *ReadTemperature(unsigned char rs)
{
unsigned char tt[2];
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度
tt[0]=ReadOneChar(); //读取温度值低位
tt[1]=ReadOneChar(); //读取温度值高位
return(tt);
}
void covert1(void)//将温度转换为LED显示的数据
{
uchar x=0x00,y=0x00;
t[0]=*pt;
pt++;
t[1]=*pt;
if(t[1]&0x080) //判断正负温度
{
TempBuffer1[0]=0x0c; //c代表负
t[1]=~t[1]; /*下面几句把负数的补码*/
t[0]=~t[0]; /*换算成绝对值*********/
x=t[0]+1;
t[0]=x;
if(x==0x00)t[1]++;
}
else TempBuffer1[0]=0x0a;//A代表正
t[1]<<=4;//将高字节左移4位
t[1]=t[1]&0xf0;
x=t[0];//将t[0]暂存到X,因为取小数部分还要用到它
x>>=4;//右移4位
x=x&0x0f;//和前面两句就是取出t[0]的高四位
y=t[1]|x;//将高低字节的有效值的整数部分拼成一个字节
TempBuffer1[1]=(y%100)/10;
TempBuffer1[2]=(y%100)%10;
t[0]=t[0]&0x0f;//小数部分
TempBuffer1[3]=t[0]*10/16;
//以下程序段消去随机误检查造成的误判,只有连续12次检测到温度超出限制才切换加热装置
if(currtemp>Tmin)xiaodou1=0;
if(y<Tmin)
{
xiaodou1++;
currtemp=y;
xiaodou2=0;
}
if(xiaodou1>12)
{
out=0;
flag=1;
xiaodou1=0;
}
if(currtemp<Tmax)xiaodou2=0;
if(y>Tmax)
{
xiaodou2++;
currtemp=y;
xiaodou1=0;
}
if(xiaodou2>12)
{
out=1;
flag=0;
xiaodou2=0;
}
out=flag;
}
void convert(char tmp)
{
uchar a;
if(tmp<0)
{
TempBuffer1[0]=0x0c;
a=~tmp+1;
}
else
{
TempBuffer1[0]=0x0a;
a=tmp;
}
TempBuffer1[1]=(a%100)/10;
TempBuffer1[2]=(a%100)%10;
}
void keyscan( )
{
uchar keyin;
keyin=P1&0x07;
if(keyin==0x07)return;
else if(keymd==0)
{
dismod++;
dismod%=3;
while(keymd==0);
switch(dismod)
{
case 1:
convert(Tmax);
TempBuffer1[3]=0x11;
break;
case 2:
convert(Tmin);
TempBuffer1[3]=0x12;
break;
default:
break;
}
}
else if((keyup==0)&&(dismod==1))
{
Tmax++;
convert(Tmax);
while(keyup==0);
}
else if((keydn==0)&&(dismod==1))
{
Tmax--;
convert(Tmax);
while(keydn==0);
}
else if((keyup==0)&&(dismod==2))
{
Tmin++;
convert(Tmin);
while(keyup==0);
}
else if((keydn==0)&&(dismod==2))
{
Tmin--;
convert(Tmin);
while(keydn==0);
}
xiaodou1=0;
xiaodou2=0;
}
main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
out=1;
flag=0;
ReadTemperature(0x3f);
delay_18B20(50000);//延时等待18B20数据稳定
while(1)
{
pt=ReadTemperature(0x7f); //读取温度,温度值存放在一个两个字节的数组中
if(dismod==0)covert1();
keyscan();
delay_18B20(30000);
}
}
❹ 基于51单片机的光控报警系统实现的功能:通过光敏电阻检测光线强度,当超出或低于某一值引起蜂鸣器报警,并
PCF8581是存储器,怎么转换
可以采用ADC0832作为AD转换芯片,
将光敏电阻接到ADC0832的输入端,
并配以上拉电阻,均匀电压分布,
随着光线强弱的变化,光敏电阻阻值随着变动,
此时单片机对ADC0832实时读取数据,
达到设定的预定值后,报警
❺ 51单片机做超声波测距报警系统,报警功能不会加
比如有源蜂鸣器beep一端接电源正一端接单片机IO,输出低电平驱动。
S里面就是换算出的距离值了。在main主函数的while(1)里的计算函数下加报警判断动作语句
if(S<100)beep=0;//小于100报警
else beep=1;//否则关闭
❻ 基于51单片机的震动报警器设计目的
是为了安全。基于51单片机的震动报警器设计目的是为了安全,报警器是一种为防止或预防某事件发生所造成的后果,以声音、光、气压等形式来提醒或警示应当采取某种行动的电子产品。