基于單片機(jī)的二氧化碳濃度器設(shè)計(jì) (15)_第1頁(yè)
基于單片機(jī)的二氧化碳濃度器設(shè)計(jì) (15)_第2頁(yè)
基于單片機(jī)的二氧化碳濃度器設(shè)計(jì) (15)_第3頁(yè)
基于單片機(jī)的二氧化碳濃度器設(shè)計(jì) (15)_第4頁(yè)
基于單片機(jī)的二氧化碳濃度器設(shè)計(jì) (15)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、簡(jiǎn)易多種傳感器信號(hào)測(cè)試儀設(shè)計(jì)AD590溫度測(cè)試儀摘 要本課題主要介紹了溫度測(cè)量的硬件電路的設(shè)計(jì)和相關(guān)軟件設(shè)計(jì)。硬件電路主要包括主控制器,測(cè)溫電路和顯示電路等,控制器采用單片機(jī)AT89C51,溫度傳感器采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的AD590,顯示電路采用3位共陽(yáng)極LED數(shù)碼管以動(dòng)態(tài)掃描法直讀顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)子程序等。此外,還介紹了系統(tǒng)的調(diào)試和性能分析。 關(guān)鍵詞:AD590、ADC0804、AT89C51緒 論1.1課題背景及意義一些傳感器市場(chǎng)比如壓力傳感器、溫度傳感器、流量傳感器、水平傳感器.稱(chēng)重傳感器已表現(xiàn)出成熟

2、市場(chǎng)的特征。流量傳感器、壓力傳感器、溫度傳感器.稱(chēng)重傳感器的市場(chǎng)規(guī)模最大,分別占到整個(gè)傳感器市場(chǎng)的21%、19%和14%。傳感器市場(chǎng)的主要增長(zhǎng)來(lái)自于無(wú)線(xiàn)傳感器、MEMS傳感器、生物傳感器等新興傳感器。其中,無(wú)線(xiàn)傳感器在2007-2010年復(fù)合年增長(zhǎng)率預(yù)計(jì)會(huì)超過(guò)25%。 與傳統(tǒng)的溫度計(jì)相比,由于采用了改進(jìn)型智能溫度傳感器AD590作為檢測(cè)元件,本數(shù)字溫度計(jì)減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。AD590溫度計(jì)還可以在過(guò)限報(bào)警、遠(yuǎn)距離多點(diǎn)測(cè)溫控制等方面進(jìn)行應(yīng)用開(kāi)發(fā),具有很好的發(fā)展前景。AD590是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線(xiàn)的獨(dú)特優(yōu)點(diǎn),可以使用戶(hù)輕松地組建起傳感器

3、網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠在該論文中,我們通過(guò)對(duì)單片機(jī)和溫度傳感器的設(shè)計(jì),從中學(xué)到了許多有用的東西,其中我們明白了如何去設(shè)計(jì)一個(gè)產(chǎn)品,首先要有性?xún)r(jià)比、良好的適應(yīng)性,其次要知道設(shè)計(jì)的關(guān)鍵,最后也懂得了設(shè)計(jì)與實(shí)際的聯(lián)系 1.2課題的應(yīng)用前景   溫度傳感器的應(yīng)用范圍很廣,它不僅廣泛應(yīng)用于日常生活中,而且也大量應(yīng)用于自動(dòng)化和過(guò)程檢測(cè)控制系統(tǒng)。目前,全球的傳感器市場(chǎng)在不斷變化的創(chuàng)新之中呈現(xiàn)出快速增長(zhǎng)的趨勢(shì)。有關(guān)專(zhuān)家指出,傳感器領(lǐng)域的主要技術(shù)將在現(xiàn)有基礎(chǔ)上予以延伸和提高,各國(guó)將競(jìng)相加速新一代傳感器的開(kāi)發(fā)和產(chǎn)業(yè)化,競(jìng)爭(zhēng)也將日益激烈。新技術(shù)的發(fā)展將重新定義未來(lái)的

