基于52單片機(jī)的甲醛檢測(cè)儀課程設(shè)計(jì)_第1頁(yè)
基于52單片機(jī)的甲醛檢測(cè)儀課程設(shè)計(jì)_第2頁(yè)
基于52單片機(jī)的甲醛檢測(cè)儀課程設(shè)計(jì)_第3頁(yè)
基于52單片機(jī)的甲醛檢測(cè)儀課程設(shè)計(jì)_第4頁(yè)
基于52單片機(jī)的甲醛檢測(cè)儀課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩79頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上目錄第章 緒論1.1 引言1.1.1甲醛的特性及危害甲醛是一種無色,有強(qiáng)烈刺激性氣味的氣體。易溶于水、醇和醚。甲醛在常溫下是氣態(tài),通常以水溶液形式出現(xiàn)。其37%的水溶液稱為福爾馬林,醫(yī)學(xué)和科研部門常用于標(biāo)本的防腐保存。此溶液沸點(diǎn)為19.5故在室溫時(shí)極易揮發(fā),隨著溫度的上升甲醛的揮發(fā)速度加快。在我國(guó)有毒化學(xué)品優(yōu)先控制名單中甲醛列居第二位。1.1.2甲醛的來源1.室內(nèi)裝修所用的合成板材,如膠合板、細(xì)木工板、高密度板、刨花板。這些板材中甲醛起膠合劑、防腐劑的作用,主要用于加強(qiáng)板材的硬度、防蟲、防腐。板材中殘留的和未參與反應(yīng)的甲醛逐漸向周圍環(huán)境釋放,是室內(nèi)空氣中甲醛的主要來源

2、。2.用合成板材制造的家具,廠家為了追求利潤(rùn)使用不合格的板材,再粘貼面材料時(shí)使用不合格的膠水,造成家具中甲醛含量超標(biāo)。3.含有甲醛成分并有可能向外界散發(fā)的各類裝飾材料,如壁紙、地毯、油漆。第章 概述2.1系統(tǒng)總概述本論文主要完成甲醛檢測(cè)儀軟件設(shè)計(jì),設(shè)計(jì)內(nèi)容包括:A/D轉(zhuǎn)換器程序、控制程序、超標(biāo)報(bào)警、鍵盤檢測(cè)、數(shù)據(jù)顯示等。本系統(tǒng)采用單片機(jī)為控制核心,以實(shí)現(xiàn)便攜式甲醛檢測(cè)儀的基本控制功能。系統(tǒng)主要功能內(nèi)容包括:數(shù)據(jù)處理、時(shí)間設(shè)置、開始測(cè)量、超標(biāo)報(bào)警、鍵盤檢測(cè)、自動(dòng)休眠:儀器若不進(jìn)行稱量操作,5分鐘后自動(dòng)進(jìn)入休眠模式,以降低電源消耗。本系統(tǒng)設(shè)計(jì)采用功能模塊化的設(shè)計(jì)思想,系統(tǒng)主要分為總體方案設(shè)計(jì)、硬件

3、和軟件的設(shè)計(jì)三大部分。2.2總體方案設(shè)計(jì)室內(nèi)甲醛污染對(duì)人身體健康影響較大,標(biāo)準(zhǔn)規(guī)定的方法絕大多數(shù)是化學(xué)分析法,使用的手段是實(shí)驗(yàn)室分析儀器 主要有比色計(jì)、 分光光度計(jì)、化學(xué)滴定、 氣相和液相色譜。但這些方法費(fèi)力費(fèi)時(shí)、成本高、自動(dòng)化程度低過程復(fù)雜、大多數(shù)過程是人工操作很難做到現(xiàn)場(chǎng)實(shí)時(shí)控制隨著傳感器和計(jì)算機(jī)技術(shù)的不斷發(fā)展,現(xiàn)已有了基于單片機(jī)的便攜式甲醛測(cè)試儀,并且測(cè)試測(cè)試范圍、分辨率、精度、穩(wěn)定性已接近標(biāo)準(zhǔn)要求。因此本設(shè)計(jì)可選用基于電化學(xué)原理的甲醛傳感器,其原理是空氣中的甲醛在電極下發(fā)生氧化反應(yīng),產(chǎn)生的擴(kuò)散電極電流與空氣中的甲醛濃度成正比,通過檢測(cè)放大電路和放大倍數(shù)的調(diào)整經(jīng)A/D轉(zhuǎn)換后送單片機(jī) 、由

4、單片機(jī)現(xiàn)場(chǎng)自動(dòng)控制檢測(cè)并顯示甲醛濃度。由于甲醛含量超量的話,將對(duì)人體健康造成很大的影響。具有民用價(jià)值的便攜式甲醛檢測(cè)儀的研制受到了人們的高度重視。設(shè)計(jì)能夠滿足生活需要,攜帶方便的便攜式甲醛檢測(cè)儀迫在眉睫。針對(duì)目前的現(xiàn)狀,本系統(tǒng)設(shè)計(jì)遵守體積小,質(zhì)量輕,性價(jià)比高的原則。2.3硬件設(shè)計(jì)硬件設(shè)計(jì)部分主要包括:(MCU、A/D、時(shí)鐘芯片、LCD、外圍擴(kuò)展數(shù)據(jù)RAM)等芯片的選擇; 硬件主電路設(shè)計(jì)、數(shù)據(jù)采集、模數(shù)轉(zhuǎn)換電路設(shè)計(jì)、液晶顯示電路設(shè)計(jì)、外圍擴(kuò)充存儲(chǔ)器接口電路、時(shí)鐘電路、復(fù)位電路、鍵盤接口電路等功能模塊電路設(shè)計(jì)。2.4軟件設(shè)計(jì)軟件設(shè)計(jì)部分主要包括:編寫語(yǔ)言的選擇、主程序/子程序流程的設(shè)計(jì)、功能模塊程

