【正文】
參考文獻(xiàn)[1][D].西安:西安理工大學(xué)碩士學(xué)位論文,2009.[2]孫健. 基于ARM7的電氣火災(zāi)自動報警控制器研制[D].杭州:浙江大學(xué)碩士學(xué)位論文,2007.[3]雍靜,李北海,[M].北京:科學(xué)出版社,2008.[4]王忠民, 郝靜, [J].西安郵電學(xué)院學(xué)報,2012,22:3437.[5],A .Coping. A simulation model for studying the implementation of performancebased fire safety design in buildings [J].Automations in Construction,1998,17(7):852~ 863.[6] ,. Intelligent building research:a review [J].Automation in Construction,2005,14 (l):143~159.[7]張向亮. 智能建筑火災(zāi)自動報警系統(tǒng)的設(shè)計與研究[D].武漢:武漢理工大學(xué)碩士學(xué)位論文,2010.[8]Vaughn Bradshaw. The Building Environment: Active and Passive Control systems[M].John Wiley amp。 main流程圖第四章 調(diào)試過程與總結(jié)本系統(tǒng)沒有進(jìn)行軟件仿真,直接連接實物進(jìn)行調(diào)試,在完成硬件的焊接后,使用電表對電路關(guān)鍵點進(jìn)行測量,沒有發(fā)現(xiàn)問題。 main函數(shù)的設(shè)計main函數(shù)開始首先進(jìn)行初始化設(shè)置,包括AD、顯示屏和AD的初始化,同時給標(biāo)記變量賦初值。背光時長的設(shè)置,用到了定時器,當(dāng)設(shè)置為常亮或長滅是定時器關(guān)閉,三極管Q1基極直接給高或者給低,當(dāng)設(shè)置為亮十秒是,定時器開始工作,沒1ms進(jìn)定時器中斷一次,當(dāng)進(jìn)入10000次時,關(guān)閉定時器,滅燈,當(dāng)有按鍵操作時,開啟定時器,清零中斷次數(shù),以此實現(xiàn)功能。另一個參數(shù)為當(dāng)前頁面狀態(tài),這兩個參數(shù)可以使菜單函數(shù)知道當(dāng)前頁面是那一頁,需要執(zhí)行什么操作,程序段使用if語句分支結(jié)構(gòu)實現(xiàn)。本系統(tǒng)菜單的設(shè)計使用一個返回值為無符號字符型,帶有兩個無符號字符型形參的函數(shù)完成功能,返回值返回當(dāng)前頁面的狀態(tài),第一頁返回1,第二頁返回2,以此類推。 12864串行通訊時序圖 菜單程序的設(shè)計看到過很過火災(zāi)報警器,但是這些產(chǎn)品有可操控性差,幾乎不可設(shè)置,本產(chǎn)品加入了菜單的設(shè)計,雖然在成本上會有所增加,但是并不是很大。來指令的發(fā)送。和Sendbyte((cmdcode 4) amp。因此Sendbyte()I2C總線協(xié)議的方式編寫,而write_(uchar i),write_data(uchar i),hzkdis(uchar code *i)這三個函數(shù),需要使用Sendbyte(cmdcode amp。 AD濾波程序流程圖 顯示底層驅(qū)動程序的編寫12864顯示屏的串口通訊的通訊協(xié)議與I2C總線協(xié)議十分相似,由于本系統(tǒng)中無須進(jìn)行讀數(shù)據(jù)的操作,所以實際上底層驅(qū)動函數(shù),只有一個發(fā)送字節(jié)的函數(shù),Sendbyte(),通過該函數(shù)可以構(gòu)建出,write_(uchar i),write_data(uchar i),hzkdis(uchar code *i)寫指令函數(shù)/寫數(shù)據(jù)函數(shù)和顯示字符串函數(shù)。這個函數(shù)可能在一些人看來是有問題的,因為假設(shè)按鍵A被按下,返回了1,然而在出if(KEYA==1)這個語句時KEYA的值很多情況下是回到0了的(因為while(KEYA);的存在)這樣在遇到最后一個語句后又會進(jìn)入,這樣返回值就成了0,但事實上,在C語言程序在執(zhí)行時,函數(shù)中有多個分支結(jié)構(gòu)中都有return語句時,會在執(zhí)行完一次return語句后跳出函數(shù)。(KEYD==0)) return 0。(KEYC==0)amp。(KEYB==0)amp。}}if((KEYA==0)amp。if(KEYD==1){while(KEYD)。return 3。}}if(KEYC==1){delay(10)。if(KEYB==1){while(KEYB)。return 1。源程序如下:18uchar COL(void){ if(KEYA==1){delay(10)。但是由于本系統(tǒng)實時上不需要測出這種瞬時量,所以這種算法是很適合本系統(tǒng)的,另外,由于用到了去極值,所以可以很好地起到抑制檢測系統(tǒng)毛刺的作用。同時可以通過調(diào)整數(shù)組長度來調(diào)整系統(tǒng)的靈敏度。Y=ADC_RES4+ADC_RESL () 濾波程序的設(shè)計為了增強系統(tǒng)的穩(wěn)定性,本系統(tǒng)使用了軟件濾波,所使用的算法是滑動去極值平均濾波法,思路如下:先使用一維數(shù)組記錄前六次AD轉(zhuǎn)換的結(jié)果,每次使用新數(shù)據(jù)替換掉第一個數(shù)據(jù),找到本組數(shù)據(jù)中的最大