摘 要: 基于單片機(jī)硬件系統(tǒng)以及Keil C軟件開發(fā)平臺,設(shè)計(jì)并實(shí)現(xiàn)了應(yīng)用于家庭用戶的小型監(jiān)控報(bào)警系統(tǒng),。該系統(tǒng)通過紅外傳感器探測到入侵者,,驅(qū)動蜂鳴器報(bào)警并產(chǎn)生相應(yīng)信號通過串口線傳送至PC控制端,控制端啟動攝像頭及時(shí)抓拍現(xiàn)場圖片并保存,。
關(guān)鍵詞: C8051F120,;紅外傳感器;UART;視頻監(jiān)控
傳統(tǒng)的視頻監(jiān)控需要有專業(yè)的設(shè)備,、高額的費(fèi)用以及大量的視頻存儲要求,,難以在一般家庭用戶中得到廣泛應(yīng)用?;诩t外傳感器的視頻監(jiān)控系統(tǒng)具備了監(jiān)控的基本功能,,能實(shí)現(xiàn)視頻實(shí)時(shí)顯示、抓拍及報(bào)警,,可單獨(dú)使用亦可作為智能家居的部分模塊,。紅外傳感器的應(yīng)用避免了大量無意義的視頻的保存,系統(tǒng)只在有外部物體進(jìn)入感應(yīng)區(qū)時(shí)才進(jìn)行抓拍保存圖像,,節(jié)省存儲空間,,容易在家庭用戶中得到推廣應(yīng)用。
1 系統(tǒng)整體設(shè)計(jì)方案
系統(tǒng)整體設(shè)計(jì)如圖1所示,,監(jiān)控端(系統(tǒng)設(shè)置兩個(gè),,可靈活部署)以C8051F120單片機(jī)為核心,通過單片機(jī)的I/O口連接蜂鳴器和紅外監(jiān)控器,,PC機(jī)通過RS232與單片機(jī)相連,,攝像頭由PC機(jī)控制。
該系統(tǒng)通過紅外傳感器探測入侵物體,,使用C8051F120的I/O口P2.0對紅外傳感器感應(yīng)的紅外線信號進(jìn)行響應(yīng),,驅(qū)動蜂鳴器報(bào)警并產(chǎn)生警示信號,通過串口線傳送至PC,,PC控制端啟動攝像頭及時(shí)抓拍現(xiàn)場圖片并保存,。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 C8051F120介紹
系統(tǒng)監(jiān)控終端采用C8051F120單片機(jī)作為控制核心,實(shí)現(xiàn)對紅外傳感器采集數(shù)據(jù)的處理以及與PC控制端的通信,。
C8051F120是完全集成的混合信號片上系統(tǒng)型MCU芯片,,其主要特性如下[1]:高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核,;100 kS/s的ADC,,帶PGA和8通道模擬多路開關(guān);128 KB可在系統(tǒng)編程的Flash存儲器,;兩個(gè)UART串行接口,;5個(gè)通用的16位定時(shí)器;具有6個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列,;片內(nèi)看門狗定時(shí)器,;可在工業(yè)溫度范圍(-45 ℃~+85 ℃)工作。
2.2 C8051F120對紅外傳感器的控制
C8051F120的I/O口P2.0與紅外傳感器相連,,如圖2所示,,對紅外傳感器感應(yīng)的紅外線信號進(jìn)行查詢,,一旦查詢到P2.0端口送來的信號發(fā)生電平變化,單片機(jī)即作出響應(yīng),,驅(qū)動蜂鳴器報(bào)警并向PC發(fā)送警示信號,。
單片機(jī)C8051F020的UART0口是一個(gè)具有幀錯(cuò)誤檢測和地址識別硬件的增強(qiáng)型串行口。UART0可以工作在全雙工異步方式或半雙工同步方式,,并且支持多處理器通信,。對UART0的控制和訪問是通過相關(guān)的特殊功能寄存器即串行控制寄存器(SCON0)和串行數(shù)據(jù)緩沖器(SBUF0)來實(shí)現(xiàn)的。一個(gè)SBUF0地址可以訪問發(fā)送寄存器和接收寄存器,。讀操作將自動訪問接收寄存器,,而寫操作自動訪問發(fā)送寄存器。
3 C8051F120與PC的串口通信
串行通信有異步通信和同步通信兩種基本通信方式,,異步通信是比較常用的傳送方式,。串行通信前,發(fā)送方和接收方要約定具體的數(shù)據(jù)格式和波特率(通信協(xié)議),。系統(tǒng)約定其通信協(xié)議如下:
?。?)串行通信波特率為9 600 b/s;
?。?)幀格式為:1 bit起始位,,8 bit數(shù)據(jù)位,1 bit停止位,,無奇偶校驗(yàn)位,;
(3)設(shè)定由單片機(jī)主動聯(lián)絡(luò)PC機(jī),。
3.1 發(fā)送端
C8051F120單片機(jī)為信號發(fā)送端,,開始工作后C8051F120初始化串口并檢測P2.0信號(連接到紅外傳感器的引腳),當(dāng)P2.0為真時(shí)向串口發(fā)送警示信息(設(shè)定為字符“1”),。根據(jù)通信協(xié)議,,因波特率為9 600 b/s,選用定時(shí)器T1作為波特率發(fā)生器,,晶振為11.059 2 MHz,定時(shí)器T1工作于方式2,,定時(shí)器初值為0xfd,。
3.2 接收端
PC在接收到串口發(fā)來的警示信息后會啟動攝像頭工作,接收端程序設(shè)計(jì)采用VC++6.0開發(fā)平臺調(diào)用API函數(shù)來實(shí)現(xiàn),。程序工作流程如下:首先設(shè)置好串口參數(shù),,再開啟串口監(jiān)測工作線程,串口監(jiān)測工作線程監(jiān)測到串口接收到的數(shù)據(jù),,就以消息方式通知主程序,,激發(fā)消息處理函數(shù)來進(jìn)行數(shù)據(jù)處理,。
4 上位機(jī)功能設(shè)計(jì)與實(shí)現(xiàn)
PC控制端應(yīng)用程序包括三大模塊:串口監(jiān)視模塊、視頻采集模塊和圖像保存模塊,。串口監(jiān)視模塊監(jiān)聽串口狀態(tài),,是否有單片機(jī)發(fā)來的警示信息;視頻采集模塊控制攝像頭進(jìn)行圖片抓拍,。
程序第一次運(yùn)行時(shí)會在C盤下創(chuàng)建media文件夾用于保存抓拍圖片,,每次保存時(shí)程序會檢查media目錄下是否有當(dāng)前日期的目錄,沒有則創(chuàng)建,,并且會在當(dāng)前日期目錄下創(chuàng)建兩個(gè)文件夾video1和video2,,里面分別放兩個(gè)監(jiān)控源所拍攝的圖片。監(jiān)控程序可對攝像頭的圖像及其他格式進(jìn)行設(shè)置,。
本文提出的基于紅外傳感器的視頻監(jiān)控系統(tǒng),,較為適合小型用戶使用,使用的設(shè)備為普通的USB攝像頭和個(gè)人電腦,,只要能對紅外傳感器合理部署就可對所需的場合進(jìn)行監(jiān)控,。
參考文獻(xiàn)
[1] 潘琢金,孫德龍,,夏秀峰譯.C8051F單片機(jī)應(yīng)用解析[M].北京:北京航空航天大學(xué)出版社,,2002.
[2] 童長飛.C8051F系列單片機(jī)開發(fā)與C語言編程[M].北京:北京航空航天大學(xué)出版社,2005.
[3] 施國君.C8051FXXX高速SOC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2002.