5、序的編寫、軟/硬件結(jié)合調(diào)試與演示。主要包括一下功能模塊:51驅(qū)動(dòng)、檢測(cè)、液晶顯示、時(shí)鐘、鍵盤、模數(shù)軟換。2.5 硬件結(jié)構(gòu)框圖2.1 圖2.12.6 軟件結(jié)構(gòu)框圖2.2 圖2.2第3章 硬件設(shè)計(jì)3.1 硬件設(shè)計(jì)主電路圖見附錄9.13.2 硬件選擇 3.2.1 MCU的選擇與簡(jiǎn)介 1. 單片機(jī)的概念和特點(diǎn) 現(xiàn)代社會(huì)中,盡管PC機(jī)的應(yīng)用已經(jīng)相當(dāng)普遍,但是,在工控領(lǐng)域,在日益追求小而精、輕而薄的自動(dòng)化控制器、自動(dòng)化儀器儀表、家電產(chǎn)品等方面,PC機(jī)仍有所不相適宜的地方。而工業(yè)控制、儀器儀表、家電產(chǎn)品等市場(chǎng)廣闊,要求PC機(jī)技術(shù)與之相適應(yīng)。在這種情況下,單片機(jī)應(yīng)運(yùn)而生了(也稱作微型計(jì)算機(jī))。微型計(jì)算機(jī)的基本

6、機(jī)構(gòu)是由中央處理器、儲(chǔ)存器、和I/O設(shè)備構(gòu)成的。所謂的單片機(jī)是指將微型計(jì)算機(jī)3個(gè)單元的多個(gè)分體中的主要功能用1個(gè)集成電路芯片來實(shí)現(xiàn),該芯片具有一個(gè)微型計(jì)算機(jī)的基本功能。這種超大規(guī)模集成電路芯片即稱為單片微型計(jì)算機(jī),通常簡(jiǎn)稱單片機(jī)。單片機(jī)具有以下特點(diǎn):(1) 受集成度限制,片內(nèi)存儲(chǔ)容量較小,一般8位單片機(jī)的ROM小于8/16K字節(jié),RAM小于256字節(jié),但可在外部擴(kuò)展,通常ROM、RAM可分別擴(kuò)展至64K字節(jié)。(2) 可靠性好。芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,其抗工業(yè)噪聲干擾優(yōu)于一般通用CPU;程序指令及常數(shù)、表格固化在ROM中不易破壞;許多信號(hào)通道均在一個(gè)芯片內(nèi),故可靠性高。(3) 易擴(kuò)展

7、。片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。(4) 控制功能強(qiáng)。為了滿足工業(yè)控制要求,一般單片機(jī)的指令系統(tǒng)中具有極豐富的條件分支轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。一般說來,單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微處理器。(5) 一般單片機(jī)內(nèi)無監(jiān)控程序或系統(tǒng)通用管理軟件,只放置有用戶調(diào)試好的應(yīng)用程序。但近年來也開始出現(xiàn)了在片內(nèi)固化有BASIC解釋程序的單片機(jī)。2. 單片機(jī)的發(fā)展與趨勢(shì)由于單片機(jī)具有以上特點(diǎn),因此在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、智能化設(shè)備和各種家用電器等領(lǐng)域得到廣泛的應(yīng)用。

8、隨著微電子工藝水平的提高,近十年來單片微型計(jì)算機(jī)有了飛速的發(fā)展。歸納起來,它是沿著兩條路發(fā)展的:1.改進(jìn)集成電路制造工藝,提高芯片的工作速度,降低工作電壓和降低功耗:2.在保留共同的CPU體系結(jié)構(gòu),最基本的外設(shè)裝置(如異步串行口,定時(shí)器等)和一套公用的指令系統(tǒng)的基礎(chǔ)上,根據(jù)不同的應(yīng)用領(lǐng)域,把不同的外設(shè)裝置集成到芯片內(nèi),在同一個(gè)家族內(nèi)繁衍滋生出各種型號(hào)的單片機(jī)。另外在單片機(jī)的應(yīng)用中,可靠性是首要因素,為了擴(kuò)大單片機(jī)的應(yīng)用范圍和領(lǐng)域,提高單片機(jī)自身的可靠性是一種有效方法。近年來,單片機(jī)的生產(chǎn)廠家在單片機(jī)設(shè)計(jì)上采用了各種提高可靠性的新技術(shù),主要表現(xiàn)在一下幾點(diǎn):(1) EFT(Electrical F

9、ast Transient)技術(shù)(2) 低噪音布線技術(shù)及驅(qū)動(dòng)技術(shù)(3) 采用低頻時(shí)鐘總之,單片機(jī)在目前的發(fā)展形勢(shì)下,表現(xiàn)出幾大趨勢(shì):l 可靠性及應(yīng)用水平越來越高,和internet連接已是一種明顯的走向;l 所集成的部件越來越多;l 功耗越來越低;l 和模擬電路結(jié)合越來越多。 3.單片機(jī)選擇 本系統(tǒng)采用單片機(jī)為控制核心。單片機(jī)/MCU主要有51基本型和52增強(qiáng)型,而相比之下52型比51型功能更為強(qiáng)大,ROM和RAM存儲(chǔ)空間更大,52還兼容51指令系統(tǒng)。基于本系統(tǒng)設(shè)計(jì)內(nèi)容的需要,綜合考慮后,我們選擇單片機(jī)ATME公司的AT89C52為控制核心;主要基于考慮是一個(gè)低電壓,高性能CMOS 8位單片機(jī)

