基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)_第1頁(yè)
基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)_第2頁(yè)
基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)_第3頁(yè)
基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)_第4頁(yè)
基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于C51單片機(jī)的火災(zāi)報(bào)警器設(shè)計(jì)【摘要摘要】隨著現(xiàn)代家庭用火、用電量正在逐年增加,家庭火災(zāi)發(fā)生的頻率越來越高, 火災(zāi)煙霧報(bào)警器也隨之被廣泛應(yīng)用于各種場(chǎng)合。本設(shè)訃是利用單片機(jī)結(jié)合傳感器 技術(shù)而開發(fā)了這這一火災(zāi)煙霧報(bào)警系統(tǒng)。論文中主要煙霧報(bào)警器系統(tǒng)各個(gè)組成部 分進(jìn)行了介紹,對(duì)它的主控電路和外圍設(shè)備電路之間的接口技術(shù),還有軟件方面 進(jìn)行了重點(diǎn)介紹。關(guān)鍵詞:報(bào)警器、80C51、聲光傳感器AbstracAbstract: With the modern home with fire, electricity consumption increases, the frequency of home fir

2、es is getting higher and higher Smoke detectors have also been widely used in various occasions This design is combined with the use of single-chip sensor technology development and design of the smoke alarm system The main thesis of the smoke alarm system for the various components are introduced,

3、its control circuit and peripheral equipment circuit interface between technology and software have been the focus of introduction.KeywordsKeywords: : 80C51, smoke sensor alarm.設(shè)計(jì)任務(wù):1.畫出系統(tǒng)結(jié)構(gòu)框圖2. 畫出電路原理圖3.寫出詳細(xì)說明書,要求書寫工整,原理敘述正確,訃算主要元器件的一些 參數(shù),并進(jìn)行元器件選擇4. 畫圖要求:畫圖規(guī)范化,畫圖清晰,符號(hào)要求釆用國(guó)標(biāo)統(tǒng)一,線條均勻, 提倡用計(jì)算機(jī)畫圖5. 寫出元器件

4、明細(xì)表,并附在說明書后面1 緒論 .11.1聲光報(bào)警器的發(fā)展及現(xiàn)狀 . 11.1.1火災(zāi)探測(cè)技術(shù) .11.1.2火災(zāi)探測(cè)器的發(fā)展趨勢(shì) . 11.2論文研究的目的及意義 .21.3論文內(nèi)容 .22基于C51單片機(jī)的聲光報(bào)警的設(shè)計(jì)方案.42.1任務(wù)分析.42.2設(shè)計(jì)方案.42.2.1方案設(shè)計(jì)思想 .42.2. 2總體框圖 .53.1主控電路設(shè)計(jì).6IIII3.1. 1 80C51 系列 .63.1.2 80C51的基本結(jié)構(gòu) .63.1.3 80C51單片機(jī)的的封裝和引腳 .73. 1.4 80C51單片機(jī)的時(shí)鐘 .83. 1.580C51單片機(jī)的復(fù)位 .93. 2外圍接口電路設(shè)計(jì) .103.2.

5、1 NIS-09聲光傳感器簡(jiǎn)介 .103.2.2 AD574A 簡(jiǎn)介.123. 2.3 AD574A與80C51單片機(jī)接口電路 .143.2.4聲光報(bào)警電路 .153.3總電路設(shè)計(jì) .164軟件實(shí)現(xiàn) .184.1編程KEIL環(huán)境介紹 .18in4.2程序流程.184.3程序 .195調(diào)試 .225.1調(diào)試的步驟 .225.2調(diào)試過程中遇到的問題及解決方法 .23結(jié)束語(yǔ).25謝辭.26參考文獻(xiàn).27IVIV聲光報(bào)警器的發(fā)展及現(xiàn)狀1.1.1火災(zāi)探測(cè)技術(shù)火災(zāi)作術(shù)為一種在時(shí)空上失去控制的燃燒所引發(fā)的災(zāi)害,對(duì)人類生命財(cái)產(chǎn) 和社會(huì)安全構(gòu)成了極大的威脅。山此引發(fā)的重大安全事故比皆是,所以人類一直 也未停止過

6、對(duì)它的研究?;馂?zāi)的發(fā)生和發(fā)展是一個(gè)非常復(fù)雜的非平穩(wěn)過程,它除了自身的物理化學(xué)變 化以外還會(huì)受到許多外界的千擾,火災(zāi)一旦產(chǎn)生便以接觸式(物質(zhì)流)和非接觸式 (能量流)的形式向外釋放能量。接觸式形式包括可燃?xì)怏w、燃燒氣體和煙霧、 氣溶膠等。非接觸式如聲音、輻射等?;馂?zāi)探測(cè)技術(shù)就是利用敬感元件將火災(zāi)中 出現(xiàn)的物理化學(xué)特征轉(zhuǎn)換為另外一種易于處理的物理量。各種探測(cè)器對(duì)應(yīng)的火災(zāi) 物理參量及探測(cè)器如圖1-1所示。1煙霧形狀一圖像傳感器氣體產(chǎn)物一氣體傳感器i燃燒音(非接觸式)聲音傳感器圖1-1各種探測(cè)器對(duì)應(yīng)的火災(zāi)物理參量及探測(cè)器1.1.2火災(zāi)探測(cè)器的發(fā)展趨勢(shì)探測(cè)器朝新探測(cè)技術(shù)的發(fā)展進(jìn)一步拓展了火災(zāi)探測(cè)的應(yīng)用領(lǐng)

7、域,為一些傳統(tǒng) 探測(cè)器無(wú)法勝任的環(huán)境提供了有效的手段。相關(guān)技術(shù)的發(fā)展,如傅立葉近紅外光 譜技術(shù)弱信號(hào)處理技術(shù)、低功耗MCU技術(shù)進(jìn)一步促進(jìn)了傳統(tǒng)探測(cè)技術(shù)的改進(jìn),使 得傳統(tǒng)探測(cè)器在技術(shù)和性能上有了顯著的提高。火災(zāi)著極早期探測(cè)、多傳感器復(fù) 合探測(cè)和探測(cè)器小型化、智能化的方向發(fā)展邁出了更快的步伐。近兒年來,單片機(jī)已逐步深入應(yīng)用到工農(nóng)業(yè)生產(chǎn)各部門及人們生活的各個(gè) 方面。各種類型的單片機(jī)也根據(jù)社會(huì)的需求而開發(fā)出來。單片機(jī)是器件級(jí)計(jì)算機(jī) 系統(tǒng),實(shí)際上它是一個(gè)微控制器或微處理器。曲于它功能齊全,體積小,成本低, 因此它可以應(yīng)用到任何電子系統(tǒng)中去,同樣,它也可以廣泛應(yīng)用于報(bào)警技術(shù)領(lǐng)域,使各類報(bào)警裝置的功能更加完

