版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
火災(zāi)自動報警與消防控制系統(tǒng)設(shè)計AutomaticFireAlarmandFireControlSystems學(xué)生姓名:學(xué)生學(xué)號:專業(yè)名稱:電氣工程及其自動化指導(dǎo)教師:控制與機械工程學(xué)院2014年6月6日
獨創(chuàng)性聲明本人聲明所呈交的畢業(yè)設(shè)計(論文)是本人在指導(dǎo)教師指導(dǎo)下進行的研究工作和取得的研究成果,除了文中特別加以引用標(biāo)注之處外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,沒有偽造數(shù)據(jù)的行為。畢業(yè)設(shè)計(論文)作者簽名:簽字日期:年月日畢業(yè)設(shè)計(論文)版權(quán)使用授權(quán)書本畢業(yè)設(shè)計(論文)作者完全了解學(xué)校有關(guān)保留、使用論文的規(guī)定。同意學(xué)校保留并向有關(guān)管理部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)天津城建大學(xué)可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)進行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本論文。(保密的畢業(yè)設(shè)計(論文)在解密后適用本授權(quán)說明)畢業(yè)設(shè)計(論文)作者簽名:指導(dǎo)教師簽名:簽字日期:年月日簽字日期:年月日摘要智能家居系統(tǒng),目前已在國內(nèi)外悄然興起,隨之給人們帶來的生活方式也在不斷的改變,一切家居電氣化設(shè)備都由機械化變的智能化,所謂的智能家居就是利用現(xiàn)代傳感與檢測技術(shù),網(wǎng)絡(luò)通信技術(shù),無線通信技術(shù),綜合布線技術(shù),并結(jié)合人體生理學(xué)原理,和人類個性需求,將家居中的各個電氣設(shè)備智能的結(jié)合在一起,實現(xiàn)個性化的控制和自動控制,比如智能安防系統(tǒng),由燈光和人體檢測技術(shù)實現(xiàn)的自動化場景設(shè)定,火災(zāi)自動報警與消防聯(lián)動系統(tǒng),通過互聯(lián)網(wǎng)和無線通信實現(xiàn)的遠程監(jiān)控系統(tǒng),自動門,自動窗簾,根據(jù)檢測室內(nèi)環(huán)境進行自動的溫濕度調(diào)節(jié),燃氣電磁閥連鎖控制,等等將這一切通過物聯(lián)網(wǎng)上位機集中監(jiān)控和管理,實現(xiàn)以人為本的控制理念。本次畢業(yè)設(shè)計,主要研究家庭火災(zāi)自動報警和安防報警。由HT66FU50單片機作為主控芯片的火災(zāi)自動檢測和遠程報警,并實現(xiàn)與消防設(shè)施的聯(lián)動控制,本次設(shè)計以自控系統(tǒng)為主,由控制器和硬件電路組成,具體消防設(shè)施、消防系統(tǒng)設(shè)計、以及消防給排水不在本次設(shè)計范圍之內(nèi)。關(guān)鍵詞:智能家居、火災(zāi)報警、安防報警、無線通信、單片機AbstractSmarthomesystemhasbeenquietlyrisingathomeandabroad,tobringalonglifestylesareconstantlychanging,allhouseholdelectrificationbymechanizedequipmentbecomesintelligent,theso-calledsmarthomeistheuseofmodernsensinganddetectiontechnology,networkcommunicationtechnology,wirelesscommunicationtechnology,integratedwiringtechnology,combinedwiththeprinciplesofhumanphysiology,andhumanindividualneeds,thehomeofthevariouselectricaldevicescombinedwithintelligent,personalizedcontrolandautomaticcontrol,suchassmartsecuritysystemconsistingoflightandhumandetectiontechnologytoachieveautomationscenesetting,automaticfirealarmandfirelinkagesystem,remotemonitoringviatheInternetandwirelesscommunicationsystemstoachieve,automaticdoors,automaticcurtains,accordingtotheindoorenvironmentfortheautomaticdetectionoftemperatureandhumidityregulation,gassolenoidvalvechaincontrol,soallthesethingsPCviacentralizedmonitoringandmanagement,people-orientedcontrolconcept.Thegraduationproject,themainresearchfamilyautomaticfirealarmandsecurityalarm.HT66FU50microcontrollerasthemasterchipautomaticfiredetectionandremotealarmandlinkagecontrolandfire-fightingfacilitiestoachieve,andthisdesignautomationsystemdominatedbythecontrollerandthehardwarecircuit,specificfire-fightingfacilities,fireprotectionsystemdesign,aswellasFiredrainageisnotwithinthescopeofthisdesign.Keywords:smarthome,firealarm,securityalarm,wirelesscommunications,MCUTOC\o"1-3"\u目錄第一章緒論 第一章緒論1.1課題研究的背景自從人類進入電氣時代以來,家用電氣也見證者著科學(xué)的進步和人類的發(fā)展,由最開始的普通電燈泡發(fā)展到現(xiàn)在的LED節(jié)能照明,以及智能場景設(shè)定等等,智能家居已成為人們對物質(zhì)追求和精神追求的目標(biāo),坐在辦公室能對家里的情況了如指掌,通過電腦客戶端或者手機APP實時觀看家里的視頻監(jiān)控錄像,當(dāng)需要對家里的電氣設(shè)備進行遠程控制的時候只需要在手機界面上進行操作就可以實現(xiàn),當(dāng)家里沒人時系統(tǒng)會自動開啟攝像機進行錄像并存盤,出門忘記關(guān)燈或鎖門時只需要一條短信就可以搞定一切,空調(diào)系統(tǒng)隨著環(huán)境溫濕度的變化自動調(diào)節(jié)使環(huán)境達到最舒適的狀態(tài),這一切智能化控制在當(dāng)今社會已經(jīng)不是難題。在不久的將來,每個家庭都會擁有一套這樣的智能化家居控制平臺,到時會給我們的生活工作帶來極大的方便。本課題來源于智能家居中的消防與安防系統(tǒng),消防與安防是智能家居的重要組成部分,消防部分承擔(dān)著火災(zāi)發(fā)生時自動報警并開啟消防噴頭、語音報警、疏散引導(dǎo)等功能,安防部分承擔(dān)著家庭防盜、室內(nèi)外環(huán)境危害檢測及報警等功能。1.2開發(fā)的目的和意義開發(fā)目的:能夠及時監(jiān)測到環(huán)境中有無火災(zāi),火災(zāi)一旦發(fā)生將實現(xiàn)聲光報警,并自動打電話給戶主提示家中有火災(zāi)隱患,同時開啟消防電磁閥、打開消防水龍頭、關(guān)閉燃氣入戶電磁閥等采取一系列有效措施,從而控制火情的發(fā)展,從而達到保護人民生命和財產(chǎn)安全的目的,大大的減少社會的損失。安防部分為當(dāng)有人從窗戶進入時發(fā)短信給戶主并自動報警,室內(nèi)有害氣體超標(biāo)檢測及燃氣泄露報警。意義:隨著電氣設(shè)備越來越多,線纜越來越多,綜合布線越來越復(fù)雜和越來越密集,發(fā)生短路或過載的可能性也隨之增大,由此引起火災(zāi)的可能性也越來越大,在我們的家庭設(shè)施中到處存在著火災(zāi)隱患。很多火災(zāi)事故的發(fā)生都是由電氣設(shè)備的故障所產(chǎn)生的,比如說短路引起的起火或負(fù)荷過載引起的線路溫度過高,熱量的積累達到一定程度會引發(fā)著火。事故發(fā)生時的及時通知,引導(dǎo)疏散,對災(zāi)害的有效控制等會大大的減少給人們帶來的人生安全和經(jīng)濟損失。1.3設(shè)計內(nèi)容及預(yù)期效果設(shè)計內(nèi)容:通過HT66FU50單片機為核心,可以實現(xiàn)火災(zāi)現(xiàn)場聲光報警、電話報警,安防報警等功能。對該檢測系統(tǒng)與報警系統(tǒng)進行整體功能分析,分模塊來實現(xiàn)其各個部分的功能,對其所選擇的主要芯片作簡單介紹,動手制作產(chǎn)品,包括硬件電路的設(shè)計,PCB的制作,手工焊接與調(diào)試,軟件程序的編寫,硬件與軟件的聯(lián)合調(diào)試。預(yù)期效果:煙感器能夠24小時監(jiān)測環(huán)境中有無煙霧氣體,一旦監(jiān)測到煙霧將發(fā)出聲光報警,并自動打電話給主人提示家中有火災(zāi)隱患,同時打開消防設(shè)施,當(dāng)有人從窗戶進入時發(fā)短信給戶主并自動報警,室內(nèi)有害氣體超標(biāo)檢測及燃氣泄露報警。1.4國內(nèi)外研究現(xiàn)狀近年來,無線通信技術(shù)在科學(xué)界得到大力發(fā)展,采用無線通信方式的報警系統(tǒng)在智能家居中廣泛興起。利用無線通信的方式替代傳統(tǒng)的有線傳輸,也產(chǎn)生了許多無線通信模塊比如,Zigebee節(jié)點,wifi技術(shù),藍牙技術(shù),紅外光通信[12],等等。隨著這些技術(shù)的興起,智能家居也逐漸邁向無線時代。無線通信的優(yōu)點是通信速率快,衰減小,帶寬高,傳輸方便,無需接線和硬件連接即可實現(xiàn)數(shù)據(jù)的傳輸[6],給人們帶來了極大的便利。在我國,基于無線遠程通信方式和物聯(lián)網(wǎng)的火災(zāi)報警系統(tǒng)受到專家們的重視和廣大學(xué)子的深入研究。由于其具有安裝十分方便、操作及其簡單、對建筑物基本無損壞、易于擴展和二次開發(fā)等優(yōu)點,適用于很多場合[10]。第二章火災(zāi)報警系統(tǒng)整體方案設(shè)計第二章火災(zāi)報警系統(tǒng)整體方案設(shè)計2.1系統(tǒng)總體方案設(shè)計本火災(zāi)報警系統(tǒng)由兩部分組成,第一部分為煙霧檢測報警,第二部分為可燃氣體泄漏檢測報警,煙霧檢測報警由煙霧傳感器、放大電路、濾波電路、HT66FU50單片機、GSM電話報警、現(xiàn)場聲光報警器、等部分組成。可燃氣體檢測由可燃氣體檢測傳感器、AD轉(zhuǎn)換、GSM短信發(fā)送模塊、排煙風(fēng)機等部分組成。12轉(zhuǎn)5V電源模塊12轉(zhuǎn)5V電源模塊HT66FU50單片機GSM模塊煙霧傳感器HT66FU50單片機GSM模塊煙霧傳感器可燃氣體檢測器可燃氣體檢測器液晶顯示模塊液晶顯示模塊手動報警按鈕排煙風(fēng)機手動報警按鈕排煙風(fēng)機紅外傳感器消防電磁閥紅外傳感器消防電磁閥步進電機步進電機圖2—1系統(tǒng)框圖2.2主要器件的選擇2.2.1單片機的選型單片機是整個報警系統(tǒng)的核心組成部分,因本系統(tǒng)需要串口功能、AD轉(zhuǎn)換等功能綜合比較目前市場所流行的單片機,最后我選了合泰半導(dǎo)體公司的HT66FU50單片機做為主控芯片。該芯片是一款8位高性能精簡指令集的Flash單片機。其Flash存儲器可以多次擦寫,還包含了一個RAM數(shù)據(jù)存儲器和一個可用于存儲序號、校準(zhǔn)數(shù)據(jù)等非易失性數(shù)據(jù)的EEPROM存儲器[17]。HT66FU50系列單片機內(nèi)含UART模塊,它可以支持諸如單片機之間的數(shù)據(jù)通信或數(shù)據(jù)傳輸,低成本PC和外部數(shù)據(jù)之間的鏈接,和人機界面之間數(shù)據(jù)傳輸?shù)鹊?,[17]。對合泰單片機與51單片機我做了如下比較表2—1單片機功能比較表型號VDDROMRAMEEPROMI/OA/D接口(SPI/IIC)UART51單片機3.8~5.54K128B32√HT66FU502.2~5.58K384B256x83412-bit×8√√2.2.2火災(zāi)檢測傳感器的選擇常用的火災(zāi)探測器有以下幾種:(1)溫感型火災(zāi)探測器火災(zāi)發(fā)生時物質(zhì)燃燒會產(chǎn)生大量的熱量,當(dāng)環(huán)境溫度升高時,熱敏電阻的阻值會隨之發(fā)生變化,電阻阻值的變化使輸出電壓發(fā)生變化,這樣就把溫度的變化轉(zhuǎn)換為電壓信號的變化,溫度和輸出電壓之間形成一一對應(yīng)的線性關(guān)系[16]。(2)感煙型火災(zāi)報警系統(tǒng)光電感煙的原理是利用紅外對射的檢測方法,當(dāng)有高濃度煙霧進入感煙室時會吸收紅外線,使接收端無法接受到紅外光源,從而使輸出電平發(fā)生跳變產(chǎn)生報警信號。離子感煙探測器通過改變感煙室里面自由電子的濃度來判斷火災(zāi)情況的[16]。(3)感光型火災(zāi)報警系統(tǒng)物質(zhì)的燃燒除了會產(chǎn)生大量的煙霧和熱量之外,同時會發(fā)出刺眼的亮光。感光型火災(zāi)探測器就是通過響應(yīng)火災(zāi)發(fā)生時產(chǎn)生的光照強度特性,即火焰的光照強度和閃爍頻率,來觸發(fā)報警系統(tǒng)報警的裝置[16]。由于考慮到經(jīng)濟以及使用環(huán)境等因素,在本次設(shè)計中我選用了感煙型探測器,通過檢測煙霧的濃度來實現(xiàn)火災(zāi)是否發(fā)生的判斷。2.2.3報警裝置的選擇報警裝置分為現(xiàn)場聲光報警和遠程手機報警,現(xiàn)場聲光報警采用報警燈和廣播喇叭,如果現(xiàn)場為防爆區(qū),則需使用防爆燈或防爆型廣播喇叭,家庭中一般使用普通的即可,由于條件限制,我在本次畢業(yè)設(shè)計中緊使用不同顏色的LED燈作為指示燈光,其原理與報警燈一樣,而且LED燈用單片機做控制相對方便,廣播選用小型蜂鳴器做代替,雖然達不到真實的語言報警效果,但同樣會發(fā)出滴滴的報警聲,可通過單片機編程實現(xiàn)不同頻率的聲音效果。手機報警采用了西門子公司的GSM模塊,在此模塊中插入移動手機卡,可進行發(fā)短信、打電話和移動網(wǎng)絡(luò)接入等功能,用任何一個單片機可對其實施控制完成所需功能。其使用方便,操作簡單已在各種遠程控制領(lǐng)域廣泛使用,包括遠程監(jiān)控,遠程抄表等領(lǐng)域[11]。2.2.4可燃氣體檢測傳感器的選擇目前流行于市場的可燃氣體檢測傳感器大約有如下幾種類型:
1、半導(dǎo)體式氣體檢測傳感器
它是利用一些半導(dǎo)體金屬氧化物材料,在一定溫度下,電導(dǎo)率隨著環(huán)境氣體成份的變化而變化的原理制造的。就是利用二氧化錫在高溫情況下遇到甲烷、乙烷等可燃氣體時,電阻會急劇減小的原理制備的[4]。
2、催化燃燒式氣體傳感器
這種傳感器是在白金電阻的表面涂一層耐高溫的催化劑層,在一定的溫度下,可燃性氣體在其表面催化燃燒,燃燒白金電阻溫度升高,電阻變化,變化值是可燃性氣體濃度的函數(shù)[16]。
凡是可以燃燒的,都能夠檢測;凡是不能燃燒的,傳感器都沒有任何響應(yīng)[11]。2.3系統(tǒng)總體功能概述當(dāng)煙感器檢測到煙霧時發(fā)出電平跳變信號,通過信號放大電路,濾波電路輸入單片機I/O口,當(dāng)檢測到信號后產(chǎn)生中斷,進入中斷服務(wù)子程序,將執(zhí)行報警命令和撥打電話命令程序同時產(chǎn)生現(xiàn)場聲光報警;當(dāng)紅外傳感器檢測到有人從窗戶進入時輸出高電平,傳輸?shù)絾纹瑱CI/O口,單片機產(chǎn)生相應(yīng)的響應(yīng),現(xiàn)場報警的同時給遠程手機發(fā)送短信提示;使用有毒氣體檢測傳感器,可以檢測到室內(nèi)有害氣體如甲醛、一氧化碳、甲烷等的含量,并做出上限報警,自動打開窗戶和排煙風(fēng)機,利用單片機和TC35模塊進行遠程通知。第三章火災(zāi)自動報警系統(tǒng)硬件設(shè)計第三章火災(zāi)自動報警系統(tǒng)硬件設(shè)計3.1單片機硬件電路的設(shè)計3.1.1HT66FU50單片機概述HT66FU50單片機具有多通道12位分辨精度的A/D轉(zhuǎn)換器,全雙工異步串行口,PWM及單脈沖輸出,定時器[17],外部中斷等重要功能詳細特性如下(引自合泰單片機HT66F系列數(shù)據(jù)手冊):1.CPU特性?工作電壓:fSYS=8MHz:2.2V~5.5VfSYS=12MHz:2.7V~5.5VfSYS=20MHz:4.5V~5.5V?VDD=5V,系統(tǒng)時鐘為20MHz時,指令周期為0.2μs?五種振蕩模式:外部晶振--HXT外部RC--ERC內(nèi)部RC--HIRC無需外接元件?查表指令?63條指令?多達12層堆棧?位操作指令2.周邊特性?Flash程序存儲?RAM數(shù)據(jù)存儲:?EEPROM存儲器:?看門狗定時器功能?多達50個雙向I/O口?4個軟件控制SCOM口1/2biasLCD驅(qū)動?雙比較器功能?低電壓復(fù)位功能?低電壓檢測功能?多種封裝類型3.HTUUFU50單片機內(nèi)部結(jié)構(gòu)如下圖3—1單片機內(nèi)部結(jié)構(gòu)圖4.單片機的封裝及引腳功能圖3—2單片機封裝圖圖3—3單片引腳功能圖1圖3—4單片引腳功能圖23.1.2HT66FU50單片機外部時鐘電路晶振作為單片機的心臟,在單片機工作中起著相當(dāng)重要的作用,將晶體跨接至OSC1和OSC2,為保證某些低頻率的晶體振蕩和陶瓷諧振器的振蕩頻率更精準(zhǔn),連接兩個小容量電容C9和C10到放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路,本設(shè)計中使用石英晶體,電容的容值設(shè)定為22uF[17]如圖3-3所示。3.1.3HT66FU50單片機復(fù)位部分電路復(fù)位功能是任何一個單片機不可缺少的基本組成部分。復(fù)位是在單片機上電以后,經(jīng)過短暫的延遲,內(nèi)部硬件電路使得單片機處于預(yù)期的穩(wěn)定狀態(tài)并開始執(zhí)行第一條程序指令。本設(shè)計采用的是手動按鈕復(fù)位。由于復(fù)位引腳與PB.0共用,復(fù)位功能必須使用配置選項選擇。我們使用了增強型的復(fù)位電路[17],如圖3-3所示。圖3—3晶振電路與復(fù)位電路3.2前端信號采集電路設(shè)計3.2.1可燃氣體檢測傳感器信號采集電路由于傳感器發(fā)出的模擬信號比較微弱,因此需要將信號進行放大處理,并濾除雜波的干擾,將最后得到的信號輸入單片機的AD轉(zhuǎn)換接口,下圖為信號放大和濾波電路。圖3-4可燃氣體信號采集電路3.2.2煙霧傳感器信號采集電路我們采用的煙霧傳感器為一體式煙霧傳感器,輸出為5V電壓信號,所以無需放大處理,只需做個簡單的濾波,將干擾信號濾除即可給單片機的輸入口,有煙或無煙將產(chǎn)生高低兩種電平。圖3-5煙霧傳感器信號采集電路3.3GSM短信模塊與單片機接口電路設(shè)計3.3.1GSM短信模塊工作原理模塊要求12V/500mA供電,與計算機或單片機通過串口通信,波特率9600bps,通過SIM卡座來安裝SIM卡。GSM模塊主要有已下幾大功能短信收發(fā)語音通話功能無線網(wǎng)絡(luò)功能通過給GSM發(fā)送AT指令來實現(xiàn)所有的功能,例如用單片機給其發(fā)送AT將會返回OK,代表單片機可以和GSM模塊進行下一步的通信,發(fā)送AT+CMGF=1,返回OK時將短信發(fā)送模式設(shè)置為英文模式,發(fā)送AT+CMGS=”+8615822857040”\r將會手機發(fā)送短信。常見指令表如下:AT+CSMS選擇消息業(yè)務(wù)AT+CPMS選擇短消息存儲區(qū)AT+CMGF選擇消息格式AT+CNMI新消息提示AT+CMGR讀取短消息AT+CMGL列舉短消息AT+CMGS發(fā)送短消息AT+CMGW向內(nèi)存寫入消息AT+CMGD刪除短消息AT+CSCA設(shè)置短消息中心地址AT+CSCB選擇廣播消息類型3.3.2TTL轉(zhuǎn)RS232電路GSM模塊含有一個標(biāo)準(zhǔn)的RS232接口,與單片機進行通信,RS232的低電平范圍為3V~15V高電平的范圍為-3V~-15V,而TTL輸出低電平小于0.8V高電平大于2.4V,二者電平并不匹配,因此需要做TTL轉(zhuǎn)232,采用MAX232電平轉(zhuǎn)換芯片[4],電路如圖3-6所示。圖3-6TTL和232轉(zhuǎn)換電路GSM模塊與單片機連接方式如圖3-7所示,此時GSM模塊開發(fā)板的九針串口235與MCU開發(fā)板九針串口的325連接:圖3-7GSM與單片機串口連接圖3.4聲光報警及手動報警部分硬件設(shè)計3.4.1現(xiàn)場聲光報警器的選擇及與單片機的接口電路聲光報警器主要起火災(zāi)發(fā)生或者可燃氣體泄露時的提示和現(xiàn)場報警作用,根據(jù)不同情況(火災(zāi),可燃氣體泄露,故障)可發(fā)出不同的聲光信號。由于蜂鳴器的工作電流比較大而單片機I/O口的拉電流相對較小,直接驅(qū)動將會對單片機的I/O造成損害,所以采用三極管作為開關(guān),間接驅(qū)動方式。蜂鳴器報警電路由單片機的PD6口控制,當(dāng)PD6口輸出高電平時三極管截止,蜂鳴器不導(dǎo)通,當(dāng)PD6口輸出低電平時三極管飽和導(dǎo)通,蜂鳴器發(fā)出警報聲音,電路如圖3-8所示:圖中R7為上拉電阻,使三極管的基極在正常情況下為高電平。圖3—8蜂鳴器驅(qū)動電路3.4.2狀態(tài)指示燈及控制鍵電路設(shè)置4個狀態(tài)指示燈和四個控制按鍵,四個指示燈D1~D4可選四種不同顏色(紅,黃,綠,藍),綠色表示正常運行,黃色表示故障狀態(tài)或斷電狀態(tài)(可由太陽能電池應(yīng)急),紅色閃爍為火災(zāi)報警,藍色閃爍為可燃氣體泄露,風(fēng)別由單片機的PA0~PA3口控制,四個按鍵S1~S4,分別控制風(fēng)機的開啟關(guān)斷、窗戶的打開關(guān)閉和手動報警,風(fēng)別由單片機的PA4~PA7口控制。圖3—9按鍵和指示燈連接電路3.5液晶顯示硬件電路設(shè)計液晶顯示器選用1602,1602顯示器可顯示兩行16個字符的英文字母,主要為開發(fā)方便所考慮,其主要功能為監(jiān)測程序運行狀態(tài),短信模塊收發(fā)是否正常,和火災(zāi)或可燃氣體泄露狀態(tài)的顯示。1602與單片機的連接如圖3-10所示:圖3—101602連接電路圖3.6排煙風(fēng)機與窗磁的驅(qū)動電路設(shè)計排煙風(fēng)機用兩個直流電機所代替,窗戶連桿的帶動考慮到需精確控制,選用步進電機作為動力源。3.6.1排煙風(fēng)機及直流電機驅(qū)動直流電機的驅(qū)動采用PWM控制技術(shù),通過調(diào)節(jié)占空比來調(diào)節(jié)直流電機的轉(zhuǎn)速,驅(qū)動芯片選用L298N。此芯片可以驅(qū)動兩個小功率的直流電機。驅(qū)動電路如圖所示,APWM和BPWM分別接單片機的PWM輸出口。OUT1~OUT4接兩臺直流電機[14]。圖3—11直流電機驅(qū)動電路3.6.2窗戶步進電機驅(qū)動電路步進電機的驅(qū)動同樣選用L298N作為驅(qū)動芯片,IN1~IN4為信號輸入,OUT1~OUT4接步進電機的四個控制端,IN1~IN4由單片機給指定的時序脈沖即可實現(xiàn)正反轉(zhuǎn)控制[2]。圖3—12步進電機驅(qū)動電路3.7AD轉(zhuǎn)換技術(shù)說明HT66FU50單片機自帶一個多通道的A/D轉(zhuǎn)換器,可以直接接入外部模擬信號并直接將這些模擬信號轉(zhuǎn)換成12位的數(shù)字量,所以無需外加AD轉(zhuǎn)換芯片和AD轉(zhuǎn)換電路,只需做軟件編程即可實現(xiàn)模擬量的處理。AD轉(zhuǎn)換內(nèi)部結(jié)構(gòu)和相關(guān)的AD寄存器祥見圖3-13。圖3—13AD轉(zhuǎn)換結(jié)構(gòu)圖第四章軟件部分設(shè)計第四章軟件部分設(shè)計為了方便程序的編寫和調(diào)試以及系統(tǒng)的維護,采用了模塊畫的程序設(shè)計,即每個模塊含有一個子程序,在主程序里面調(diào)用各子程序,例如:1602顯示子程序,需要1602顯示時調(diào)用改子程序的顯示子函數(shù),由其他服務(wù)子函數(shù)提供1602的讀寫狀態(tài)和顯示位置等。本系統(tǒng)共有串口驅(qū)動子程序,1602顯示子程序,鍵盤檢測子程序,AD轉(zhuǎn)換子程序,PWM脈沖發(fā)生子程序,步進電機驅(qū)動子程序,等6大服務(wù)子程序組成。4.1主程序流程圖圖4—1主程序流程圖4.2液晶顯示器1602軟件部分設(shè)計4.2.11602顯示器編程原理1602LCM有16個引腳,其中包含8條數(shù)據(jù)線、3條控制線(讀寫選擇、寄存器選擇、使能信號端)和3條電源線,兩條LED背光電源,通過單片機寫入模塊的命令和數(shù)據(jù),就可對顯示地址和顯示內(nèi)容做出選擇。RS位為1時為數(shù)據(jù)寄存器,RS為0時為命令/狀態(tài)寄存器,R/W為1時為讀數(shù)據(jù)、0時為寫數(shù)據(jù)[3]。圖4—21602寫數(shù)據(jù)時序圖圖4—31602讀數(shù)據(jù)時序圖4.2.2程序流程圖圖4—41602顯示程序流程圖4.2.31602初始化程序voidlcd_1602_init(void)//初始化1602液晶{lcd1_602_wr_cmd(0x06);//輸入模式為,字符不動,光標(biāo)右移(設(shè)置輸入模式)Lcd_1602_wr_cmd(0x38);//設(shè)定兩列(功能設(shè)置)Lcd_1602_wr_cmd(0x0c);//開啟顯示屏,不顯示光標(biāo),光標(biāo)所在(顯示開/關(guān)控制) Lcd_1602_wr_cmd(0x01);//清屏的指令應(yīng)該在液晶初始化最后面一行(清顯示)}4.3步進電機工作原理及程序設(shè)計4.3.1步進電機工作原理步進電機由脈沖控制,給它發(fā)出一定的脈沖順序就可以使其轉(zhuǎn)動,改變脈沖順序,改變轉(zhuǎn)動方向,步進電機正反轉(zhuǎn)驅(qū)動時序脈沖如表4-1所示:IN1IN2IN3IN410001100010001100010001100011001表4—1步進電機脈沖時序表4.3.2步進電機驅(qū)動子程序charcount=0,i=0;unsignedcharcode1[4]={0x01,0x02,0x04,0x08};unsignedcharcode2[4]={0x03,0x06,0x0c,0x09};unsignedcharcode3[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};voidmain(){ MCU_init(); led_flashing_cnt=1000; timer0_init(); _emi=1; while(1);}voidtimer0_interrupt(void){ _emi=0; _t0af=0; if(count==10) { count=0; PA=code1[i]; if(++i>3)i=0; }_emi=1;}4.4PWM波形發(fā)生子程序的設(shè)計voidmain(void){_acerl=0;//屏蔽pa7-pa0的A/D輸入功能_cp0c=0;//屏蔽pa0、pa2、pa3三個I/O口的比較器0輸入和出功能_cp1c=0;//屏蔽pa5、pc2、pc3三個I/O口的比較器1輸入和出功能_prm2=0x02;//設(shè)置TP00PS:0TP0_0onPA0(屏蔽PA0的I/O功能) _tmpc0=0x03;//使能TP0_0(TM0,即PWM輸出功能)_tmpc1=0;//屏蔽其余的TPm_n功能_tm0c0=0x04;//選擇512個TM0時鐘周期_tm0c1=0xac;//設(shè)置CCRA初始值為80H(128)_tm0al=0x80;//簡易型TM(TM0CCRA低字節(jié)寄存器)先寫低字節(jié)_tm0ah=0x00;//簡易型TM(TM0CCRA高字節(jié)寄存器)先讀高字節(jié),再讀低字節(jié)_t0on=1;//啟動定時器0(TM0C0寄存器的bit3位)_t0ae=1;//定時器0比較器A匹配中斷控制位(MFI0寄存器bit1位)_mf0e=1;//允許多功能中斷0,多功能中斷包括TM中斷(INTC1寄存器bit1位)_emi=1;//開總中斷(INTC0寄存器bit0位)}4.5AD轉(zhuǎn)換軟件設(shè)計思路因HT66FU50單片機內(nèi)部含有AD轉(zhuǎn)換模塊,直接從AD輸入引腳輸入模擬量數(shù)據(jù)即可,通過編寫AD轉(zhuǎn)換程序即可實現(xiàn)AD轉(zhuǎn)換功能。AD轉(zhuǎn)換時序圖如下所示:圖4—5AD轉(zhuǎn)換時序圖A/D轉(zhuǎn)換步驟1.設(shè)置單片機內(nèi)部寄存器ADCR1中的ADCK2—ADCK0位,選擇所需A/D轉(zhuǎn)換的時鐘[17]。2.給ADCR0寄存器中的ADOFF位付值為0,使能A/D轉(zhuǎn)換功能[17]。3.設(shè)置ADCR1寄存器和ADCR0寄存器中的ACS4—ACS0位,即可選擇連接至內(nèi)部A/D轉(zhuǎn)換器的通道[17]。4.設(shè)置ACERH寄存器和ACERL寄存器中的ACE11—ACE0位,設(shè)置哪些引腳規(guī)劃為A/D轉(zhuǎn)換輸入引腳[17]。5.設(shè)置總中斷控制位EMI,使其置位為“1”,以及A/D轉(zhuǎn)換器中斷位ADE置位為“1”[17]。6.通過設(shè)定ADCR0寄存器中的START位從“0”到“1”再回到“0”,開始模數(shù)轉(zhuǎn)換的過程。該位需初始化為“0”[17]。7.循環(huán)查詢ADCR0寄存器中的EOCB位,檢查模數(shù)轉(zhuǎn)換過程是否完畢。當(dāng)此位成為邏輯低電平時,表示轉(zhuǎn)換過程已經(jīng)結(jié)束。轉(zhuǎn)換完成后,可讀取A/D數(shù)據(jù)寄存器ADRL和ADRH獲得轉(zhuǎn)換后的數(shù)值。另一種方法是,若中斷使能且堆棧未滿,則程序等待A/D中斷發(fā)生。AD轉(zhuǎn)換程序詳見附錄1。4.6按鍵檢測及聲光報警程序設(shè)計開始開始掃描鍵值是否有鍵按下延時10ms消抖是否有鍵按下提取鍵值調(diào)用鍵盤處理子程序結(jié)束NNYYY圖4—6按鍵檢測程序流程圖voidmain(){ MCU_init(); LED1=OFF; LED2=OFF; LED3=OFF; LED4=ON;while(1){ if(S3==0) { delay(10); if(S3==0) { LED1=ON; _PA4=ON; Delay(1000);LED1=ON; _PA4=ON;………具體程序詳見附錄。第五章系統(tǒng)集成與測試第五章系統(tǒng)集成與測試本次報警系統(tǒng)的設(shè)計硬件部分使用protelDXP2004,軟件部分設(shè)計使用合泰半導(dǎo)體公司提供的HT—IDE3000,程序燒寫軟件為HOPE3000forEIC300,以及仿真器、燒寫器均有合泰半導(dǎo)體公司免費提供。設(shè)計的步驟分為以下幾步,第一步:單片機開發(fā)板硬件原理圖的設(shè)計,參照HT66xx系列單片機數(shù)據(jù)手冊中單片機時鐘電路以及復(fù)位電路。第二步:PCB的制作,包括元件庫的導(dǎo)入,元件的封裝,布線等過程。第三步:尋找印刷電路板制造商制作電路板,然后購買元器件手工焊接,檢查電路焊接是否正確并測試。第四步:購買所需傳感器以及GSM模塊。第五步:軟件編程,程序調(diào)試,下載并測試。在程序編寫過程中,首先是對編程軟件的設(shè)置,在配置選項欄中,設(shè)置時鐘芯片的頻率為3428.571KHz,工作電壓為5V,關(guān)閉看門狗等功能。具體配置如下圖5-1所示圖5—1HT-IDE3000選項配置圖其次是創(chuàng)建工程,如圖5-2所示:圖5—2創(chuàng)建工程文件最后開始編寫程序,編程環(huán)境如圖所示,參照依據(jù)為《HT66系列單片機數(shù)據(jù)手冊》,《盛群C語言》,《1602數(shù)據(jù)手冊》,《AT指令大全》,《GSM調(diào)試筆記》以及開發(fā)板例程。圖5—3編程環(huán)境程序編寫完之后,分模塊進行調(diào)試,首先是串口的調(diào)試,使用串口調(diào)試助手實現(xiàn)單片機與PC之間的通信,如圖所示,當(dāng)MCU與PC實現(xiàn)發(fā)送和接受的通信后,連接單片機與GSM模塊,利用單片機串口給短信模塊發(fā)送AT指令即可實現(xiàn)撥打電話和發(fā)送短信的功能。圖5—4串口調(diào)試當(dāng)所有程序編寫完后,下載至單片機內(nèi),連接所有硬件,上電后,系統(tǒng)便開始正常運行,將完成所有的設(shè)計開發(fā)工作。第六章運行與分析第六章運行與分析6.1系統(tǒng)整體調(diào)試與運行本系統(tǒng)采用12V直流電源供電,單片機與其他模塊之間共地聯(lián)接,首先給系統(tǒng)上電,上電成功后,程序初始化,然后程序處于循環(huán)查詢狀態(tài),1602液晶屏上顯示TEST字樣,指示燈亮,通過制造一些煙霧或者可燃氣體來測試傳感器模塊,此時蜂鳴器會發(fā)出報警聲音,同時LED燈閃爍,窗戶自動打開,風(fēng)機緩慢啟動,液晶屏上會顯示火災(zāi)發(fā)生的相關(guān)信息,同時系統(tǒng)會通過GSM模塊打電話報警,用戶手機會收到預(yù)先設(shè)定號碼打來的電話。6.2遇到的問題及解決方案當(dāng)系統(tǒng)檢測火災(zāi)發(fā)生時,控制窗戶的步進電機開始轉(zhuǎn)動,如果窗戶處于關(guān)閉狀態(tài),則會打開窗戶,如果窗戶處于打開狀態(tài),步進電機同樣會執(zhí)行打開窗戶的命令,這是面臨的第一個問題,通過尋找老師的幫助,最后在窗戶旁安裝了一個行程開關(guān),當(dāng)窗戶打開到最大程度時會觸碰行程開關(guān),于是行程開關(guān)處于閉合狀態(tài),此時一旦再次發(fā)生報警將不會執(zhí)行步進電機正轉(zhuǎn)命令。當(dāng)按下相應(yīng)按鍵時,步進電機反轉(zhuǎn)關(guān)閉窗戶。2.有時產(chǎn)生報警信號,但并未發(fā)出電話報警,經(jīng)過我的仔細斟酌最后將此情況的產(chǎn)生總結(jié)為三種原因,第一是短信模塊的信號問題,因為短信的傳輸采用的是比較古老但很成熟的GSM網(wǎng)絡(luò),與當(dāng)今社會流行的3G、4G網(wǎng)絡(luò)相比信號要差好多,有時候會出現(xiàn)網(wǎng)絡(luò)信號傳輸慢或者無信號等問題。第二是IC卡的問題,因為在此模塊上插入的是手機卡,有時會收到短信或呼叫電話,此時模塊處于接收狀態(tài),不會處理發(fā)送命令,并且對串口會產(chǎn)生數(shù)據(jù)干擾。第三是單片機與GSM模塊的電平匹配問題,單片機與GSM的通信采用的是TTL轉(zhuǎn)232然后再由232轉(zhuǎn)TTL的形式,在電平轉(zhuǎn)換的過程中容易出現(xiàn)失誤或者數(shù)據(jù)的可靠性問題,因為串口發(fā)送的數(shù)據(jù)為幀格式,以8個數(shù)據(jù)為一個單位,逐字存貯到緩存區(qū),一旦其中的一個產(chǎn)生錯誤將會導(dǎo)致一組數(shù)據(jù)的錯誤。最后通過我的試驗,直接使用單片機串口的TTL信號與短信模塊進行通信,將取的良好的效果。此方法雖然有一定的弊端,比如一旦單片機與短信模塊的通信距離增長,信號在傳輸?shù)倪^程中產(chǎn)生衰減影響正常通信,此時必須使用RS232或者RS485。第七章結(jié)論與展望第七章結(jié)論與展望本次畢業(yè)設(shè)計經(jīng)過我的努力以及同學(xué)和老師的幫助,實現(xiàn)了預(yù)期的兩個目標(biāo),一是火災(zāi)和可燃氣體的檢測及現(xiàn)場聲光報警,二是通過電話和短信的方式實現(xiàn)遠程報警,從硬件電路的設(shè)計到實物模型的制作再到軟件編程,均已圓滿完成,通過模擬火災(zāi)現(xiàn)場的情形測試本系統(tǒng)的功能及系統(tǒng)的可靠性,均得到了滿意的結(jié)果?;馂?zāi)的發(fā)生無時無刻威脅著人類的生命和經(jīng)濟安全,我們除了消除火災(zāi)安全隱患,減少火災(zāi)發(fā)生的概率外,還得加強消防措施,有些情況是無法避免的,已經(jīng)發(fā)生火情時我們只能盡量減少火災(zāi)的危害,減少人員的傷亡,并及時通過消防設(shè)施將火災(zāi)消滅在萌芽狀態(tài),當(dāng)檢測到有火災(zāi)隱患時及時撲滅,或者檢測到有導(dǎo)致火災(zāi)發(fā)生的因素時及時通知并采取相關(guān)措施,這將會阻止火災(zāi)的發(fā)生。這一切都需要現(xiàn)代化的檢測技術(shù),專業(yè)的檢測手段才能實現(xiàn),了解社會需求,將自己所學(xué)的專業(yè)知識運用于實際生活當(dāng)中,為社會做出貢獻是我們每個當(dāng)代大學(xué)生義不容辭的責(zé)任。本次畢業(yè)設(shè)計所做的東西,結(jié)構(gòu)簡單,成本低廉,但能可靠的完成預(yù)期的目標(biāo),具有一定的實用價值,是家庭安防的必備產(chǎn)品,使用方便,操作簡單,可二次開發(fā),具有廣闊的市場空間與發(fā)展前景。通過這次畢業(yè)設(shè)計,我懂了知識的重要性,學(xué)以致用這是我們一直倡導(dǎo)的口號,但我們在大學(xué)里面學(xué)到的知識真正能夠用運于實踐的卻少之又少,在快畢業(yè)之際能夠完成這樣一個產(chǎn)品使我有很多感悟和心得體驗,更加加深了對專業(yè)知識的理解,讓我對工程設(shè)計的整體步驟有了初步的認(rèn)識,對即將步入工作打下良好的基礎(chǔ)。致謝
致謝在本次畢業(yè)設(shè)計中,我得到了指導(dǎo)老師王首彬老師和王悅老師的悉心指導(dǎo),王老師在論文的設(shè)計過程中提出了許多寶貴的合理建議,并幫助完成硬件電路的設(shè)計和PCB的制作,還不斷向我傳授分析問題和解決問題的辦法,對遇到的所有問題一一解決,并鼓勵我不怕出錯,出錯才有進步,找到錯誤并解決錯誤才是我們最大的收獲。在這里非常感謝王老師的指導(dǎo)和幫助,并致以誠摯的謝意!在硬件電路的制作過程中得到了韓寶坤、趙元祿等同學(xué)的大力幫助,軟件編程方面也受到了金林烽同學(xué)的悉心指導(dǎo),在他們的幫助下我順利的完成了本次畢業(yè)設(shè)計,并完成了硬件實物的制作,取得的效果令人滿意,再次感謝以上同學(xué)的大力幫助。大學(xué)的生活豐富而又多彩,大學(xué)的時光短暫而又美好,大學(xué)的學(xué)習(xí)艱苦而倍感快樂,大學(xué)四年的時光轉(zhuǎn)瞬即逝,給我們留下了美好的回憶,在這里我學(xué)到了專業(yè)知識,學(xué)會了與人交流,結(jié)實了許多好朋友和老師們,感謝我的母校天津城建大學(xué),給我提供學(xué)習(xí)和生活的空間,真心希望它的明天會更加美好!參考文獻參考文獻[1]王釗.智能型火災(zāi)報警系統(tǒng)的設(shè)計與研究:西安理工大學(xué),2009.[2]孫健.基于ARM7的電氣火災(zāi)自動報警控制器研制:浙江大學(xué),2007.[3]雍靜,李北海,楊岳.建筑智能化技術(shù)〔M〕.北京:科學(xué)出版社,2008.[4]王忠民,郝靜,張瑜.基于單片機的語音數(shù)字聯(lián)網(wǎng)火災(zāi)報警器設(shè)計.西安郵電學(xué)院.[5]S.M.Lo,C.M.Zhao,M.Liu,A.Coping.Asimulationmodelforstudyingtheimplementationofperformance-basedfiresafetydesigninbuildings[J].AutomationsinConstruction,1998,17(7):852~863.[6]J.K.W.Wong,H.Li,S.W.Wang.Intelligentbuildingresearch:areview[J].AutomationinConstruction,2005,14(l):143~159.[7]張向亮.智能建筑火災(zāi)自動報警系統(tǒng)的設(shè)計與研究:武漢理工大學(xué),2010.[8]VaughnBradshaw.TheBuildingEnvironment:ActiveandPassiveControlsystems[M].JohnWiley&Sons,2006.[9]陳穎.基于C8051F單片機的火災(zāi)智能報警控制系統(tǒng)的設(shè)計.大連海事大學(xué),2007.[10]于智洋.淺析智能建筑中火災(zāi)自動報警系統(tǒng)的設(shè)計[J].潛江:江漢石油科技,2008,2:62~64.[11]丁璐,李春華,楊戍.火災(zāi)探測技術(shù)的分析[J].煤礦現(xiàn)代化.2007(4):29~31.[12]吳龍標(biāo),袁宏永.火災(zāi)探測與控制工程[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1999.11:1~20.[13]范維澄.中國火災(zāi)科學(xué)基礎(chǔ)研究概況[J].火災(zāi)科學(xué),2005,6:57~62.[14]繆順兵,熊光明,李永萍,魯霞.自動火災(zāi)報警系統(tǒng)設(shè)計與研究[J].裝備制造技術(shù).2006.4:90~92.[15]黃鳳娟.單片機火災(zāi)報警系統(tǒng)的設(shè)計.安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2010年第1期.[16]孟立凡,藍金輝.傳感器原理與應(yīng)用.北京:電子工業(yè)出版社,2007.8.[17]HT66FU50單片機數(shù)據(jù)手冊。[18]王釗.智能型火災(zāi)報警系統(tǒng)的設(shè)計與研究:西安理工大學(xué),2009.[19]孫健.基于ARM7的電氣火災(zāi)自動報警控制器研制:浙江大學(xué),2007.[20]雍靜,李北海,楊岳.建筑智能化技術(shù)〔M〕.北京:科學(xué)出版社,2008.[21]王忠民,郝靜,張瑜.基于單片機的語音數(shù)字聯(lián)網(wǎng)火災(zāi)報警器設(shè)計.西安郵電學(xué)院.[22]S.M.Lo,C.M.Zhao,M.Liu,A.Coping.Asimulationmodelforstudyingtheimplementationofperformance-basedfiresafetydesigninbuildings[J].AutomationsinConstruction,1998,17(7):852~863.[23]J.K.W.Wong,H.Li,S.W.Wang.Intelligentbuildingresearch:areview[J].AutomationinConstruction,2005,14(l):143~159.[24]張向亮.智能建筑火災(zāi)自動報警系統(tǒng)的設(shè)計與研究:武漢理工大學(xué),2010.[25]VaughnBradshaw.TheBuildingEnvironment:ActiveandPassiveControlsystems[M].JohnWiley&Sons,2006.附錄整體電路原理圖3.PCB圖4.實物效果圖#include"ht66fu50_uart.h"#include"ht66fu50_main.h"#definestep1{LED1=0;LED2=1;LED3=1;LED4=1;}#definestep2{LED1=0;LED2=0;LED3=1;LED4=1;}#definestep3{LED1=1;LED2=0;LED3=1;LED4=1;}#definestep4{LED1=1;LED2=0;LED3=0;LED4=1;}#definestep5{LED1=1;LED2=1;LED3=0;LED4=1;}#definestep6{LED1=1;LED2=1;LED3=0;LED4=0;}#definestep7{LED1=1;LED2=0;LED3=1;LED4=0;}#definestep8{LED1=0;LED2=0;LED3=1;LED4=0;}#pragmarambank0bituart_cmd;//softwaredelayfunction voiddelay(ulongx){while(x--)_delay(120); }voidmydelay(unsignedlongx)//延時函數(shù){ unsignedlongi;while(x--)_delay(100);}//初始化HT66FU50voidMCU_init(void){ //TM0、TM1(定時器)除能 _tmpc0=0x00; //TM2、TM3(定時器)除能 _tmpc1=0x00; //屏蔽pa7-pa0的A/D輸入功能 _acerl=0x00; //屏蔽pa0、pa2、pa3的比較器0的輸入/出功能 _cp0c=0x00; //屏蔽pa5、pc2、pc3的比較器1的輸入/出功能 _cp1c=0x00;//pb口全部設(shè)置為輸出模式 _pbc=0x00;//pe口全部設(shè)置為輸出模式_pec=0x00;//置pa4~pa7為輸入狀態(tài),pa0~pa3為輸出狀態(tài) _pac=0xf0; //置pa口全部為高電平 _pa=0xff; //按鍵(pa4~pa7)加上拉電阻 _papu=0xf0; //設(shè)置pc口為輸入狀態(tài)_pcc=0xfe;//setbuzzercontrolporttooutput_pcc0=0;_pfc=0x00;_pf=0xFF;//set液位onewireporttooutput_pcc7=1;_pcc6=1;//addPull-upresistorforDS18B20DQpin_pcpu7=1;_pcpu6=1;}//多功能中斷2中斷向量,UART使用這個中斷向量#pragmavectoruart_receive_interrupt@0x20;//#include"ht66fu50_test.h"#pragmarambank0bittemp_setting;externbituart_cmd;ucharuart_send_buf[10];ucharuart_receive_buf[3];ucharuart_receive_cnt;constucharstring_start[]="\n\rTEST-STARTING...\n\r";constucharstring_ok[]="OK\n\r";constucharstring_bad[]="BAD\n\r";constucharstring_exit[]="EXIT\n\r";constucharstring_end[]={0x1a,0x0d,0x0a};union { uchar usr; struct { uchartxif :1; uchartidle :1; ucharrxif :1; ucharridle :1; ucharoerr :1; ucharferr :1; ucharnf :1; ucharperr :1; }Flag;}Register;//串行口中斷處理程序voiduart_receive_interrupt(void){ ucharval; _emi=0; _mf2f=0; //檢查外圍中斷標(biāo)志 if(_xpf) { _xpf=0; Register.usr=uart_read_reg((uchar)ReadUSR); //上一個串行口命令處理完否 if(uart_cmd){ _emi=1; return; } //檢查中斷標(biāo)志和中斷接收標(biāo)志 if((Register.Flag.rxif==1)&(Register.Flag.ridle==1)) { //讀SPI接收緩存器內(nèi)容 val=uart_read_reg((uchar)ReadFIFO); uart_receive_buf[uart_receive_cnt]=val; if(uart_receive_cnt==0){ if(val=='H'){ uart_receive_buf[uart_receive_cnt]=val; uart_receive_cnt++; } } elseif(uart_receive_cnt==1){ if(val=='i'){ uart_receive_buf[uart_receive_cnt]=val; uart_receive_cnt++; } else{ uart_receive_cnt=0; } } elseif(uart_receive_cnt==2){ if(val=='!'){ uart_receive_buf[uart_receive_cnt]=val; uart_cmd=TRUE; uart_receive_cnt=0; } else{ uart_receive_cnt=0; } } else{ uart_receive_cnt=0; } } } _emi=1;}voiduart_init(void){ uchartmp=0xFF; //InitialationofSPI // 由于HT66FU50內(nèi)建的UART功能,是通過內(nèi)部SPI與UARTBridgeIC連接實現(xiàn)的, // 因此在使用UART前,必須正確配置SPI的Pin-remapping功能,通過寄存器PRM0將SPI引腳 // 設(shè)為與內(nèi)部UART連接,具體設(shè)定如下: //PRM0寄存器中的SIMPS1=0、SIMPS0=1、PCKPS=1, // 設(shè)定完后,將SIMC0寄存器中的SIMEN設(shè)定為1,MCU就可以通過SPI使用UART功能了 //對應(yīng)位名稱:—C1XPS0—C0XPS0PDPRMSIMPS1SIMPS0PCKPS //SIMPS1,SIMPS0:SIM引腳重置控制位 //00:SDOonPA5;SDI/SDAonPA6;SCK/SCLonPA7;SCSonPB5 //01:SDOonPD3;SDI/SDAonPD2;SCK/SCLonPD1;SCSonPD0 //10:SDOonPB6;SDI/SDAonPB7;SCK/SCLonPD6;SCSonPD7 //11:未定義 //引腳重置寄存器設(shè)置SIMPS1=0、SIMPS0=1、PCKPS=1 _prm0=0x03; // 對應(yīng)的位名稱:D7D6CKPOLBCKEGMLSCSENWCOLTRF _simc2=0x08; //對應(yīng)的位名稱:SIM2SIM1SIM0PCKENPCKP1PCKP0SIMEN— //要求:SIM2SIM1SIM0 //000:SPI主機模式;SPI時鐘為fSYS/4 //001:SPI主機模式;SPI時鐘為fSYS/16 //010:SPI主機模式;SPI時鐘為fSYS/64 //011:SPI主機模式;SPI時鐘為fTBC //100:SPI主機模式;SPI時鐘為TM0CCRP匹配頻率/2 //101~111:未使用 _simc0=0x12; //UARTreset uart_write_reg((uchar)WriteUCR3,(uchar)0x80); //8N1format使能TX uart_write_reg((uchar)WriteUCR1,(uchar)0x80); //baudrate9600byBRGH=1andFosc=3579545 uart_write_reg((uchar)WriteBRG,(uchar)0x16); //Interruptenablerx(disabletx) uart_write_reg((uchar)WriteUCR2,(uchar)0xe4); uart_receive_cnt=0; uart_cmd=FALSE; _xpf=0; _mf2f=0; _xpe=1; _mf2e=1; _sime=0;}voiduart_write_reg(ucharCommand,ucharData){ _trf=0; //1:使能 _csen=1; //0:無寫沖突 _wcol=0; //寫數(shù)據(jù)至數(shù)據(jù)寄存器 _simd=Command; while(_wcol==1) { _wcol=0; _simd=Command; } //trf為發(fā)送標(biāo)志,1:發(fā)送結(jié)束 while(!_trf); _trf=0; _simd=Data; while(_wcol==1) { _wcol=0; _simd=Data; } while(!_trf); _trf=0; _csen=0;}ucharuart_read_reg(ucharCommand){ ucharval=0x00; //1使能 _csen=1; //0無寫沖突 _wcol=0; //寫數(shù)據(jù)至數(shù)據(jù)寄存器 _simd=Command; while(_wcol==1) { _wcol=0; _simd=Command; } //trf為發(fā)送標(biāo)志,1:發(fā)送結(jié)束 while(!_trf); _trf=0; _simd=val; while(_wcol==1) { _wcol=0; _simd=val; } while(!_trf); val=_simd; _trf=0; _csen=0; returnval;}voiduart_send_data_buf(void){ ucharj=0; //發(fā)送數(shù)據(jù)緩存器中的字符串,該字符串以NULL結(jié)尾 while(1) { if(uart_send_buf[j]==0){ j=0x00;_nop();break; } Register.usr=uart_read_reg((uchar)ReadUSR); if(Register.Flag.txif==1) { uart_write_reg(WriteFIFO,uart_send_buf[j]); _delay(200); j++; } _xpf=0; _mf2f=0; }}voiduart_send_string(ucharsting_type,ucharlen){ ucharj=0; //發(fā)送定義好的字符串 while(1){ Register.usr=uart_read_reg((uchar)ReadUSR); if(Register.Flag.txif==1) { switch(sting_type){ caseSTRING_OK:uart_write_reg(WriteFIFO,string_ok[j]);break; caseSTRING_START:uart_write_reg(WriteFIFO,string_start[j]);break; caseSTRING_BAD:uart_write_reg(WriteFIFO,string_bad[j]);break; caseSTRING_EXIT:uart_write_reg(WriteFIFO,string_exit[j]);break; caseSTRING_1:uart_write_reg(WriteFIFO,string_end[j]);break; default:break; } j++; _delay(300); } _xpf=0; _mf2f=0; if(j>=len){ break; } }}voiduart_send_string_with_zero(uchar*string){ uchari=0; //發(fā)送數(shù)據(jù)緩存器中的字符串,該字符串以NULL結(jié)尾 while(1) { if(*(string+i)==0){ break; } Register.usr=uart_read_reg((uchar)ReadUSR); if(Register.Flag.txif==1) { uart_write_reg(WriteFIFO,*(string+i)); _delay(200); i++; } _xpf=0; _mf2f=0; }}voiduart_send_char(ucharchr){ Register.usr=uart_read_reg((uchar)ReadUSR); if(Register.Flag.txif==1) { uart_write_reg(WriteFIFO,chr); _delay(200); } _xpf=0; _mf2f=0; }voidlcd1602_write_cmd(unsignedcharcmd)//寫指令{RS=0;//寫指令模式RW=0;E=1;_pe=cmd;E=0;//E:1->0lcd_1602_delay(100);}voidlcd_1602_delay(unsignedintx)//延遲函數(shù){while(x--)_delay(100);}voidlcd1602_write_char(unsignedchardata)//寫入單個字符數(shù)據(jù){RS=1;//寫數(shù)據(jù)模式RW=0;E=1;_pe=data;E=0;lcd_1602_delay(5);}voidlcd1602_write_string(unsignedchar*s)//寫字符串{while(*s!='\0'){lcd1602_write_char(*s);s++;}}voidlcd1602_set_place(unsignedcharline,unsignedcharcolumn)//設(shè)置字符顯示位置{unsignedcharaddress;if(line==1)address=0x80+column;//0x80表示DDRAM地址設(shè)置(第1行從00H開始,DB7位為“1”)elseif(line==2)address=0xc0+column;//0xc0表示DDRAM地址設(shè)置(第2行從40H開始,DB7位為“0”)lcd1602_write_cmd(address);}voidlcd1602_display_string(unsignedcharline,unsignedcharcolumn,unsignedchar*string)//向1602寫入字符串{lcd1602_set_place(line,column);lcd1602_write_string(string);}voidlcd1602_display_char(unsignedcharline,unsignedcharcolumn,unsignedchardata)//寫數(shù)據(jù){lcd1602_set_place(line,column);lcd1602_write_char(data);}voidlcd1602_init(void)//初始化1602液晶{lcd1602_write_cmd(0x06);//輸入模式為,字符不動,光標(biāo)右移(設(shè)置輸入模式)lcd1602_write_cmd(0x38);//設(shè)定兩列(功能設(shè)置)lcd1602_write_cmd(0x0c);//開啟顯示屏,不顯示光標(biāo),光標(biāo)所在(顯示開/關(guān)控制) lcd1602_write_cmd(0x01);//清屏的指令應(yīng)該在液晶初始化最后面一行(清顯示)}voidmain(){ MCU_init(); uart_init();//開放全局中斷 _emi=1; LED1=OFF; LED2=OFF; LED3=OFF; LED4=OFF; LED7=OFFwhile(1){ //雨水傳感器部分程序 if(S3==0) { delay(10); if(S3==0) { delay(10); if(S3==0) { LED1=OFF; LED2=OFF; LED3=OFF; LED4=OFF; LED7=OFF;while(1){ step1; delay(4000);//需改時間 step2; delay(4000); step3; delay(4000); step4; delay(4000); step5; delay(4000); step6; delay(4000); step7; delay(4000); step8; delay(4000); } } } }//CO泄露報警部分程序 if(S4==0) { delay(10); if(S4==0) { delay(10); if(S4==0) { uart_send_string_with_zero("AT+CMGF=1\r\n"); mydelay(1000); uart_send_string_with_zero("AT+CSCA=\"+8613800220500\"\r\n"); mydelay(1000); uart_send_string_with_zero("AT+CMGS=\"\r\n"); mydelay(1000); uart_send_string_with_zero("BEST:B101"); mydelay(1000); uart_send_string(STRING_1,3); mydelay(1000); LED2=ON; } } }//安防報警部分程序 if(S2==0) { delay(100); if(S2==0) { delay(100); if(S2==0) { uart_send_string_with_zero("AT+CMGF=1\r\n"); mydelay(1000); uart_send_string_with_zero("AT+CSCA=\"+8613800220500\"\r\n"); mydelay(1000); uart_send_string_with_zero("AT+CMGS=\"\r\n"); mydelay(1000); uart_send_string_with_zero("BEST:B301"); mydelay(1000); uart_send_string(STRING_1,3); mydelay(1000); LED3=ON; } } }//火災(zāi)報警部分程序 if(S1==0) { delay(10); if(S1==0) { delay(10); if(S1==0) { uart_send_string_with_zero("AT\r\n"); mydelay(1000); LED4=ON; mydelay(1000); LED4=OFF; mydelay(1000); uart_send_string_with_zero("at\r\n"); mydelay(1000); LED4=ON; } }基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安置房爆破施工合同
- 建筑工程建設(shè)中的給排水管道防滲漏施工分析
- 石河子大學(xué)《園林綠地系統(tǒng)規(guī)劃》2022-2023學(xué)年第一學(xué)期期末試卷
- 國慶假期防溺水教育活動總結(jié)7篇
- 學(xué)校運動場改造施工組織設(shè)計
- 石河子大學(xué)《籃球教學(xué)訓(xùn)練理論與實踐》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《工業(yè)藥劑學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《健身指導(dǎo)與訓(xùn)練》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《數(shù)字圖像處理技術(shù)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《馬克思主義與社會科學(xué)方法論》2021-2022學(xué)年第一學(xué)期期末試卷
- TDS3054B示波器使用說明.ppt
- 食材配送供應(yīng)商評價表
- 公司發(fā)文簽批單模板
- 《農(nóng)村醫(yī)療改革》PPT課件.ppt
- 膝關(guān)節(jié)骨性關(guān)節(jié)炎(膝痹病)病程模板
- FMEA潛在失效模式及分析標(biāo)準(zhǔn)表格模版
- 光伏電站兩票三制管理制度
- 用EXCEL做質(zhì)量分析柱狀圖模板
- 電纜截面的計算選型及口訣PPT課件
- 【報告】管道脫脂檢測報告
- 躁動患者的護理
評論
0/150
提交評論