4、傳感器市場(chǎng),比如無(wú)線(xiàn)傳感器、光纖傳感器、智能傳感器和金屬氧化傳感器等新型稱(chēng)重傳感器的出現(xiàn)與市場(chǎng)份額的擴(kuò)大。 第二章 總體設(shè)計(jì)方案2.1總體設(shè)計(jì)框圖溫度傳感器采集到的微弱電壓信號(hào)經(jīng)過(guò)濾波器放大器放大十倍后送入AD轉(zhuǎn)換器(ADC0804)的輸入端。ADC0804將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)后傳給AT89C51選用3個(gè)共陽(yáng)極8段數(shù)碼顯示管用于動(dòng)態(tài)顯示當(dāng)前測(cè)量溫度。用單片機(jī)P1.0至P1.7驅(qū)動(dòng)控制段碼,P2.0,P2.1至P2.2驅(qū)動(dòng)三極管實(shí)現(xiàn)位選。驅(qū)動(dòng)器74LS244使LED八段數(shù)碼管動(dòng)態(tài)顯示。CPU 89C51模數(shù)轉(zhuǎn)換器ADC0804放大電路 傳感器3位數(shù)碼管顯示圖2.1 總體設(shè)計(jì)框圖2.2 總體設(shè)

5、計(jì)方案分析按功能要求簡(jiǎn)易傳感器信號(hào)測(cè)試儀可以測(cè)量溫度,并在3位LED數(shù)碼管上顯示數(shù)值。測(cè)量最小分別率為0.019V,測(cè)量誤差約為0.02V。 按系統(tǒng)功能實(shí)際要求,控制系統(tǒng)采用89C51單片機(jī),A/D轉(zhuǎn)換采用ADC0804。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便地進(jìn)行壓力測(cè)量和A/D的轉(zhuǎn)換量的測(cè)量、數(shù)碼顯示的功能。第三章 硬件設(shè)計(jì)原理3.1 總原理圖及工作原理分析簡(jiǎn)易傳感器信號(hào)測(cè)試儀信號(hào)采集是通過(guò)溫度傳感器AD590將溫度的變化轉(zhuǎn)換為變化電壓,通過(guò)有源濾波器進(jìn)行濾波放大,得到一個(gè)穩(wěn)定的電壓信號(hào),信號(hào)進(jìn)過(guò)A/D轉(zhuǎn)換、數(shù)據(jù)處理,最后通過(guò)三位數(shù)碼管顯示出來(lái)。電路原理圖如圖3.1.1所示。 圖3.1.

6、1 總電路原理圖3.2 AD590傳感器檢測(cè)電路單元 1、 AD590基本知識(shí)AD590的主要特性:AD590是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流傳感器,是一種已經(jīng)IC化的溫度感測(cè)器,它會(huì)將溫度轉(zhuǎn)換為電流。其規(guī)格如下:a、 每增加1,它會(huì)增加1A輸出電流b、 可測(cè)量范圍-55至150c、 供電電壓范圍+4V至+30VAD590溫度與電流的關(guān)系如下表所示攝氏溫度AD590電流經(jīng)10K電壓0273.2 uA2.732V10283.2 uA2.832 V20293.2 uA2.932 V30303.2 uA3.032 V40313.2 uA3.132 V50323.2 uA3.232 V60

7、333.2 uA3.332 V100373.2 uA3.732 V表3.2.1AD590的管腳圖及元件符號(hào)如下圖所示:AD590是電流型溫度傳感器,通過(guò)對(duì)電流的測(cè)量可得到所需要的溫度值。根據(jù)特性分擋,AD590的后綴以I,J,K,L,M表示。AD590L,AD590M一般用于精密溫度測(cè)量電路,其電路外形如圖1所示,它采用金屬殼3腳封裝,其中1腳為電源正端V;2腳為電流輸出端I0;3腳為管殼,一般不用。集成溫度傳感器的電路符號(hào)如圖2所示。AD590相當(dāng)于一個(gè)溫度控制的恒流源,輸出電流大小只與溫度有關(guān),且與溫度成正比。只需一個(gè)精密電阻,就可以將電流(溫度)信號(hào)轉(zhuǎn)化為電壓信號(hào),總的靈敏度系數(shù)通過(guò)該電

8、阻設(shè)定。AD590的溫度系數(shù)是1A/K,即溫度每增加1K,它會(huì)增加1A輸出電流。其輸出電流是以絕對(duì)溫度零度-273為基準(zhǔn),每增加1,它會(huì)增加1A輸出電流,因此 -10到100時(shí)AD590輸出電流為263A到373A。ADC0809的輸入電壓為0-5V,所以需要電流-電壓轉(zhuǎn)換電路。2.AD590的工作原理在被測(cè)溫度一定時(shí),AD590相當(dāng)于一個(gè)恒流源,把它和530V的直流電源相連,并在輸出端串接一個(gè)1k的恒值電阻,那么,此電阻上流過(guò)的電流將和被測(cè)溫度成正比,此時(shí)電阻兩端將會(huì)有1mVK的電壓信號(hào)。 數(shù)字顯示溫度計(jì)的設(shè)計(jì)AD590具有線(xiàn)性?xún)?yōu)良、性能穩(wěn)定、靈敏度高、無(wú)需補(bǔ)償、熱容量小、抗干擾能力強(qiáng)、可遠(yuǎn)