8、善,可靠性大大提高,以滿足社會(huì)發(fā)展的需要。靜電探測(cè)器1.2論文研究的目的及意義L1的:隨著現(xiàn)代家庭用火、用電量的增加,家庭火災(zāi)發(fā)生的頻率越來越高。 家庭火災(zāi)一旦發(fā)生,很容易出現(xiàn)撲救不及時(shí)、滅火器材缺乏及在場(chǎng)人驚慌失措、 逃生遲緩等不利因素,最終導(dǎo)致重大生命財(cái)產(chǎn)損失。消防部門的統(tǒng)計(jì)顯示,在所 有的火災(zāi)比例中,家庭火災(zāi)已經(jīng)占到了全國(guó)火災(zāi)的30%左右。家庭起火的原因林 林種種,可能在我們注意得到的地方,也可能就隱藏在我們根本就注意不到的地 方。在現(xiàn)代城市家庭里,許多人因不懂家庭安全常識(shí)引起火災(zāi)事故,使好端端的 幸福家庭眼間毀于一旦,有的導(dǎo)致家破人亡,而且一旦發(fā)生居民家庭火災(zāi),處置不 當(dāng)、報(bào)警遲緩,是

9、造成人員傷亡的重要因素。所以說,人們應(yīng)該積極了解家庭火災(zāi) 的主要起因,還有預(yù)防火災(zāi)的發(fā)生。這就是我們研究聲光報(bào)警器的LI的。意義:在我國(guó)的一些大中城市,兒乎每天都發(fā)生家庭火災(zāi),所以防火是每個(gè) 家庭必須時(shí)刻注意的問題。假如能根據(jù)您家的實(shí)際情況預(yù)先采取簡(jiǎn)單的防火措 施,一些悲劇是完全可以避免的。聲光報(bào)警器對(duì)防家庭火災(zāi),減少火災(zāi)損失具有 現(xiàn)實(shí)意義。一系列火災(zāi)造成的慘痛損失也使全國(guó)各界意識(shí)到了聲光報(bào)警器的必要性。據(jù) 調(diào)查,在最近發(fā)生火災(zāi)的大多數(shù)房屋都沒有安裝報(bào)警器。所以,聲光報(bào)警器在預(yù) 防火災(zāi)發(fā)生上有著非常重大的意義。1.3論文內(nèi)容第一章緒論本章本主要介紹了聲光報(bào)警器的發(fā)展史及發(fā)展趨勢(shì)。對(duì)聲光探 測(cè)器

10、進(jìn)行了系統(tǒng)性的闡述。還有論文研究的LI的和意義進(jìn)行了簡(jiǎn)單的解釋。第二章基于C51單片機(jī)的聲光報(bào)警的設(shè)計(jì)方案本章是根據(jù)論文的要求分析 了論文的主要任務(wù)。繼而概括出整個(gè)設(shè)計(jì)的主要思想和確定出設(shè)計(jì)方案。第三章系統(tǒng)硬件實(shí)現(xiàn)本章針對(duì)的是系統(tǒng)硬件是設(shè)計(jì)。在對(duì)整個(gè)系統(tǒng)硬件設(shè) 計(jì)時(shí),我們主要從它的主控電路80C51 (單片機(jī)的復(fù)位電路、時(shí)鐘電路)的設(shè)計(jì) 和外圉電路(聲光報(bào)警電路、A/D轉(zhuǎn)換電路)的設(shè)計(jì)來具體介紹。還有對(duì)在設(shè)計(jì) 中用到的聲光傳感器進(jìn)行了重點(diǎn)介紹。第四章軟件實(shí)現(xiàn)本章是論文的軟件部分。其中,我們熟悉了整個(gè)程序設(shè)計(jì) 的運(yùn)行環(huán)境ke訂。還有程序的編寫過程,對(duì)程序做了相應(yīng)的注釋。第五章調(diào)試本章著重與軟件的

11、調(diào)試。在運(yùn)行環(huán)境中我們調(diào)試的步驟以及在 運(yùn)行中出現(xiàn)的問題及解決的方法。最后附上結(jié)束語(yǔ)(我的感想)、謝辭和參考文獻(xiàn)。第2章基于C51單片機(jī)的聲光報(bào)警的設(shè)計(jì)方案2.1任務(wù)分析單片機(jī)應(yīng)用系統(tǒng)可以分為只能儀器表和工業(yè)測(cè)控系統(tǒng)兩大類,無(wú)論哪儀類, 都必須以市場(chǎng)需求為前提。所以,在系統(tǒng)設(shè)計(jì)前,首先要進(jìn)行廣泛的市場(chǎng)調(diào)查, 了解該系統(tǒng)的時(shí)常應(yīng)用槪況,以分析系統(tǒng)當(dāng)前存在的問題,研究系統(tǒng)的時(shí)市場(chǎng)前 景,確定市場(chǎng)開發(fā)設(shè)計(jì)的LI的和LI標(biāo)。簡(jiǎn)單地說,就是通過調(diào)研克服舊缺點(diǎn),開 發(fā)新功能。根據(jù)論文的設(shè)計(jì)要求:(1)、熟悉Keil編程環(huán)境;(2)、熟悉有關(guān)探測(cè)器的理論知識(shí);(3)、給出設(shè)計(jì)方案;此次的設(shè)計(jì)先從硬件設(shè)計(jì)上著

12、手。先要整理出聲光報(bào)警系統(tǒng)的整體思路。確 定出方案設(shè)計(jì)中需要的硬件設(shè)備。我們?cè)诖_定了大的方向基礎(chǔ)上,就應(yīng)該對(duì)系統(tǒng) 實(shí)現(xiàn)進(jìn)行規(guī)劃。包括應(yīng)該采集的信號(hào)種種類、數(shù)量、范圉,輸出信號(hào)的匹配和轉(zhuǎn) 換,傳感器的選擇,技術(shù)指標(biāo)的確定等。2.2設(shè)計(jì)方案2.2.1方案設(shè)計(jì)思想此次設(shè)計(jì)是針對(duì)于單片機(jī)原理及其應(yīng)用展開的。其中包含了我們大學(xué)三年中 所學(xué)到的相關(guān)知識(shí),運(yùn)用我們所學(xué)的電工技術(shù),傳感器技術(shù),單片機(jī)技術(shù)去設(shè)計(jì) 基于單片機(jī)的聲光報(bào)警系統(tǒng)。80C51單片機(jī)好比一個(gè)橋梁,聯(lián)系著傳感器和報(bào)警 電路設(shè)備。當(dāng)周圍的環(huán)境達(dá)到我們?cè)O(shè)定的數(shù)值時(shí),聲光傳感器把被測(cè)的物理量作 為輸入?yún)?shù),轉(zhuǎn)換為電量(電流、電壓、電阻等等)輸出。物