10、,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、6個(gè)中斷源;時(shí)鐘頻率0-24MHz;器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),并兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),功能強(qiáng)大。(2)AT89C52介紹AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8K bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256K bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲(chǔ)單元,功能強(qiáng)大,A

11、T89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。主要性能參數(shù):l 與MCS-51產(chǎn)品指令和引腳完全兼容l 8K字節(jié)可重擦寫FLASH閃存存儲(chǔ)器l 1000次寫/擦循環(huán)l 時(shí)鐘頻率:0Hz24MHzl 三級(jí)加密存儲(chǔ)器l 256字節(jié)內(nèi)部RAMl 32個(gè)可編程I/O口線 l 3個(gè)16位定時(shí)/計(jì)數(shù)器 圖3.1 引腳圖l 6個(gè)中斷源l 可編程串行UART通道l 低功耗的空閑和掉電模式l 片內(nèi)振蕩器和時(shí)鐘電路AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,片內(nèi)振蕩器及時(shí)鐘電路,AT89C52可以按照

12、常規(guī)方法進(jìn)行編程,也可以在線編程。同時(shí),AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)本.AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C52引腳功能:·Vcc:電源電壓 ·GND:地 ·P0口:P0口是一組8位漏極開

13、路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問器件激活內(nèi)部上拉電阻。 在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 ·P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引

14、腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。 與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表2-1。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。表2-1為 P1.0和P1.1的第二功能表3-1 P1.0和P1.1的第二功能·P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,同時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(

15、IIL)。 在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVRI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。 Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。 ·P3口:P3口時(shí)一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-2所示:此外,P3

16、口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 ·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。·ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。表3-2 P3口第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4

17、T0(定時(shí)/計(jì)數(shù)器0)P3.5T1(定時(shí)/計(jì)數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) 對(duì)Flash存儲(chǔ)器編程器件,改引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位復(fù)位,可禁止ALE操作。該位置復(fù)位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。 ·PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。

18、在次期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。 ·EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。 Flash存儲(chǔ)器編程時(shí),該引腳加上12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。 ·XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。·XTAL2:振蕩器反相放大器的輸出端。 3.2.2 單片機(jī)最小系統(tǒng)的實(shí)現(xiàn)介紹完以上的

19、單片機(jī)系統(tǒng)的核心芯片之后,我們采用AT89C52來實(shí)現(xiàn)一個(gè)單片機(jī)系統(tǒng)能運(yùn)行起來的需求最小的系統(tǒng),電路圖見圖3.2: 圖3.2 單片機(jī)最小系統(tǒng)圖上圖由晶振電路和復(fù)位電路,AT89C52芯片組成,構(gòu)成最小的單片機(jī)系統(tǒng), 下面詳細(xì)介紹其中的兩個(gè)電路。(1)晶振電路單片機(jī)工作的過程中各指令的微操作在時(shí)間上有嚴(yán)格的次序,這種微操作的時(shí)間次序稱作時(shí)序,單片機(jī)的時(shí)鐘信號(hào)用來為單片機(jī)芯片內(nèi)部各種微操作提供時(shí)間基準(zhǔn),89c52的時(shí)鐘產(chǎn)生方式有兩種,一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式即在單片機(jī)的外部接一個(gè)晶振電路與單片機(jī)里面的振蕩器組合作用產(chǎn)生時(shí)鐘脈沖信號(hào),外部時(shí)鐘方式是把外部已有的時(shí)鐘信號(hào)引入

20、到單片機(jī)內(nèi),此方式常用于多片89C52單片機(jī)同時(shí)工作,以便于各單片機(jī)的同步,一般要求外部信號(hào)高電平的持續(xù)時(shí)間大于20ns.且為頻率低于12MHz的方波。對(duì)于CHMOS工藝的單片機(jī),外部時(shí)鐘要由XTAL1端引入,而XTAL2端應(yīng)懸空。本系統(tǒng)中為了盡量降低功耗的原則,采用了內(nèi)部時(shí)鐘方式。電路圖見圖3.3:圖3.3 晶振電路圖 在89C52單片機(jī)的內(nèi)部有一個(gè)震蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱晶振)就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào),圖中電容器C1和C2穩(wěn)定頻率和快速起振,電容值在530pF,典型值是22pF,晶振CYS選擇的是12MHz。(2)復(fù)位電路