9、距離測(cè)溫且使用方便等優(yōu)點(diǎn)??蓮V泛應(yīng)用于各種冰箱、空調(diào)器、糧倉(cāng)、冰庫(kù)、工業(yè)儀器配套和各種溫度的測(cè)量和控制等領(lǐng)域。下面給出用AD590構(gòu)成數(shù)字顯示溫度計(jì)的設(shè)計(jì)過(guò)程。在設(shè)計(jì)測(cè)溫電路時(shí),首先應(yīng)將電流轉(zhuǎn)換成電壓。由于AD590為電流輸出元件,它的溫度每升高1K,電流就增加1A。當(dāng)AD590的電流通過(guò)一個(gè)10k的電阻時(shí),這個(gè)電阻上的壓降為10mV,即轉(zhuǎn)換成10mVK,為了使此電阻精確(01),可用一個(gè)96k的電阻與一個(gè)1k電位器串聯(lián),然后通過(guò)調(diào)節(jié)電位器來(lái)獲得精確的10k。圖3.1.2所示是一個(gè)電流電壓和絕對(duì)攝氏溫標(biāo)的轉(zhuǎn)換電路,其中運(yùn)算放大器A1被接成電壓跟隨器形式,以增加信號(hào)的輸入阻抗。而運(yùn)放A2的作用是

10、把絕對(duì)溫標(biāo)轉(zhuǎn)換成攝氏溫標(biāo),給A2的同相輸入端輸入一個(gè)恒定的電壓(如1235V),然后將此電壓放大到273V。這樣,A1與A2輸出端之間的電壓即為轉(zhuǎn)換成的攝氏溫標(biāo),運(yùn)放A3反相并放大倍輸送給A/D轉(zhuǎn)換器。 圖 3.1.2將AD590放入0的冰水混合溶液中,A1同相輸入端的電壓應(yīng)為273V,同樣使A2的輸出電壓也為273V,因此A1與A2兩輸出端之間的電壓:2.732.730V即對(duì)應(yīng)于0。 3.3、放大電路741放大器為運(yùn)算放大器中最常被使用的一種,擁有反相向與非反相兩輸入端,由輸入端輸入欲被放大的電流或電壓信號(hào),經(jīng)放大后由輸出端輸出。放大器作動(dòng)時(shí)的最大特點(diǎn)為需要一對(duì)同樣大小的正負(fù)電源,其值由&#

11、177;12Vdc至±18Vdc不等,這里使用±12Vdc的電壓。741運(yùn)算放大器的接腳配置如圖3.1.3圖 3.1.3741運(yùn)算放大器使用時(shí)需于7、4腳位供應(yīng)一對(duì)同等大小的正負(fù)電源電壓Vcc與Vcc,一旦于2、3腳位即兩輸入端間有電壓差存在,壓差即會(huì)被放大于輸出端,唯Op放大器具有一特色,其輸出電壓值決不會(huì)大于正電源電壓Vcc或小于負(fù)電源電壓Vcc,輸入電壓差經(jīng)放大后若大于外接電源電壓Vcc至Vcc之范圍,其值會(huì)等于Vcc或Vcc,故一般運(yùn)算放大器輸出電壓均具有如圖3.1.4之特性曲線(xiàn),輸出電壓于到達(dá)Vcc和Vcc后會(huì)呈現(xiàn)飽和現(xiàn)象。圖3.1.43.4 A/D轉(zhuǎn)換電路單元A

12、DC0804芯片介紹圖3.1.5:ADC0804規(guī)格及引腳分配圖本設(shè)計(jì)采用的A/D芯片為ADC0804,它是CMOS 8位單通道逐次漸近型的模/數(shù)轉(zhuǎn)換器,其規(guī)格及引腳圖如圖3所示,根據(jù)手冊(cè)我們可以得到各個(gè)引腳的大致功能如下:/CS:芯片片選信號(hào),低電平有效,即/CS=0,該芯片才能正常工作,在外接多個(gè)ADC0804芯片時(shí),該信號(hào)可以作為選擇地址使用,通過(guò)不同的地址信號(hào)使能不同的ADC0804芯片,從而可以實(shí)現(xiàn)多個(gè)ADC通道的分時(shí)復(fù)用。/WR:啟動(dòng)ADC0804進(jìn)行ADC采樣,該信號(hào)低電平有效,即/WR信號(hào)由高電平變成低電平時(shí),觸發(fā)一次ADC轉(zhuǎn)換。/RD:低電平有效,即/RD=0時(shí),可以通過(guò)數(shù)據(jù)

