基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)畢設(shè)_第1頁(yè)
基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)畢設(shè)_第2頁(yè)
基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)畢設(shè)_第3頁(yè)
基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)畢設(shè)_第4頁(yè)
基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)畢設(shè)_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)說(shuō)明書課題名稱:基于單片機(jī)的火災(zāi)報(bào)警器專 業(yè) 系 軌道交通 班 級(jí) 2014屆廣鐵供電訂單班 學(xué)生姓名 徐淑玲 指導(dǎo)老師 劉運(yùn)松 完成日期 2013年10月 目錄1前言31.1課題的開發(fā)背景31.2課題設(shè)計(jì)的意義31.3課題完成的功能32總體方案設(shè)計(jì)52.1方案比較52.2方案論證與選擇63單元模塊設(shè)計(jì)73.1各單元模塊功能介紹與電路設(shè)計(jì)73.1.1電路顯示電路73.1.2 無(wú)線傳輸模塊93.1.3 聲光報(bào)警模塊103.1.4 復(fù)位、時(shí)鐘電路113.1.5 程序下載模塊123.2特殊器件的介紹133.2.1 STC89C52單片機(jī)133.2.2溫度傳感器DS18B20153.2.3煙霧

2、傳感器QM-N518表3.6 QM-N5參數(shù)表193.2.4 NRF401204軟件設(shè)計(jì)244.1下位機(jī)程序流程圖244.1.1火災(zāi)檢測(cè)子程序流程圖244.1.2溫度獲取子程序流程圖254.2上位機(jī)程序流程圖275 調(diào)試285.1 調(diào)試的步驟285.2調(diào)試過(guò)程中遇到的問(wèn)題及解決方法296 使用軟件介紹307總結(jié)與體會(huì)328致謝339參考文獻(xiàn)34附錄1:電路原理圖35附錄2:設(shè)計(jì)程序36附錄3:外文資料翻譯471前言1.1課題的開發(fā)背景進(jìn)入上世紀(jì)90年代后,我國(guó)經(jīng)濟(jì)步入高速發(fā)展的時(shí)期,城市化建設(shè)不斷加快,城市建筑也由分散式低密度向集中式高密度過(guò)渡,林立的高層建筑成了城市的主要的標(biāo)志。居民住進(jìn)了高

3、層塔樓,企業(yè)搬進(jìn)了摩天大樓,高層建筑有效利用空間,節(jié)約了城市中本就十分緊張的土地資源。任何事物的發(fā)展都具有兩面性,高層建筑中各種通訊線路、動(dòng)力和照明線路、以及各種系統(tǒng)中線路縱橫交錯(cuò),致使火災(zāi)的發(fā)生概率也在大幅增加。加之現(xiàn)代建筑的密閉性較強(qiáng),一旦發(fā)生火災(zāi),整幢大樓就像一個(gè)大的火爐,而樓梯道、各種通風(fēng)管道、線路豎井都是效果極佳的火筒,從而給滅火施救造成了巨大的難度,對(duì)火災(zāi)發(fā)生后及時(shí)發(fā)現(xiàn)、及時(shí)控制的要求促使了火災(zāi)報(bào)警產(chǎn)品應(yīng)運(yùn)而生。與此同時(shí),現(xiàn)代計(jì)算機(jī)技術(shù)、通訊網(wǎng)絡(luò)技術(shù)和自動(dòng)控制技術(shù)的飛速發(fā)展又為人類實(shí)現(xiàn)更加理想化的生活提供了可能智能小區(qū)應(yīng)運(yùn)而生了。在智能小區(qū)內(nèi)安裝智能型火災(zāi)報(bào)警控制系統(tǒng)是必不可少的。

4、智能型火災(zāi)報(bào)警系統(tǒng)是一個(gè)集信號(hào)檢測(cè)、傳輸、處理和控制于一體的控制系統(tǒng),代表了當(dāng)前火災(zāi)報(bào)警系統(tǒng)的發(fā)展方向。隨著科學(xué)技術(shù)的迅猛發(fā)展以及國(guó)內(nèi)外經(jīng)濟(jì)的迅速增長(zhǎng),市場(chǎng)上迫切需要一種容量大、性能優(yōu)越、可靠性高、便于安裝、使用和維護(hù)的智能型火災(zāi)報(bào)警控制系統(tǒng)。1.2課題設(shè)計(jì)的意義我國(guó)的火災(zāi)自動(dòng)報(bào)警控制系統(tǒng)經(jīng)歷了從無(wú)到有、從簡(jiǎn)單到復(fù)雜的發(fā)展過(guò)程,其智能化程度也越來(lái)越高。目前,國(guó)產(chǎn)火災(zāi)自動(dòng)報(bào)警系統(tǒng)均采用漢字顯示,價(jià)格低廉,適合我國(guó)國(guó)情,但是火災(zāi)自動(dòng)報(bào)警系統(tǒng)由于多數(shù)沒(méi)有分布智能,可靠性低,且產(chǎn)品沒(méi)有形成系列化、品種不全,產(chǎn)品的外觀也較差,編程復(fù)雜,調(diào)試不方便,設(shè)備兼容性差。國(guó)外產(chǎn)品多數(shù)具有分布智能,可靠性高,產(chǎn)品具

5、有系列化、品種齊全,產(chǎn)品外觀美觀,人機(jī)對(duì)話功能強(qiáng)。缺點(diǎn)是多數(shù)沒(méi)有漢化,操作維護(hù)不便,價(jià)格較高,設(shè)備兼容性差。根據(jù)以上的分析,開發(fā)具有國(guó)際先進(jìn)水平的火災(zāi)自動(dòng)報(bào)警設(shè)備,價(jià)格介于進(jìn)口設(shè)備和國(guó)產(chǎn)設(shè)備之間,從而具有很高的性能價(jià)格比,因此,研制一種結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉的智能型火災(zāi)報(bào)警器是非常必要的。1.3課題完成的功能 當(dāng)報(bào)警器監(jiān)測(cè)到火情信息后,將表征火災(zāi)參數(shù)的物理量轉(zhuǎn)化為電信號(hào),通過(guò)電子線路將其放大、變換、傳輸、處理,直接通過(guò)Modem經(jīng)公用電話交換網(wǎng)迅速向消防指揮中心報(bào)告火情信息(包括火災(zāi)單位編碼、單位名稱、火情級(jí)別以及報(bào)警時(shí)間等),同時(shí)產(chǎn)生聲光報(bào)警信號(hào),并按事先預(yù)留的電話號(hào) 碼自動(dòng)撥號(hào)通知單位有關(guān)負(fù)責(zé)