21、復(fù)位的意義單片機(jī)開始工作的時(shí)候,必須處于一種確定的狀態(tài),否則,不知哪是第一條程序和如何開始運(yùn)行程序。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設(shè)備誤動(dòng)作,導(dǎo)致嚴(yán)重事故的發(fā)生;內(nèi)部一些控制寄存器(專用寄存器)內(nèi)容不確定可能導(dǎo)致定時(shí)器溢出、程序尚未開始就要中斷及串口亂傳向外設(shè)發(fā)送數(shù)據(jù).因此,任何單片機(jī)在開始工作前,都必須進(jìn)行一次復(fù)位過程,使單片機(jī)處于一種確定的狀態(tài)。復(fù)位電路原理當(dāng)在89C52單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。實(shí)際應(yīng)用中,復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位,

22、上電復(fù)位見圖3.4,要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如下圖所示。上電瞬間RST引腳獲得高電平,隨著電容C1的充電,RST引腳的高電平將逐漸下降。 圖3.4 上電復(fù)位電路圖RST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。該電路典型的電阻和電容參數(shù)為:晶振為12MHz時(shí),C1為22uF:R1為8.2 ;振為6MHz時(shí),C1為22uF,R1為1.本設(shè)計(jì)中復(fù)位電路采用的是開關(guān)復(fù)位電路,開關(guān)S9未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST

23、腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關(guān)按下時(shí)是RST端有兩個(gè)機(jī)器周期以上的高電平從而使AT89C52內(nèi)部復(fù)位。開關(guān)按下時(shí)是按鍵手動(dòng)復(fù)位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實(shí)現(xiàn)單片機(jī)的復(fù)位。電路圖見圖3.5: 圖3.5 復(fù)位電路圖 3.2.3 數(shù)據(jù)采集系統(tǒng)(1)從傳感器過來的電壓信號(hào),必須放大,濾波,采集,轉(zhuǎn)換才能被MCU識(shí)別和處理。由于假若每一路都設(shè)置放大、濾波等器件,那么成本會(huì)很大,所以信號(hào)的采集一般用多路模擬通路進(jìn)行選擇。然而選擇多路模擬開關(guān)時(shí)必須考慮以下的幾個(gè)因素:通道數(shù)量、切換速度、開關(guān)電阻和器件的封裝形式??傊?dāng)?shù)據(jù)采集與硬件的選擇有很大的關(guān)系

24、。(2)甲醛傳感器的選擇甲醛傳感器由甲醛探頭CH20傳感器組成。甲醛傳感器/甲醛模塊(CH2O傳感器)詳細(xì)介紹如下表3-3:(3)測(cè)量電路測(cè)量電路由CH20/S-10甲醛傳感器,ADC0832組成。 甲醛傳感器由甲醛探頭和CH20傳感器組成。當(dāng)空氣被內(nèi)部的采樣系統(tǒng)吸收后,產(chǎn)生一個(gè)與甲醛濃度成正比的電壓信號(hào), 該電壓信號(hào)經(jīng)AD0832與AT89C52單片機(jī)相連,在顯示器上顯示出甲醛的濃度值,當(dāng)超過國(guó)家規(guī)定的標(biāo)準(zhǔn)時(shí)報(bào)警。 表3-3 傳感器參數(shù)表名稱甲醛傳感器 CH2O/S-10:測(cè)量范圍0- 10 ppm最大負(fù)荷50ppm工作壽命空氣中3年輸 出1200±300nA/ppm4-20mA(

25、甲醛模塊分辨率0.05 ppm溫度范圍-20 to 45壓力范圍大氣壓±10%響應(yīng)時(shí)間 (T 90) 50 seconds濕度范圍-20 to 45零點(diǎn)輸出 (純凈空體,20) 0.1 ppm最大零點(diǎn)漂移(20to 40)0.1 ppm長(zhǎng)期漂移2% /每月推薦負(fù)載值10線性度輸出線性重 量約32克3.2.4 模數(shù)轉(zhuǎn)換的選擇與簡(jiǎn)介實(shí)現(xiàn)A/D轉(zhuǎn)換的基本方法很多,有計(jì)數(shù)法、逐次逼近法、雙斜積分法和并行轉(zhuǎn)換法。由于逐次逼近式A/D轉(zhuǎn)換具有速度,分辨率高等優(yōu)點(diǎn),而且采用這種方法的ADC芯片成本低,所以我們采用逐次逼近式A/D轉(zhuǎn)換器。逐次逼近型ADC包括1個(gè)比較器、一個(gè)模數(shù)轉(zhuǎn)換器、1個(gè)逐次逼近寄

26、存器(SAR)和1個(gè)邏輯控制單元。逐次逼近型是將采樣信號(hào)和已知電壓不斷進(jìn)行比較,一個(gè)時(shí)鐘周期完成1位轉(zhuǎn)換,依次類推,轉(zhuǎn)換完成后,輸出二進(jìn)制數(shù)。這類型ADC的分辨率和采樣速率是相互牽制的。優(yōu)點(diǎn)是分辨率低于12位時(shí),價(jià)格較低,采樣速率也很好。由于ADC0832模數(shù)轉(zhuǎn)換器具有8位分辨率、雙通道A/D轉(zhuǎn)換、輸入輸出電平與TTL/CMOS相兼容、5V電源供電時(shí)輸入電壓在05V之間、工作頻率為250KHZ 、轉(zhuǎn)換時(shí)間為32 微秒、一般功耗僅為15MW等優(yōu)點(diǎn),適合本系統(tǒng)的應(yīng)用,所以我們采用ADC0832為模數(shù)轉(zhuǎn)換器件。電路圖見圖3.6如下: ADC0832 具有以下特點(diǎn):· 8位分辨率;·

27、; 雙通道A/D轉(zhuǎn)換;· 輸入輸出電平與TTL/CMOS相兼容;· 5V電源供電時(shí)輸入電壓在05V之間;· 工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32S; 圖3.6 模數(shù)轉(zhuǎn)換電路圖· 一般功耗僅為15mW;· 8P、14PDIP(雙列直插)、PICC 多種封裝;· 商用級(jí)芯片溫寬為0°C to +70°C,工業(yè)級(jí)芯片溫寬為40°C to +85°C;芯片接口說明:· CS_ 片選使能,低電平芯片使能。· CH0 模擬輸入通道0,或作為IN+/-使用。· CH1 模擬輸入

28、通道1,或作為IN+/-使用。· GND 芯片參考0 電位(地)。· DI 數(shù)據(jù)信號(hào)輸入,選擇通道控制。· DO 數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。· CLK 芯片時(shí)鐘輸入。· Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時(shí)間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)