13、理量和測(cè)量范圍的 不同,傳感器的工作機(jī)理和結(jié)構(gòu)就不同。通常傳感器輸出的電信號(hào)是模擬信號(hào)(已 有許多新型傳感器采用數(shù)字量輸出)。當(dāng)信號(hào)的數(shù)值符合A/D轉(zhuǎn)換器的輸入等級(jí) 時(shí),可以不用放大器放大;當(dāng)信號(hào)的數(shù)值不符合A/D轉(zhuǎn)換器的輸入等級(jí)時(shí),就需 要放大器放大。而我們選擇前者,不需要用放大器,選擇數(shù)值符合A/D轉(zhuǎn)換器的 輸入等級(jí),這樣就可以簡(jiǎn)化整個(gè)系統(tǒng)的設(shè)置。傳感器將物理信號(hào)經(jīng)過A/D轉(zhuǎn)換器 轉(zhuǎn)化為可以利用識(shí)別的電信號(hào)給單片機(jī),這里我們選擇單片機(jī)的P1.0為輸入方 式,接收到信號(hào)的單片機(jī)經(jīng)過程序的設(shè)定會(huì)山P2.0作為單片機(jī)的輸出直接啟動(dòng) 報(bào)警電路。此時(shí),揚(yáng)聲器將發(fā)出高、低交替的2種叫聲,同時(shí)二極管發(fā)光

14、,這就 達(dá)到了聲光報(bào)警的效果。2.2.2總體框圖根據(jù)方案的設(shè)計(jì)思想,我們從中就可以得到了聲光報(bào)警系統(tǒng)的總體框圖如圖2-1所示下:圖2-1聲光報(bào)警系統(tǒng)的總體框圖使用80C51單片機(jī),選用聲光傳感器作為敬感元件,利用AD574A轉(zhuǎn)換器和 聲光報(bào)警電路,開發(fā)了可用于家庭或小型單位火災(zāi)報(bào)警的聲光報(bào)警器。整個(gè)設(shè)計(jì) 由4大部分構(gòu)成:聲光傳感器、A/D轉(zhuǎn)換電路、80C51單片機(jī)、聲光報(bào)警電路。 其中,聲光傳感器是將現(xiàn)場(chǎng)溫度、聲光等非電信號(hào)轉(zhuǎn)化為電信號(hào);轉(zhuǎn)換電路是將 完成將聲光傳感器輸出的模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換。聲光報(bào)警模塊山單片機(jī)和 報(bào)警電路組成,由單片機(jī)控制實(shí)現(xiàn)不同的聲光報(bào)警功能。綜合考慮各因素,本文選

15、擇NIS-09聲光傳感器用作采集系統(tǒng)的敬感元件。 它靈敏度高,穩(wěn)定性好,適合于火災(zāi)中氣體的探測(cè)。A/D轉(zhuǎn)換器選用AD574A轉(zhuǎn) 換器。第3章系統(tǒng)硬件實(shí)現(xiàn)3.1主控電路設(shè)計(jì)硬件設(shè)計(jì)中最核心的器件是單片機(jī)80C51,它一方面控制A/D轉(zhuǎn)換器實(shí)現(xiàn)模 擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,另一方面,將采集到的數(shù)字電壓值經(jīng)計(jì)算機(jī)處理得到 相應(yīng)的二進(jìn)制代碼,與設(shè)定的值作比較。整個(gè)系統(tǒng)的軟件編程就是通過匯編語(yǔ)言 對(duì)單片機(jī)80C51實(shí)現(xiàn)其控制功能。3. 1. 180C51 系列80C51系列單片機(jī)產(chǎn)品繁多,主流地位已經(jīng)形成。多年來的應(yīng)用實(shí)踐已 經(jīng)證明,80C51的系統(tǒng)結(jié)構(gòu)合理,技術(shù)成熟,許多單片機(jī)芯片傾力于提高80C51

16、系列產(chǎn)品的綜合功能,從而形成了 80C51的主流產(chǎn)品的地位,近年來推出的與 80C51兼容的主要產(chǎn)品有:ATMEL公司融入Flash存儲(chǔ)器技術(shù)推出的AT89系列單片機(jī):Philips公司推出的80C51、80C552系列高性能單片機(jī);華邦公司提出的W78C51. W77C51系列高速低價(jià)單片機(jī);ADI公司推出的Ad u C8 x x系列高精度ADC單片機(jī);LG公司推出的GMS90/97系列低壓高速單片機(jī);Maxim公司推出的DS89420高速(50MIPS)單片機(jī):Cygnal公司推出的C8051F系列高速單片機(jī)。山此可見,80C51已經(jīng)成為事實(shí)上的單片機(jī)主流系列,所以,本次設(shè)計(jì)選擇 80C5

17、1單片機(jī)。3. 1. 2 80C51的基本結(jié)構(gòu)80C51的基本結(jié)構(gòu)如圖所示IXTCiIXTCi IMOIMOftft pp P? rsrsIXIX D D !XD!XD圖3-1 80C51的基本結(jié)構(gòu)F1.7F1.7 KT/VnKT/Vn rXD/P3.0rXD/P3.0 TXD/P3.JTXD/P3.J H7KJ/P3.2H7KJ/P3.2 BnT/?3.3BnT/?3.3 TO&3.4TO&3.4 T/?3.ST/?3.SW?3.6W?3.6 WP3.7WP3.7 XTAL1XTAL1 KTAL2KTAL2 14040/ /39393 338381 137375 536363535T3434

18、予333380C5180C51 3232101031311111303012122929131320201414272715152525161625251717ZQZQ1818232313132222?0?021W W時(shí)f g g燈u u丹*P P葩HLALEALE 加 G G80C5180C51山圖可見,80C51單片機(jī)主要山以下部分組成:(1) CPU系統(tǒng)8位CPI;,含布爾處理器;時(shí)鐘電路;總線控制邏輯。(2) 存儲(chǔ)器系統(tǒng)4KB的程序存儲(chǔ)器(ROM/EPROM/Flash,可擴(kuò)至64KB) ; 128KB數(shù)據(jù)存儲(chǔ)器 (RAM,可再擴(kuò)64KB);特殊功能寄存器SFR。(3)I/O 口和其他