6、人。消防指揮中心根據(jù)接收到的火警信息,立即在消防信息數(shù)據(jù)庫(kù)中查詢單位位置、周圍道路、交通、水源情況等基本信息,根據(jù)所獲得的信息迅速確定最佳救火方案,通過(guò)網(wǎng)絡(luò)將出警命令直接下達(dá)各消防中隊(duì)。動(dòng)探測(cè)報(bào)警裝置,因此,研制一種結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉的語(yǔ)音數(shù)字聯(lián)網(wǎng)火災(zāi)報(bào)警器是非常必要的。第65頁(yè)2總體方案設(shè)計(jì)2.1方案比較方案一方案一的系統(tǒng)框圖如下圖2.1所示,分為兩個(gè)部分,發(fā)送電路和接收電路兩部分組成的,發(fā)射電路從傳感器接收到的信號(hào)經(jīng)過(guò)信號(hào)處理電路轉(zhuǎn)化成單片機(jī)能接收的信號(hào),單片機(jī)接收信號(hào)后經(jīng)過(guò)單片機(jī)程序的算法,判斷是否有火災(zāi)發(fā)生,如有火災(zāi)的時(shí)候則一級(jí)的聲光報(bào)警電路發(fā)出報(bào)警信號(hào),同時(shí)單片機(jī)將信號(hào)通過(guò)無(wú)線信號(hào),

7、將火災(zāi)信號(hào)向上位機(jī),上位機(jī)總是在查詢接收模塊,是否有火災(zāi)信號(hào)的發(fā)送,接收電路將接收到的火災(zāi)信號(hào)傳到上位機(jī)的單片機(jī),通過(guò)單片機(jī)程序使上位機(jī)的報(bào)警電路報(bào)警,同時(shí)顯示火災(zāi)的地點(diǎn)通過(guò)LCD顯示。圖2.1方案一系統(tǒng)框圖探測(cè)傳感器信號(hào)處理電路單片機(jī)控制電路無(wú)線發(fā)射電路聲光報(bào)警電路無(wú)線接收模塊單片機(jī)控制電路聲光報(bào)警電路液晶顯示電路發(fā)射部分電路接收部分電路方案二方案二是通過(guò)傳感器檢測(cè)信號(hào)到下位機(jī)單片機(jī)通過(guò)RS-485總線傳輸給上位機(jī)通過(guò)上位機(jī)顯示報(bào)警信息。探測(cè)傳感器信號(hào)處理電路單片機(jī)控制電路液晶顯示模塊單片機(jī)控制電路聲光報(bào)警電路RS-485接口探測(cè)傳感器信號(hào)處理電路單片機(jī)控制電路RS-485接口圖2.2方案二

8、系統(tǒng)框圖2.2方案論證與選擇綜上所述,方案一無(wú)論是從電路的結(jié)構(gòu)復(fù)雜程度的角度,還是在生活中應(yīng)用都是的容易實(shí)現(xiàn),采樣無(wú)線傳輸在安裝簡(jiǎn)單,布線相對(duì)復(fù)雜,在一些惡劣的環(huán)境中傳輸也會(huì)受到影響,所以我還是選擇方案一。3單元模塊設(shè)計(jì)3.1各單元模塊功能介紹與電路設(shè)計(jì)3.1.1電路顯示電路圖3.1LCD接線圖如圖3.1是本設(shè)計(jì)的LCD顯示電路,LCD將顯示實(shí)時(shí)溫度。LCD1602采用16腳DIP封裝,他與單片機(jī)連接有11個(gè)I/O口,其中D0D7并行數(shù)據(jù)端口,與單片機(jī)P0.0P0.7連接,LCD的E,R/W,RS分別與單片機(jī)P2.0P2.2連接。而LCD的E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí)液晶模塊執(zhí)行

9、命令,液晶模塊執(zhí)行命令R/W腳為讀寫控制腳。R/W為高電平時(shí)為讀操作;低電平時(shí)為寫操作。RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度3。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)

10、字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯,控制簡(jiǎn)單。由于LCD有兩橫數(shù)計(jì)顯示位置,因此系統(tǒng)通電后,LCD有兩種顯示方式:LCD第一橫顯示“weidushi:”和當(dāng)前溫度值;(正常顯示)LCD除顯示第一種方式外還在第二橫顯示“chuxianyichang”字樣。(異常顯示)當(dāng)溫度采集模塊,紅外、煙霧檢測(cè)模塊三項(xiàng)電路模塊中任意兩種檢測(cè)電路發(fā)生異常時(shí),LCD以顯示第方式顯示,只有當(dāng)兩項(xiàng)出現(xiàn)異常的檢測(cè)電路中任意一項(xiàng)電路異常排除時(shí)才恢復(fù)正常顯示。當(dāng)把手動(dòng)控制模塊中控制按鍵按下時(shí),LCD異常顯示,只有當(dāng)按1602液晶模塊

11、內(nèi)部的控制器共有11條控制指令,如下表3.1所示:表3.1 1602控制表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容表3.1:控制命令表1602液晶模塊的讀寫操作、屏

12、幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)3指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 D

13、L:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。3.1.2 無(wú)線傳輸模塊圖3.2無(wú)線收發(fā)器件電路連接單片機(jī)與無(wú)線收發(fā)器件NRF401的連接電路圖如下3.2所示,單片機(jī)的P2.1口接NRF401的頻道選擇端口,選擇收發(fā)器件的工作頻率,當(dāng)P2.1為高電平的時(shí)候,選擇的頻率是434.33M

14、Hz的2通道,當(dāng)P2.1為低電平的時(shí)候,選擇的傳輸?shù)念l率是433.92MHz的1通道。在本設(shè)計(jì)都是選擇通道2頻率為434.33MHz的。PWR_UP是NRF401的節(jié)電控制當(dāng)PWR_UP=1為NRF401的工作模式,當(dāng)PWR_UP=0時(shí)為NRF401的待機(jī)模式,在待機(jī)模式下收發(fā)器件比較節(jié)電,所有如果沒(méi)有數(shù)據(jù)傳輸?shù)臅r(shí)候盡量選擇待機(jī)模式,使P2.0為地電平。TX-EN引腳發(fā)射/接收選擇端口,當(dāng)TX-EN給高電平是為發(fā)射信號(hào),當(dāng)TX-EN給低電平是接收信號(hào)。所以下位機(jī)的NRF401為高電平的發(fā)射信號(hào),上位機(jī)的NRF401為低電平的接收信號(hào)。DI為輸入信號(hào)當(dāng)接收的時(shí)候,同單片機(jī)的串口接收信號(hào),經(jīng)過(guò)單片