13、端口DB0DB7讀出本次的采樣結(jié)果。UIN(+)和UIN(-):模擬電壓輸入端,模擬電壓輸入接UIN(+)端,UIN(-)端接地。雙邊輸入時(shí)UIN(+)、UIN(-)分別接模擬電壓信號(hào)的正端和負(fù)端。當(dāng)輸入的模擬電壓信號(hào)存在“零點(diǎn)漂移電壓”時(shí),可在UIN(-)接一等值的零點(diǎn)補(bǔ)償電壓,變換時(shí)將自動(dòng)從UIN(+)中減去這一電壓。VREF/2:參考電壓接入引腳,該引腳可外接電壓也可懸空,若外界電壓,則ADC的參考電壓為該外界電壓的兩倍,如不外接,則Vref與Vcc共用電源電壓,此時(shí)ADC的參考電壓即為電源電壓Vcc的值。CLKR和CLKIN:外接RC電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時(shí)鐘信號(hào),時(shí)鐘頻率CLK =

14、 1/1.1RC,一般要求頻率范圍100KHz1.28MHz。AGND和DGND:分別接模擬地和數(shù)字地。 /INT:中斷請(qǐng)求信號(hào)輸出引腳,該引腳低電平有效,當(dāng)一次A/D轉(zhuǎn)換完成后,將引起/INT=0,實(shí)際應(yīng)用時(shí),該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的INT0,INT1腳),當(dāng)產(chǎn)生/INT信號(hào)有效時(shí),還需等待/RD=0才能正確讀出A/D轉(zhuǎn)換結(jié)果,若ADC0804單獨(dú)使用,則可以將/INT引腳懸空。DB0DB7:輸出A/D轉(zhuǎn)換后的8位二進(jìn)制結(jié)果。ADC0804模擬轉(zhuǎn)數(shù)字對(duì)照表十六進(jìn)制二進(jìn)制高四位低四位相對(duì)電壓值(2.56V)分別與滿(mǎn)刻度的比率高四位低四位F111115/1615/

15、2564.8000.300E111014/1614/2564.4800.280D110113/1613/2564.1600.260C110012/1612/2563.8400.240B101111/1611/2563.5200.220A101010/1610/2563.2000.200910019/169/2562.8800.180810008/168/2562.5600.160701117/167/2562.2400.140601106/166/2561.9200.120501015/165/2561.6000.100401004/164/2561.2800.080300113/163/25

16、60.9600.060200102/162/2560.6400.040100011/161/2560.3200.020000000/160/25600表3.4.1根據(jù)以上對(duì)照表,可以得出以下結(jié)論如果:輸入模擬量VIN=4V,由上表可知3.840+0.160=4V 數(shù)字為11001000=C8H模數(shù)轉(zhuǎn)換器ADC0804的工作分為三個(gè)過(guò)程:,復(fù)位中斷觸發(fā)信號(hào)信號(hào)  表明ADC0804轉(zhuǎn)換已經(jīng)結(jié)束,它提示單片機(jī)隨時(shí)可以讀取轉(zhuǎn)換結(jié)果,是ADC0804的一個(gè)輸出信號(hào)。一般情況下,啟動(dòng)A/D轉(zhuǎn)換前應(yīng)該復(fù)位這個(gè) 信號(hào),以等待新的轉(zhuǎn)換完成后ADC0804發(fā)出新的 信號(hào),這樣才可以讀到新的轉(zhuǎn)換結(jié)果。復(fù)

17、位 信號(hào)的時(shí)序如圖2中的A,在實(shí)現(xiàn)片選 ( 0)的前提下,使用一個(gè)讀信號(hào)  的下降沿就可以復(fù)位 信號(hào)。    ,啟動(dòng)ADC0804的A/D轉(zhuǎn)換ADC0804中的A/D轉(zhuǎn)換器在滿(mǎn)足一定條件時(shí)開(kāi)始一個(gè)轉(zhuǎn)換過(guò)程,這個(gè)條件就是:在實(shí)現(xiàn)片選 ( 0)的前提下, 引腳上出現(xiàn)的一個(gè)上升沿。啟動(dòng)A/D轉(zhuǎn)換的時(shí)序如圖2中的B,實(shí)現(xiàn)片選以后( 0),使用一個(gè)寫(xiě)信號(hào)就可以啟動(dòng)一個(gè)轉(zhuǎn)換過(guò)程。圖中 是時(shí)間延遲,時(shí)間 是轉(zhuǎn)換時(shí)間。,讀取轉(zhuǎn)換結(jié)果在A/D轉(zhuǎn)換結(jié)束以后,ADC0804的 引腳將給出一個(gè)低脈沖,如果把這個(gè)引腳直接連接到單片機(jī)的外部中斷引腳P3.或P3.,這個(gè)低脈