19、動(dòng)能單元4個(gè)并行I/O 口; 2個(gè)16位定時(shí)/計(jì)數(shù)器;1個(gè)全雙工異步審行口;中斷系 統(tǒng)(5個(gè)中斷源,2個(gè)優(yōu)先級(jí))3. 1. 3 80C51單片機(jī)的的封裝和引腳80C51系列單片機(jī)采用雙列直插式(DIP) . QFP44 (Quad Flat Pack)和LCC (Leaded Chip Caiier)形式封裝。這里僅介紹常用的總線型DIP40封裝。如圖 3-2所示。40個(gè)引腳按引腳功能大致可分為4個(gè)種類:電源、時(shí)鐘、控制和I/O引腳 電源:VCC -芯片電源,接+5V;VSS -接地端;圖3-2 80C51單片機(jī)的的封裝和引腳(2) 時(shí)鐘:XTAL1、XTAL2 -晶體振蕩電路反相輸入端和輸出

20、端。(3) 控制線:控制線共有4根,ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖ALE功能:用來鎖存P0 口送出的低8位地址PROG功能:片內(nèi)有EPROM的芯片S在EPROM編程期間,此引腳輸入編程脈沖。PSEN:外ROM讀選通信號(hào)。RST/VPD:復(fù)位/備用電源。F1.4F1.4 PI.SPI.S P1.6P1.6 FZ. r r P2.6P2.6P2P2 5 5FZ.FZ. 4 4P2P2 3 3P2.2P2.2FZ.FZ. 1 1P2P2 0 0VccVccPIOPIOPD.PD. 1 1mm 2 2POPO 3 3PD.PD. 4 4mm 5 5POPO 6 6PO.PO.

21、7 7ALE/?RSGnALinALi占HALZHALZRST (Reset)功能:復(fù)位信號(hào)輸入端。VPD功能:在Vcc掉電情況下,接備用電源。EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。EA功能:內(nèi)外ROM選擇端。Vpp功能:片內(nèi)EPROM的芯片,在EPROM編程期間,施加編程電源Vppo(4) I/O 線80C51共有4個(gè)8位并行I/O端口: PO、Pl、P2、P3 口,共32個(gè)引腳。F3 口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。3. 1. 4 80C51單片機(jī)的時(shí)鐘(1)振蕩器和時(shí)鐘電路80C51內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈

22、沖, 外部還需附加電路。80C51的時(shí)鐘產(chǎn)生方法有以下兩種。a內(nèi)部時(shí)鐘方式利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體振蕩器(簡(jiǎn) 稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。外 接晶振時(shí),G和G的值通常選擇為30pF左右;G、G對(duì)頻率有微調(diào)作用,晶振或 陶瓷諧振器的頻率范圉可在1.2MHz12MHz之間選擇。為了減小寄生電容,更好 地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)引腳 XTAL1 和 XTAL2 靠近。圖3-380C51時(shí)鐘電路接線方法b外部時(shí)鐘方式togrtogr = =WC5IWC5I M M機(jī)1GNDGNDMK

23、5IMK5I 片軌1此方式是利用外部振蕩脈沖接入XTAL1或XTAL2oHM0S和CHMOS單片機(jī)外時(shí) 鐘信號(hào)接入方式不同。表3-1 80C51單片機(jī)外部時(shí)鐘接入方法接線方法芯片類型XTAL1XTAL2HMOS接地接片外時(shí)鐘脈輸入端(引腳需 接上拉電阻)CHMOS接片外時(shí)鐘 脈沖輸入端懸空3.1.5 80C51單片機(jī)的復(fù)位在整個(gè)聲光報(bào)警系統(tǒng)中,要進(jìn)行實(shí)驗(yàn),必須對(duì)整個(gè)系統(tǒng)先復(fù)位。復(fù)位是 單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位。其作用是 使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作, 因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的

24、,必 須配合相應(yīng)的外部復(fù)位電路才能實(shí)現(xiàn)。復(fù)位電路設(shè)計(jì)單片機(jī)的外部復(fù)位電路有上電復(fù)位和上電和按鍵均有效的復(fù)位兩種。我們?cè)?設(shè)計(jì)單片機(jī)復(fù)位時(shí),選用上電復(fù)位。上電復(fù)位上電復(fù)位利用電容器的充電實(shí)現(xiàn)。圖3-4是80C51單片機(jī)的上電復(fù)位電路。 圖中給出了復(fù)位電路參數(shù)。圖3-5是80C51單片機(jī)的上電+按鍵復(fù)位電路。上電要求接通電源后,單片機(jī)實(shí)現(xiàn)自動(dòng)復(fù)位操作。上電瞬間RST引腳獲得高 電平,隨著電容的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要 能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。該電路典型 的電阻值和我電容參數(shù)為:晶振為12MHZ,電容值為10uF,電阻值為8.2K

25、。復(fù)位狀態(tài):初始復(fù)位不改變RAM (包括工作寄存器ROR7)的狀態(tài),復(fù)位后80C51片內(nèi) 各特殊功能寄存器的狀態(tài)如表所示,表中“x”為不定數(shù)。表3-2復(fù)位后的內(nèi)部特殊功能寄存器狀態(tài)圖3-5上電+按鍵復(fù)位電路寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTMODOOHACCOOHTCONOOHBOOHTHOOOHBSWOOHTLOOOHSP07HTH1OOHDPTR0000HTLOOOHP0 P3FFHSCONOOHIPxxOOOOOOBSBUFxxxxxxxxBIEOxOOOOOOBPCONOxxxOOOOB復(fù)位時(shí),ALE和岀EN成輸入狀態(tài),即ALE二旳EN二1,片內(nèi)RAM不受復(fù)位影響。 復(fù)位后,

26、P0P3 口輸出高電平且使這些雙向口皆處于輸入狀態(tài),并將07H寫入 堆棧指針SP,同時(shí)將PC和其余專用寄存器清0。此時(shí),單片機(jī)從起始地址0000H 開始重新執(zhí)行程序。所以,單片機(jī)運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可使其復(fù)位后重新 運(yùn)行。3.2外圍接口電路設(shè)計(jì)3. 2. 1 NIS-09聲光傳感器簡(jiǎn)介在設(shè)計(jì)中我們之所以選用NIS-09聲光傳感器,是因?yàn)樗妮敵瞿M量與我 們所用的A/D轉(zhuǎn)換器輸入等級(jí)相符合。(NIS-09聲光傳感輸出電圧是5. 6+0. 4v, A/D轉(zhuǎn)換器的輸入量程是0+10V)聲光傳感器主要有以下兩種:(1) 散射式在發(fā)光管和光敬電阻之間設(shè)置遮光屏,無(wú)聲光時(shí)光敬元件接收不到信號(hào), 有聲

