智能溫度計(jì)單片機(jī)課程設(shè)計(jì)_第1頁(yè)
智能溫度計(jì)單片機(jī)課程設(shè)計(jì)_第2頁(yè)
智能溫度計(jì)單片機(jī)課程設(shè)計(jì)_第3頁(yè)
智能溫度計(jì)單片機(jī)課程設(shè)計(jì)_第4頁(yè)
智能溫度計(jì)單片機(jī)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 數(shù)理與信息工程學(xué)院課 程 設(shè) 計(jì)題 目: 智能溫度計(jì) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)(專升本) 班 級(jí): 姓 名: 學(xué)號(hào): 成 績(jī): 2006.6 目 錄一 引言 (1)二 智能溫度計(jì)的基本組成方框 (1)三 系統(tǒng)硬件組成 (2)(一) 溫度傳感器AD590及其應(yīng)用 (2)(二) 放大器(3)(三) A/D轉(zhuǎn)換器MC1443 (3)(四) LED顯示器(4)(五) 系統(tǒng)核心單片機(jī)部分閃電存儲(chǔ)器型器件AT89C51(5)(六) 其它(10)四 智能溫度計(jì)的流程圖 (10)五 系統(tǒng)主程序 (12)六 總結(jié)和體會(huì)(22)七 參考文獻(xiàn) (23)第 25 頁(yè) 共 25 頁(yè) 智能溫度計(jì)設(shè)計(jì)摘要 本論文敘述

2、了應(yīng)用單片機(jī)AT89C51構(gòu)成的智能溫度計(jì)主要的功能、硬件的組成和軟件的設(shè)計(jì)。該系統(tǒng)的功能是通過(guò)溫度傳感器對(duì)溫度進(jìn)行采集,然后通過(guò)A/D轉(zhuǎn)換器MC14433進(jìn)行模數(shù)轉(zhuǎn)換,傳給單片機(jī)進(jìn)行處理,從而實(shí)現(xiàn)溫度的實(shí)時(shí)顯示。整個(gè)系統(tǒng)結(jié)構(gòu)緊湊、簡(jiǎn)單可靠、操作靈活、功能強(qiáng)、性能價(jià)格比高,較好地滿足了現(xiàn)代農(nóng)業(yè)生產(chǎn)和科研的需要。關(guān)鍵詞 單片機(jī) 溫度傳感器 A/D轉(zhuǎn)換器 實(shí)時(shí)顯示一、引言單片機(jī)自問(wèn)世以來(lái),性能不斷提高和完善,其資源又能滿足很多應(yīng)用場(chǎng)合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級(jí)計(jì)算器、家用電

3、器等領(lǐng)域的應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來(lái)越被人們所重視。特別是當(dāng)前用CMOS工藝制成的各種單片機(jī),由于功耗低,使用的溫度范圍大,抗干擾能力強(qiáng)、能滿足一些特殊要求的應(yīng)用場(chǎng)合,更加擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一步促使單片機(jī)性能的發(fā)展。而現(xiàn)在單片機(jī)在農(nóng)業(yè)上也有了很多的應(yīng)用。溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常遇到的一個(gè)物理量。測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見到的測(cè)量溫度的工具是各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量

4、溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測(cè)量溫度,得到溫度的數(shù)字值,既簡(jiǎn)單方便,又直觀準(zhǔn)確。二、智能溫度計(jì)的基本組成方框圖11是智能溫度計(jì)的基本組成方框。主要由溫度傳感器,放大器,A/D轉(zhuǎn)換器,單片機(jī)控制,LED顯示器,電源等組成。溫度傳感器是把溫度轉(zhuǎn)換成電壓(或電流)的器件,溫度傳感器輸出電壓的大小隨溫度的高低變化而變化,電壓值的變化范圍從幾個(gè)微伏到幾個(gè)毫伏。不同的溫度傳感器,輸出電壓的范圍也差別很大。放大器的主要功能是把微弱的溫度電壓信號(hào)放大到(02)伏或(05)伏的范圍內(nèi),以便進(jìn)行A/D轉(zhuǎn)換。A/D轉(zhuǎn)換器把放大后的模擬溫度電壓信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字溫度電壓信號(hào)。單片機(jī)8