18、沖將引起單片機(jī)中斷,單片機(jī)可以在中斷處理程序中讀取ADC0804的轉(zhuǎn)換結(jié)果。實(shí)驗(yàn)中我們由CH0輸入模擬量,DO輸出數(shù)字量。我們把AD0832的CS、CLK、D0、DI端分別連接在P3.3、P3.2,P3.1,P3.0端,所以ADC0804的片選、時(shí)鐘信號(hào)、啟動(dòng)位和配置位均通過(guò)置位端口實(shí)現(xiàn)。由于是CH0輸入模擬信號(hào),所以配置位為10。ADC0804為單端輸出模式。由于AD是串行輸入輸出,故前3個(gè)脈沖上升沿完成設(shè)置,第411個(gè)脈沖下降沿后取1位AD轉(zhuǎn)換的結(jié)果,在第1118個(gè)脈沖下降沿后第二次取AD轉(zhuǎn)換結(jié)果,將兩次結(jié)果進(jìn)行比對(duì),如果一致,則完成轉(zhuǎn)換,關(guān)ADC0804;如果不一致,則重新開(kāi)始轉(zhuǎn)換。經(jīng)A

19、D轉(zhuǎn)換后,數(shù)字量D與溫度值的轉(zhuǎn)換如下所示:本設(shè)計(jì)中的A/D轉(zhuǎn)換由集成電路0804完成。0804具有一個(gè)模擬電壓輸入端口。5腳為中斷請(qǐng)求信號(hào)輸出引腳,該引腳低電平有效,當(dāng)一次A/D轉(zhuǎn)換完成后,將引起/INT1=0,實(shí)際應(yīng)用時(shí),該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的INT0,INT1腳),當(dāng)產(chǎn)生/INT信號(hào)有效時(shí),還需等待/RD=0才能正確讀出A/D轉(zhuǎn)換結(jié)果。CLKR和CLKIN引腳是外接RC電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時(shí)鐘信號(hào)。/CS引腳為芯片片選信號(hào),低電平有效,即/CS=0,該芯片才能正常工作。單片機(jī)的P1、P2.0P2.2端口作為3位LED數(shù)碼管顯示控制。P0端口用作A/D轉(zhuǎn)

20、換數(shù)據(jù)讀入,P2.6、P3.6、P3.7用作0804的A/D轉(zhuǎn)換控制。為了提高精度,擴(kuò)大測(cè)量范圍,在A/D轉(zhuǎn)換前還要將信號(hào)加以放大并進(jìn)行零點(diǎn)遷移,因而一個(gè)高穩(wěn)定性的、高精度的放大電路是必須的。當(dāng)溫度變化時(shí),AD590會(huì)產(chǎn)生電流變化,當(dāng)AD590的電流通過(guò)一個(gè)10k的電阻時(shí),這個(gè)電阻上的壓降為10mV,即轉(zhuǎn)換成10mVK,為了使此10k電阻精確,可用一個(gè)9k的電阻與一個(gè)2k的電位器串聯(lián),然后通過(guò)調(diào)節(jié)電位器來(lái)獲得精確的10k。運(yùn)算放大器A1被接成電壓跟隨器形式,以增加信號(hào)的輸入阻抗,由運(yùn)放A2減去2.732做零位調(diào)整(即把絕對(duì)溫度轉(zhuǎn)成攝氏溫度),最后由運(yùn)放A3反相并放大倍輸送給A/D轉(zhuǎn)換器。具體硬

21、件連接圖如圖3.4所示。 圖3.4 AD590溫度采集及模數(shù)轉(zhuǎn)換電路3.5 CPU主控電路單元1 、89C51簡(jiǎn)介AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓 ,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM ),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C51單片機(jī)能應(yīng)用許多高性?xún)r(jià)比的場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。圖3.5.1 89C51封裝圖89C51的主要參數(shù) (1)主要特性: 4