15、機(jī)的RX傳輸?shù)絅RF401的DI。當(dāng)接收模式的時(shí)候,無(wú)線接收模塊,接收到的信號(hào)通過(guò)DO傳給單片機(jī),使單片機(jī)接收到無(wú)線信號(hào)。3.1.3 聲光報(bào)警模塊圖3.3聲光報(bào)警模塊本設(shè)計(jì)上下位機(jī)都有聲光報(bào)警電路,上位機(jī)的報(bào)警電路如上圖3.3所示,上位機(jī)與下位機(jī)的報(bào)警電路都是相同的,只是與單片機(jī)的連接的引腳不同,下位機(jī)是通過(guò)P2.3和P2.4口發(fā)出聲光報(bào)警信號(hào)的,上位機(jī)是通過(guò)P1.3和P1.4口發(fā)出報(bào)警信號(hào)的。上位機(jī)的P1.4口發(fā)出低電平是這時(shí)不報(bào)警,即三極管VT3不導(dǎo)通,發(fā)光二極管不點(diǎn)亮,當(dāng)P1.4發(fā)出高電平時(shí),使三極管VT3導(dǎo)通,從而使發(fā)光二極管點(diǎn)亮,即發(fā)出報(bào)警信號(hào)。在本設(shè)計(jì)中使用了語(yǔ)音芯片,發(fā)布火災(zāi)報(bào)警

16、信號(hào),使用的是KD9561的語(yǔ)音芯片,在KD9561的6腳與7腳接一個(gè)120K歐姆的電阻,單片機(jī)的P1.3口接1K歐姆的電阻接三極管的基極,三極管的射極接地,集電極接KD9561的VSS端,當(dāng)單片機(jī)P1.3口輸出高電平是三極管導(dǎo)通,使輸入到KD9561的VSS為地電平,使語(yǔ)音芯片工作,發(fā)出報(bào)警聲。當(dāng)單片機(jī)P1.3口輸出地電平時(shí),三極管不導(dǎo)通,使語(yǔ)音芯片不工作,即不發(fā)出報(bào)警聲。關(guān)于語(yǔ)音芯片KD 9561報(bào)警聲的選擇如下表3.2所示,這里要產(chǎn)生是火災(zāi)報(bào)警聲,則在SEL1接電源VDD,SEL2不接。表3.2 KD 9561語(yǔ)音芯片輸出聲選擇接線表SEL1SEL2輸出聲音不接不接警車聲VDD不接火警聲

17、VCC不接救護(hù)車聲任意接VDD機(jī)關(guān)槍聲3.1.4 復(fù)位、時(shí)鐘電路圖3.4復(fù)位、時(shí)鐘電路MCS-51的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位是使單片機(jī)或系統(tǒng)中的其他部件處于某種確定的初始狀態(tài)。單片機(jī)的工作就是從復(fù)位開始的。當(dāng)89C52的RST引腳加高電平復(fù)位信號(hào)(保持2個(gè)以上機(jī)器周期)時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。復(fù)位信號(hào)變低時(shí),單片機(jī)開始執(zhí)行程序。復(fù)位電路通常采用兩種基本形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位,本系統(tǒng)電路設(shè)計(jì)中采用的上電與按鍵復(fù)位電路。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容來(lái)實(shí)現(xiàn)的。當(dāng)電源接通時(shí)只要Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電位。當(dāng)時(shí)鐘頻率選用11

18、.0592MHz時(shí),C取22pF,R取2.2K。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。通常實(shí)際運(yùn)用中大都采用的是按鍵與上電復(fù)位電路,電平復(fù)位是通過(guò)RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的。在單片機(jī)運(yùn)行期間,還可以利用按鍵完成復(fù)位操作。MCS-51單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路設(shè)計(jì)有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種方式為外部時(shí)鐘方式,在本設(shè)計(jì)中使用的是內(nèi)部時(shí)鐘方式。電路中的電容C1和C2典型值通常選擇為22pF左右。對(duì)

19、外接電容的值雖然沒(méi)有嚴(yán)格要求,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩頻率的范圍通常是在1.2MHz12MHz之間。晶振的頻率越高,則系統(tǒng)的時(shí)鐘頻率也就越高,單片機(jī)的運(yùn)行速度也就越快。但反過(guò)來(lái)運(yùn)行速度快對(duì)存儲(chǔ)器的速度要求也就相對(duì)高,對(duì)印制電路板(也稱印刷電路板)的工藝要求也高,即要求線間的寄生電容要??;晶振和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性能好的電容。3.1.5 程序下載模塊圖3.5 MAX232串口通信電路圖3.2特殊器件的介紹3.2.1 STC89C52單片機(jī)單片機(jī)

20、(Microcontroller,又稱微處理器)是在一塊硅片上集成了各種部件的微型機(jī),這些部件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。8051單片機(jī)的基本結(jié)構(gòu)見(jiàn)圖。圖3.6 單片機(jī)基本結(jié)構(gòu)8051是MCS-51系列單片機(jī)的一個(gè)產(chǎn)品。MCS-51系列單片機(jī)是Intel公司推出的通用型單片機(jī),8051單片機(jī)系列指的是MCS-51系列和其他公司的8051衍生產(chǎn)品。這些衍生品是在基本型基礎(chǔ)上增強(qiáng)了各種功能的產(chǎn)品。這些產(chǎn)品給8位單片機(jī)注入了新的活力,給它的開發(fā)應(yīng)用開拓了更廣泛的前景。8051系列的內(nèi)部結(jié)構(gòu)可以劃分為CPU、存儲(chǔ)器、并行口、串行口、定時(shí)

