




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 目錄第章 緒論111 引言1第章 概述321系統(tǒng)總概述322總體方案設(shè)計(jì)323硬件設(shè)計(jì)324軟件設(shè)計(jì)425 硬件結(jié)構(gòu)框圖21426 軟件結(jié)構(gòu)框圖224第3章 硬件設(shè)計(jì)531 硬件設(shè)計(jì)主電路圖見(jiàn)附錄91532 硬件選擇5com MCU的選擇與簡(jiǎn)介5com 單片機(jī)最小系統(tǒng)的實(shí)現(xiàn)10com 數(shù)據(jù)采集系統(tǒng)13com 模數(shù)轉(zhuǎn)換的選擇與簡(jiǎn)介14com 按鍵選擇與簡(jiǎn)介16com 外圍擴(kuò)充存儲(chǔ)器17com 時(shí)鐘芯片選擇與簡(jiǎn)介18com 上拉電阻20com 液晶顯示器簡(jiǎn)介20com 報(bào)警電路23com 硬件仿真環(huán)境介紹24第4章 軟件設(shè)計(jì)2641編寫(xiě)語(yǔ)言的選擇2642 編譯軟件介紹2743主程序模塊3244模
2、數(shù)轉(zhuǎn)換3345按鍵模塊3346時(shí)鐘模塊3447液晶顯示模塊34第5章 系統(tǒng)仿真35第6章 結(jié)束語(yǔ)37致 謝38參考文獻(xiàn)39附錄40附錄一 硬件設(shè)計(jì)主電路圖40附錄二 檢測(cè)主程序程序41附錄三 ADC0832程序46附錄四 按鍵程序50附錄五 時(shí)鐘程序51附錄六 液晶程序56附錄七 主程序嵌套子程序60第章 緒論11 引言com特性及危害甲醛是一種無(wú)色有強(qiáng)烈刺激性氣味的氣體易溶于水醇和醚甲醛在常溫下是氣態(tài)通常以水溶液形式出現(xiàn)其37的水溶液稱(chēng)為福爾馬林醫(yī)學(xué)和科研部門(mén)常用于標(biāo)本的防腐保存此溶液沸點(diǎn)為195故在室溫時(shí)極易揮發(fā)隨著溫度的上升甲醛的揮發(fā)速度加快在我國(guó)有毒化學(xué)品優(yōu)先控制名單中甲醛列居第二位甲
3、醛已被世界衛(wèi)生組織確定為致癌和致畸形物質(zhì)甲醛是原漿毒物能與蛋白質(zhì)結(jié)合吸入高濃度甲醛后會(huì)出現(xiàn)呼吸道的嚴(yán)重刺激和水腫眼刺痛頭痛也可發(fā)生支氣管哮喘皮膚直接接觸甲醛可引起皮炎色斑壞死經(jīng)常吸入少量甲醛能引起慢性中毒出現(xiàn)粘膜充血皮膚刺激癥過(guò)敏性皮炎指甲角化和脆弱等全身癥狀有頭痛乏力心悸失眠體重減輕以及植物神經(jīng)紊亂等com來(lái)源1室內(nèi)裝修所用的合成板材如膠合板細(xì)木工板高密度板刨花板這些板材中甲醛起膠合劑防腐劑的作用主要用于加強(qiáng)板材的硬度防蟲(chóng)防腐板材中殘留的和未參與反應(yīng)的甲醛逐漸向周?chē)h(huán)境釋放是室內(nèi)空氣中甲醛的主要來(lái)源2用合成板材制造的家具廠家為了追求利潤(rùn)使用不合格的板材再粘貼面材料時(shí)使用不合格的膠水造成家具中
4、甲醛含量超標(biāo)3含有甲醛成分并有可能向外界散發(fā)的各類(lèi)裝飾材料如壁紙地毯油漆12甲醛檢測(cè)儀的種類(lèi)目前市場(chǎng)上甲醛檢測(cè)儀的種類(lèi)是多種多樣其中較常見(jiàn)的是采用試驗(yàn)紙光電光度法即當(dāng)甲醛氣體吹到浸有發(fā)色劑的試紙上時(shí)與浸有發(fā)色劑的TAB組合就會(huì)因發(fā)生化學(xué)反應(yīng)而變色甲醛同試紙接觸后含在紙里的試藥就會(huì)同甲醛反應(yīng)生成化合物顏色就會(huì)從白色變成黃色變色的程度可反映出所受光的反射光量反射光量的強(qiáng)度變化率可以作為被測(cè)氣體的甲醛含量的應(yīng)答值預(yù)先設(shè)定檢測(cè)線便可通過(guò)測(cè)量其反應(yīng)率來(lái)測(cè)出甲醛氣體的濃度值在氣體的采集方面有的是采用自動(dòng)吸引式內(nèi)藏微型氣泵有的采用擴(kuò)散式對(duì)于試驗(yàn)紙光電光度法來(lái)分析甲醛的濃度它的優(yōu)點(diǎn)是靈敏度高操作簡(jiǎn)便測(cè)定速度快
5、而該方法在分析甲醛濃度時(shí)往往采用的是目視比色法它的缺點(diǎn)是1由于許多有色溶液不夠穩(wěn)定不能久存經(jīng)常需要在測(cè)定的同時(shí)配制溶液比較費(fèi)時(shí)費(fèi)事2目視比色的準(zhǔn)確度低一般相對(duì)誤差為±520本論文設(shè)計(jì)的便攜式甲醛檢測(cè)儀所涉及的甲醛傳感器是電化學(xué)傳感器它可以將甲醛氣體的濃度轉(zhuǎn)換為微弱的電流信號(hào)這樣就可以通過(guò)電流電壓變換電路將微弱的電流信號(hào)轉(zhuǎn)換為可以測(cè)量的穩(wěn)定的電壓信號(hào)增強(qiáng)了電信號(hào)的穩(wěn)定性第章 概述21系統(tǒng)總概述本論文主要完成甲醛檢測(cè)儀本系統(tǒng)采用單片機(jī)為控制核心實(shí)現(xiàn)基本控制功能5分鐘后自動(dòng)進(jìn)入休眠模式以降低電源消耗本系統(tǒng)設(shè)計(jì)采用功能模塊化的設(shè)計(jì)思想系統(tǒng)主要分為總體方案設(shè)計(jì)硬件和軟件的設(shè)計(jì)三大部分22總體方
6、案設(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)化程度低過(guò)程復(fù)雜大多數(shù)過(guò)程是人工操作很難做到現(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ò)散電極電流與空氣中的甲醛濃度成正比通過(guò)檢測(cè)放大電路和放大倍數(shù)的調(diào)整經(jīng)AD轉(zhuǎn)換后送單片機(jī) 由單片機(jī)現(xiàn)場(chǎng)自動(dòng)控制檢測(cè)并顯示甲醛濃度由于甲醛含量具有用價(jià)值的便攜式甲醛的研
7、制受到了人們的高度重視便攜式甲醛檢測(cè)儀硬件部分包括軟件現(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)而生了也稱(chēng)作微型計(jì)算機(jī)微型計(jì)算機(jī)的基本機(jī)構(gòu)是由中央處理器儲(chǔ)存器和IO設(shè)備構(gòu)成的所謂的單片機(jī)是指將微型計(jì)算機(jī)3個(gè)單元的多個(gè)分體中的主要功能用1個(gè)集成電路芯片來(lái)實(shí)現(xiàn)該芯片具有一個(gè)微型計(jì)算機(jī)的基本功能這種超大規(guī)模集成電路芯片即稱(chēng)為單片微型計(jì)算機(jī)通常簡(jiǎn)稱(chēng)單片機(jī)單片機(jī)具有以下特點(diǎn)受集成度限制片內(nèi)存儲(chǔ)容量較小一般8位單片機(jī)的ROM小
8、于816K字節(jié)RAM小于256字節(jié)但可在外部擴(kuò)展通常ROMRAM可分別擴(kuò)展至64K字節(jié)可靠性好芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的其抗工業(yè)噪聲干擾優(yōu)于一般通用CPU程序指令及常數(shù)表格固化在ROM中不易破壞許多信號(hào)通道均在一個(gè)芯片內(nèi)故可靠性高易擴(kuò)展片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件芯片外部有許多供擴(kuò)展用的三總線及并行串行輸入輸出管腳很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)控制功能強(qiáng)為了滿(mǎn)足工業(yè)控制要求一般單片機(jī)的指令系統(tǒng)中具有極豐富的條件分支轉(zhuǎn)移指令I(lǐng)O口的邏輯操作以及位處理功能一般說(shuō)來(lái)單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微處理器一般單片機(jī)內(nèi)無(wú)監(jiān)控程序或系統(tǒng)通用管理軟件只放置有用戶(hù)調(diào)試好的應(yīng)用
9、程序但近年來(lái)也開(kāi)始出現(xiàn)了在片內(nèi)固化有BASIC解釋程序的單片機(jī)單片機(jī)的發(fā)展與趨勢(shì)由于單片機(jī)具有以上特點(diǎn)因此在工業(yè)控制數(shù)據(jù)采集智能儀器儀表智能化設(shè)備和各種家用電器等領(lǐng)域得到廣泛的應(yīng)用隨著微電子工藝水平的提高近十年來(lái)單片微型計(jì)算機(jī)有了飛速的發(fā)展歸納起來(lái)它是沿著兩條路發(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ī)自身的可靠性是一
10、種有效方法近年來(lái)單片機(jī)的生產(chǎn)廠家在單片機(jī)設(shè)計(jì)上采用了各種提高可靠性的新技術(shù)主要表現(xiàn)在一下幾點(diǎn)EFT Electrical Fast Transient 技術(shù)低噪音布線技術(shù)及驅(qū)動(dòng)技術(shù)采用低頻時(shí)鐘總之單片機(jī)在目前的發(fā)展形勢(shì)下表現(xiàn)出幾大趨勢(shì)可靠性及應(yīng)用水平越來(lái)越高和internet連接已是一種明顯的走向所集成的部件越來(lái)越多功耗越來(lái)越低和模擬電路結(jié)合越來(lái)越多 本系統(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為控制核心主要基于考
11、慮AT89C52是一個(gè)低電壓高性能CMOS 8位單片機(jī)片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM時(shí)鐘頻率0-24MHz器件采用高密度非易失性存儲(chǔ)技術(shù)生產(chǎn)兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)功能強(qiáng)大AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓高性能CMOS 8位單片機(jī)片內(nèi)含8K bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(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)大AT89C52單片機(jī)
12、適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合主要性能參數(shù)與MCS-51產(chǎn)品指令和引腳完全兼容8K字節(jié)可重擦寫(xiě)FLASH閃存存儲(chǔ)器1000次寫(xiě)擦循環(huán)時(shí)鐘頻率0Hz24MHz三級(jí)加密存儲(chǔ)器256字節(jié)內(nèi)部RAM32個(gè)可編程IO口線3個(gè)16位定時(shí)計(jì)數(shù)器6個(gè)中斷源可編程串行UART通道低功耗的空閑和掉電模式片內(nèi)振蕩器和時(shí)鐘電路AT89C52有40個(gè)引腳32個(gè)外部雙向輸入輸出IO端口同時(shí)內(nèi)含2個(gè)外中斷口3個(gè)16位可編程定時(shí)計(jì)數(shù)器2個(gè)全雙工串行通信口2個(gè)讀寫(xiě)口線片內(nèi)振蕩器及時(shí)鐘電路AT89C52可以按照常規(guī)方法進(jìn)行編程也可以在線編程同時(shí)AT89C52可降至0Hz的靜態(tài)邏輯操作并支持兩種軟件可選的節(jié)電工作模式空閑方式停止C
13、PU的工作但允許RAM定時(shí)計(jì)數(shù)器串行通信口及中斷系統(tǒng)繼續(xù)工作掉電方式保存RAM中的內(nèi)容但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)本AT89C52有PDIPPQFPTQFP及PLCC等三種封裝形式以適應(yīng)不同產(chǎn)品的需求AT89C52引腳功能·Vcc電源電壓 ·GND地 ·P0口P0口是一組8位漏極開(kāi)路型雙向IO口也即地址數(shù)據(jù)總線復(fù)用口作為輸出口用時(shí)每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路對(duì)端口P0寫(xiě)1時(shí)可作為高阻抗輸入端用 在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器
14、時(shí)這組口線分時(shí)轉(zhuǎn)換地址低8位和數(shù)據(jù)總線復(fù)用在訪問(wèn)器件激活內(nèi)部上拉電阻 在Flash編程時(shí)P0口接收指令字節(jié)而在程序校驗(yàn)時(shí)輸出指令字節(jié)校驗(yàn)時(shí)要求外接上拉電阻 ·P1口P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向IO口P1的輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門(mén)電路對(duì)端口寫(xiě)1通過(guò)內(nèi)部的上拉電阻把端口拉到高電平此時(shí)可作輸入口作輸入口使用時(shí)因?yàn)閮?nèi)部存在上拉電阻某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流IIL 與AT89C51不同之處是com別作為定時(shí)計(jì)數(shù)器2的外部計(jì)數(shù)輸入P10T2和輸入 P11T2EX 參見(jiàn)表2-1Flash編程和程序校驗(yàn)期間P1接收低8位地址表-1為 com功能表-1 com功
15、能·P2口P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向IO口P2的輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門(mén)電路對(duì)端口P2寫(xiě)1通過(guò)內(nèi)部的上拉電阻把端口拉到高電平同時(shí)可作輸入口作輸入口使用時(shí)因?yàn)閮?nèi)部存在上拉電阻某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流IIL 在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器例如執(zhí)行MOVDPTR指令時(shí)P2口送出高8位地址數(shù)據(jù)在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器如執(zhí)行MOVRI指令時(shí)P2口輸出P2鎖存器的內(nèi)容 Flash編程或校驗(yàn)時(shí)P2亦接收高位地址和一些控制信號(hào) ·P3口P3口時(shí)一組帶有內(nèi)部上拉電阻的8位雙向IO口P3口輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)T
16、TL邏輯門(mén)電路對(duì)P3口寫(xiě)入1時(shí)它們被內(nèi)部上拉電阻拉高并可作為輸入端口此時(shí)被外部拉低的P3口將用上拉電阻輸出電流IILP3口作為一般的IO口線外更重要的用途是它的第二功能如表2-2所示此外P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào) ·RST復(fù)位輸入當(dāng)振蕩器工作時(shí)RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位·ALE當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí)ALE 地址鎖存允許 輸出脈沖用于鎖存地址的低8位字節(jié)一般情況下ALE仍以時(shí)鐘振蕩頻率的16輸出固定的脈沖信號(hào)因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的要注意的是每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖表-2
17、P3口第二功能端口引腳第二功能P30RXD串行輸入口P31TXD串行輸出口P32外中斷0P33外中斷1P34T0定時(shí)計(jì)數(shù)器0P35T1定時(shí)計(jì)數(shù)器1P36外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P37 外部數(shù)據(jù)存儲(chǔ)器讀選通 對(duì)Flash存儲(chǔ)器編程器件改引腳還用于輸入編程脈沖 如有必要可通過(guò)對(duì)特殊功能寄存器SFR區(qū)中的8EH單元的D0位復(fù)位可禁止ALE操作該位置復(fù)位后只有一條MOVX和MOVC指令才能將ALE激活此外該引腳會(huì)被微弱拉高單片機(jī)執(zhí)行外部程序時(shí)應(yīng)設(shè)置ALE禁止位無(wú)效 ·程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào)當(dāng)AT89C52由外部程序存儲(chǔ)器取指令或數(shù)據(jù)時(shí)每個(gè)機(jī)器周期兩次有效即輸出兩個(gè)脈沖在次期
18、間當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器將跳過(guò)兩次信號(hào) ·VPP外部訪問(wèn)允許欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器地址為0000H-FFFH端必須保持低電平接地需要的是如果加密位LB1被編程復(fù)位時(shí)內(nèi)部會(huì)鎖存端狀態(tài) 如端為高電平接Vcc端CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令 Flash存儲(chǔ)器編程時(shí)該引腳加上12V的編程允許電源Vpp當(dāng)然這必須是該器件是使用12V編程電壓Vpp ·XTAL1振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端·XTAL2振蕩器反相放大器的輸出端介紹完以上的單片機(jī)系統(tǒng)的核心芯片之后我們采用AT89C52來(lái)實(shí)現(xiàn)一個(gè)單片機(jī)系統(tǒng)能運(yùn)行起來(lái)的需求最小的系統(tǒng)電路圖上圖由晶振電路和復(fù)位電
19、路AT89C52芯片組成構(gòu)成最小的單片機(jī)系統(tǒng) 下面詳細(xì)介紹其中的兩個(gè)電路圖33 晶振電路圖 在89C52單片機(jī)的內(nèi)部有一個(gè)震蕩電路只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體簡(jiǎn)稱(chēng)晶振就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)圖中電容器C1和C2穩(wěn)定頻率和快速起振電容值在530pF典型值是22pF晶振CYS選擇的是12MHz2復(fù)位電路復(fù)位的意義單片機(jī)開(kāi)始工作的時(shí)候必須處于一種確定的狀態(tài)否則不知哪是第一條程序和如何開(kāi)始運(yùn)行程序端口線電平和輸入輸出狀態(tài)不確定可能使外圍設(shè)備誤動(dòng)作導(dǎo)致嚴(yán)重事故的發(fā)生內(nèi)部一些控制寄存器專(zhuān)用寄存器內(nèi)容不確定可能導(dǎo)致定時(shí)器溢出程序尚未開(kāi)始就要中斷及串口亂傳向外設(shè)
20、發(fā)送數(shù)據(jù)因此任何單片機(jī)在開(kāi)始工作前都必須進(jìn)行一次復(fù)位過(guò)程使單片機(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ù)位上電復(fù)位見(jiàn)圖34要求接通電源后單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作常用的上電復(fù)位電路如下圖所示上電瞬間RST引腳獲得高電平隨著電容C1的充電RST引腳的高電平將逐漸下降 圖34 上電復(fù)位電路圖RST引腳的高電平只要能保持足夠的時(shí)間2個(gè)機(jī)器周期單片機(jī)就可以進(jìn)行復(fù)位操作該電路典型的電阻和電容參數(shù)為晶振為12MHz時(shí)
21、C1為22uFR1為82 振為6MHz時(shí)C1為22uFR1為1本設(shè)計(jì)中復(fù)位電路采用的是開(kāi)關(guān)復(fù)位電路開(kāi)關(guān)S9未按下是上電復(fù)位電路上電復(fù)位電路在上電的瞬間由于電容上的電壓不能突變電容處于充電導(dǎo)通狀態(tài)故RST腳的電壓與VCC相同隨著電容的充電RST腳上的電壓才慢慢下降選擇合理的充電常數(shù)就能保證在開(kāi)關(guān)按下時(shí)是RST端有兩個(gè)機(jī)器周期以上的高電平從而使AT89C52內(nèi)部復(fù)位開(kāi)關(guān)按下時(shí)是按鍵手動(dòng)復(fù)位電路RST端通過(guò)電阻與VCC電源接通通過(guò)電阻的分壓就可以實(shí)現(xiàn)單片機(jī)的復(fù)位電路圖見(jiàn)圖35 圖35 復(fù)位電路圖 com 數(shù)據(jù)采集系統(tǒng) 1 從傳感器過(guò)來(lái)的電壓信號(hào)必須放大濾波采集轉(zhuǎn)換才能被MCU識(shí)別和處理由于假若每一路
22、都設(shè)置放大濾波等器件那么成本會(huì)很大所以信號(hào)的采集一般用多路模擬通路進(jìn)行選擇然而選擇多路模擬開(kāi)關(guān)時(shí)必須考慮以下的幾個(gè)因素通道數(shù)量切換速度開(kāi)關(guān)電阻和器件的封裝形式總之?dāng)?shù)據(jù)采集與硬件的選擇有很大的關(guān)系2甲醛傳感器甲醛模塊CH2O傳感器詳細(xì)介紹 甲醛傳感器由甲醛探頭和CH20傳感器組成當(dāng)空氣被內(nèi)部的采樣系統(tǒng)吸收后產(chǎn)生一個(gè)與甲醛濃度成正比的電壓信號(hào) 該電壓信號(hào)經(jīng)AD0832與AT89C52單片機(jī)相連在顯示器上顯示出甲醛的濃度值當(dāng)超過(guò)國(guó)家規(guī)定的標(biāo)準(zhǔn)時(shí)報(bào)警 表3-3 傳感器參數(shù)表名稱(chēng)甲醛傳感器CH2OS-10測(cè)量范圍0- 10 ppm最大負(fù)荷50ppm工作壽命空氣中3年輸 出1200±300nAp
23、pm4-20mA 甲醛模塊分辨率005 ppm溫度范圍-20 to 45壓力范圍大氣壓±10響應(yīng)時(shí)間 T 90 50 seconds濕度范圍-20 to 45零點(diǎn)輸出 純凈空體20 01 ppm最大零點(diǎn)漂移 20to 40 01 ppm長(zhǎng)期漂移2 每月推薦負(fù)載值10線性度輸出線性重 量約32克實(shí)現(xiàn)AD轉(zhuǎn)換的基本方法很多有計(jì)數(shù)法逐次逼近法雙斜積分法和并行轉(zhuǎn)換法由于逐次逼近式AD轉(zhuǎn)換具有速度分辨率高等優(yōu)點(diǎn)而且采用這種方法的ADC芯片成本低所以我們采用逐次逼近式AD轉(zhuǎn)換器逐次逼近型ADC包括1個(gè)比較器一個(gè)模數(shù)轉(zhuǎn)換器1個(gè)逐次逼近寄存器SAR和1個(gè)邏輯控制單元逐次逼近型是將采樣信號(hào)和已知電壓不
24、斷進(jìn)行比較一個(gè)時(shí)鐘周期完成1位轉(zhuǎn)換依次類(lèi)推轉(zhuǎn)換完成后輸出二進(jìn)制數(shù)這類(lèi)型ADC的分辨率和采樣速率是相互牽制的優(yōu)點(diǎn)是分辨率低于12位時(shí)價(jià)格較低采樣速率也很好由于ADC0832模數(shù)轉(zhuǎn)換器具有8位分辨率雙通道AD轉(zhuǎn)換輸入輸出電平與TTLCMOS相兼容5V電源供電時(shí)輸入電壓在05V之間工作頻率為250KHZ 轉(zhuǎn)換時(shí)間為32 微秒一般功耗僅為15MW等優(yōu)點(diǎn)適合本系統(tǒng)的應(yīng)用所以我們采用ADC0832為模數(shù)轉(zhuǎn)換器件電路圖見(jiàn)圖36如下 ADC0832 具有以下特點(diǎn)· 8位分辨率· 雙通道AD轉(zhuǎn)換· 輸入輸出電平與TTLCMOS相兼容· 5V電源供電時(shí)輸入電壓在05V之間&
25、#183; 工作頻率為250KHZ轉(zhuǎn)換時(shí)間為32S· 一般功耗僅為15mW· 8P14PDIP雙列直插PICC 多種封裝· 商用級(jí)芯片溫寬為0°C to 70°C工業(yè)級(jí)芯片溫寬為40°C to 85°C芯片接口說(shuō)明· CS_ 片選使能低電平芯片使能· CH0 模擬輸入通道0或作為IN-使用· CH1 模擬輸入通道1或作為IN-使用· GND 芯片參考0 電位地· DI 數(shù)據(jù)信號(hào)輸入選擇通道控制· DO 數(shù)據(jù)信號(hào)輸出轉(zhuǎn)換數(shù)據(jù)輸出· CLK 芯片時(shí)鐘輸入
26、83; VccREF 電源輸入及參考電壓輸入復(fù)用ADC0832 為8位分辨率AD轉(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ú)立的芯片使能輸入使多器件掛接和處理器控制變的更加方便通過(guò)DI 數(shù)據(jù)輸入端可以輕易的實(shí)現(xiàn)通道功能的選擇單片機(jī)對(duì)ADC0832 的控制原理正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線分別是CSCLKDODI但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的所以電路設(shè)計(jì)時(shí)可以將DO和DI 并
27、聯(lián)在一根數(shù)據(jù)線上使用當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平此時(shí)芯片禁用CLK 和DODI 的電平可任意當(dāng)要進(jìn)行AD轉(zhuǎn)換時(shí)須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束此時(shí)芯片開(kāi)始轉(zhuǎn)換工作同時(shí)由處理器向芯片時(shí)鐘輸入端CLK 輸入時(shí)鐘脈沖DODI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)在第1 個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平表示啟始信號(hào)在第23個(gè)脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能本系統(tǒng)應(yīng)用有人機(jī)對(duì)話功能該功能即能隨時(shí)發(fā)出各種控制命令和數(shù)據(jù)輸入以及和LCD連接顯示運(yùn)行狀態(tài)和運(yùn)行結(jié)果鍵盤(pán)分為獨(dú)立式和矩陣式兩類(lèi)每一類(lèi)按其編碼方法又可以分為編碼和非編碼兩種由于本系統(tǒng)
28、只有UPDOWN OK CANCEL 4個(gè)控制命令所需按鍵較少所以本系統(tǒng)選擇獨(dú)立式按鍵電路圖見(jiàn)圖37 圖37 按鍵電路圖獨(dú)立式按鍵是直接用IO口線構(gòu)成的單個(gè)按鍵電路每個(gè)獨(dú)立式按鍵占有一根IO口線各根IO口線之間不會(huì)相互影響在此電路中按鍵輸入部采用低電平有效上拉電阻保證了按鍵斷開(kāi)時(shí)IO口線有確定的高電平AT89C52 P1口內(nèi)部接有上拉電阻所以就不需要再外接上拉電阻鍵盤(pán)抖動(dòng)的消除抖動(dòng)的消除大致可以分為硬件削抖和軟件削抖硬件削抖是采用硬件電路的方法對(duì)鍵盤(pán)的按下抖動(dòng)及釋放抖動(dòng)進(jìn)行削抖經(jīng)過(guò)削抖電路后使按鍵的電平信號(hào)只有兩種穩(wěn)定狀態(tài)軟件削抖的基本原理是當(dāng)檢測(cè)出鍵盤(pán)閉合時(shí)先執(zhí)行一個(gè)延時(shí)子程序產(chǎn)生數(shù)毫秒的延
29、時(shí)待接通時(shí)的前沿抖動(dòng)消失后再判別是否有健按下當(dāng)按鍵釋放時(shí)也要經(jīng)過(guò)數(shù)毫秒延時(shí)待后沿抖動(dòng)消失后再判別鍵是否釋放由于應(yīng)用硬件削抖還需要外加器件成本相對(duì)較高所以本系統(tǒng)選擇軟件延時(shí)削抖的方法 com 外圍擴(kuò)充存儲(chǔ)器基于AT89C52單片機(jī)具有8KB的程序存儲(chǔ)器ROM256B的數(shù)據(jù)存儲(chǔ)器RAM由于考慮到本系統(tǒng)的數(shù)據(jù)處理與存儲(chǔ)所需的容量現(xiàn)在需要擴(kuò)充存儲(chǔ)器的容量在應(yīng)用中要保存一些參數(shù)和狀態(tài)據(jù)了解基于EEPROM的存儲(chǔ)芯片是一種很好的選擇我們選定了AT24C128存儲(chǔ)器電路圖見(jiàn)圖38 圖38 外圍擴(kuò)充存儲(chǔ)電路圖 com 時(shí)鐘芯片選擇與簡(jiǎn)介因?yàn)榇讼到y(tǒng)需要記錄測(cè)量發(fā)生的時(shí)間所以需要時(shí)鐘芯片來(lái)記錄不同人在不同時(shí)間的監(jiān)
30、測(cè)數(shù)據(jù)因此我們?cè)谙到y(tǒng)中加入了時(shí)鐘芯片對(duì)時(shí)鐘芯片的要求首先是低功耗其次是編程簡(jiǎn)單縮短程序開(kāi)發(fā)時(shí)間實(shí)際上也就縮短了系統(tǒng)用于實(shí)際生產(chǎn)所用的開(kāi)發(fā)周期以及成本在本系統(tǒng)我們選擇了DS1302時(shí)鐘芯片我們時(shí)鐘電路選擇的芯片是 DS1302其內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘日歷和31字節(jié)靜態(tài)RAM可以通過(guò)串行接口與單片機(jī)通信而通信時(shí)僅需要3個(gè)口線1RES復(fù)位2IO數(shù)據(jù)線3SCLK串行時(shí)鐘時(shí)鐘RAM的讀寫(xiě)數(shù)據(jù)以一字節(jié)或多達(dá)31字節(jié)的字符組方式通信其工作時(shí)功耗很低廣泛應(yīng)用于 便攜式儀器等產(chǎn)品領(lǐng)域 DS1302主要性能有時(shí)實(shí)時(shí)鐘能計(jì)算2100年之前的秒分時(shí)日日期星期月年的能力還有閏年的調(diào)整能力讀寫(xiě)時(shí)鐘或RAM數(shù)據(jù)時(shí)有單字節(jié)和多字節(jié)
31、傳送兩種方式與DS1202TTL兼容 DS1302引腳概述X1X2振蕩源外接32768KHZ晶振SCLK串行時(shí)鐘輸入端 日歷時(shí)鐘寄存器與控制字對(duì)照表日歷時(shí)鐘寄存器命令字取值范圍以及各位內(nèi)容對(duì)照表見(jiàn)表3-4 表3-4 時(shí)鐘控制字對(duì)照表寄存器名命令字取值范圍各位內(nèi)容寫(xiě)操作讀操作765430秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN時(shí)寄存器84H85H0112 00231224010APHRHR日寄存器86H87H01282930310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH01070000DAY
32、年寄存器8CH8DH019910YEARYEAR寫(xiě)保護(hù)寄存器8EH8FHWP0000慢充電寄存器90H91HTCSTCSTCSTCSDSDSRSRS時(shí)鐘突發(fā)寄存器BEHBFHDS1302數(shù)據(jù)輸入輸出時(shí)序數(shù)據(jù)輸入是在輸入寫(xiě)命令字的8個(gè)SCLK周期之后在接下來(lái)的8個(gè)SCLK周期中的每個(gè)脈沖的上升沿輸入數(shù)據(jù)數(shù)據(jù)從0位開(kāi)始如果有額外的SCLK周期它們將被忽略數(shù)據(jù)輸出是在輸出命令字的8個(gè)SCLK周期之后在接下來(lái)的8個(gè)SCLK周期中的每個(gè)脈沖的下降沿輸出數(shù)據(jù)數(shù)據(jù)從0位開(kāi)始需要注意的是第一個(gè)數(shù)據(jù)位在命令字節(jié)的最后一位之后的第一個(gè)下降沿被輸出只要RST保持高電平如果有額外的SCLK周期將重新發(fā)送數(shù)據(jù)字節(jié)即多字
33、節(jié)傳送其電路圖見(jiàn)圖39 圖39 時(shí)鐘電路圖 com 上拉電阻在主電路圖中接在P0口處有一個(gè)排阻RP1 由于P0口沒(méi)有內(nèi)接上拉電阻為了為P0口外接線路有確定的高電平所以要接上排阻RP1以確保有P0口有穩(wěn)定的電平電路連接圖見(jiàn)圖310 圖311 上拉電阻電路圖 com 液晶顯示器簡(jiǎn)介對(duì)于本系統(tǒng)要有顯示裝置完成顯示功能顯示器最好能夠顯示數(shù)據(jù)圖形考慮到同種LCD顯示器的屏幕越大體積越大功耗越大的特點(diǎn)在同類(lèi)產(chǎn)品中選用了AMPIRE128X64液晶顯示模塊該型號(hào)顯示器消耗電量比較低可以滿(mǎn)足系統(tǒng)要求該類(lèi)液晶顯示模塊采用動(dòng)態(tài)的液晶驅(qū)動(dòng)可用5V供電1AMPIRE128X64液晶模塊引腳說(shuō)明AMPIRE128X64
34、液晶共有22個(gè)引腳其引腳說(shuō)明如表3-5所示 表3-5 液晶引腳說(shuō)明圖管腳名稱(chēng)管 腳 定 義CSA片選1CSB片選2VSS數(shù)字地VDD邏輯電源5VV0對(duì)比度調(diào)節(jié)RS指令數(shù)據(jù)通道RW讀寫(xiě)選擇E使能選擇DB0-DB7數(shù)據(jù)線CS1片選1CS2片選2RES復(fù)位信號(hào)VEE液晶驅(qū)動(dòng)電源LEDLED背光正電源LED-LED接地端 表3-5AMPIRE128X64液晶顯示模塊與計(jì)算機(jī)的接口電路有兩種方式它與單片機(jī)的接口方法分為直接訪問(wèn)方式和間接控制方式直接訪問(wèn)方式是把液晶模塊作為存儲(chǔ)器或IO設(shè)備直接接在單片機(jī)的總線上單片機(jī)以訪問(wèn)存儲(chǔ)器或IO設(shè)備的方式操作液晶顯示模塊的工作間接控制方式則不使用單片機(jī)的數(shù)據(jù)系統(tǒng)而是
35、利用它的I0口來(lái)實(shí)現(xiàn)與顯示模塊的聯(lián)系即將液晶顯示模塊的數(shù)據(jù)線與單片機(jī)的Pl口連接作為數(shù)據(jù)總線另外三根時(shí)序控制信號(hào)線通常利用單片機(jī)的P3口中未被使用的IO口來(lái)控制這種訪問(wèn)方式不占用存儲(chǔ)器空間它的接口電路與時(shí)序無(wú)關(guān)其時(shí)序完全靠軟件編程實(shí)現(xiàn)本系統(tǒng)采用間接控制方式液晶顯示工作原理介紹以下為液晶顯示電路接線原理圖見(jiàn)圖312 圖312 液晶電路圖2在單片機(jī)系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個(gè)有點(diǎn)顯示質(zhì)量高由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度恒定發(fā)光而不像陰極射線管顯示器CRT那樣需要不斷刷新新亮點(diǎn)因此液晶顯示器畫(huà)質(zhì)高且不會(huì)閃爍數(shù)字式接口液晶顯示器都是數(shù)字式的和單片機(jī)系統(tǒng)的接口更
36、加簡(jiǎn)單可靠操作更加方便體積小重量輕液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的在重量上比相同顯示面積的傳統(tǒng)顯示器要輕的多功耗低相對(duì)而言液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上因而耗電量比其他顯示器要少的多3 LCD按其顯示方式通常可以分為斷式點(diǎn)字符式點(diǎn)陣式等還有黑白多灰度彩色顯示等液晶顯示原理是利用液晶的物理特性通過(guò)電壓對(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)陣組成
37、即要找到和顯示屏是某幾個(gè)位置對(duì)應(yīng)的RAM區(qū)的字節(jié)再使不同的位置為1其他的為0為1的點(diǎn)亮為0的不亮這樣就顯示出一個(gè)字符4漢字顯示漢字顯示和字符顯示的原理差不多就是一個(gè)漢字一般采用圖形方式事先從微機(jī)中用字模軟件提取要顯示的漢字的點(diǎn)陣碼每個(gè)漢字占32B為為兩部分各16B根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)就可以找出顯示RAM的對(duì)應(yīng)地址送上漢字要顯示的第一字節(jié)以此類(lèi)推最后送完32B這樣漢字就顯示出來(lái)了系統(tǒng)的液晶顯示字體和字母的顯示就是按照上述的原理顯示的點(diǎn)陣碼是用字模軟件在相同的設(shè)置區(qū)域找出的然后把提取的點(diǎn)陣碼放入編寫(xiě)的LCD軟件程序里5陣碼獲取過(guò)程簡(jiǎn)介首先打開(kāi) 軟件然后 因?yàn)闈h字占32B所以設(shè)
38、置其為 高度和寬度16x16取模方式選擇 在文字輸入?yún)^(qū)輸入漢字在點(diǎn)陣區(qū)生成點(diǎn)陣碼例如在文字輸入?yún)^(qū)輸入歡字其點(diǎn)陣碼生成如下 com 報(bào)警電路 在單片機(jī)應(yīng)用系統(tǒng)中一般的工作狀態(tài)可以通過(guò)指示燈或數(shù)碼顯示來(lái)指示供操作人員參考了解系統(tǒng)的工作狀況但對(duì)于某些緊急狀態(tài)比如系統(tǒng)檢測(cè)到的錯(cuò)誤狀態(tài)等為了使操作人員不至于忽視及時(shí)采取措施往往還需要有某種更能引人注意提起警覺(jué)的報(bào)警信號(hào)這種報(bào)警信號(hào)通常有三種類(lèi)型一是閃光報(bào)警因?yàn)殚W動(dòng)的指示燈更能提醒人們注意二是鳴音報(bào)警發(fā)出特定的音響作用于人的聽(tīng)覺(jué)器官易于引起和加強(qiáng)警覺(jué)三是語(yǔ)音報(bào)警不僅能起到報(bào)警作用還能直接給出警報(bào)種類(lèi)的信息其中前兩種報(bào)警裝置因硬件結(jié)構(gòu)簡(jiǎn)單軟件編程方便常常在單
39、片機(jī)應(yīng)用系統(tǒng)中使用而語(yǔ)音報(bào)警雖然警報(bào)信息較直接但硬件成本高結(jié)構(gòu)較復(fù)雜軟件量也增加單頻音報(bào)警 實(shí)現(xiàn)單頻音報(bào)警的接口電路比較簡(jiǎn)單其發(fā)音元件通常可采用壓電蜂鳴器當(dāng)在蜂鳴器兩引腳上加315V直流工作電壓就能產(chǎn)生3kHZ左右的蜂鳴振蕩音響壓電式蜂鳴器結(jié)構(gòu)簡(jiǎn)單耗電少更適于在單片機(jī)系統(tǒng)中應(yīng)用壓電式蜂鳴器約需10mA的驅(qū)動(dòng)電流可在某端口接上一只三極管和電阻組成的驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)如圖所示在圖2中P10接三極管基極輸入端當(dāng)P10輸出高電平1時(shí)三極管導(dǎo)通蜂鳴器的通電而發(fā)音當(dāng)P10輸出低電平0時(shí)三極管截止蜂鳴器停止發(fā)音 圖313 單頻音報(bào)警電路圖 基于本系統(tǒng)的需求和功耗要求只需要基本的報(bào)警功能即可我選擇采用的是三極管驅(qū)
40、動(dòng)的單音頻報(bào)警電路以下為報(bào)警電路接線圖見(jiàn)圖314 圖 314 報(bào)警電路圖com 硬件仿真環(huán)境介紹Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(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)試器鍵盤(pán)和LCD系統(tǒng)仿真的功能有各種虛擬儀器如示波器邏輯分析儀信號(hào)發(fā)生器等支持主流單片機(jī)系統(tǒng)的仿真目前支持的單片機(jī)類(lèi)型有68000系列8051系列AVR系列PIC12系列PIC16系列PI
41、C18系列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)境和一些基本操作 圖315 ISIS 6 Professional圖標(biāo)進(jìn)入Proteus ISIS雙擊桌面上的ISIS 6 Professional圖標(biāo)見(jiàn)圖315或者單擊屏幕左下方的開(kāi)始程序Prote
42、us 6 Professional ISIS 6 Professional出現(xiàn)如圖315所示屏幕表明進(jìn)入Proteus ISIS集成環(huán)境工作界面Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面如圖316所示包括標(biāo)題欄主菜單標(biāo)準(zhǔn)工具欄繪圖工具欄狀態(tài)欄對(duì)象選擇按鈕預(yù)覽對(duì)象方位控制按鈕仿真進(jìn)程控制按鈕預(yù)覽窗口對(duì)象選擇器窗口圖形編輯窗口 圖316 工作界面本章小結(jié)這一章比較具體的說(shuō)明了系統(tǒng)硬件設(shè)計(jì)的內(nèi)容通過(guò)模塊化的設(shè)計(jì)思想把一個(gè)復(fù)雜的單片機(jī)系統(tǒng)按照功能劃分成一個(gè)個(gè)單獨(dú)的電路模型分別進(jìn)行設(shè)計(jì)最后在集成到一起這種方法對(duì)于設(shè)計(jì)復(fù)雜的單片機(jī)系統(tǒng)很有效大大提高系統(tǒng)設(shè)計(jì)的效率與質(zhì)量說(shuō)明系統(tǒng)硬件設(shè)計(jì)
43、的電路原理圖附在論文的附錄里面由于我主要負(fù)責(zé)的是硬件設(shè)計(jì)所以只是簡(jiǎn)單的介紹硬件方面的內(nèi)容下面是軟件設(shè)計(jì)第4章 軟件設(shè)計(jì)41編寫(xiě)語(yǔ)言的選擇對(duì)于單片機(jī)的開(kāi)發(fā)應(yīng)用中逐漸引入了高級(jí)語(yǔ)言C語(yǔ)言就是其中的一種匯編語(yǔ)言的可控性較高級(jí)語(yǔ)言來(lái)說(shuō)更具優(yōu)越性程序編寫(xiě)語(yǔ)言比較常見(jiàn)的有C語(yǔ)言匯編語(yǔ)言匯編語(yǔ)言的機(jī)器代碼生成效率高控制性好但就是移植性不高C語(yǔ)言編寫(xiě)的程序比用匯編編寫(xiě)的程序更符合人們的思考習(xí)慣還有很多處理器都支持C編譯器這樣意味著處理器也能很快上手且具有良好的模塊化容易閱讀維護(hù)等優(yōu)點(diǎn)且編寫(xiě)的模塊程序易于移植基于C語(yǔ)言和匯編語(yǔ)言的優(yōu)缺點(diǎn)本系統(tǒng)采用C語(yǔ)言編寫(xiě)方法軟件編寫(xiě)的主體思路是將系統(tǒng)按功能模塊化劃分然后根據(jù)模
44、塊要實(shí)現(xiàn)的功能寫(xiě)各個(gè)子程序整個(gè)軟件程序的編寫(xiě)采用查詢(xún)式方式編寫(xiě)的42 編譯軟件介紹Keil軟件簡(jiǎn)介單片機(jī)開(kāi)發(fā)中除必要的硬件外同樣離不開(kāi)軟件我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法一種是手工匯編另一種是機(jī)器匯編目前已極少使用手工匯編的方法了機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼用于MCS-51單片機(jī)的匯編軟件有早期的A51隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā)單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出Keil提供了包括C編譯器宏匯編連接器庫(kù)管理和一個(gè)
45、功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境uVision將這些部份組合在一起運(yùn)行Keil軟件需要Pentium或以上的CPU16MB或更多RAM20M以上空閑的硬盤(pán)空間WIN98NTWIN2000WINXP等操作系統(tǒng)1 系統(tǒng)概述Keil C51Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)與匯編相比C語(yǔ)言在功能上結(jié)構(gòu)性可讀性可維護(hù)性上有明顯的優(yōu)勢(shì)因而易學(xué)易用用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā)體會(huì)更加深刻 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具全Windows界面另外重要的一點(diǎn)只要看一下編譯后生成的匯編代碼就能體會(huì)到Keil C51
46、生成的目標(biāo)代碼效率非常之高多數(shù)語(yǔ)句生成的匯編代碼很緊湊容易理解在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)2Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu)如圖41所示其中uVision與Ishell分別是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境 IDE 可以完成編輯編譯連接調(diào)試仿真等整個(gè)開(kāi)發(fā)流程開(kāi)發(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)試器dScope5
47、1或tScope51使用進(jìn)行源代碼級(jí)調(diào)試也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試也可以直接寫(xiě)入程序存貯器如EPROM中C51工具包的整體結(jié)構(gòu)圖3 運(yùn)行KEIL51軟件 圖 424建立項(xiàng)目1點(diǎn)擊Project菜單選擇彈出的下拉式菜單中的New Project如圖接著彈出一個(gè)標(biāo)準(zhǔn)Windows文件對(duì)話窗口在"文件名"中輸入您的第一個(gè)C程序項(xiàng)目名稱(chēng)"保存"后的文件擴(kuò)展名為uv2這是KEIL uVision2項(xiàng)目文件擴(kuò)展名以后我們可以直接點(diǎn)擊此文件以打開(kāi)先前做的項(xiàng)目2選擇所要的單片機(jī)這里我們選擇常用的Ateml公司的AT89C51完成上面步驟后我們就可以進(jìn)行程序的編
48、寫(xiě)了3首先我們要在項(xiàng)目中創(chuàng)建新的程序文件或加入舊程序文件如果你沒(méi)有現(xiàn)成的程序那么就要新建一個(gè)程序文件4點(diǎn)擊保存新建的程序也可以用菜單FileSave或快捷鍵CtrlS進(jìn)行保存我們把第一個(gè)程序命名為test1c保存在項(xiàng)目所在的目錄中這時(shí)你會(huì)發(fā)現(xiàn)程序單詞有了不同的顏色說(shuō)明KEIL的C語(yǔ)法檢查生效了如圖鼠標(biāo)在屏幕左邊的Source Group1文件夾圖標(biāo)上右擊彈出菜單在這里可以做在項(xiàng)目中增加減少文件等操作我們quotAdd File to Group Source Group 1"彈出文件窗口選擇剛剛保存的文件按ADD按鈕關(guān)閉文件窗程序文件已加到項(xiàng)目中了這時(shí)在Source Group1文件
49、夾圖標(biāo)左邊出現(xiàn)了一個(gè)小號(hào)說(shuō)明文件組中有了文件點(diǎn)擊它可以展開(kāi)查看C程序文件已被我們加到了項(xiàng)目中了下面就剩下編譯運(yùn)行了圖圖中123都是編譯按鈕不同是1是用于編譯單個(gè)文件2是編譯當(dāng)前項(xiàng)目如果先前編譯過(guò)一次之后文件沒(méi)有做動(dòng)編輯改動(dòng)這時(shí)再點(diǎn)擊是不會(huì)再次重新編譯的3是重新編譯每點(diǎn)擊一次均會(huì)再次編譯鏈接一次不管程序是否有改動(dòng)在3右邊的是停止編譯按鈕只有點(diǎn)擊了前三個(gè)中的任一個(gè)停止按鈕才會(huì)生效在4中可以看到編譯的錯(cuò)誤信息和使用的系統(tǒng)資源情況等以后我們要查錯(cuò)就靠它了6是有一個(gè)小放大鏡的按鈕這就是開(kāi)啟關(guān)閉調(diào)試模式的按鈕它也存在于菜單DebugStartStop Debug Session快捷鍵為CtrlF5 圖45
50、 6 進(jìn)入調(diào)試模式軟件窗口樣式大致如圖所示圖中1為運(yùn)行當(dāng)程序處于停止?fàn)顟B(tài)時(shí)才有效2為停止程序處于運(yùn)行狀態(tài)時(shí)才有效3是復(fù)位模擬芯片的復(fù)位程序回到最開(kāi)頭處執(zhí)行按4我們可以打開(kāi)5中的串行調(diào)試窗口這個(gè)窗口我們可以看到從51芯片的串行口輸入輸出的字符這里的第一個(gè)項(xiàng)目也正是在這里看運(yùn)行結(jié)果首先按4打開(kāi)串行調(diào)試窗口再按運(yùn)行要停止程序運(yùn)行回到文件編輯模式中就要先按停止按鈕再按開(kāi)啟關(guān)閉調(diào)試模式按鈕然后我們就可以進(jìn)行關(guān)閉KEIL等相關(guān)操作了 圖 467HEX文件格式是Intel公司提出的按地址排列的數(shù)據(jù)信息數(shù)據(jù)寬度為字節(jié)所有數(shù)據(jù)使用16進(jìn)制數(shù)字表示 常用來(lái)保存單片機(jī)或其他處理器的目標(biāo)程序代碼它保存物理程序存儲(chǔ)區(qū)中
51、的目標(biāo)代碼映象一般的編程器都支持這種格式打開(kāi)目錄找到testUv2的文件就可以打開(kāi)先前的項(xiàng)目了然后右擊圖中的1項(xiàng)目文件夾彈出項(xiàng)目功能菜單選Options for TargetTarget1彈出項(xiàng)目選項(xiàng)設(shè)置窗口同樣先選中項(xiàng)目文件夾圖標(biāo)這時(shí)在Project菜單中也有一樣的菜單可選打開(kāi)項(xiàng)目選項(xiàng)窗口轉(zhuǎn)到Output選項(xiàng)頁(yè)圖所示圖中1是選擇編譯輸出的路徑2是設(shè)置編譯輸出生成的文件名3則是決定是否要?jiǎng)?chuàng)建HEX文件選中它就可以輸出HEX文件到指定的路徑中再將它重新編譯一次很快在編譯信息窗口中就顯示HEX文件創(chuàng)建到指定的路徑中了如圖這樣我們就可用自己的編程器所附帶的軟件去讀取并燒到芯片了再用實(shí)驗(yàn)板看結(jié)果至于編
52、程器或仿真器品種繁多具體方法就看它的說(shuō)明書(shū)了這里不做 圖項(xiàng)目功能菜單圖項(xiàng)目選項(xiàng)窗口圖編譯信息窗口 圖410 主程序流程圖44模數(shù)轉(zhuǎn)換 模數(shù)轉(zhuǎn)換模塊的主要功能就是將經(jīng)放大器放大的模擬電壓信號(hào)轉(zhuǎn)化為MCU能夠處理的數(shù)字信號(hào)并傳送給MCUADC0832轉(zhuǎn)換的流程圖見(jiàn)下圖411 圖 411數(shù)轉(zhuǎn)換流程圖 45按鍵模塊按鍵時(shí)顯現(xiàn)人機(jī)對(duì)話的一個(gè)控制按鈕通過(guò)按鍵的操作對(duì)系統(tǒng)進(jìn)行發(fā)送操作指令后經(jīng)與MCU串行通信然后在液晶上顯示按鍵查詢(xún)式的流程圖見(jiàn)下圖 圖 412按鍵查詢(xún)式的流程圖46時(shí)鐘模塊DS1302模塊主要是用于設(shè)置時(shí)間和與MCU通信經(jīng)LCD顯示時(shí)間時(shí)鐘模塊操作流程圖見(jiàn)下圖 圖 413 時(shí)鐘模塊操作流程圖4
53、7液晶顯示模塊LCD模塊在本系統(tǒng)中主要起著開(kāi)界面漢字顯示以及各控制效果的顯示采用直接訪問(wèn)方式液晶顯示的操作流程圖見(jiàn)下圖413 圖 414液晶顯示的操作流程圖 第5章 系統(tǒng)仿真前面已經(jīng)把單片機(jī)系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)完成了下一步就可以著手進(jìn)行仿真因?yàn)樵谠O(shè)計(jì)的過(guò)程之中肯定有許多的錯(cuò)誤需要進(jìn)行仿真來(lái)發(fā)現(xiàn)錯(cuò)誤和調(diào)試錯(cuò)誤這樣才能使單片機(jī)低功耗計(jì)數(shù)系統(tǒng)的設(shè)計(jì)更加完善本次系統(tǒng)仿真采用的是軟件仿真使用的是proteus軟件Proteus軟件由ISIS和ARES兩個(gè)軟件構(gòu)成其中ISIS是原理圖編輯與仿真軟件ARES是布線編輯軟件本次系統(tǒng)的硬件設(shè)計(jì)其中的原理圖編輯和PCB布線就是在這個(gè)軟件環(huán)境中完成的至于軟件設(shè)計(jì)則是采用proteus軟件中的ISIS和Kei uVision進(jìn)行聯(lián)合調(diào)試圖 51主界面顯示圖二系統(tǒng)接下來(lái)顯示4個(gè)基本操作功能小對(duì)號(hào)為該操作顯示項(xiàng)如圖52圖52 功能界面三選擇開(kāi)始測(cè)量單擊OK鍵便有下面測(cè)量選擇界面如圖53 圖 53 測(cè)量選擇界面四再按OK則顯示檢測(cè)數(shù)據(jù)范圍0-1com圖 54測(cè)量界面顯示圖五小結(jié)本系統(tǒng)原先打算設(shè)計(jì)開(kāi)始測(cè)量數(shù)據(jù)存儲(chǔ)時(shí)間設(shè)置通訊設(shè)置等4個(gè)基本功能后由于條件所限我們并未做出全部的功能但這次的畢業(yè)設(shè)計(jì)收獲還是很多的今后我們會(huì)進(jìn)一步進(jìn)完善該系統(tǒng)第6章 結(jié)束語(yǔ)目前公共場(chǎng)所民用建筑室內(nèi)檢測(cè)甲醛氣體建筑材料中甲醛含量檢測(cè)甲醛
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源項(xiàng)目施工團(tuán)隊(duì)派遣服務(wù)協(xié)議
- 二零二五年度員工期權(quán)激勵(lì)計(jì)劃執(zhí)行與員工福利協(xié)議
- 二零二五年度特色商業(yè)街區(qū)商鋪轉(zhuǎn)讓合同
- 2025年度鋼構(gòu)建筑鋼結(jié)構(gòu)加工與施工合同
- 2025年度電子商務(wù)平臺(tái)合作協(xié)議簽約變更終止全流程手冊(cè)
- 二零二五年度醫(yī)療糾紛調(diào)解與醫(yī)療機(jī)構(gòu)糾紛調(diào)解機(jī)制建設(shè)協(xié)議
- 2025年度電商旺季客服團(tuán)隊(duì)增援服務(wù)協(xié)議
- 2025年度金融科技合作入股協(xié)議書(shū)
- 二零二五年度城市綜合體工程款房屋抵償協(xié)議
- 二零二五年度電影學(xué)院電影包場(chǎng)教學(xué)合同
- 統(tǒng)編版小學(xué)語(yǔ)文六年級(jí)下冊(cè)第四單元《理想和信念》作業(yè)設(shè)計(jì)
- 2025年春季學(xué)期學(xué)校工作計(jì)劃及安排表
- 化驗(yàn)班組安全培訓(xùn)
- 英語(yǔ)-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 丹佛斯變頻器培訓(xùn)經(jīng)典課件
- 2024年06月日照銀行社會(huì)招聘筆試歷年參考題庫(kù)附帶答案詳解
- 烤房租賃合同范例
- 建筑地暖系統(tǒng)工程安裝考核試卷
- 專(zhuān)題四 指數(shù)函數(shù)與對(duì)數(shù)函數(shù)【中職專(zhuān)用】2025春季對(duì)口高考數(shù)學(xué)專(zhuān)題復(fù)習(xí)(河南適用)(解析版)
- 江蘇卷2024年高考語(yǔ)文第一次模擬考試一(原卷版+解析版)
- 2024解析:第十六章電壓和電阻-講核心(解析版)
評(píng)論
0/150
提交評(píng)論