29、據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。單片機(jī)對(duì)ADC0832 的控制原理:正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK 輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第1 個(gè)時(shí)

30、鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。在第2、3個(gè)脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能,(4)測(cè)量量程本系統(tǒng)的量程為0-10ppm。由于我所使用的是8位ADC0832,所以本系統(tǒng)的精度為:10ppm/256=0.039ppm。 3.2.5 按鍵選擇與簡(jiǎn)介本系統(tǒng)應(yīng)用有人機(jī)對(duì)話功能,該功能即能隨時(shí)發(fā)出各種控制命令和數(shù)據(jù)輸入以及和LCD連接顯示運(yùn)行狀態(tài)和運(yùn)行結(jié)果。鍵盤分為:獨(dú)立式和矩陣式兩類,每一類按其編碼方法又可以分為編碼和非編碼兩種。由于本系統(tǒng)只有UP、DOWN 、OK 、CANCEL 4個(gè)控制命令,所需按鍵較少,所以本系統(tǒng)選擇獨(dú)立式按鍵。電路圖見圖3.7: 圖3.7

31、按鍵電路圖獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個(gè)按鍵電路。每個(gè)獨(dú)立式按鍵占有一根I/O口線。各根I/O口線之間不會(huì)相互影響。在此電路中,按鍵輸入部采用低電平有效,上拉電阻保證了按鍵斷開時(shí),I/O口線有確定的高電平,(AT89C52 .P1口內(nèi)部接有上拉電阻)所以就不需要再外接上拉電阻。鍵盤抖動(dòng)的消除:抖動(dòng)的消除大致可以分為硬件削抖和軟件削抖。硬件削抖是采用硬件電路的方法對(duì)鍵盤的按下抖動(dòng)及釋放抖動(dòng)進(jìn)行削抖,經(jīng)過削抖電路后使按鍵的電平信號(hào)只有兩種穩(wěn)定狀態(tài)。軟件削抖的基本原理是當(dāng)檢測(cè)出鍵盤閉合時(shí),先執(zhí)行一個(gè)延時(shí)子程序產(chǎn)生數(shù)毫秒的延時(shí),待接通時(shí)的前沿抖動(dòng)消失后再判別是否有健按下。當(dāng)按鍵釋放時(shí),也要經(jīng)過

32、數(shù)毫秒延時(shí),待后沿抖動(dòng)消失后再判別鍵是否釋放。由于應(yīng)用硬件削抖還需要外加器件,成本相對(duì)較高,所以本系統(tǒng)選擇軟件延時(shí)削抖的方法。 3.2.6 外圍擴(kuò)充存儲(chǔ)器基于AT89C52單片機(jī)具有8KB的程序存儲(chǔ)器(ROM),256B的數(shù)據(jù)存儲(chǔ)器(RAM),由于考慮到本系統(tǒng)的數(shù)據(jù)處理與存儲(chǔ)所需的容量,現(xiàn)在需要擴(kuò)充存儲(chǔ)器的容量。在應(yīng)用中要保存一些參數(shù)和狀態(tài),據(jù)了解基于EEPROM的存儲(chǔ)芯片是一種很好的選擇。我們選定了AT24C128存儲(chǔ)器。電路圖見圖3.8: 圖3.8 外圍擴(kuò)充存儲(chǔ)電路圖 3.2.7 時(shí)鐘芯片選擇與簡(jiǎn)介因?yàn)榇讼到y(tǒng)需要記錄測(cè)量發(fā)生的時(shí)間,所以需要時(shí)鐘芯片來記錄不同人在不同時(shí)間的監(jiān)測(cè)數(shù)據(jù),因此我們