21、器/計(jì)數(shù)器、中斷邏輯幾部分。(1)中央處理器8051的中央處理器由運(yùn)算器和控制邏輯構(gòu)成,其中包括若干特殊功能寄存器(SFR)。算術(shù)邏輯單元ALU能對(duì)數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算;“與”、“或”、“異或”等邏輯運(yùn)算以及位操作運(yùn)算。ALU只能進(jìn)行運(yùn)算,運(yùn)算的操作數(shù)可以事先存放到累加器ACC或寄存器TMP中,運(yùn)算結(jié)果可以送回ACC或通用寄存器或存儲(chǔ)單元中,累加器ACC也可以寫為A。B寄存器在乘法指令中用來(lái)存放一個(gè)乘數(shù),在除法指令中用來(lái)存放除數(shù),運(yùn)算后B中為部分運(yùn)算結(jié)果。程序狀態(tài)字PSW是個(gè)8位寄存器,用來(lái)寄存本次運(yùn)算的特征信息,用到其中七位。PSW的格式如下所示,其各位的含義是:PSWD7D6D

22、5D4D3D2D1D0CYACF0RS1RS0OVPCY:進(jìn)位標(biāo)志。有進(jìn)位/錯(cuò)位時(shí)CY=1,否則CY=0。 AC:半進(jìn)位標(biāo)志。當(dāng)D3位向D4位產(chǎn)生進(jìn)位/錯(cuò)位時(shí),AC=1,否則AC=0,常用于十進(jìn)制調(diào)整運(yùn)算中。F0:用戶可設(shè)定的標(biāo)志位,可置位/復(fù)位,也可供測(cè)試。RS1、RS0:四個(gè)通用寄存器組選擇位,該兩位的四種組合狀態(tài)用來(lái)選擇03寄存器組。OV:溢出標(biāo)志。當(dāng)帶符號(hào)數(shù)運(yùn)算結(jié)果超出-128+127范圍時(shí)OV=1,否則OV=0。當(dāng)無(wú)符號(hào)數(shù)乘法結(jié)果超過(guò)255時(shí),或當(dāng)無(wú)符號(hào)數(shù)除法的除數(shù)為0時(shí)OV=1,否則OV=0。P:奇偶校驗(yàn)標(biāo)志。每條指令執(zhí)行完,若A中1的個(gè)數(shù)為奇數(shù)時(shí)P=1,否則P=0,即偶校驗(yàn)方式。

23、控制邏輯主要包括定時(shí)和控制邏輯、指令寄存器 、譯碼器以及地址指針DPTR和程序寄存器PC等。單片機(jī)是程序控制式計(jì)算機(jī),即它的運(yùn)行過(guò)程是在程序控制下逐條執(zhí)行程序指令的過(guò)程:從程序存儲(chǔ)器中取出指令送指令存儲(chǔ)器IR,然后指令譯碼器ID進(jìn)行譯碼,譯碼產(chǎn)生一系列符合定時(shí)要求的微操作信號(hào),用以控制單片機(jī)的各部分動(dòng)作。8051的控制器在單片機(jī)內(nèi)部協(xié)調(diào)各功能部件之間的數(shù)據(jù)傳送、數(shù)據(jù)運(yùn)算等操作,并對(duì)單片機(jī)發(fā)出若干控制信息。這些控制信息的用專門的控制線,諸如PSEN、ALE、EA以及RST,也有一些是和P3口的某些端子合用,如WR和RD就是P3.6和P3.7,他們的具體功能在介紹8051引腳是一起敘述。(2)存儲(chǔ)

24、器組織8051單片機(jī)的存儲(chǔ)器結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,并有各自的尋址機(jī)構(gòu)和尋址方式,這種結(jié)構(gòu)稱為哈佛結(jié)構(gòu)單片機(jī)。這種結(jié)構(gòu)與通用微機(jī)的存儲(chǔ)器結(jié)構(gòu)不同,一般微機(jī)只有一個(gè)存儲(chǔ)器邏輯空間,可隨意安排ROM或RAM,訪存時(shí)用同一種指令,這種結(jié)構(gòu)稱為普林斯頓型。8051單片機(jī)在物理上有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。8051片內(nèi)有256K數(shù)據(jù)存儲(chǔ)器RAM和4KB的程序存儲(chǔ)器ROM。除此之外,還可以在片外擴(kuò)展RAM和ROM,并且各有64KB的尋址范圍。也就是最多可以在外部擴(kuò)展2*64KB存儲(chǔ)器。8051的存儲(chǔ)器組織結(jié)構(gòu)如圖2.3所示。64K字節(jié)

25、的程序存儲(chǔ)器(ROM)空間中,有4K字節(jié)地址區(qū)對(duì)于片內(nèi)ROM和片外ROM是公用的,這4K字節(jié)地址是0000HFFFH。而1000HFFFFH地址區(qū)為外部ROM專用。CPU的控制器專門提供一個(gè)控制信號(hào)EA用來(lái)區(qū)分內(nèi)部ROM和外部ROM的公用地址區(qū):當(dāng)EA接高電平時(shí),單片機(jī)從片內(nèi)ROM的4K字節(jié)存儲(chǔ)器區(qū)取指令,而當(dāng)指令地址超過(guò)0FFFH后,就自動(dòng)的轉(zhuǎn)向片外ROM取指令。當(dāng)EA接低電平時(shí),CPU只從片外ROM取指令。程序存儲(chǔ)器的某些單元是保留給系統(tǒng)使用的:0000H0002H單元是所有執(zhí)行程序的入口地址,復(fù)位以后CPU總是叢0000H單元開始執(zhí)行程序。0003H002AH單元均勻地分為五段用做五個(gè)中

26、斷服務(wù)程序的入口用戶程序不應(yīng)進(jìn)入上述區(qū)域。圖3.7存儲(chǔ)器組織結(jié)構(gòu)圖8051的RAM雖然字節(jié)數(shù)不很多,但卻起著十分重要的作用。256個(gè)字節(jié)被分為兩個(gè)區(qū)域:00H-7FH時(shí)真正的RAM區(qū),可以讀寫各種數(shù)據(jù)。而80HFFH是專門用于特殊功能寄存器(SFR)的區(qū)域。對(duì)于8051安排了21個(gè)特殊功能寄存器,每個(gè)寄存器為8位,所以實(shí)際上128個(gè)字節(jié)并沒(méi)有全部利用。內(nèi)部RAM的各個(gè)單元,都可以通過(guò)直接地址來(lái)尋找,對(duì)于工作寄存器,則一般都直接用R0R7,對(duì)特殊功能寄存器,也是直接使用其名字較為方便。8051內(nèi)部特殊功能寄存器都是可以位尋址的,并可用“寄存器名.位”來(lái)表示,如ACC.0,B.7等。本設(shè)計(jì)采用51