22、K字節(jié)可編程閃爍存儲(chǔ)器;壽命:1000寫(xiě)/擦循環(huán);數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz,三級(jí)程序存儲(chǔ)器鎖定,128*8位內(nèi)部RAM,32可編程I/O線(xiàn),兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時(shí)鐘電路(2)管腳說(shuō)明: VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高

23、。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),

24、它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示。P3口管腳 (備選功能)P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器

25、0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8

26、EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí), /EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:

27、反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。(3)振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。(4)芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89

28、C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 2、單片機(jī)電路設(shè)計(jì)l 89C51的復(fù)位電路:同時(shí)在第9腳引出一個(gè)22uF的電容和一個(gè)2K的電阻接+5V的電源組成一個(gè)復(fù)位電路,如圖3.4.2所示。圖3.5.2 AT89C51復(fù)位電路原理圖l 89C51的時(shí)鐘電路:AT89C51的+5V電源由39腳引入,第19腳接地,第17腳和第18腳間由12MHz的晶振及兩個(gè)20pF的無(wú)極性電路組成一個(gè)時(shí)鐘

29、振蕩電路,如圖3.4.3所示。圖3.5.3 AT89C51時(shí)鐘電路原理圖3.6 顯示電路單元 數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱(chēng)字段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字0 9、字符A F、H、L、P、R、U、Y、符號(hào)“-”及小數(shù)點(diǎn)“.”。數(shù)碼管的外型結(jié)構(gòu)如圖圖3.6.1外型結(jié)構(gòu)數(shù)碼管工作原理 共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及

30、額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。圖3.6.2 數(shù)碼LED顯示電路3.7 供電電源電路本設(shè)計(jì)中采用了5V電源供電。圖3.7 供電電源電路第四章 軟件設(shè)計(jì)分析4.1 系統(tǒng)總流程圖在主程序中,系統(tǒng)上電自動(dòng)復(fù)位以后首先設(shè)置堆棧,然后啟動(dòng)ADC0804,開(kāi)始轉(zhuǎn)換AD590測(cè)

31、溫電路輸入的電信號(hào),待數(shù)據(jù)轉(zhuǎn)換結(jié)束后讀入到累加器A,然后進(jìn)行十進(jìn)制數(shù)據(jù)轉(zhuǎn)換調(diào)整,輸出給顯示電路。主程序流程圖如圖4所示。 圖4.1.1 主程序流程圖 由于ADC0804轉(zhuǎn)換后的數(shù)據(jù)是二進(jìn)制數(shù)據(jù),而七段碼LED顯示器所要顯示的數(shù)據(jù)是十進(jìn)制數(shù)據(jù),因此需要進(jìn)行二、十進(jìn)制數(shù)據(jù)轉(zhuǎn)換。ADC0804輸出的最大轉(zhuǎn)換值為FFH(255),由于運(yùn)放放大倍,因此本數(shù)字溫度計(jì)的最大測(cè)量溫度為5.V/51.0,即100。由255*=100,得知0.4,即先乘再除10。要將其變成BCD碼形式,所以可以先將AD轉(zhuǎn)換結(jié)果除以250得到百位數(shù)BCD碼;余數(shù)除以10得到十位數(shù)BCD碼,余數(shù)為小數(shù),如果其為奇數(shù),則小數(shù)部分為5,

32、如果是偶數(shù),小數(shù)部分為0。所以,十進(jìn)制轉(zhuǎn)換調(diào)整流程為A/D(二進(jìn)制)十進(jìn)制乘顯示。程序流程圖如圖4.1.2所示。 圖4.1.2十進(jìn)制數(shù)據(jù)轉(zhuǎn)換調(diào)整子程序流程圖十進(jìn)制轉(zhuǎn)換調(diào)整后的數(shù)據(jù)送到寄存器R5、R4中,然后通過(guò)P1口把數(shù)據(jù)輸出給D4、D3、D2、D1四個(gè)數(shù)碼顯示器中,從而最終把測(cè)得的溫度顯示出來(lái)。顯示子程序流程圖如圖4.1.3所示。圖4.1.3 數(shù)據(jù)顯示程序4.2 A/D轉(zhuǎn)換的啟動(dòng)及轉(zhuǎn)換結(jié)果獲取 開(kāi)始啟動(dòng)轉(zhuǎn)換(P2.7=1,P3.6=1)A/D轉(zhuǎn)換結(jié)束?(P3.3=0)取數(shù)據(jù)(P3.7=1)讀取結(jié)束? 結(jié)束 圖4.2 A/D轉(zhuǎn)換流程圖4.3 程序?qū)崿F(xiàn)分析由于數(shù)據(jù)采集部分由硬件AD590通過(guò)運(yùn)算