5、051是智能溫度計(jì)的控制核心,一方面控制A/D轉(zhuǎn)換器實(shí)現(xiàn)模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,另一方面將采集到的數(shù)字溫度電壓值,經(jīng)過(guò)計(jì)算處理,得到相應(yīng)的溫度值,送到LED顯示器以數(shù)字形式顯示測(cè)量的溫度。LED顯示器用于顯示測(cè)量溫度的結(jié)果。 單 片 機(jī) 8951LED 顯 示 器溫度傳感器放大器A/D轉(zhuǎn)換器電 源圖11 智能溫度計(jì)方框圖三、系統(tǒng)硬件組成 圖12 測(cè)量攝氏()溫度的電路原理。假定 :溫度測(cè)量范圍:0150。攝氏() 溫度數(shù)字顯示: 000.0 或112.8等,十進(jìn)制小數(shù)點(diǎn)后一位。(一)、溫度傳感器AD590及其應(yīng)用 AD590是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:(

6、1) 流過(guò)器件電流的微安數(shù)等于器件所處環(huán)境溫度的熱力學(xué)溫度(開爾文)度數(shù)。即IT/T=1µA/K式中的IT為流過(guò)器件(AD590)的電流,單位µA,T為溫度,單位為K。(2)AD590的測(cè)溫范圍為-55 -+150 。(3) AD590的電源電壓范圍為4V30V。電源電壓從4V到6V變化,電流IT變化1µA,相當(dāng)于溫度變化1K。AD590可以承受44V正相電壓和20 V反相電壓。因而器件反接也不會(huì)損壞器件。 (4) 輸出電阻為710。(5) 精度高。 AD590在出廠以前已經(jīng)校對(duì),精度高。因?yàn)榱鬟^(guò)AD590的電流于熱力學(xué)溫度成正比,如兩個(gè)電阻之和為K,溫度變化1&

7、#176;C,那么輸出電壓Vo變化為。但由于AD590的增益有偏差,電阻也有誤差,調(diào)整的方法與對(duì)PN結(jié)溫度傳感器調(diào)整的方法相同。即,把AD590放于冰水混合物中,調(diào)整電位器,使Vo273.2mV?;蛟谑覝叵拢?5條件下調(diào)整電位器使Vo273.225298.2(mV)。但這樣調(diào)整只可以保證0 或25 附近有較高精度。 圖中用電位器R1調(diào)零點(diǎn),用R2調(diào)增益,方法如下:在0 oC時(shí)調(diào)整W1使輸出Vo273.2mV。然后在100 時(shí)調(diào)W2使Vo373.2mV。然后反復(fù)多次,直至0 時(shí)Vo273.2mV,100 時(shí)Vo373.2mV為止。最后在室溫下進(jìn)行校驗(yàn)。例如,若室溫為25,那么Vo應(yīng)為298.

8、2mV。0 和100 環(huán)境的產(chǎn)生方法:冰水混合物是0 的環(huán)境,沸水為100 環(huán)境。(二)、 放大器 放大器由運(yùn)算放大器A組成,常用的芯片有:LF335,LF336,CA3140等,主要功能是把模擬的溫度電壓信號(hào)放大到A/D轉(zhuǎn)換器要求的輸入電壓范圍。A/D轉(zhuǎn)換器MC14433要求,模擬輸入電壓的范圍為:02V。W3的作用是抵消溫度傳感器AD590在攝氏0時(shí)產(chǎn)生的溫度電壓Vo273.2mV,使放大器A的輸出電壓為0.0V。放大器A的放大倍數(shù)選擇為10,保證溫度在0150范圍內(nèi)變化,而放大器的輸出電壓在01。50V的范圍內(nèi)。電位器W2用于調(diào)整放大器的放大倍數(shù)。(三)、 A/D轉(zhuǎn)換器MC14433A/

9、D轉(zhuǎn)換器由雙積分型3又1/2位A/D轉(zhuǎn)換器MC14433來(lái)完成。因?yàn)闇囟鹊淖兓哂袘T性,變化緩慢,MC14433的轉(zhuǎn)換速度完全可以滿足溫度測(cè)量的要求。MC14433的方框圖和引腳如圖3所示,它是單片CMOSA/D轉(zhuǎn)換器,它采用雙積分原理實(shí)現(xiàn)A/D轉(zhuǎn)換。因?yàn)檗D(zhuǎn)換后的數(shù)字量有三位十進(jìn)制數(shù),而最高位只能輸出或,故稱為又1/2位A/D轉(zhuǎn)換器該電路需要外接積分電阻和電容,外接失調(diào)補(bǔ)償電容C。該電路具有自動(dòng)調(diào)零、自動(dòng)極性轉(zhuǎn)換功能,它精度高、功耗低、使用方便并能與微機(jī)或其他數(shù)字電路兼容。它廣泛用于數(shù)字面板表、數(shù)字萬(wàn)用表、數(shù)字量具和遙控遙測(cè)系統(tǒng)。圖13 MC14433的方框圖和引腳引腳引線功能如下:G 被測(cè)電