27、系列中的STC89C52單片機(jī)。3.2.2溫度傳感器DS18B20 DS18B20是美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的單總線可組網(wǎng)數(shù)字式溫度傳感器。它的測(cè)量范圍為-50至+125,精度可達(dá)0.1不需A/D轉(zhuǎn)換電路,直接將溫度值轉(zhuǎn)換成數(shù)字量。DS18B20遵循嚴(yán)格的單線串行通信協(xié)議,每一個(gè)DS18B20在出廠時(shí)都用激光進(jìn)行了調(diào)較,并具有唯一的64位序列號(hào),所以多個(gè)DS18B20可以共存與同一條線上。DS18B20的內(nèi)部使用了在板(ON-BOARD)專利技術(shù)。封裝為TO-92的DS18B20將全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)如圖2.3。其外圍電路簡(jiǎn)單,可廣泛應(yīng)用于溫度控制,溫度

28、測(cè)量,工作系統(tǒng)及任何熱敏感系統(tǒng)中。圖 3.8 DS18B20引腳DS18B20的內(nèi)部主要包括寄生電源、溫度傳感器、64位激光ROM、單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM)用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲(chǔ)與控制邏輯、8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。DS18B20的內(nèi)部結(jié)構(gòu)如圖3.9所示。圖 3.9 DS18B20內(nèi)部結(jié)構(gòu)DS18B20測(cè)量溫度時(shí)使用特有的溫度測(cè)量技術(shù)。DS18B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號(hào)f。,高溫度系數(shù)振蕩器則將被測(cè)溫度轉(zhuǎn)換成頻率信號(hào)f。當(dāng)計(jì)數(shù)門打開時(shí),DS18B20對(duì)f。計(jì)數(shù),計(jì)數(shù)門開通時(shí)間由高溫度系數(shù)振蕩器決

29、定。芯片內(nèi)部還有斜率累加器,可對(duì)頻率的非線性予以補(bǔ)償。測(cè)量結(jié)果存入溫度寄存器中。一般情況下的溫度值應(yīng)為9位(符號(hào)占1位),但因符號(hào)位擴(kuò)展成高8位,故以16位補(bǔ)碼形式讀出,表3.3給出了溫度和數(shù)字量的關(guān)系。表 3.3 DS18B20輸出數(shù)據(jù)與溫度關(guān)系DSl820工作過(guò)程分三步,如下:(1)初始化 單總線上的所有處理均從初始化開始(2)ROM操作命令 總線主機(jī)檢測(cè)到DSl820的存在便可以發(fā)出ROM操作命令之一,如表3.4。表 3.4 DS18B20 ROM操作命令(3)存儲(chǔ)器操作命令存儲(chǔ)器命令如表3.5。表 3.5 DS18B20存儲(chǔ)器操作命令DS1820使用中注意事項(xiàng) (1)較小的硬件開銷需要

30、相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。對(duì)DS1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。 (2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè)DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過(guò)8個(gè)時(shí),就需解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 (3)連接DS1820的總線電纜是有長(zhǎng)度限制的。當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜

31、時(shí),正常通訊距離可達(dá)150m,這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。 (4)在DS1820測(cè)溫程序設(shè)計(jì)中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦某個(gè)DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。3.2.3煙霧傳感器QM-N5 QM-N5型氣敏元件是金屬氧化物SnO2為主要材料的N型半導(dǎo)體氣敏元件,當(dāng)元件接觸還原性氣體時(shí),其電導(dǎo)率隨氣體的濃度增加而迅速升高。特

32、點(diǎn):用于可燃性氣體的檢測(cè)(CH4、C4H10、H2、煙霧等)靈敏度高 響應(yīng)速度快 輸出信號(hào)大 壽命長(zhǎng),工作穩(wěn)定可靠 圖3.10 MQN5的外形原理: 在200-300度時(shí),它吸附空氣中的氧,形成的氧的負(fù)離子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值增加,當(dāng)遇到有能供給電子的可燃?xì)怏w(如CO等)時(shí),原來(lái)吸附的氧托附,而由可燃?xì)怏w以正離子狀態(tài)吸附在金屬氧化物半導(dǎo)體表面;氧脫附放出電子,可燃性氣體以正離子狀態(tài)吸附也要放出電子,從而使氧化物半導(dǎo)體帶電子密度增加,電阻值下降,可燃性氣體不存在了,金屬氧化物半導(dǎo)體優(yōu)惠自動(dòng)回復(fù)放的負(fù)離子吸附,使電阻值升高到初始狀態(tài)。這就是半導(dǎo)體氣敏元件檢測(cè)可燃性氣體的基

33、本原理。技術(shù)指標(biāo):表3.6 QM-N5參數(shù)表 加熱電壓(Vh) AC或DC 5±0.2V響應(yīng)時(shí)間(trec)10S回路電壓(Vc)最大DC 24V恢復(fù)時(shí)間(trec)30S 負(fù)載電陰(Rl)2K元件功耗0.7W清潔空氣中電阻 (Ra) 2000 K檢測(cè)范圍5010000ppm靈敏度(S=Ra/Rdg)4(在1000ppmC4H10中)使用壽命2年技術(shù)指標(biāo):加熱電壓(VH) AC或DC 5±0.5V回路電壓(VC) 最大DC 24V負(fù)載電阻(RL) 2K清潔空氣中電阻(Ra) 4000K靈敏度(S=Ra/Rdg) 4(在1000ppmC4H10中)響應(yīng)時(shí)間(tres) 10S

34、恢復(fù)時(shí)間(trec) 30S檢測(cè)范圍 50-10000ppmVC輸出信號(hào)RLVRLVH 圖3.11基本測(cè)試電路使用方法及注意事項(xiàng)元件開始通電工作時(shí),沒(méi)有接觸可燃性氣體,其電導(dǎo)率也急劇增加1分鐘后達(dá)到穩(wěn)定,這時(shí)方可正常使用,這段變化在設(shè)計(jì)電路時(shí)可采用延時(shí)處理解決.加熱電壓的改變會(huì)直接影響元件的性能,所以在規(guī)定的電壓范圍內(nèi)使用為佳.元件在接觸標(biāo)定氣體1000ppm C4H10后10秒以內(nèi)負(fù)載電阻兩端的電壓可達(dá)到(Vdg- Va)差值的80%(即響應(yīng)時(shí)間);脫離標(biāo)定氣體1000ppm C4 H1030秒鐘以內(nèi)負(fù)載電阻兩端的電壓下降到(Vdg- Va)差值的80%(即恢復(fù)時(shí)間).符號(hào)說(shuō)明 檢測(cè)氣體中電