33、放大把信號(hào)輸入到ADC0804,ADC0804將輸入信號(hào)轉(zhuǎn)化成對(duì)應(yīng)的二進(jìn)制數(shù),因此程序只需通過(guò)控制ADC0804的/rd和/wd端來(lái)讀取二進(jìn)制即可。程序每隔50ms將當(dāng)前溫度值與設(shè)定值比較一次,當(dāng)小于設(shè)定溫度值時(shí)發(fā)出控制信號(hào),即p2.1是0,該思路可用定時(shí)器T0來(lái)完成,比較判斷是否控制信號(hào)為判斷子程序中的內(nèi)容。 設(shè)定溫度下限部分,由于硬件通過(guò)74c922來(lái)輸出對(duì)應(yīng)的按鍵值,因此該程序只需讀取該值,然后轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制數(shù)即可。 顯示部分:通過(guò)動(dòng)態(tài)掃描實(shí)現(xiàn),具體實(shí)現(xiàn)為當(dāng)通過(guò)p1口送入數(shù)據(jù)時(shí)需將相應(yīng)的控制數(shù)碼管的三極管導(dǎo)通,即將p1.4或p1.5輪流置1即可。3.2程序的具體實(shí)

34、現(xiàn) 程序具體實(shí)現(xiàn)分為以下幾個(gè)步驟: (1)初始化 將用到的RAM單元30H到35H清零,其中30H用來(lái)存放當(dāng)前溫度的個(gè)位數(shù),31H用來(lái)存放當(dāng)前溫度的十位數(shù),33H用來(lái)存放設(shè)定溫度的個(gè)位數(shù)。34H用來(lái)存放設(shè)定溫度的十位數(shù),設(shè)置定時(shí)器工作在T0模式,并設(shè)定TH0、TL0的初值。 (2)主程序循環(huán)部分 啟動(dòng)ADC0804開(kāi)始轉(zhuǎn)換,即令/wr=0。本程序是利用movx  r0, a 來(lái)實(shí)現(xiàn)的,當(dāng)執(zhí)行該語(yǔ)句時(shí),單片機(jī)的/wr置0,然后向p0口輸出數(shù)據(jù)。判斷是否按了“”鍵,如按則轉(zhuǎn)到顯示設(shè)定溫度子程序。然后檢測(cè)AD轉(zhuǎn)換是否完成,由于啟動(dòng)ADC08

35、04后,當(dāng)數(shù)值轉(zhuǎn)化完成時(shí),在INTR端發(fā)出低脈沖,因此單片機(jī)只有在接收到該低電平后才開(kāi)始讀取ADC0804的數(shù)據(jù)。 調(diào)用二進(jìn)制轉(zhuǎn)換子程序,將讀取的二進(jìn)制數(shù)轉(zhuǎn)換成數(shù)存入30H,31H。 調(diào)用顯示子程序,然后延時(shí)掃描,再返回。 (3)二進(jìn)制轉(zhuǎn)換成十進(jìn)制子程序 利用DA調(diào)整指令來(lái)完成二進(jìn)制到十進(jìn)制的轉(zhuǎn)換。具體的實(shí)現(xiàn)方法請(qǐng)參見(jiàn)程序。 (4)設(shè)定溫度子程序 該部分在33H,34H中,可通過(guò)三條指令 mov a , 20H ;xch A,33H ;xch a,34H (20H為按鍵數(shù)值的暫存地址)來(lái)簡(jiǎn)潔而方便的完成。 (5)顯示子程序&

36、#160;利用R1要存放顯示數(shù)值的地址,這樣可方便的通過(guò)MOV A,R1;ADD A,#20H,來(lái)完成的,即將P1.5口置1 ,且保持P1口低四位不變,同理加載輸出個(gè)位數(shù),為保證數(shù)碼管顯示亮度,每加載一次輸出顯示后要有一定的延時(shí)時(shí)間1.5ms左右即可。 (6)T0中斷子程序 進(jìn)入中斷后重新轉(zhuǎn)載初值,然后比較十位數(shù),用MOV a,34H ;CJNZ  A,T當(dāng)A>=31H時(shí),c=0,否則c1.同理用相同方法判斷個(gè)位數(shù)。當(dāng)現(xiàn)在溫度大于設(shè)定溫度時(shí)將P2.1口置1,否則清零,最后中斷返回。第五章 結(jié)語(yǔ)通過(guò)本次課程設(shè)計(jì),我主要掌握了一下幾個(gè)方面的知識(shí): 首先是各個(gè)芯片