10、壓VX和參考電壓VR的模擬接地端VR 外接參考電壓端(+2V或+200Mv)VX 被測(cè)電壓輸入端R1,R1/C1,C1 外接積分電阻R1和積分電容C1元件端。外接元件典型值:當(dāng)量程為2V時(shí),C = 0.1F,R = 470k;當(dāng)量程為200mV時(shí),C1 = 0.1F, R1 = 27kC01,C02 外接失調(diào)電容C0端。C0典型值為0.1FDU 數(shù)據(jù)顯示控制端。當(dāng)DU和EOC(引腳14)連接時(shí),每次A/D轉(zhuǎn)換都輸出CLKI,CLKO 時(shí)鐘振蕩器外接電阻RC端, RC的典型值為470k,時(shí)鐘頻率隨RC增加而下降VEE 模擬負(fù)輸入端。典型值為-5VVSS 數(shù)字地,除CLKO端外所有輸出端的低電平基

11、準(zhǔn)。當(dāng)VSS與VAG相連(即數(shù)字地和模擬地相連)時(shí),輸出電壓幅度為VAGVDD(0V+5V);當(dāng)VSS與VEE(-5V)相連,輸出電壓幅度為VEEVDD(-5V+10V)。實(shí)際應(yīng)用時(shí)一般是VSS與VAG相連EOC 轉(zhuǎn)換結(jié)束控制端(輸出)。每當(dāng)一個(gè)A/D轉(zhuǎn)換周期結(jié)束,EOC端輸出一個(gè)寬度為時(shí)鐘周期1/2寬度的正脈沖 過(guò)量程標(biāo)志輸出端。平時(shí)為高電平。當(dāng)VXVR時(shí)(被測(cè)電壓輸入絕對(duì)值大于參考電壓),端輸出低電平DS1DS4 多路選通脈沖輸出端,對(duì)應(yīng)DS1千位,對(duì)應(yīng)DS4個(gè)位。每個(gè)選通脈沖寬度為18個(gè)時(shí)鐘脈沖,兩個(gè)相鄰脈沖之間間隔為2個(gè)時(shí)鐘周期Q0Q3 BCD碼數(shù)據(jù)輸出線。其中為Q0最低位,Q3為最高

12、位。當(dāng)DS2 、DS3和 DS4選通期間,Q0Q3除了表示千位的0或1外,還表示了轉(zhuǎn)換值的正負(fù)極性和欠量程還是過(guò)量程VDD 正電源端。典型值為+5VMC14433的外部連接電路盡管MC14433外部連接元件很少,為使其工作于最佳狀態(tài),也必須注意外部電路的連接和外接元件的選擇,其實(shí)際連接電路如圖1118所示。為了提高電源抗干擾的能力,正、負(fù)電源分別通過(guò)去耦電容0.047F、0.02F與VSS(VAG)相連。MC14433和單片機(jī)8051采用查詢方式連接。MC14433的多路選通脈沖輸出端和BCD碼數(shù)據(jù)輸出端Q0-Q7和單片機(jī)的P0口連接。EOC端和8051的/INT0連接,單片機(jī)8051通過(guò)不斷

13、查詢/INT0端的狀態(tài),了解MC14433的每次A/D轉(zhuǎn)換是否結(jié)束,在A/D轉(zhuǎn)換結(jié)束后,經(jīng)P0口讀取A/D轉(zhuǎn)換的結(jié)果,存入CPU內(nèi)部的輸入數(shù)據(jù)緩沖區(qū)。MC1403是高精度的基準(zhǔn)源(2.5V),它的輸出經(jīng)10K可調(diào)電位器,調(diào)整到2.0V提供MC14433的基準(zhǔn)電壓。(四)、LED顯示器 LED顯示器由4位共陰極LED顯示器組成,采用動(dòng)態(tài)分時(shí)掃描方式。采用4位共陰極LED示器使為了保證溫度超過(guò)100時(shí),測(cè)量結(jié)果仍能保持在小數(shù)點(diǎn)后一位顯示,例如:110.4,提高測(cè)量顯示精度。 共陰極LED顯示器的陽(yáng)極和單片機(jī)CPU的P1口連接,顯示段碼由CPU通過(guò)P1口傳送到LED顯示器的陽(yáng)極。位掃描碼由單片機(jī)80