35、阻- Rdg 檢測(cè)氣體中電壓- Vdg Rdg 與Vdg的關(guān)系: Rdg=RL(VC/Vdg-1) 負(fù)載電阻可根據(jù)需要適當(dāng)改動(dòng),不影響元件靈敏度. 使用條件:溫度-1535;相對(duì)濕度4575%RH;大氣壓力80106KPa 環(huán)境溫濕度的變化會(huì)給元件電阻帶來(lái)小的影響,當(dāng)元件在精密儀器上使用時(shí),應(yīng)進(jìn)行溫濕度補(bǔ)償,最簡(jiǎn)便的方法是采用熱敏電阻補(bǔ)償之. 避免腐蝕性氣體及油污染,長(zhǎng)期使用需防止灰塵堵塞防爆不銹鋼網(wǎng).TGS2611可燃?xì)怏w傳感器TGS2611可燃?xì)怏w傳感器是由敏感素子由集成的加熱器以及在氧化鋁基板上形成的金屬氧化物半導(dǎo)體構(gòu)成。當(dāng)可檢知的氣體存在時(shí),空氣中該氣體的濃度越高,傳感器的電導(dǎo)率就越高

36、。 使用簡(jiǎn)單的電路就可以將這種電導(dǎo)率的變化變換為與氣體濃度對(duì)應(yīng)的輸出信號(hào)。 TGS2611 對(duì)甲烷有很高的靈敏度。因?yàn)閷?duì)揮發(fā)性酒精 (居住環(huán)境中的干擾氣體) 的靈敏度很低,所以是最適合用于家用燃?xì)庑孤﹫?bào)警器。 因?yàn)槊舾兴刈雍苄?,所?TGS2611 的加熱電流只有 56mA 就夠了。另外,這種傳感器的敏感部分被裝入標(biāo)準(zhǔn)的 TO-5的金屬封裝中。 3.2.4 NRF401 nRF401 是一個(gè)為 433MHz ISM頻段設(shè)計(jì)的真正單片UHF無(wú)線收發(fā)芯片 它采用 FSK調(diào)制解調(diào)技術(shù)NRF401最高工作速率可以達(dá)到 20K 發(fā)射功率可以調(diào)整 最大發(fā)射功率是+10dBm。天線接口設(shè)計(jì)為差分天線 以便于

37、使用低成本的PCB天線 nRF401還具有待機(jī)模式 這樣可以更省電和高效功能描述:真正的單片 FSK收發(fā)芯片非常少的外圍元件無(wú)需進(jìn)行初始化和配置不需要對(duì)數(shù)據(jù)進(jìn)行曼徹斯特編碼最高速率 20Kbps2 個(gè)工作頻道寬工作電壓范圍低功耗待機(jī)模式表3.7 nRF401管腳描述管腳名 稱功 能說(shuō)明1XC1輸入晶振輸入2VCC電源電源+3-5V3VSS地電源地4FILT1輸入環(huán)路濾波器5VCO1輸入VCO電感6VCO2輸入VCO電感7VSS地電源地8VDD電源電源+3-5V9DIN輸入數(shù)據(jù)輸入10DOUT輸出數(shù)據(jù)輸出11RF PWR輸入發(fā)射功率設(shè)置12CS輸入頻道選擇CS=0433.92MHz(Channe

38、l#1)CS=1434.33MHz(Channel#2)13VDD電源電源+3-5V14VSS地電源地15ANT2輸入/輸出天線終端16ANT1輸入/輸出天線終端17VSS地電源地18PWR_UP輸入節(jié)電控制PWR_UP=1-Power up(Operating mode)PWR_UP=0Power down(Standby node)19TXEN輸入發(fā)射/接收控制XEN=1Transmit modeXEN=0Receive mode20XC2輸出晶振輸出TX RX的切換 當(dāng)從 RXTX 模式時(shí) 數(shù)據(jù)輸入腳 DIN 必須保持為高至少 1ms 才能發(fā)送數(shù)據(jù) 時(shí)序如圖 3.11a 所示 當(dāng)從 TX

39、RX模式時(shí) 數(shù)據(jù)輸出腳 DOUT 要至少 3ms 以后有數(shù)據(jù)輸出 如圖 4b 所示圖 3.11 nRF401 TX RX的切換時(shí)序圖Standby RX 的切換從待機(jī)模式到接收模式 當(dāng) PWR_UP 輸入設(shè)成 1 時(shí) 經(jīng)過(guò) tSR 時(shí)間后 DOUT 腳輸出數(shù)據(jù)才有效nRF401 來(lái)說(shuō) tST 最長(zhǎng)的時(shí)間是 3ms 如圖 3.12a 所示Standby TX 的切換 從待機(jī)模式到發(fā)射模式 所需穩(wěn)定的最大時(shí)間是 tST 圖 3.12 nRF401 Standby TX Standby RX的切換時(shí)序圖Power Up TX 的切換從加電到發(fā)射模式過(guò)程中 為了避免開機(jī)時(shí)產(chǎn)生干擾和輻射 在上電過(guò)程中

40、TXEN的輸入腳必須保持為低 以便于頻率合成器進(jìn)入穩(wěn)定工作狀態(tài) 當(dāng)由上電進(jìn)入發(fā)射模式時(shí) TXEN 必須保持 1ms 以后才可以往 DIN發(fā)送數(shù)據(jù) 見(jiàn)圖 3.13aPower Up RX 的切換從上電到接收模式過(guò)程中 芯片將不會(huì)接收數(shù)據(jù) DOUT 也不會(huì)有有效數(shù)據(jù)輸出 直到電壓穩(wěn)定達(dá)到 2.7V以上 并且至少保持 5ms 如果采用外部振蕩器 這個(gè)時(shí)間可以縮短到 3ms 見(jiàn)圖 3.13b圖3.13Power Up TX 的切換 Power Up RX 的切換時(shí)序圖ANT1 和 ANT2 是接收時(shí) LNA的輸入以及發(fā)送時(shí)功率放大器的輸出 連接 nRF401 的天線是以差分方式連接到 nRF401 的

41、 在天線端推薦的負(fù)載阻抗是 400歐姆。圖 3.14 采用單端天線時(shí)匹配網(wǎng)絡(luò)的設(shè)計(jì)4軟件設(shè)計(jì)4.1下位機(jī)程序流程圖4.1.1火災(zāi)檢測(cè)子程序流程圖讀溫度子程序:BCD子程序判斷溫度是否過(guò)高NY設(shè)置堆棧初始化DS18B20判斷可燃?xì)怏w是否過(guò)高判斷煙霧是否過(guò)高N發(fā)出報(bào)警信號(hào)YNY圖4.1 火災(zāi)檢測(cè)子程序流程圖4.1.2溫度獲取子程序流程圖關(guān)閉所有中斷,調(diào)用RESET子程序初始化DS18B20調(diào)用WRITE子程序送入讀溫度暫存器命令調(diào)用WRITE子程序送入跳過(guò)ROM命令調(diào)用READ子程序讀溫度暫存器內(nèi)容讀出溫度值低字節(jié)存入R7, 讀出謾度值高字節(jié)存入R6調(diào)用WRITE子程序送入溫度轉(zhuǎn)換命令溫度轉(zhuǎn)化完,