33、在系統(tǒng)中加入了時(shí)鐘芯片。對(duì)時(shí)鐘芯片的要求首先是低功耗,其次是編程簡(jiǎn)單,縮短程序開發(fā)時(shí)間,實(shí)際上也就縮短了系統(tǒng)用于實(shí)際生產(chǎn)所用的開發(fā)周期以及成本,在本系統(tǒng),我們選擇了DS1302時(shí)鐘芯片。我們時(shí)鐘電路選擇的芯片是 DS1302,其內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行接口與單片機(jī)通信。而通信時(shí),僅需要3個(gè)口線:(1)RES(復(fù)位),(2)I/O數(shù)據(jù)線,(3)SCLK(串行時(shí)鐘)。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一字節(jié)或多達(dá)31字節(jié)的字符組方式通信。其工作時(shí)功耗很低,廣泛應(yīng)用于電話,傳真,便攜式儀器等產(chǎn)品領(lǐng)域。 DS1302主要性能有:時(shí)實(shí)時(shí)鐘能計(jì)算2100年之前的秒、分、時(shí)、日、日期

34、、星期、月、年的能力,還有閏年的調(diào)整能力;讀/寫時(shí)鐘或RAM數(shù)據(jù)時(shí),有單字節(jié)和多字節(jié)傳送兩種方式;與DS1202/TTL兼容。 DS1302引腳概述:X1,X2:振蕩源,外接32。768KHZ晶振;SCLK:串行時(shí)鐘輸入端。 日歷、時(shí)鐘寄存器與控制字對(duì)照表、日歷、時(shí)鐘寄存器命令字、取值范圍以及各位內(nèi)容對(duì)照表。見表3-4。 表3-4 時(shí)鐘控制字對(duì)照表寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作765430秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN時(shí)寄存器84H85H0112 002312/24010/(A/P)HRHR日寄存器86H87H0128

35、,29、30、310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH01070000DAY年寄存器8CH8DH019910YEARYEAR寫保護(hù)寄存器8EH8FHWP0000慢充電寄存器90H91HTCSTCSTCSTCSDSDSRSRS時(shí)鐘突發(fā)寄存器BEHBFHDS1302數(shù)據(jù)輸入/輸出時(shí)序數(shù)據(jù)輸入是在輸入寫命令字的8個(gè)SCLK周期之后,在接下來的8個(gè)SCLK周期中的每個(gè)脈沖的上升沿輸入數(shù)據(jù),數(shù)據(jù)從0位開始。如果有額外的SCLK周期,它們將被忽略。數(shù)據(jù)輸出是在輸出命令字的8個(gè)SCLK周期之后,在接下來的8個(gè)SCLK周期中的每個(gè)脈沖的下降沿輸出數(shù)據(jù),

36、數(shù)據(jù)從0位開始。需要注意的是,第一個(gè)數(shù)據(jù)位在命令字節(jié)的最后一位之后的第一個(gè)下降沿被輸出。只要RST保持高電平,如果有額外的SCLK周期,將重新發(fā)送數(shù)據(jù)字節(jié),即多字節(jié)傳送。其電路圖見圖3.9: 圖3.9 時(shí)鐘電路圖 3.2.8 上拉電阻在主電路圖中接在P0口處有一個(gè)排阻RP1 ,由于P0口沒有內(nèi)接上拉電阻,為了為P0口外接線路有確定的高電平,所以要接上排阻RP1,以確保有P0口有穩(wěn)定的電平。電路連接圖見圖3.10: 圖3.11 上拉電阻電路圖 3.2.9 液晶顯示器簡(jiǎn)介。對(duì)于本系統(tǒng)要有顯示裝置完成顯示功能。顯示器最好能夠顯示數(shù)據(jù)、圖形??紤]到同種LCD顯示器的屏幕越大體積越大,功耗越大的特點(diǎn),在

37、同類產(chǎn)品中選用了AMPIRE128X64液晶顯示模塊。該型號(hào)顯示器消耗電量比較低,可以滿足系統(tǒng)要求。該類液晶顯示模塊采用動(dòng)態(tài)的液晶驅(qū)動(dòng),可用5V供電。1AMPIRE128X64液晶模塊引腳說明AMPIRE128X64液晶共有22個(gè)引腳,其引腳說明如表3-5所示: 表3-5 液晶引腳說明圖管腳名稱管 腳 定 義/CSA片選1/CSB片選2VSS數(shù)字地VDD邏輯電源+5VV0對(duì)比度調(diào)節(jié)R/S指令數(shù)據(jù)通道R/W讀寫選擇E使能選擇DB0-DB7數(shù)據(jù)線CS1片選1CS2片選2/RES復(fù)位信號(hào)VEE液晶驅(qū)動(dòng)電源LED+LED背光正電源LED-LED接地端 表3-5AMPIRE128X64液晶顯示模塊與計(jì)算

38、機(jī)的接口電路有兩種方式。它與單片機(jī)的接口方法分為直接訪問方式和間接控制方式。直接訪問方式是把液晶模塊作為存儲(chǔ)器或I/O設(shè)備直接接在單片機(jī)的總線上,單片機(jī)以訪問存儲(chǔ)器或I/O設(shè)備的方式操作液晶顯示模塊的工作。間接控制方式則不使用單片機(jī)的數(shù)據(jù)系統(tǒng),而是利用它的I0口來實(shí)現(xiàn)與顯示模塊的聯(lián)系。即將液晶顯示模塊的數(shù)據(jù)線與單片機(jī)的Pl口連接作為數(shù)據(jù)總線,另外三根時(shí)序控制信號(hào)線通常利用單片機(jī)的P3口中未被使用的IO口來控制。這種訪問方式不占用存儲(chǔ)器空間,它的接口電路與時(shí)序無關(guān),其時(shí)序完全靠軟件編程實(shí)現(xiàn)。本系統(tǒng)采用間接控制方式。液晶顯示工作原理介紹以下為液晶顯示電路接線原理圖見圖3.12 圖3.12 液晶電路