27、光時(shí)使光敏元件發(fā)出信號(hào)。(2) 離子式用放射性同位素0iAm241放射出微量的a射線,使附近空氣電離,當(dāng)平行平 板電極間有直流電壓時(shí),產(chǎn)生離子電流Ik。有聲光時(shí),微粒將離子吸附,而且 離子本身也吸收a射線,其結(jié)果是離子Ik減小。1010聲光強(qiáng)度(%英尺)輸出電壓(V)誤差(AV)05.60.4015. 30. 50. 30. 125.00. 50.60. 134. 70. 50.90.244. 40.51.20.254.20. 51.40.2電源電壓輸出電壓(V)63. 30. 395.60.4128.00.71510.00. 851813.01.0溫度(C) 輸出(V)05. 150.425

28、5.60.4505. 850.4濕度(%C)輸出(V)305. 750. 5605.60.4905.450.4若有一個(gè)密封裝有純凈空氣的離子室作為參比元件,將兩者的離子電流比 較,就可以排除外界干擾,得到可靠的檢測(cè)結(jié)果。在本次設(shè)計(jì)中,我們選用NIS-09聲光傳感器。它是離子式煙霧傳感器,是 日本NEMOTO公司專為檢測(cè)延誤而精心設(shè)計(jì)的新型傳感器。檢測(cè)方式:離子型,一源兩室。放射參數(shù):電源電壓是DC 9v,輸出電壓是5. 6+0. 4v電流損耗是27+3pA ,靈敏度是0. 6+0. Ivo特性參數(shù)如下表所示:a靈敬度特性(根據(jù)UL217標(biāo)準(zhǔn)風(fēng)速0. 1M/秒)b電源電壓特性(25C 60%RH

29、)c溫濕度特性 溫度特性(溫度60%)d溫度特性(溫度25C)源: 放射元素是媚241,放射量是平均 33. 3KBq.二0. 9uCi (29K37KBq)。工作環(huán)境:電源電壓是DC6. 0-18. 0V,最大24V;溫度是0-50C,最大- 10-60C, 溫度95%。保存溫度-25-80C,溫度95%。典型特性:長(zhǎng)期穩(wěn)定性測(cè)驗(yàn)如下表所示:IIII表3-3特性參數(shù)(a)靈敏度特性(b)電源電壓特性(0溫度特性(d)溫度特性1212 / / 8 8 AOAO CECE+ + 5V5V 禪 R R C C”數(shù)了輸出D1ID1OD1ID1OD0D0叫AGAGBIPOFFBIPOFFREFINRE

30、FINREI-OUTREI-OUT1212表3-4長(zhǎng)期穩(wěn)定性測(cè)驗(yàn)名稱方法標(biāo)準(zhǔn)髙溫儲(chǔ)存特性高溫806C 5不通電的情況下儲(chǔ)存72小時(shí)保持特性參數(shù)不變,不變形、 不變色、不產(chǎn)生裂紋低溫儲(chǔ)存特性低溫-300C 5不通電的情況儲(chǔ)存72小時(shí)保持特性參數(shù)不變,不變形、 不變色、不產(chǎn)生裂紋高溫儲(chǔ)存特性在40C 5,85C5RH不通電的情況儲(chǔ)存7 2小時(shí)保持特性參數(shù)不變,不變形、 不變色、不產(chǎn)生裂紋震動(dòng)實(shí)驗(yàn)共振頻率10-35H乙 振幅5HZ0. 25,如果不 產(chǎn)生共振,則用頻率35HZ震蕩4小時(shí)保持特性參數(shù)不變,不變形、 不變色、不產(chǎn)生裂紋跌落實(shí)驗(yàn)三個(gè)不同方向把器件從1M髙度自由落體跌 落到木板上保持特性參數(shù)

31、不變,不變形、 不變色、不產(chǎn)生裂紋3. 2. 2 AD574A 簡(jiǎn)介AD574A型快速12位逐次比較式A / D轉(zhuǎn)換器為美國(guó)模擬器件公司產(chǎn)品。一 次轉(zhuǎn)換時(shí)間為25 us,轉(zhuǎn)換速率為40HSPS,分辨率12位,非線性誤差小于土 1/2LSB。釆用28腳雙立直插式封裝,各引腳功能如圖3-6所示,圖3-7是其管 腳圖。I I D/AD/A輸出1010 V V 堆準(zhǔn)三杰數(shù)字緩沖器REFINREFIN 棋擬地I2DI2D;AHAH 換益控制邏樹AD574AAD574AI I o o D D rsB1BIRQrsB1BIRQB8B7B6B5B8B7B6B5B4B3B2BIB4B3B2BIR0GNR0GN

32、STDDDUDDSTDDDUDDDDDDDDDCDDDDDDDC 2s2726252s272625- -242322_2242322_2l_20-l_20-l9lgT7l9lgT7一址1515一*5VJ_*5VJ_ 12/8412/84- - 駙 R/b-|-R/b-|- CECEf f + + I5VI5V知 REFOUTA AOND2 REFINREFIN 衛(wèi) -叫 BIPOFFBIPOFF JiJi 叫呂 2020 V V圖3-7管腳圖AD574A引腳功能:DB11DB0:12位數(shù)據(jù)輸出線。DB11為最高,DB0為最低,它們可由控制邏 輯決定是輸出數(shù)據(jù)還是對(duì)外成高阻狀態(tài)。12/8:數(shù)據(jù)模

33、式選擇。當(dāng)此引腳輸入為高電平時(shí),12為數(shù)據(jù)并行輸出;當(dāng) 此引腳為低電平時(shí),與引腳A0配合,把12位數(shù)據(jù)分兩次輸入。應(yīng)該注意,此引 腳不與TTL兼容,若要此引腳為高電平,應(yīng)直接按腳1:若要此引腳為低電平, 應(yīng)接引腳15.A0:字節(jié)選擇控制。此引腳有兩個(gè)功能,一個(gè)功能是決定方式是12位是8 位。若A0二0,進(jìn)行全12位轉(zhuǎn)換,轉(zhuǎn)換時(shí)間為25us;若A0二1,僅進(jìn)行8位轉(zhuǎn)換, 轉(zhuǎn)換時(shí)間為16us,另一個(gè)功能是決定輸出數(shù)據(jù)是高8位還是低4位。若A0二0, 高8位數(shù)據(jù)有效;若A0=l,低4位有效,中間4位為“0”,高4位為高阻狀態(tài)。 因此,低4位數(shù)據(jù)讀出時(shí),應(yīng)遵循左對(duì)齊原則(即:高8位+低4位+中間4位的

34、 0000)。CS:芯片選擇。當(dāng)CS二0時(shí),AD574A被選中:否則AD574A不進(jìn)行任何操作。R/C:讀/轉(zhuǎn)換選擇。當(dāng)R/O1時(shí),允許讀取結(jié)果;當(dāng)R/C二0,允許A/D轉(zhuǎn)換。CE:芯片啟動(dòng)信號(hào)。CE二1時(shí),允許讀取結(jié)果,到底是轉(zhuǎn)換還是讀取結(jié)果與 R/C有關(guān)。STS:狀態(tài)信號(hào)。STS二1表示正在進(jìn)行A/D轉(zhuǎn)換,STS二0表示轉(zhuǎn)換已完成。REFOUT: +10V基準(zhǔn)電壓輸出。REIN準(zhǔn)電壓輸入。只有此腳把從“REFOUT ”腳輸岀的基準(zhǔn)電壓引入到AD574A 內(nèi)部的12位DAC(AD565),才能進(jìn)行正常的A/D轉(zhuǎn)換。BIP0FF:雙極性補(bǔ)償。此引腳適當(dāng)連接,可實(shí)現(xiàn)單極性或雙極性輸入。10VIN

35、: 10V量程模擬信號(hào)輸入端。對(duì)單極性信號(hào)為10V量程的模擬信號(hào)輸 入端,對(duì)雙極性信號(hào)為5V模擬信號(hào)輸入腳。13136 6 7 7 V09V09 0 0 1-34561-3456 7 7 3 3 4 4 5 5 62826282I I 222222VLVCCVEEVLVCCVEEA A74745 5D Do o ! ! c c “s/8“s/8 OI234S670A91OI234S670A91 JsJs o o 兀 E E T T R R DDDDDDDDDDDOCARCS112DDDDDDDDDDDOCARCS112AGNDAGND DGNDDGNDREF1NREF1N REFOUTREFO

36、UT BIPOFFBIPOFFlOulOu2OU【N20VIN: 20V量程輸入端。單極性信號(hào)為20V量程模擬信號(hào)輸入端,對(duì)雙極 性信號(hào)為 10V量程模擬信號(hào)輸入腳。DG:數(shù)字地。各字電路(譯碼器、門電路、觸發(fā)器等)及“+5V”的電源地。AG:模擬地。各模擬器件(放大器、比較器、多路開關(guān)、取樣保持器等)地 及“+15V”和-15V電源地。VLOG:邏輯電路供電輸入端,+5V.VCC:正電源端,VCC二+12+15V。VEE:負(fù)電源端,VEE二-15-12VoAD574A的單極性和雙極性輸入如圖3-8所示圖3-8 G)單極性輸入(b) 雙極性輸入單極性輸入電路:如圖3-8 (a)所示是AD574