42、調(diào)用RESET子程序再次初始化DS18B20調(diào)用WRITE子程序送入跳過(guò)ROM命令RET圖4.2溫度獲取子程序流程圖采樣傳感器信號(hào)單片機(jī)程序算法有火情?聲光報(bào)警NY初始化經(jīng)NRF401發(fā)送探測(cè)及報(bào)警參數(shù)數(shù)據(jù)圖4.3信號(hào)采集、處理、報(bào)警程序流程圖4.2上位機(jī)程序流程圖經(jīng)NRF401接收探測(cè)及報(bào)警參數(shù)數(shù)據(jù)有火情?聲光報(bào)警NY初始化顯示器實(shí)時(shí)顯示當(dāng)前火災(zāi)的地點(diǎn)、火災(zāi)可能產(chǎn)生的原因圖4.4主機(jī)報(bào)警處理程序流程圖5 調(diào)試5.1 調(diào)試的步驟(1) 源文件的建立:使用菜單 “File-New”或者點(diǎn)擊工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口中輸入?yún)R編語(yǔ)言源程序(4.2小節(jié)

43、所示)。保存該文件,加上擴(kuò)展名(.asm或a51),這里將文件保存為examl1.asm。(2)建立工程文件:點(diǎn)擊“Project-New Project”菜單,出現(xiàn)以個(gè)對(duì)話框,要求給工程起一個(gè)名字,我們輸入examl1,不需要擴(kuò)展名,點(diǎn)擊保存按鈕,出現(xiàn)第二個(gè)對(duì)話框。這個(gè)對(duì)話框要求選擇目標(biāo)CPU(即我們所使用的芯片型號(hào)80C51)點(diǎn)擊ATMEL前面的“+”號(hào),展開該層,點(diǎn)擊其中的80C51,然后點(diǎn)擊確定按鈕?;氐街鹘缑妫藭r(shí),在工程窗口的文件頁(yè)中,出現(xiàn)了“Targ et1”,前面有 “+”號(hào),點(diǎn)擊“+”展開,可以看到下一層的“Source Group1”,這時(shí)的工程還是一個(gè)空工程,里面什么文件

44、也沒(méi)有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊“Souce Group”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)下拉菜單。選中其中的“Add file to Group”Souce Group1”,對(duì)話框,要求尋找源文件,注意該對(duì)話框下面的“文件類型“默認(rèn)為C Souce file (*.c),也就是以C為擴(kuò)展名的文件,而我們的文件是以asm 為擴(kuò)展名的,所以在列表框中找不到examl1.asm,要將文件類型該掉,點(diǎn)擊對(duì)話框中”文件類型后的下拉列表,找到并選中“Asm Souce File(*.asm,*.a51)”,這樣,在列表框中就可以找到examl1.asm文文件了。雙examl1.a

45、sm文件,將文件加入項(xiàng)目,注意,在文件加入項(xiàng)目后,該對(duì)話框并不消失,等待繼續(xù)加入其他文件,但初學(xué)時(shí)常會(huì)認(rèn)為操作沒(méi)有成功而再次雙擊同一文件,這時(shí)會(huì)出現(xiàn)對(duì)話框,提示你所選的文件以在列表中,此時(shí)點(diǎn)擊確定,返回前一對(duì)話框,然后,點(diǎn)擊”Close”即可返回主界面,返回后,點(diǎn)擊“Souce Goup 1”前的加號(hào),會(huì)發(fā)現(xiàn)examl1.asm 文件以在其中。雙擊文件名,即打開源程序。(3)工程的詳細(xì)設(shè)置:首先點(diǎn)擊左邊Project窗口的Target 1,然后使用菜單“Proget-Option for target target 1”即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,對(duì)這個(gè)對(duì)話框可謂非常復(fù)雜,共有8個(gè)頁(yè)面,要全部高

46、清可不容易,好在絕大部分設(shè)置項(xiàng)取默認(rèn)值就行了。設(shè)置完成以后安確認(rèn)返回主界面,工程建立、設(shè)置完畢。(4)編譯、連接:在設(shè)置好工程后,既可以進(jìn)行編譯、連接。選擇菜單Project-Build target,對(duì)當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改軟件會(huì)先對(duì)該文件進(jìn)行比阿尼,然后在連接以產(chǎn)生目標(biāo)代碼。編譯過(guò)程中的信息將出現(xiàn)在輸出窗口中的Build頁(yè)中,如果源程序有語(yǔ)法錯(cuò)誤,會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行,可以定到出錯(cuò)的位置,對(duì)源程序反復(fù)修改后,最終會(huì)得到如圖5.1所示的結(jié)果,提示獲得了名為examl1.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時(shí)還產(chǎn)生了一些其他相關(guān)文件可被用于KEIL的仿真與調(diào)

47、試。 圖5.1 正確連接、編譯之后的結(jié)果5.2調(diào)試過(guò)程中遇到的問(wèn)題及解決方法在進(jìn)入環(huán)境以后,遇到了很多問(wèn)題,總結(jié)如下:(1)提示無(wú)asm文件編譯時(shí)候提示:F:.XX.asmFile has been changed outside the editor, reload ?解決方法:重新生成項(xiàng)目,產(chǎn)生examl1.asm即可。(2)在進(jìn)入Keil的調(diào)試環(huán)境以后,發(fā)現(xiàn)程序有錯(cuò)解決方法:將光標(biāo)定位于需要修改的程序上,用菜單,DebugInline Assambly即可出現(xiàn)對(duì)話框,Enter New 后面的編輯框內(nèi)直接輸入需要修改的程序語(yǔ)句,輸入完之后鍵入回車將自動(dòng)指向下一條語(yǔ)句,可以繼續(xù)修改,如果不

