朱艷, 喻麗麗, 嚴(yán)佳雯
(江蘇省鎮(zhèn)江市金山職業(yè)技術(shù)學(xué)院,江蘇 鎮(zhèn)江 212200)
隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,人們的安全意識(shí)有了顯著提高,開(kāi)始應(yīng)用前沿科技引領(lǐng)生活安全。報(bào)警器在安全防范、交通運(yùn)輸、醫(yī)療救護(hù)、應(yīng)急救災(zāi)、系統(tǒng)故障和感應(yīng)檢測(cè)等領(lǐng)域都發(fā)揮了強(qiáng)大的報(bào)警功能。單片機(jī)、傳感器及微機(jī)控制等一系列高新科技的發(fā)展,帶動(dòng)了防盜報(bào)警器的研制設(shè)計(jì)和生產(chǎn)制造等方面的快速發(fā)展?;贏T89S52單片機(jī)為系統(tǒng)核心[1],軟件設(shè)計(jì)采用C語(yǔ)言編程[2],以此實(shí)現(xiàn)多音頻報(bào)警器的設(shè)計(jì),對(duì)于開(kāi)發(fā)出既能有效報(bào)警又適用于一般家庭消費(fèi)需求的報(bào)警器[3]有著重要意義。
圖1 報(bào)警器系統(tǒng)原理框圖
多音頻報(bào)警器共有6種不同音頻的報(bào)警聲音,6個(gè)LED發(fā)光燈,對(duì)應(yīng)著6種險(xiǎn)情[4]。用6個(gè)開(kāi)關(guān)模擬這6種險(xiǎn)情的傳感器檢測(cè)輸入信號(hào)。系統(tǒng)的功能原理如圖1所示。
圖2為AT89S52單片機(jī)[5]的內(nèi)部系統(tǒng)組成圖。
圖2 單片機(jī)最小系統(tǒng)
該設(shè)計(jì)中供電電源為220 V,而系統(tǒng)中的單片機(jī)和喇叭等元件都采用5 V或12 V供電,所以設(shè)計(jì)一個(gè)直流穩(wěn)壓電源電路是很必要的[6]。該電路的原理結(jié)構(gòu)如圖3所示。電源電路如圖4所示。
圖3 電源電路結(jié)構(gòu)框圖
圖4 電源電路圖
圖5 獨(dú)立式鍵盤(pán)連接方式
通常鍵盤(pán)電路有矩陣式和獨(dú)立式兩種方式。矩陣式適用于按鈕較多的情況,且矩陣式編程較難,所以該系統(tǒng)中選擇獨(dú)立式鍵盤(pán)。由于該電路中需發(fā)出6種不同聲音,即6個(gè)按鈕,一個(gè)按鍵連接一個(gè)I/O口即可。實(shí)際上,每個(gè)開(kāi)關(guān)按鈕都會(huì)串聯(lián)一個(gè)上拉電阻,開(kāi)關(guān)電路置為高電平[7]。當(dāng)其中一個(gè)按鈕被按下時(shí),連接該按鈕的檢測(cè)線因?yàn)榻拥鼐妥兂傻碗娖?,而沒(méi)有被按下的按鍵所連的檢測(cè)線依然是高電平。此時(shí)只需讀取I/O 口輸入線的電平狀態(tài),如I/O 口輸入線為低電平,相對(duì)應(yīng)的按鍵就被按下。獨(dú)立式鍵盤(pán)連接方式如圖5所示。
圖6 LED燈電路
當(dāng)一個(gè)報(bào)警信號(hào)產(chǎn)生時(shí),對(duì)應(yīng)的一個(gè)LED燈亮起,系統(tǒng)中的LED燈也就是綠色發(fā)光二極管,LED燈電路如圖6所示。
在Proteus中,喇叭電路有三種,該系統(tǒng)中選用數(shù)字蜂鳴器SOUNDER。將SOUNDER直接與單片機(jī)相連[8],利用編程將聲音數(shù)據(jù)存入數(shù)組,使單片機(jī)發(fā)出頻率各異的方波從而驅(qū)動(dòng)其發(fā)出不同音頻的聲音[9]。
鑒于C語(yǔ)言可讀性好,代碼便于維護(hù)和開(kāi)發(fā),該系統(tǒng)中選擇使用C語(yǔ)言編程[10],開(kāi)發(fā)平臺(tái)是Keil uVision4。
51系列單片機(jī)通常有40個(gè)引腳,而在單片機(jī)的開(kāi)發(fā)和使用中只會(huì)用到部分的引腳,所以要適當(dāng)分配I/O口,引腳分配如表1所示。
表1 I/O口分配表
喇叭共有6種不同音色,而聲音頻率不同,音色就不同,因此只要計(jì)算出聲音頻率即可。該系統(tǒng)中采用的是AT89S52 的內(nèi)部定時(shí)器/計(jì)數(shù)器,此計(jì)數(shù)器的模式為工作方式0。也就是通過(guò)改變TL0和TH0 的計(jì)數(shù)值就能夠發(fā)出一系列不同的頻率,同時(shí)發(fā)出不同音調(diào)的音樂(lè)。
2.4.1程序總體設(shè)計(jì)
圖7 程序總體算法流程圖
圖7為該系統(tǒng)的總體算法流程圖。當(dāng)有任何一種險(xiǎn)情出現(xiàn)時(shí),按下按鈕,對(duì)應(yīng)的警報(bào)鈴聲響起,對(duì)應(yīng)的LED燈亮[11]。
2.4.2主程序設(shè)計(jì)
圖8所示為主程序流程圖?;谀K化的思想,主程序只完成定時(shí)器的初始化,以及發(fā)光二極管的初始化。鍵盤(pán)識(shí)別和刷新是通過(guò)中斷函數(shù)來(lái)完成的[12]。
圖8 主程序算法流程圖
圖9 鍵盤(pán)程序設(shè)計(jì)流程圖
2.4.3鍵盤(pán)掃描程序
鍵盤(pán)掃描算法流程如圖9所示,采用兩種數(shù)值分別表示按鈕被按下和放開(kāi)兩種狀態(tài)。當(dāng)一個(gè)鍵被按下時(shí),會(huì)有一個(gè)對(duì)應(yīng)的數(shù)值產(chǎn)生;當(dāng)一個(gè)按鍵被松開(kāi)時(shí),也會(huì)產(chǎn)生對(duì)應(yīng)數(shù)值。把這些數(shù)值存在表里,通過(guò)查表就能清楚是哪個(gè)按鍵被按下,另外還可以識(shí)別出其是被按下或是被松開(kāi)[13]。
2.4.4定時(shí)器初始化程序
對(duì)51系列單片機(jī)定時(shí)器最重要的操作就是對(duì)TMOD寄存器的初始化[14],程序流程如圖10所示。
2.4.5鍵盤(pán)選曲報(bào)警函數(shù)設(shè)計(jì)
該程序要實(shí)現(xiàn)按下不同按鍵就播放不同音樂(lè),所以選曲函數(shù)是一定要具備的。在報(bào)警選曲函數(shù)中,需同時(shí)實(shí)現(xiàn)兩個(gè)功能:一是鍵盤(pán)掃描程序返回值不同就選取不同的報(bào)警音樂(lè);二是當(dāng)鍵盤(pán)掃描程序有返回值時(shí),LED燈光打開(kāi)。鍵盤(pán)程序設(shè)計(jì)框圖如圖11所示。
圖10 定時(shí)器程序流程圖圖11 鍵盤(pán)選曲報(bào)警函數(shù)算法
成品設(shè)計(jì)效果圖及聲音波形仿真圖如圖12~圖16所示。
圖12 系統(tǒng)整體效果圖圖13 系統(tǒng)印制電路板俯視圖圖14 按下鍵1時(shí)的波形圖15 按下鍵3時(shí)的波形
圖16 按下鍵5時(shí)的波形
基于單片機(jī)系統(tǒng),采用數(shù)字電子技術(shù),研制出一種成本低、功能強(qiáng)的聲光報(bào)警器,簡(jiǎn)單實(shí)用,市場(chǎng)推廣性強(qiáng)。隨著制造技術(shù)、數(shù)字電子技術(shù)和計(jì)算機(jī)技術(shù)的日趨成熟,報(bào)警器的研制定將越來(lái)越智能化[15]。