37、A系列的模擬量單極性輸入電 路。當(dāng)輸入電壓為VIN二0+10V時(shí),應(yīng)從引腳10VIN輸入,當(dāng)VI?(二020V,應(yīng) 從20VIN輸入。數(shù)字量D為無(wú)符號(hào)二進(jìn)制碼,計(jì)算公式為D=4096VIN/VFSo圖中 電位器RP1用于調(diào)零,即保證在VIN二0時(shí),輸出數(shù)字量D為零。雙極性輸入電路:電路圖如圖(b)所示。圖中RP2用于調(diào)整增益,其作用 與圖(a)中RP2的作用相同。圖中RP1用于調(diào)整雙極性電路輸入零點(diǎn)。如果輸 入信號(hào)VI在-5二5V之間,應(yīng)從10VIN引腳輸入;當(dāng)VI、在-10二10V之間, 應(yīng)從20VIN引腳輸入。根據(jù)聲光傳感器所輸出的電壓量,故選用單極性輸入。3. 2. 3 AD574A與8

38、0C51單片機(jī)接口電路AD574A系列的所有型號(hào)和功能因腳和排列都相同,因而它們與單片機(jī)借口 也相同。AD574A所有型號(hào)都有內(nèi)部始終電路,不需要任何外接器件和連線。圖3-9 為AD574A與80C51單片機(jī)的接口電路。該電路采用雙極性輸入方式。根據(jù)聲光 傳感器輸出電壓是5. 6+0. 4v,在設(shè)計(jì)時(shí)我們選用單極性輸入方式。1414o+5o+5 V V O O + + 15V15V o o 1515 V V1O0Q1O0Q1212 1O0Q1O0Q-5-5-+5V+5V1-1O-1-1O-+1OV+1OV1515 I I1010圖3-9 AD574A與80C51單片機(jī)的接口電路當(dāng)AD574A與

39、80C51單片機(jī)配置時(shí),曲于AD574A輸出12位數(shù)據(jù),所以當(dāng)單 片機(jī)讀取轉(zhuǎn)換結(jié)果時(shí),應(yīng)分兩次進(jìn)行:當(dāng)A0二0時(shí),讀取高8位;當(dāng)A0二1時(shí),讀 取低4位。圖中AD574A的STS與80C51的P1. 0線相連,故采用查詢方式讀取轉(zhuǎn) 換結(jié)果。3. 2. 4聲光報(bào)警電路聲光報(bào)警電路山單片機(jī)P2.0 口控制,輸出報(bào)警信號(hào)(高低電平間隔1 s的 脈沖信號(hào)),驅(qū)動(dòng)聲光報(bào)警電路,直至按復(fù)位鍵RESET和開關(guān)鍵。聲光報(bào)警電路由555定時(shí)器、揚(yáng)聲器和普通發(fā)光二極管組成,電路圖如圖 3-10所示。其中555定時(shí)器接成了一個(gè)低頻多諧振蕩器,其控制電壓出入端5腳與單片 機(jī)80C51的P2. 0端相連,受P2. 0腳

40、輸出的脈沖信號(hào)控制。由電容C4的充沖放 電作用,當(dāng)P2.0= 1時(shí),555輸出脈沖的振蕩頻率較低,當(dāng)P2.0 = 0時(shí),555輸 岀脈沖的振蕩頻率較高。該脈沖信號(hào)經(jīng)隔置電容C2加到揚(yáng)聲器上,揚(yáng)聲器將發(fā) 出高、低交替的2種叫聲,同時(shí)P2.0腳輸出的高低電平間隔1 s的脈沖信號(hào)經(jīng) 電阻R1加到發(fā)光二極管LED上,LED將閃爍發(fā)光,達(dá)到聲光同時(shí)報(bào)警的效果。151574LS37374LS373V(xV(x圖3-10聲光報(bào)警電路3. 3總電路設(shè)計(jì)根據(jù)要求,設(shè)計(jì)中我們選用80C51單片機(jī)。80C51單片機(jī)的主控電路包括時(shí) 鐘電路、復(fù)位電路。兩電路的接法在3. 1.4和3.1.5中分別做了詳細(xì)的介紹,這 里

41、不再贅述。而傳感器是將非電量需要轉(zhuǎn)換成與非電量有一定關(guān)系的電量。當(dāng)今信息時(shí) 代,隨著電子汁算機(jī)技術(shù)的非速發(fā)展,自動(dòng)檢測(cè),自動(dòng)控制技術(shù)顯露非凡的能力, 而大多數(shù)設(shè)備只能處理電信號(hào),也就需要把被測(cè),被控非電量的信息通過傳感器 轉(zhuǎn)換成電信號(hào)??梢姡瑐鞲衅魇菍?shí)現(xiàn)自動(dòng)檢測(cè)和自動(dòng)控制的首要環(huán)節(jié)。沒有傳感 器對(duì)原始信息進(jìn)行精確可靠的捕捉和轉(zhuǎn)換,就沒有現(xiàn)代自動(dòng)檢測(cè)和自動(dòng)控制系 統(tǒng)。沒有傳感器就沒有現(xiàn)代科學(xué)技術(shù)的迅速發(fā)展。設(shè)計(jì)中,傳感器我們選擇的是 NIS-09聲光傳感器。必須利用微粒的特點(diǎn)檢測(cè)。而NIS-09聲光傳感器它的性能參 數(shù)是我們選擇它理宙。聲光傳感器連接在A/D轉(zhuǎn)換器的輸入接口。我們將主控電路和外圉

42、接口電路(80C51與A/D轉(zhuǎn)換器的接口電路、80C51與 聲光報(bào)警電路)連接起來,就得到了基于80C51的聲光報(bào)警總電路圖。當(dāng)外部環(huán)境達(dá)到一定值時(shí),聲光傳感器就會(huì)產(chǎn)生模擬電壓,將它作為輸出的 模擬信號(hào)經(jīng)AD574A轉(zhuǎn)換器轉(zhuǎn)換為80C51單片機(jī)所能識(shí)別的數(shù)字電壓量。通過P1.0 檢測(cè)信號(hào)。當(dāng)有信號(hào)輸入時(shí),經(jīng)程序設(shè)定就會(huì)驅(qū)動(dòng)80C51單片機(jī)的P2. 0。而P2. 0 是與聲光報(bào)警電路相連接的。綜上所述,得出總電路圖如圖3-11所示:1616THOLDTHOLDRESETRESET VCCVCC TRIGTRIG DIGHIGDIGHIGICP 2 2 0looklook a aoi r ZLTG

43、NDGND幾470470 k k a a R R、lOkOlOkO7cT圖3T1聲光報(bào)警系統(tǒng)總電路圖第4章軟件實(shí)現(xiàn)4.1編程KEIL環(huán)境介紹Keil C51是美國(guó)Ke訂Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟 件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明 顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語(yǔ)言后再使用C來開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全 Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì) 到Ke訂C51生成的標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊, 容易理解。在開發(fā)大

44、型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。KEILC51標(biāo)準(zhǔn)C編譯 器為80C51微控制器的軟件開發(fā)提供了 C語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效, 快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng),更加貼近CPU本身,及其它的衍生產(chǎn) 品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含: 編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE可為 它們提供單一而靈活的開發(fā)環(huán)境。C51 V7版本是目前最高效、靈活的8051開發(fā)平臺(tái)。它可以支持所有8051 的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時(shí)支持其它第三方開發(fā)工具。 因此,C51 V7版本無(wú)疑是8051開發(fā)用戶的最