48、在需要修改,可以點(diǎn)擊右上角的關(guān)閉按鈕關(guān)閉窗口。(3)程序調(diào)試時(shí),一些程序必須滿足一定的條件才能被執(zhí)行到解決方法:這些條件往往是異步發(fā)生或難以預(yù)先設(shè)定的,這類問(wèn)題使用的單步實(shí)行方法是很難調(diào)試的,這時(shí)就要使用發(fā)哦程序調(diào)試中的另一種非常重要是方法-斷點(diǎn)設(shè)置。斷點(diǎn)設(shè)置的方法有多種,常用的是在某一程序行設(shè)置斷點(diǎn),設(shè)置好斷點(diǎn)后可以全速運(yùn)行程序,一旦執(zhí)行到該程序行即停止,可在此觀察有關(guān)變量值,以確定問(wèn)題所在。在程序行設(shè)置/移除斷點(diǎn)的方法是將光標(biāo)定位于需要設(shè)置斷點(diǎn)的程序行,使用菜單Debug/Insert/RemoveBreakPoint設(shè)置或移除斷點(diǎn)(也可以用鼠標(biāo)在該行雙擊實(shí)現(xiàn)同樣的功能);Debug/En

49、able/Disable BreakPoint是開啟或暫停光標(biāo)所在懂行的斷點(diǎn)功能;Dubug/Disale All BreakPoint暫停所有斷點(diǎn);Debug/Kill All BreakPoint清除所有的斷點(diǎn)設(shè)置。這些功能也可以用工具條上的快捷鍵進(jìn)行設(shè)置。(4)輸入程序時(shí),有中文標(biāo)點(diǎn),用keil編譯時(shí)出現(xiàn)錯(cuò)誤解決方法:程序里有帶中文標(biāo)點(diǎn),用英文重輸入一遍(5)匯編出現(xiàn)數(shù)字、字母混淆解決方法:字母“O” 和 數(shù)字 “0”。主要錯(cuò)在這里。注意細(xì)節(jié)!6 使用軟件介紹Protel99SE是Protel公司近10年來(lái)致力于Windows平臺(tái)開發(fā)的最新結(jié)晶,能實(shí)現(xiàn)從電學(xué)概念設(shè)計(jì)到輸出物理生產(chǎn)數(shù)據(jù),以

50、及這之間的所有分析、驗(yàn)證和設(shè)計(jì)數(shù)據(jù)管理。因而今天的Protel最新產(chǎn)品已不是單純的PCB(印制電路板)設(shè)計(jì)工具,而是一個(gè)系統(tǒng)工具,覆蓋了以PCB為核心的整個(gè)物理設(shè)計(jì)。Protel 設(shè)計(jì)系統(tǒng)是一套建立在IBM兼容PC環(huán)境下的EDA電路集成設(shè)計(jì)系統(tǒng),由于其高度的集成性與擴(kuò)展性,一經(jīng)推出,立即為廣大用戶所接受,很快就成為世界PC平臺(tái)上最流行的電子設(shè)計(jì)自動(dòng)化軟件。 從Protel 98開始,Protel公司將所有應(yīng)用程序代碼從16位升級(jí)為32位,使性能大大提高。1999年初,Protel公司推出了Protel 99,其最大的改變是引入了設(shè)計(jì)數(shù)據(jù)庫(kù)文件和設(shè)計(jì)團(tuán)隊(duì)的概念,而后又推出了Protel 99的改

51、進(jìn)版-Protel 99 SE。Protel 99 SE(Second Edition)在原理圖設(shè)計(jì)和電路仿真方面增加了許多小的功能,而其最主要的改進(jìn)體現(xiàn)在電路板設(shè)計(jì)系統(tǒng)方面。使用Protel 99 SE,你將贊嘆其強(qiáng)大的功能和應(yīng)用的彈性。據(jù)說(shuō)Protel99SE的部分最新功能將兼容舉世矚目的圖形制作,編輯和處理軟件COREL DRAW。當(dāng)初歐元硬幣的設(shè)計(jì)解決方案由Corel DRAW來(lái)完成,COREL DRAW圖形套件中,它集位圖編輯處理,網(wǎng)頁(yè)動(dòng)畫,網(wǎng)頁(yè)發(fā)布,頁(yè)面布局,向量動(dòng)畫等各種必要功能于一身。將會(huì)使您"大大地"提高專業(yè)創(chuàng)作的效率。 Protel99 SE共分5個(gè)模塊

52、,分別是原理圖設(shè)計(jì)、PCB設(shè)計(jì)(包含信號(hào)完整性分析)、自動(dòng)布線器、原理圖混合信號(hào)仿真、PLD設(shè)計(jì)。 以下介紹一些Protel99SE的部分最新功能:可生成30多種格式的電氣連接網(wǎng)絡(luò)表;強(qiáng)大的全局編輯功能;在原理圖中選擇一級(jí)器件,PCB中同樣的器件也將被選中; 同時(shí)運(yùn)行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡(luò) 既可以進(jìn)行正向注釋元器件標(biāo)號(hào)(由原理圖到PCB),也可以進(jìn)行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設(shè)計(jì)上的一致性;滿足國(guó)際化設(shè)計(jì)要求(包括國(guó)標(biāo)標(biāo)題欄輸出,GB4728國(guó)標(biāo)庫(kù));方便易用的數(shù)?;旌戏抡妫嫒軸PICE 3f5);支持用CUPL語(yǔ)言和原理圖設(shè)計(jì)PLD,生成標(biāo)準(zhǔn)的JED下載文件;PCB可設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源-地層和16個(gè)機(jī)加工層;強(qiáng)大的“規(guī)則驅(qū)動(dòng)”設(shè)計(jì)環(huán)境,符合在線的和批處理的設(shè)計(jì)規(guī)則檢查;智能覆銅功能,覆鈾可以自動(dòng)重鋪;提供大量的工業(yè)化標(biāo)準(zhǔn)電路板做為設(shè)計(jì)模版;放置漢字功能;可以輸入和輸出DXF、DWG格式文件,實(shí)現(xiàn)和AutoCAD等軟件的數(shù)據(jù)交換;智能封裝導(dǎo)航(對(duì)于建立復(fù)雜的PGA、BGA封裝很有用);方便的打印預(yù)覽功能,不用修改PCB文件就可以直接控

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論