14、51的P2口低四位輸出,經(jīng)同相驅(qū)動(dòng)器傳送到LED顯示器的陰極,選通LED顯示器的數(shù)位,P2.3,P2.2,P2.1,P2.0輸出電平為0111時(shí),選通左邊的第一位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為1011時(shí),選通左邊的第二位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為1101時(shí),選通左邊的第三位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為1110時(shí),選通左邊的第四位數(shù)字。(五)、系統(tǒng)核心單片機(jī)部分-閃電存儲(chǔ)器型器件AT89C51 單片機(jī)AT89C51有內(nèi)部RAM,可以作為各種數(shù)據(jù)區(qū)使用,內(nèi)部閃電存儲(chǔ)器存放智能溫度計(jì)的控制程序。它的主要功能是控制MC144

15、33,實(shí)現(xiàn)溫度的數(shù)字值采集,完成溫度的數(shù)字采集值到對(duì)應(yīng)數(shù)字溫度的轉(zhuǎn)換計(jì)算,并把計(jì)算的數(shù)字溫度轉(zhuǎn)換相應(yīng)的顯示段碼,控制LED顯示器以動(dòng)態(tài)掃描方式進(jìn)行溫度顯示。 AT89系列單片機(jī)是ATMEL公司生產(chǎn)的。這是當(dāng)前最新的一種電擦寫8位單片機(jī),與MCS-51系列完全兼容,有超強(qiáng)的加密功能,可完全替代87C51/52和8751/52。它物美價(jià)廉,深受用戶歡迎。 與87C51相比,AT89系列的優(yōu)越性在于,其片內(nèi)閃電存儲(chǔ)器的編程與擦除完全用電實(shí)現(xiàn);數(shù)據(jù)不易揮發(fā),可保存10年;編程/擦除速度快,全4K字節(jié)編程只需時(shí)3s,擦除時(shí)間約用10ms;AT89系列了實(shí)現(xiàn)在線編程;也可借助電話線進(jìn)行遠(yuǎn)距離編程。AT89

16、C51是一種低功耗、高性能內(nèi)含4K字節(jié)閃電存儲(chǔ)器(Flash Memory)的8位CMOS微控制器。這種器件系以ATMEL高密度不揮發(fā)存儲(chǔ)技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃電存儲(chǔ)器的程序代碼或數(shù)據(jù)可在線寫入,亦可通過(guò)常規(guī)的編程器編程。例如,MP-100這樣一種經(jīng)濟(jì)型的編程器,它支持通用EPROM等各種存儲(chǔ)器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列51單片機(jī)的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。AT89C51具有下列主要性能:. 4KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1,000次的寫入/

17、擦除周期).全靜態(tài)工作:0Hz24MHz.三級(jí)程序存儲(chǔ)器保密.128 X 8字節(jié)內(nèi)部RAM.32條可編程I/O線.2個(gè)16位定時(shí)器/計(jì)數(shù)器.6個(gè)中斷源.可編程串行通道.片內(nèi)時(shí)鐘振蕩器另外,AT89C51是用靜態(tài)邏輯來(lái)設(shè)計(jì)的,其工作頻率可下降到0 Hz,并提供兩種可用軟件來(lái)選擇的省電方式空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。(1)主電源引腳(a).Vcc

18、電源端(b).GND 接地端(2)外接晶體引腳XTAL1和XTAL2(a).XTAL1 接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),既把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。(b).XTAL2 接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。(3).控制或與其它電源復(fù)用引腳RST、ALE/PROG、/PSEN和/EA/Vpp(a).RES 復(fù)位輸入端。 當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。(b).ALE/PROG 當(dāng)訪問(wèn)外部存

19、儲(chǔ)器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。在對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(/PROG)。 如果需要的話,通過(guò)對(duì)專用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會(huì)被激活。另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ALE位無(wú)效。(c). /PSEN 程序存儲(chǔ)

20、允許(/PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)AT89C51/LV51由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次/PSEN有效(既輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。(d)./EA/Vpp 外部訪問(wèn)允許端。要使CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),則/EA端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時(shí)在內(nèi)部會(huì)鎖存/EA端的狀態(tài)。當(dāng)/EA端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在Flash存儲(chǔ)器編程期間,該引腳也用于施加12V的編程允許電源Vp

21、p(如果選用12V編程)。(4)輸入/輸出引腳 P0.0 P0.7、P10.P1.7、P2.0 P2.7 和P3.0P3.7(a).P0端口(P0.0 P0.7) P0是一個(gè)8位漏極開路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫1時(shí),又可作高阻抗輸入端用。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間激活了內(nèi)部的上拉電阻。在Flash編程時(shí),P0端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。(b).P1端口(P1.0 P1.7) P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸

22、出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。 在對(duì)Flash編程和程序驗(yàn)證時(shí),P1接收低8位地址。(c).P2端口 (P2.0P2.7) P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)

23、行MOVX DPIR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)Flash編程和程序驗(yàn)證期間,P2也接收高位地址和一些控制信號(hào)。(d).P3端口(P3.0P3.7) P3 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。 在AT89C51中,P3端口

24、還用于一些專門功能,這些兼用功能見表1表 11 端口引腳 兼 用 功 能 P3.0RXD (串行輸入口) P3.1TXD (串行輸出口) P3.2/INT0 (外部中斷0) P3.3/INT1 (外部中斷1) P3.4T0 ( 定時(shí)器0的外部輸入) P3.5T1 (定時(shí)器1的外部輸入) P3.6/WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7/RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) 在對(duì)Flash編程和程序驗(yàn)證時(shí),P3還接收一些控制信號(hào)。(5)Flash存儲(chǔ)器的編程和程序校驗(yàn):AT89C51單片機(jī)內(nèi)部有一個(gè)4K字節(jié)的Flash PEROM。這個(gè)Flash存儲(chǔ)陣列通常是處于已擦除狀態(tài)(既存儲(chǔ)單元的內(nèi)容為FFH

25、),隨時(shí)可對(duì)它進(jìn)行編程。編程接口可接收高電壓(12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程方式可很方便地對(duì)AT89C51內(nèi)的用戶系統(tǒng)進(jìn)行編程;而高電壓編程方式則可與通用的EPROM編程器兼容。AT89C51的程序存儲(chǔ)器陣列是采用字節(jié)寫入方式編程的,既每次寫入一個(gè)字節(jié)。要對(duì)片內(nèi)的PEROM程序存儲(chǔ)器寫入任何一個(gè)非空字節(jié),都必須用片擦除方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。(6) 對(duì)Flash存儲(chǔ)器編程編程前,必須按照表2和圖5建立好地址、數(shù)據(jù)和相應(yīng)的控制信號(hào)。編程單元的地址加在P1端口和P2端口的P2.0P2.3(11位地址為0000H0FFFH),數(shù)據(jù)從P0端口輸入。引腳P2.6、P2.7和P3

26、.6、P3.7的電平選擇見表2。/PSEN應(yīng)保持低電平,而RST應(yīng)保持高電平。/EA/VPP是編程電源的輸入端,按要求加入編程電壓。ALE/PROG端輸入編程脈沖(應(yīng)為負(fù)脈沖信號(hào))。編程時(shí),采用420 MHz的振蕩器。對(duì)AT89C51編程的步驟如下:(a)在地址線上輸入要編程單元的地址。(b)在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)字節(jié)。(c)激活相應(yīng)的控制信號(hào)。(d)在采用高電壓編程方式時(shí),將/EA/VPP端的電壓加到12V。(e)每對(duì)Flash存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加一個(gè)ALE/PROG編程脈沖。改變編程單元的地址和要寫入的數(shù)據(jù),重復(fù)步驟ae,直到全部文件編程完畢。每個(gè)字節(jié)寫入周期