45、佳選擇。C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開 發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由 C51及A51編譯器編譯生成目標(biāo)文件(.OBJ) o目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文 件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)LI標(biāo)文件(.ABS) o ABS文件由 0H51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代 碼級(jí)調(diào)試,也可山仿真器使用直接對(duì)標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯 器如E

46、PROM中。4.2程序流程在整個(gè)程序流程中,經(jīng)常要控制一部分指令重復(fù)執(zhí)行若干次,以便簡(jiǎn)短的程 序完成大量的處理任務(wù)。這種按某種控制規(guī)律重復(fù)執(zhí)行的程序稱為循環(huán)程序。循 環(huán)程序有先執(zhí)行后判斷何先判斷后執(zhí)行兩種基本結(jié)構(gòu)。而我們要選用的是先判斷 后執(zhí)行。因?yàn)槁暪鈧鞲衅鞯妮敵鲭妷毫繛?. 66. 0v之間。根據(jù)單極性輸入的轉(zhuǎn)換關(guān) 系D二4096VIN/VFS,計(jì)算出它的數(shù)字量最小值:Dl=4096X5. 6/10=2294;最大值1818 D2 二4096X6/10二2458.然后把它們的數(shù)字量轉(zhuǎn)化為二進(jìn)制數(shù)。DI、D2轉(zhuǎn)換為二進(jìn)制數(shù)分別是 100111110110. lOOllOOllOlOo由于AD

47、574A輸出12位數(shù)據(jù),所以當(dāng)單片機(jī)讀取轉(zhuǎn)換結(jié)果時(shí),應(yīng)分兩次進(jìn)行: 當(dāng)A0二0時(shí),讀取高8位;當(dāng)A0二1時(shí),讀取低4位。AD574A的STS與80C51的 P1.0線相連,故采用查詢方式讀取轉(zhuǎn)換結(jié)果。我們將A/D轉(zhuǎn)換器讀取結(jié)果存入17H、18H、19H、20H單元中。其中17H存 入的是較小數(shù)D1的高八位10011111, 18H存入的是較小數(shù)D1的低四位0110; 19H存入的是較大數(shù)的高八位10011001, 20H存入的是較大值的低四位1010c將數(shù)值存入單元以后,接下來就是比較。當(dāng)被測(cè)的數(shù)值經(jīng)計(jì)算機(jī)的轉(zhuǎn)換在比 較范圉內(nèi),經(jīng)程序設(shè)定80C51單片機(jī)的P2. 0就會(huì)輸出脈沖啟動(dòng)報(bào)警電路程序

