❶ 基於單片機防盜報警系統的設計的畢業論文
第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單片機的震動報警器設計目的是為了安全,報警器是一種為防止或預防某事件發生所造成的後果,以聲音、光、氣壓等形式來提醒或警示應當採取某種行動的電子產品。