39、圖2.在單片機(jī)系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個(gè)有點(diǎn):1) 顯示質(zhì)量高:由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。2) 數(shù)字式接口:液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。3) 體積小、重量輕:液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕的多。4) 功耗低:相對(duì)而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其他顯示器要少的多。3. LCD按其顯示方式通??梢苑譃?/p>

40、斷式、點(diǎn)字符式、點(diǎn)陣式等。還有黑白、多灰度、彩色顯示等。液晶顯示原理是利用液晶的物理特性,通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就顯示黑色,這樣就可以顯示出圖形。針對(duì)于本系統(tǒng)要顯示漢字,字母,數(shù)字等,以及其在一個(gè)界面同時(shí)要顯示的字?jǐn)?shù),本系統(tǒng)要以圖形的形式顯示各運(yùn)行結(jié)果,我們最終選擇AMPIRE128x64型號(hào)的LCD。 字符顯示:字符顯示比較復(fù)雜,一個(gè)字符由16x8點(diǎn)陣組成,即要找到和顯示屏是某幾個(gè)位置對(duì)應(yīng)的RAM區(qū)的字節(jié),再使不同的位置為1其他的為0;為1的點(diǎn)亮,為0的不亮,這樣就顯示出一個(gè)字符。4.漢字顯示:漢字顯示和字符顯示的原理差不多,就是一個(gè)漢字一般采用圖形方式,事先從微機(jī)中用字模軟件提

41、取要顯示的漢字的點(diǎn)陣碼,每個(gè)漢字占32B,為為兩部分,各16B。根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)就可以找出顯示RAM的對(duì)應(yīng)地址,送上漢字要顯示的第一字節(jié),以此類推,最后送完32B,這樣漢字就顯示出來了。系統(tǒng)的液晶顯示字體和字母的顯示就是按照上述的原理顯示的,點(diǎn)陣碼是用字模軟件在相同的設(shè)置區(qū)域找出的。然后把提取的點(diǎn)陣碼放入編寫的LCD軟件程序里。5.陣碼獲取過程簡(jiǎn)介:首先,打開 軟件,然后 ,因?yàn)闈h字占32B所以設(shè)置其為 高度和寬度16x16。取模方式選擇 在文字輸入?yún)^(qū)輸入漢字,在點(diǎn)陣區(qū)生成點(diǎn)陣碼,例如在文字輸入?yún)^(qū)輸入“歡”字,其點(diǎn)陣碼生成如下 3.2.10 報(bào)警電路 在單片機(jī)應(yīng)用系統(tǒng)

42、中,一般的工作狀態(tài)可以通過指示燈或數(shù)碼顯示來指示,供操作人員參考,了解系統(tǒng)的工作狀況。但對(duì)于某些緊急狀態(tài),比如系統(tǒng)檢測(cè)到的錯(cuò)誤狀態(tài)等,為了使操作人員不至于忽視,及時(shí)采取措施,往往還需要有某種更能引人注意,提起警覺的報(bào)警信號(hào)。這種報(bào)警信號(hào)通常有三種類型:一是閃光報(bào)警,因?yàn)殚W動(dòng)的指示燈更能提醒人們注意;二是鳴音報(bào)警,發(fā)出特定的音響,作用于人的聽覺器官,易于引起和加強(qiáng)警覺;三是語(yǔ)音報(bào)警,不僅能起到報(bào)警作用,還能直接給出警報(bào)種類的信息。其中,前兩種報(bào)警裝置因硬件結(jié)構(gòu)簡(jiǎn)單,軟件編程方便,常常在單片機(jī)應(yīng)用系統(tǒng)中使用;而語(yǔ)音報(bào)警雖然警報(bào)信息較直接,但硬件成本高,結(jié)構(gòu)較復(fù)雜,軟件量也增加。單頻音報(bào)警 實(shí)現(xiàn)單頻

43、音報(bào)警的接口電路比較簡(jiǎn)單,其發(fā)音元件通??刹捎脡弘姺澍Q器,當(dāng)在蜂鳴器兩引腳上加315V直流工作電壓,就能產(chǎn)生3kHZ左右的蜂鳴振蕩音響。壓電式蜂鳴器結(jié)構(gòu)簡(jiǎn)單、耗電少,更適于在單片機(jī)系統(tǒng)中應(yīng)用。壓電式蜂鳴器,約需10mA的驅(qū)動(dòng)電流,可在某端口接上一只三極管和電阻組成的驅(qū)動(dòng)電路來驅(qū)動(dòng),如圖3.13所示。在圖2中,P1.0接三極管基極輸入端,當(dāng)P1.0輸出高電平“1”時(shí),三極管導(dǎo)通,蜂鳴器的通電而發(fā)音,當(dāng)P1.0輸出低電平“0”時(shí),三極管截止,蜂鳴器停止發(fā)音。 圖3.13 單頻音報(bào)警電路圖 基于本系統(tǒng)的需求和功耗要求,只需要基本的報(bào)警功能即可,我選擇采用的是三極管驅(qū)動(dòng)的單音頻報(bào)警電路。以下為報(bào)警電路