37、的功能和結(jié)構(gòu),其次是protel 99 se的畫(huà)圖。作為一個(gè)學(xué)生,發(fā)現(xiàn)我們掌握的知識(shí)是多么的疏淺,很多東西都是要重新拾起課本學(xué)習(xí)。另外自己鉆研精神還不夠,只想在一天之內(nèi)得到滿(mǎn)意的實(shí)驗(yàn)結(jié)果,不能沉下心一點(diǎn)點(diǎn)調(diào)試?,F(xiàn)在想起來(lái)很慚愧,在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,比如編程問(wèn)題,硬件的連接,怎樣去調(diào)試。參考文獻(xiàn)【1】 曹天漢 單片機(jī)原理與接口技術(shù) 電子工業(yè)出版社【2】 柳春鋒 Protel 99se實(shí)用教程 高等教育出版社【3】 梁 森 自動(dòng)檢測(cè)與轉(zhuǎn)換技術(shù) 機(jī)械工業(yè)出版社【4】 任致程 經(jīng)典智能電路300例 機(jī)械工業(yè)出版社【5】 何希才 傳感器及其應(yīng)用電路 電子工業(yè)出版社【6】 還有很多來(lái)自網(wǎng)絡(luò)

38、上無(wú)法說(shuō)明具體出處的寶貴資料致謝詞感謝各位評(píng)委老師在百忙之中抽出寶貴的時(shí)間為我們審稿。你們的審閱是對(duì)我們論文成果的一種肯定與負(fù)責(zé),讓我在此向你們表示最誠(chéng)摯的問(wèn)候:老師,您辛苦了這次論文從選題、實(shí)驗(yàn)到最終完成,每一步都是在曾瑄老師的精心安排和悉心指導(dǎo)下完成的,傾注了老師大量的心血。她廣博的學(xué)識(shí),豐富的經(jīng)驗(yàn),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,事業(yè)上積極進(jìn)取的精神對(duì)我影響深遠(yuǎn)。在此,謹(jǐn)向曾萱老師表示崇高的敬意和衷心的感謝!謝謝曾萱老師在我撰寫(xiě)論文的過(guò)程中給予我極大地幫助。同時(shí),論文的順利完成,也離不開(kāi)同組其他同學(xué)的關(guān)心和幫助,在此對(duì)他們表示衷心的感謝。在整個(gè)論文創(chuàng)作中,各位老師、同學(xué)和朋友給我提供了寶貴的建議和意見(jiàn),

39、使得論文順利完成。 大學(xué)三年學(xué)習(xí)時(shí)光已經(jīng)接近尾聲,在此我想對(duì)我的母校,我的父母、親人們,我的老師和同學(xué)們表達(dá)我由衷的謝意。感謝我的家人對(duì)我大學(xué)三年學(xué)習(xí)的默默支持;感謝我的母校南昌工程學(xué)院給了我在大學(xué)深造的機(jī)會(huì),讓我能繼續(xù)學(xué)習(xí)與提高;感謝老師與同學(xué)在生活和學(xué)習(xí)上的幫助與鼓勵(lì),所有這些都讓我三年中充滿(mǎn)了感動(dòng),謝謝你們! 附錄1:總原理圖:附錄:程序清單/=; 主程序 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV R4,#100 LOOP: LCALL ADCONV LCALL BCDCON LOOP1: LCALL DISPLAY DJNZ

40、 R4,LOOP1 MOV R4,#100 SJMP LOOP;/=; AD子程序;/=ADCONV:ADCS BIT P3.3 ;使能CSADCLK BIT P3.2 ;時(shí)鐘CLKADDO BIT P3.1 ;數(shù)據(jù)輸出接口ADDI BIT P3.0 ;數(shù)據(jù)輸入接口 SETB ADDI ;初始化通道選擇(CH0=10) SETB ADDO SETB ADCLK CLR ADCS ; 拉低CS端,開(kāi)始AD轉(zhuǎn)換 NOP NOP SETB ADDI NOP NOP SETB ADCLK ;拉高CLK端 NOP NOP CLR ADCLK ;:拉低CLK端,形成下降沿1 SETB ADDI SETB ADCLK ;:拉高CLK端,形成上升沿1 NOP NOP CLR ADCLK ;:拉低CLK端,形成下降沿1 SETB ADDI SETB ADCLK ;拉高CLK端,形成上升沿2 NOP

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論