27、是自動(dòng)定時(shí)的,通常不大于1.5ms。表 12 Flash編程方式(7)數(shù)據(jù)查詢方式AT89C51單片機(jī)用數(shù)據(jù)查詢方式來(lái)檢測(cè)一個(gè)寫周期是否結(jié)束。在一個(gè)寫周期期間,如果想讀出最后寫入的哪個(gè)字,則讀出數(shù)據(jù)的最高位(P0.7)是原來(lái)寫入字節(jié)最高位的反碼。寫周期一旦完成后,有效的數(shù)據(jù)就會(huì)出現(xiàn)在所有輸出端上,這時(shí)可開始下一個(gè)寫周期。一個(gè)寫周期開始后,可在任何時(shí)間開始進(jìn)行數(shù)據(jù)查詢。 圖15 Flash編程 圖 16 程序的校驗(yàn)圖17 Flash編程和校驗(yàn)的波形(高電平編程方式)(8)準(zhǔn)備就緒/忙信號(hào)字節(jié)編程的過(guò)程也可通過(guò)RDY/BSY輸出信號(hào)來(lái)監(jiān)視。在編程期間,當(dāng)ALE變?yōu)楦唠娖胶螅琍3.4(RDY/BSY

28、)端的電平被拉低,表示忙(正在編程)狀態(tài)。編程完畢后,P3.4的電平變高表示就緒狀態(tài)。(9)程序的校驗(yàn) 如果加密位LB1和LB2沒有被編程,那么就可以對(duì)AT89C51內(nèi)部已編好的程序進(jìn)行校驗(yàn)。這時(shí)采用圖6所示的引腳接法。程序存儲(chǔ)器的地址仍由P1端口和P2端口的P2.0P2.3輸入,數(shù)據(jù)由P0端口輸入。P2.6、P2.7和P3.6、P3.7的電平見表1-4。/PSEN保持低電平,而ALE、/EA和RST保持高電平。校驗(yàn)時(shí),在P0端口上要求外接約10K左右的上拉電阻。程序加密位不能直接校驗(yàn)。加密位的校驗(yàn)可通過(guò)觀察它們的功能是否被允許來(lái)進(jìn)行。Flash存儲(chǔ)器編程和程序校驗(yàn)時(shí)的時(shí)序圖見圖17(高電平編

29、程)和圖18(低電壓編程)。圖 18 Flash編程和校驗(yàn)的波形(低電壓編程方式)(六)、其它為增強(qiáng)系統(tǒng)在工作現(xiàn)場(chǎng)的抗干擾能力,在硬件設(shè)計(jì)方面采取了一系列措施,例如,信號(hào)的輸入輸出采用電平轉(zhuǎn)換、光電隔離;正確配置接地系統(tǒng),處理好共地信號(hào);強(qiáng)電信號(hào)和弱電信號(hào)分開走線,傳輸線盡可能使用雙絞線和屏蔽電纜;設(shè)置時(shí)鐘監(jiān)視電路,自動(dòng)監(jiān)視運(yùn)行狀態(tài),出現(xiàn)故障自動(dòng)處理,同時(shí)具有硬件自診斷功能,避免“死機(jī)”現(xiàn)象發(fā)生等等。四. 智能溫度計(jì)的流程圖在軟件設(shè)計(jì)上,采用了良好的人機(jī)交互環(huán)境,可通過(guò)選擇功能熱鍵執(zhí)行特定的程序,如任意設(shè)定檢測(cè)參數(shù)值,選擇顯示方式和控制模式等,還可設(shè)置優(yōu)先權(quán)直接進(jìn)行人為干預(yù)以便達(dá)到靈活控制的目

30、的,如果某一檢測(cè)通道被鍵設(shè)置成關(guān)閉,那么不管此通道外部情況如何,系統(tǒng)均不作任何反應(yīng)。為了提高系統(tǒng)的抗干擾能力,除硬件上采取了相應(yīng)的措施外,在軟件設(shè)計(jì)中也采取了若干措施,如在數(shù)據(jù)采集時(shí)采用數(shù)字濾波;采取指令冗余設(shè)計(jì),在程序中適當(dāng)?shù)夭迦肟詹僮髦噶?,?duì)一些重要的指令重寫等等。從而有效地提高了系統(tǒng)運(yùn)行的可靠性,使其檢測(cè)控制工作及時(shí)準(zhǔn)確、安全穩(wěn)定,達(dá)到良好的環(huán)境模擬控制性能要求。圖9是智能溫度計(jì)的流程圖。因?yàn)橹悄軠囟扔?jì)的控制和計(jì)算相對(duì)簡(jiǎn)單,由該流程方框圖可見,該主程序是循環(huán)線性結(jié)構(gòu)。在初始化時(shí),清除內(nèi)部RAM,設(shè)定標(biāo)志位和標(biāo)志單元,設(shè)置堆棧指針,檢測(cè)LED顯示器工作是否正常等。它主要包括了下述一些子程序

31、:(1)從A/D轉(zhuǎn)換器MC14433讀取溫度數(shù)字電壓子程序:查詢A/D轉(zhuǎn)換狀態(tài),一旦本次A/D轉(zhuǎn)換結(jié)束,CPU將溫度電壓的BCD碼數(shù)字值送到RAM中的輸入緩沖區(qū)存放。(2)溫度電壓數(shù)字值到溫度數(shù)字轉(zhuǎn)換子程序;將緩沖區(qū)中的溫度電壓數(shù)字BCD碼轉(zhuǎn)換為實(shí)際的溫度十進(jìn)制數(shù)字。(3)溫度數(shù)字到LED顯示段碼轉(zhuǎn)換子程序:把溫度十進(jìn)制數(shù)字轉(zhuǎn)換成相應(yīng)的LED顯示段碼,存放在顯示段碼緩沖區(qū)供LED顯示器顯示傳送子程序(4) LED顯示段碼到LED顯示器顯示傳送和動(dòng)態(tài)掃描子程序(5) BCD碼加,減,乘,除子程序;(6) BCD碼在緩沖器間傳送子程序; 開始初始化,設(shè)堆棧指針,清除RAM緩沖區(qū),初始化LED顯示器