44、接線圖見圖3.14 圖 3.14 報(bào)警電路圖3.2.11 硬件仿真環(huán)境介紹Proteus ISIS是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12

45、系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。本章介紹Proteus ISIS軟件的工作環(huán)境和一些基本操作。 圖3.15 ISIS 6 Professional圖標(biāo)進(jìn)入Proteus ISIS:雙擊桌面上的ISIS 6 Profe

46、ssional圖標(biāo)(見圖3.15)或者單擊屏幕左下方的“開始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,出現(xiàn)如圖3.15所示屏幕,表明進(jìn)入Proteus ISIS集成環(huán)境。工作界面:Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖3.16所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。 圖3.16 工作界面 本章小結(jié)這一章比較具體的說明了系統(tǒng)硬件設(shè)計(jì)的內(nèi)容,通過模塊化的設(shè)計(jì)思想,把一個(gè)復(fù)雜的單片機(jī)系統(tǒng)按照功能

47、劃分成一個(gè)個(gè)單獨(dú)的電路模型,分別進(jìn)行設(shè)計(jì),最后在集成到一起。這種方法對(duì)于設(shè)計(jì)復(fù)雜的單片機(jī)系統(tǒng)很有效。大大提高系統(tǒng)設(shè)計(jì)的效率與質(zhì)量。(說明:系統(tǒng)硬件設(shè)計(jì)的電路原理圖附在論文的附錄里面。)由于我主要負(fù)責(zé)的是硬件設(shè)計(jì),所以只是簡(jiǎn)單的介紹硬件方面的內(nèi)容。下面是軟件設(shè)計(jì)。第4章 軟件設(shè)計(jì)4.1編寫語(yǔ)言的選擇對(duì)于單片機(jī)的開發(fā)應(yīng)用中,逐漸引入了高級(jí)語(yǔ)言,C語(yǔ)言就是其中的一種。匯編語(yǔ)言的可控性較高級(jí)語(yǔ)言來說更具優(yōu)越性。程序編寫語(yǔ)言比較常見的有C語(yǔ)言、匯編語(yǔ)言。匯編語(yǔ)言的機(jī)器代碼生成效率高,控制性好,但就是移植性不高。C語(yǔ)言編寫的程序比用匯編編寫的程序更符合人們的思考習(xí)慣。還有很多處理器都支持C編譯器,這樣意味

48、著處理器也能很快上手。且具有良好的模塊化、容易閱讀、維護(hù)等優(yōu)點(diǎn),且編寫的模塊程序易于移植?;贑語(yǔ)言和匯編語(yǔ)言的優(yōu)缺點(diǎn),本系統(tǒng)采用C語(yǔ)言編寫方法。軟件編寫的主體思路是將系統(tǒng)按功能模塊化劃分,然后根據(jù)模塊要實(shí)現(xiàn)的功能寫各個(gè)子程序。整個(gè)軟件程序的編寫采用查詢式方式編寫的。4.2 編譯軟件介紹Keil軟件簡(jiǎn)介:?jiǎn)纹瑱C(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從

49、普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。1. 系統(tǒng)概述Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)

50、系統(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ì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。2.Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖4.1所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE)

51、,可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 圖4.1 C51工具包的整體結(jié)構(gòu)圖3. 運(yùn)行KEIL51軟件見圖4.2 圖 4.24.建立項(xiàng)目(1)點(diǎn)擊Project菜單,選擇彈出的下拉式

52、菜單中的New Project,如圖4.3 圖 4.3接著彈出一個(gè)標(biāo)準(zhǔn)Windows文件對(duì)話窗口,在"文件名"中輸入您的第一個(gè)C程序項(xiàng)目名稱,"保存"后的文件擴(kuò)展名為uv2,這是KEIL uVision2項(xiàng)目文件擴(kuò)展名,以后我們可以直接點(diǎn)擊此文件以打開先前做的項(xiàng)目。(2)選擇所要的單片機(jī),這里我們選擇常用的Ateml公司的AT89C51。完成上面步驟后,我們就可以進(jìn)行程序的編寫了。(3)首先我們要在項(xiàng)目中創(chuàng)建新的程序文件或加入舊程序文件。如果你沒有現(xiàn)成的程序,那么就要新建一個(gè)程序文件。(4)點(diǎn)擊保存新建的程序,也可以用菜單FileSave或快捷鍵Ctrl+S進(jìn)行保存。我們把第一個(gè)程序命名為test1.c,保存在項(xiàng)目所在的目錄中,這時(shí)你會(huì)發(fā)現(xiàn)程序單詞有了不同的顏色,說明KEIL的C語(yǔ)法檢查生效了。如圖,鼠標(biāo)在屏幕左邊的Source Group1文件夾圖標(biāo)上右擊彈出菜單,在這里可以做在項(xiàng)目中增加減少文件等操作。我們?quot;Add File to Group 'Source Group 1'"彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關(guān)閉文件窗,程序文件已加到項(xiàng)目中了。這時(shí)在Sour

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論