48、。 程序流程圖如圖4-1所示。C開Q調(diào)用A/D轉(zhuǎn)換子程序圖4-1流程圖4.3程序ORG0000HSTART: MOVDPTR, # 0FFF8H;送端口地址入DPTRMOVXDPTR, A;啟動(dòng) AD574ASETP1.0;置Pl. 0為輸入方式LOOP:JBP1.0, LOOP;檢測(cè)Pl. 0 口1919INCDPTR;使R/C為1MOVXA, DPTR;讀取高8位數(shù)據(jù)MOV41H, A;高8位內(nèi)容存入41H單元INCDPTR;使R/C、A0均為1INCDPTRMOVXA, DPTR;讀取低4位MOV40H, A;將低4位內(nèi)容存入40H單元MOV17H, # 10001U1B;將比較的數(shù)值存

49、入單元中MOV18H, #0U0BMOV19H, #100U011BMOV20H, #1010BMOVAL, 40H;將40H的內(nèi)容存入AL單元中MOVAH, 41H;將41H的內(nèi)容存入AH單元中01: CMPAH, 17H;比較最小數(shù)值的高八位JALP1JBELP2LP1:JMP03LP2: JMP0102:CMPAL,18H;比較最小值的低四位JALP3JBELP4LP3: JMP01LP4:JMP0403:CMPAH, 19H;比較最大值的高八位JALP5JBELP6LP6:JMP03LP5: JMP0104 :CMPAH ,20H;比較最大值的低四位JALP7JBELP8LP8:JMP

50、01LP7:JMP0405:SETP2. 0;報(bào)警2020DEL:MOVR7, #200;延時(shí)50msDELI:MOVR6,#123NOPDEL2:DJNZR6,DEL2DJNZR7, DELIRET:返回END;結(jié)束2121第5章調(diào)試5.1調(diào)試的步驟(1)源文件的建立:使用菜單“File-New”或者點(diǎn)擊工具欄的新建文件按 鈕,即可在項(xiàng)U窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口中輸入?yún)R編語(yǔ) 言源程序(4. 2小節(jié)所示)。保存該文件,加上擴(kuò)展名(.dsm或&51),這里將 文件保存為examll. asm。(2)建立工程文件:點(diǎn)擊“Project-New Project n菜單,出現(xiàn)以個(gè)對(duì)

51、話框, 要求給工程起一個(gè)名字,我們輸入examll,不需要擴(kuò)展名,點(diǎn)擊保存按鈕,出現(xiàn) 第二個(gè)對(duì)話框。這個(gè)對(duì)話框要求選擇H標(biāo)CPU (即我們所使用的芯片型號(hào)80C51) 點(diǎn)擊ATMEL前面的“ + ”號(hào),展開該層,點(diǎn)擊其中的80C51,然后點(diǎn)擊確定按鈕。 回到主界面,此時(shí),在工程窗口的文件頁(yè)中,出現(xiàn)了 “Targetl”,前面有“ + ” 號(hào),點(diǎn)擊“ + ”展開,可以看到下一層的“Source Groupl”,這時(shí)的工程還是一 個(gè)空工程,里面什么文件也沒有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊“Souce Group”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)下拉菜單。選 中其中的Add fi

52、le to GroupM Souce Group 1 M ,對(duì)話框,要求尋找源文件, 注意該對(duì)話框下面的“文件類型“默認(rèn)為C Souce file (*. c),也就是以C為 擴(kuò)展名的文件,而我們的文件是以asm為擴(kuò)展名的,所以在列表框中找不到 examll. as叫要將文件類型該掉,點(diǎn)擊對(duì)話框中”文件類型后的下拉列表,找 到并選中Asm Souce File(*. asm, *. a51),這樣,在列表框中就可以找到 examll. asm文文件了。雙examll. asm文件,將文件加入項(xiàng)目,注意,在文件加 入項(xiàng)LI后,該對(duì)話框并不消失,等待繼續(xù)加入其他文件,但初學(xué)時(shí)常會(huì)認(rèn)為操作 沒有成功

53、而再次雙擊同一文件,這時(shí)會(huì)出現(xiàn)對(duì)話框,提示你所選的文件以在列表 中,此時(shí)點(diǎn)擊確定,返回前一對(duì)話框,然后,點(diǎn)擊” Close”即可返回主界面, 返回后,點(diǎn)擊Souce Goup 1”前的加號(hào),會(huì)發(fā)現(xiàn)examll. asm文件以在其中。 雙擊文件名,即打開源程序。(3)工程的詳細(xì)設(shè)置:首先點(diǎn)擊左邊Project窗口的Target 1,然后使用 菜單uProget-Option for target * target 1 * 即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框, 對(duì)這個(gè)對(duì)話框可謂非常復(fù)雜,共有8個(gè)頁(yè)面,要全部高清可不容易,好在絕大部 分設(shè)置項(xiàng)取默認(rèn)值就行了。設(shè)置完成以后安確認(rèn)返回主界面,丄程建立、設(shè)置完 畢。

54、(4)編譯、連接:在設(shè)置好工程后,既可以進(jìn)行編譯、連接。選擇菜單 Project-Build target,對(duì)打前工程進(jìn)行連接,如果當(dāng)前文件已修改軟件會(huì)先對(duì) 該文件進(jìn)行比阿尼,然后在連接以產(chǎn)生H標(biāo)代碼。編譯過程中的信息將出現(xiàn)在輸2222 出窗口中的Bu訂d頁(yè)中,如果源程序有語(yǔ)法錯(cuò)誤,會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行, 可以定到出錯(cuò)的位置,對(duì)源程序反復(fù)修改后,最終會(huì)得到如圖5-1所示的結(jié)果, 提示獲得了名為examll.hex的文件,該文件即可被編程器讀入并寫到芯片中, 同時(shí)還產(chǎn)生了一些其他相關(guān)文件可被用于KEIL的仿真與調(diào)試。Build target Target 1 assembling exam

55、1 inking , ,creating hex file from examlexoinl - 0 Error (s), 0 Warning (|F|Fl l BuildBuild R 刖 人 FindFind itbitb FibsFibs: / /圖5-1正確連接、編譯之后的結(jié)果5.2調(diào)試過程中遇到的問題及解決方法在進(jìn)入環(huán)境以后,遇到了很多問題,總結(jié)如下:(1) 提示無(wú)asm文件編譯時(shí)候提示:F:. . . XX. asmFile has been changed outside the editor, reload ?解決方法:重新生成項(xiàng)目,產(chǎn)生examl 1 .asm即可。(2) 在

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論