32、,顯示8888一秒,調(diào)用MC14433的A/D轉(zhuǎn)換程序,對(duì)溫度進(jìn)行采樣,送LED顯示器,顯示當(dāng)前溫度調(diào)用MC14433的A/D轉(zhuǎn)換子程序,將溫度的電壓數(shù)字值存放到內(nèi)部A/D輸入數(shù)據(jù)緩沖區(qū)調(diào)用A/D輸入數(shù)字值到數(shù)字溫度轉(zhuǎn)換子程序,將數(shù)字溫度電壓值轉(zhuǎn)換為其相應(yīng)的溫度數(shù)字,存放到數(shù)字溫度的緩沖區(qū)調(diào)用送LED顯示器顯示子程序,將數(shù)字溫度緩沖區(qū)的內(nèi)容變換為相應(yīng)的LED顯示段碼,然后調(diào)用動(dòng)態(tài)掃描子程序,將段碼送LED顯示器顯示(7) 其它專用子程序;圖 9 智能溫度計(jì)的流程圖四、 系統(tǒng)主程序系統(tǒng)主程序:ORG 0000HLJMP MAINORG 0013HLJMP SUBORG 0100HMAIN: MO

33、V SP,#40HMOV A,#78HMOV R7,#09H MOVX A,DPTR MOV R0,A CLR C SUBB A,#34HJNC LOOP1 CLR C MOV A,R0 SUBB A,#3AHJC LOOPMOV A,R0ACALL TEMPLOOP:MOV DPTR,#EF00HMOV R1,#0F8HMOV A,#33HMOVX R1,AMOV A,R0MOVC A,A+DPTRDEC R1MOVX R1,AMOV A,R2INC R1MOVX R1,AINC R0MOV A,R2CLR CRRC AMOV R2,AMOV A,#00HMOV DPTR,#00F8HMOV

34、X DPTR,AAJMP GO LOOP1: MOV P1,#8FHAJMP GOLOOP2: MOV P1,#0BFH GO : POP DPHPOP DPLPOP ACCPOP PSWRETIENDTEMP: MOV DPTR,TABLE MOV A,R0 MOV B,#04H CLR C MUL AB JNC NOO INC DPH NOO: MOVC A,A+DPTR MOV 80H,A INC DPTR MOVC A,DPTR MOV 81H,A AJMP LOOP ORG 0300HTAB: DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77

35、H 83HMAIN:MOV 20H,#0 MOV 21H,#0 MOV R0,#3CH MOV R1,#12 LCALL CLEAR SETB PT0ML2: NOP NOP NOP MOV A,P1 CJNE A,#0FBH,ML3 AJMP MAIN ML3: MOV A,PIN1 INC A SUBB A,PIN3 CJNE A,#0,ML4 AJMP TEST0 ML4: JC TEST0 JNB E1,TEST0 AJMP COMPPTEST0:MOV PIN3,#0 MOV A,P1 CJNE A,#0FDH,TEST AJMP EXIT TEST:MOV A,P1 CJNE A,

36、#0FFH,TEST1 EXIT:MOV R0,#79H MOV R1,#50H HEX: ACALL HEXASC MOV R2,#6 MOV R0,#5AH ACALL INI CLR FLAG3 SJMP HERECOMPP:AJMP COMPSECOO:JNB P1.5,SSECO AJMP SECOSSECO:AJMP SECMINII:JNB P1.5,MMINI AJMP MINIMMINI:AJMP MINHOURR:JNB P1.5,HHOUR AJMP HOURHHOUR:AJMP HOUTEST1:JNB P1.0,SETTTEST2:SETB EA JNB P1.4,E

37、XIT JNB P1.5,DEAL AJMP TESTSETT:CLR EA MOV C,P1.4 MOV F0,C JNB P1.1,SECOO JNB P1.2,MINII JNB P1.3,HOURR AJMP TEST2 DEAL:SETB E1 JNB P1.4,OVER MOV R0,#49H MOV R1,#6 ACALL CLEAR MOV B,#3 MOV A,PIN1 MUL AB ADD A,R4 MOV PIN,A MOV A,PIN1 CJNE A,#4,AAA MOV PIN1,#0 MOV PIN2,#3EH MOV PIN,#3CH AAA: JNB P1.4,

38、OVER JNB P1.1,SECOO JNB P1.2,MINII JNB P1.3,HOURR AJMP AAAOVER:SETB E2 INC PIN1 MOV R2,#6 MOV R0,#3AH MOV R1,PIN1 ACALL INI MOV R0,#49H MOV R2,#3 MOV R1,PINZIP: MOV A,R0 MOV R1,A INC R0 MOV A,R0 SWAP A ORL A,R1 MOV R1,A INC PIN INC R0 INC R1 DJNZ R2,ZIP AJMP EXITCOMP:MOV A,PIN2 CJNE A,#4AH,J AJMP OV

39、RJ: MOV R0,PIN2 MOV R1,#7EH MOV R2,#3JJJ:MOV A,R0 ANL A,#0F0H SWAP A XRL A,R1 JNZ ENDD DEC R1 MOV A,R0 ANL A,#0FH XRL A,R1 JNZ ENDD DEC R1 DEC R0 DJNZ R2,JJJ SETB FLAG2 INC PIN3 AJMP TESTENDD:MOV A,PIN2 ADD A,#3 MOV PIN2,A AJMP COMPOVR: MOV PIN2,#3EH AJMP TESTHOUR:ACALL DELY MOV R0,#7EH JNB F0,SUB1

40、ACALL DAAD1 MOV A,R2 XRL A,#24H JNZ ML0 ACALL CLR0 AJMP ML0 MINI:ACALL DELY MOV R0,#7CH JNB F0,SUB1 ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ ML0 ACALL CLR0 AJMP ML0 SECO:ACALL DELY MOV R0,#7AH JNB F0,SUB1 ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ ML0 ACALL CLR0 ML0: MOV R0,#79H MOV R1,#50H ACALL HEXASC MOV R2,

41、#6 MOV R0,#5AH ACALL INI AJMP SETTSUB1:SETB F0 ACALL SUB AJMP ML0 CLEAR:MOV R0,#0 INC R0 DJNZ R1,CLEAR RETHOU: ACALL DELY SETB E0 MOV R0,#4EH ACALL DAAD1 MOV A,R2 XRL A,#24H JNZ ML00 ACALL CLR0 AJMP ML00 MIN: ACALL DELY SETB E0 MOV R0,#4CH ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ ML00 ACALL CLR0 AJMP ML0

42、0 SEC: ACALL DELY SETB E0 MOV R0,#4AH ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ ML00 ACALL CLR0 ML00:MOV R0,#49H MOV R1,#30H ACALL HEXASC MOV R2,#6 MOV R0,#3AH MOV R1,PIN1 INC R1 ACALL INI AJMP AAADELY:MOV R1,#0FFHA1: MOV R2,#0FFHLOOP:NOP NOP NOP DJNZ R2,LOOP DJNZ R1,A1 RET PITO:PUSH PSW PUSH 0E0H PUSH DP

43、H PUSH DPL SETB PSW.3 MOV A,P1 MOV TL0,#01H MOV TH0,#1FH CJNE A,#0FDH,SSS MOV TL0,#0EDH MOV TH0,#0FBH SSS: JNB P1.5,GETNUMDDD: MOV A,2FH DEC A MOV 2FH,A JNZ RET0 MOV 2FH,#10H MOV R0,#7AH ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ RET0 ACALL CLR0 MOV R0,#7CH ACALL DAAD1 MOV A,R2 XRL A,#60H JNZ RET0 ACALL CL

44、R0 MOV R0,#7EH ACALL DAAD1 MOV A,R2 XRL A,#24H JNZ RET0 ACALL CLR0RET0:SETB TR0 POP DPL POP DPH POP 0E0H POP PSW RETIGETNUM: JB FLAG1,EE MOV R1,#49H MOV R2,#6CO: MOV R1,#0 INC R1 DJNZ R2,CO SETB FLAG1EE: AJMP DDDDAAD1:MOV A,R0 DEC R0 SWAP A ORL A,R0 ADD A,#1 DA A MOV R2,A ANL A,#0FH MOV R0,A MOV A,R2 INC R0 ANL A,#0F0H SWAP A MOV R0,A SETB FLAG3 RETSUB: DEC R0 DEC R0 CJNE R0,#0FFH,RET2 INC R0 CJNE R0,#0,AA DEC R0 MOV R0,#0 RETAA: DEC R0 MOV R0,#9 INC R0 DEC R0 CJNE R0,#0FFH,RET2 MOV R0,#

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(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)論