




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE6傳感器原理及應(yīng)用課程設(shè)計(jì)報(bào)告系別:信息工程系班級(jí):姓名:學(xué)號(hào):緒論摘要:隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文主要介紹了一個(gè)基于89S51單片機(jī)的測溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器AD590開發(fā)測溫系統(tǒng)的過程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。AD590、AD0804與AT89C51等結(jié)合實(shí)現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景;光電傳感器選用E3F—R2Y1反饋反射型的光電傳感器,能夠?qū)崿F(xiàn)光電轉(zhuǎn)換,從而達(dá)到準(zhǔn)確計(jì)數(shù),并實(shí)現(xiàn)在預(yù)定值(本科設(shè)為逢8)報(bào)警和達(dá)到一定值清零.關(guān)鍵詞:單片機(jī)AT89S52;AD590;AD0804;E3F—R2Y1光電開關(guān);一、設(shè)計(jì)題目:1.基于AD590的溫度檢測系統(tǒng)。2.光電計(jì)數(shù)器的設(shè)計(jì)。二要求:1.溫度檢測系統(tǒng)所要達(dá)到的功能:(1)測溫范圍-55℃~+150℃。(2)所需電路原理圖,放大電路部分,A/D轉(zhuǎn)換部分,顯示電路部分通過查閱資料,文獻(xiàn),自行設(shè)計(jì)。(3)明確設(shè)計(jì)目的2.光電計(jì)數(shù)器所要達(dá)到的功能(1)數(shù)碼管可以顯示產(chǎn)品個(gè)數(shù)(0—99),自由設(shè)定產(chǎn)品報(bào)警個(gè)數(shù)(比如?8),當(dāng)產(chǎn)品數(shù)目是8的個(gè)數(shù)時(shí),發(fā)出報(bào)警(蜂鳴器響)。(2)獨(dú)立設(shè)計(jì)電路,應(yīng)包括單片機(jī)小系統(tǒng)、紅外光電開關(guān)、數(shù)碼管顯示部分。三.設(shè)計(jì)方案: 根據(jù)指導(dǎo)老師要求需要將兩個(gè)設(shè)計(jì)題目整合到一個(gè)系統(tǒng)中。經(jīng)過分析和查找大量的資料以及同組成員的討論,得出以下設(shè)計(jì)方案:1.STC89C52單片機(jī)選擇STC89C52單片機(jī)作為主控芯片;Atmel公司的生產(chǎn)的AT89C52單片機(jī)是一種低功耗/低電壓、高性能的8位單片機(jī),內(nèi)部除CPU外,還包括128字節(jié)RAM,4個(gè)8位并行I/O口,5個(gè)中斷優(yōu)先級(jí),2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,片內(nèi)集成4K字節(jié)可改變程序Flash存儲(chǔ)器,具有低功耗,速度快,程序擦寫方便等優(yōu)點(diǎn),完全滿足本系統(tǒng)設(shè)計(jì)需要。單片機(jī)P0口作為ADC0804轉(zhuǎn)換數(shù)據(jù)的輸入端,P2。0接ADC0804的INTR端檢測數(shù)據(jù)轉(zhuǎn)換是否結(jié)束.P1.0~P1.3的輸出信號(hào)接到譯碼器7447上作為數(shù)碼管的顯示,P1。4~P1.7則作為4個(gè)數(shù)碼管的位選信號(hào)控制。P3口有特殊的功能,P3.6用于控制ADC0804的啟動(dòng),P3.7用于控制讀取ADC0804的轉(zhuǎn)換結(jié)果.2.LED數(shù)碼管LED是LightEmitingDiode(發(fā)光二極管)的縮寫,發(fā)光二極管是能將電信號(hào)轉(zhuǎn)換為光信號(hào)的電致發(fā)光器件。由條形發(fā)光二極管組成“8”字形的LED顯示器,也稱數(shù)碼管。七段數(shù)碼管引腳圖數(shù)碼管使用條件:a、段及小數(shù)點(diǎn)上加限流電阻;b、使用電壓,段:根據(jù)發(fā)光顏色決定,小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定;c、使用電流,靜態(tài):總電流80mA,動(dòng)態(tài):平均電流4—5mA;共陰數(shù)碼管實(shí)物管腳圖4.選用AD590作為溫度傳感器。AD590工作原理及特性:(1)
其輸出電流是以絕對(duì)溫度零度(—273℃)為基準(zhǔn),每增加1℃,它會(huì)增加1μA輸出電流,因此在室溫25℃時(shí),其輸出電流Io=(273+25)=298μA。(2)
可測量范圍-55℃至150℃。(3)
供電電壓范圍+4V至+30V。精度高。(4)AD590共有I、J、K、L、M五檔,其中M檔精度最高,在-55℃~+150℃范圍內(nèi),非線性誤差為±0.3℃。本次選用AD590JH,其非線形度+—1。5度測量范圍-55℃~+150℃。(5)AD590封裝及典型電路Vo的值為Io乘上10K,以室溫25℃而言,輸出值為2.98V(10K×298μA)。?量測Vo時(shí),不可分出任何電流,否則量測值會(huì)不準(zhǔn)。(6)由于AD590輸出為電流量單片機(jī)不能直接讀取,因此需要通過串聯(lián)電阻將電流量轉(zhuǎn)換為電壓量,在由模數(shù)轉(zhuǎn)換芯片AD0804將電壓量轉(zhuǎn)換為其對(duì)應(yīng)的數(shù)字量,然后通過軟件將采集到的電壓量轉(zhuǎn)化為溫度進(jìn)行顯示。5、AD0804工作原理及特性:(1)AD0804引腳圖(2)ADC0804電氣特性:(1)高阻抗?fàn)顟B(tài)輸出(2)分辨率:8位(0~255)(3)存取時(shí)間:135ms(4)轉(zhuǎn)換時(shí)間:100ms(5)總誤差:-1~+1LSB(6)工作溫度:ADC0804C為0度~70度;ADC0804L為—40度~85度(7)模擬輸入電壓范圍:0V~5V(8)參考電壓:2。5V(9)工作電壓:5V(10)輸出為三態(tài)結(jié)構(gòu)(3)AD0804引腳功能:1(CS)引腳:ChipSelect,與RD、WR接腳的輸入電壓高低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low)時(shí)會(huì)active。2(RD)引腳:Read。當(dāng)CS、RD皆為低位準(zhǔn)(low)時(shí),ADC0804會(huì)將轉(zhuǎn)換后的數(shù)字訊號(hào)經(jīng)由DB7~DB0輸出至其它處理單元.3(WR)引腳:啟動(dòng)轉(zhuǎn)換的控制訊號(hào)。當(dāng)CS、WR(shí)皆為低位準(zhǔn)(low)時(shí)ADC0804做清除的動(dòng)作,系統(tǒng)重置。當(dāng)WR由0→1且CS=0時(shí),ADC0804會(huì)開始轉(zhuǎn)換信號(hào),此時(shí)INTR設(shè)定為高位準(zhǔn)(high)。4引腳和19引腳(CLKIN、CLKR):頻率輸入/輸出。頻率輸入可連接處理單元的訊號(hào)頻率范圍為100kHz至800kHz。而頻率輸出頻率最大值無法大于640KHz,一般可選用外部或內(nèi)部來提供頻率。若在CLKR及CLKIN加上電阻及電容,則可產(chǎn)生ADC工作所需的時(shí)序,其頻率約為:5(INTR)引腳:中斷請(qǐng)求。轉(zhuǎn)換期間為高位準(zhǔn)(high),等到轉(zhuǎn)換完畢時(shí)INTR會(huì)變?yōu)榈臀粶?zhǔn)(low)告知其它的處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù).6引腳和7引腳(VIN(+)、VIN(-)):差動(dòng)模擬訊號(hào)的輸入端。輸入電壓VIN=VIN(+)-VIN(-),通常使用單端輸入,而將VIN(-)接地.8(AGND)引腳:模擬電壓的接地端.9(VREF∕2)引腳︰模擬參考電壓輸入端.VREF為模擬輸入電壓VIN的上限值。若PIN9空接,則VIN的上限值即為VCC。10(DGND)引腳︰數(shù)字電壓的接地端。11~18(DB7~DB0)引腳︰轉(zhuǎn)換后之?dāng)?shù)字?jǐn)?shù)據(jù)輸出端。20(Vcc)引腳︰驅(qū)動(dòng)電壓輸入端。(4)AD0804典型接線圖頻率計(jì)算方法是Fck=1/(1。1*R*C)以上圖為例R=10KΩ,C=150PF則其內(nèi)部轉(zhuǎn)換頻率是Fck=1/(101*10KΩ*150PF)=606KHz更換不同的R,C值會(huì)有不同的轉(zhuǎn)換頻率,而頻率越高代表速度越快。R,C的組合,務(wù)必使頻率范圍在100KHz~1460KHz之間。AD0804時(shí)序圖關(guān)于AD0804的幾點(diǎn)說明:首先CS片選端拉低AD0804使能;第三引腳(WR)來一個(gè)下降沿脈沖,開始進(jìn)行模擬/數(shù)字信號(hào)轉(zhuǎn)換;轉(zhuǎn)換完畢后AD0804中斷輸出引腳INTR將高電位將至低電位;裝換完成后在CS低電平期間AD0804第二引腳來一個(gè)下降沿脈沖讀?。罝轉(zhuǎn)換結(jié)果;光電計(jì)數(shù)器采用反射式光電開關(guān)。光電開關(guān)有以下幾種:⑴槽型光電開關(guān)把一個(gè)光發(fā)射器和一個(gè)接收器面對(duì)面地裝在一個(gè)槽的兩側(cè)的是槽形光電。發(fā)光器能發(fā)出紅外光或可見光,在無阻情況下光接收器能收到光。但當(dāng)被檢測物體從槽中通過時(shí),光被遮擋,光電開關(guān)便動(dòng)作。輸出一個(gè)開關(guān)控制信號(hào),切斷或接通負(fù)載電流,從而完成一次控制動(dòng)作.槽形開關(guān)的檢測距離因?yàn)槭苷w結(jié)構(gòu)的限制一般只有幾厘米。⑵對(duì)射型光電開關(guān)若把發(fā)光器和收光器分離開,就可使檢測距離加大。由一個(gè)發(fā)光器和一個(gè)收光器組成的光電開關(guān)就稱為對(duì)射分離式光電開關(guān),簡稱對(duì)射式光電開關(guān)。它的檢測距離可達(dá)幾米乃至幾十米。使用時(shí)把發(fā)光器和收光器分別裝在檢測物通過路徑的兩側(cè),檢測物通過時(shí)阻擋光路,收光器就動(dòng)作輸出一個(gè)開關(guān)控制信號(hào)。⑶反光板型光電開關(guān)反光板型光電開關(guān)把發(fā)光器和收光器裝入同一個(gè)裝置內(nèi),在它的前方裝一塊反光板,利用反射原理完成光電控制作用的稱為反光板反射式(或反射鏡反射式)光電開關(guān)。正常情況下,發(fā)光器發(fā)出的光被反光板反射回來被收光器收到;一旦光路被檢測物擋住,收光器收不到光時(shí),光電開關(guān)就動(dòng)作,輸出一個(gè)開關(guān)控制信號(hào)。光電開關(guān)在沒有障礙物遮擋時(shí)輸出為高電平,當(dāng)有障礙物遮擋時(shí)輸出為低電平。因此可將光電開關(guān)輸出引腳接到單片機(jī)的外部中斷引腳.每檢測到一次物體單片機(jī)產(chǎn)生一次中斷計(jì)數(shù)值加一。⑷擴(kuò)散反射型光電開關(guān)它的檢測頭里也裝有一個(gè)發(fā)光器和一個(gè)收光器,但前方?jīng)]有反光板。正常情況下發(fā)光器發(fā)出的光收光器是找不到的.當(dāng)檢測物通過時(shí)擋住了光,并把光部分反射回來,收光器就收到光信號(hào),輸出一個(gè)開關(guān)信號(hào)。綜合考慮本次設(shè)計(jì)采用反光板型光電開關(guān)。5.采用四位數(shù)碼管顯示數(shù)據(jù).采用動(dòng)態(tài)顯示,數(shù)碼管前兩位顯示整數(shù)溫度,第三位顯示小數(shù)點(diǎn)后一位,最后一位顯示符號(hào)“C",即溫度符號(hào);另外,通過開關(guān)切換,后兩位還顯示光電計(jì)數(shù)的數(shù)值。6。通過軟件設(shè)置計(jì)數(shù)報(bào)警值。通過軟件可設(shè)置逢10報(bào)警,加到99自動(dòng)清0。7.按照數(shù)據(jù)手冊(cè)單片機(jī),AD590,AD0804,數(shù)碼管均采用5V電源供電即可,而AD590需在5.5V以上才能正常工作.四.具體實(shí)現(xiàn)1.系統(tǒng)組成框圖:該數(shù)字溫度計(jì)利用AD590集成溫度傳感器及其接口電路完成溫度的測量并轉(zhuǎn)換成模擬電壓信號(hào),經(jīng)由模數(shù)轉(zhuǎn)換器ADC0804轉(zhuǎn)換成單片機(jī)能夠處理的數(shù)字信號(hào),然后送到單片機(jī)AT89C51中進(jìn)行處理變換,最后將溫度值顯示在D4、D3、D2、D1共4位七段碼LED顯示器上。系統(tǒng)以AT89C51單片機(jī)為控制核心,加上AD590測溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫度數(shù)據(jù)顯示電路以及外圍電源、時(shí)鐘電路等組成.系統(tǒng)組成框圖如下。按鍵電源時(shí)鐘復(fù)位電路數(shù)碼管顯示電路光電開關(guān)AD0804AD590?STC89C52按鍵電源時(shí)鐘復(fù)位電路數(shù)碼管顯示電路光電開關(guān)AD0804AD590STC89C522.原理圖見附錄。3.程序見附錄五.各部分定性說明以及定量計(jì)算:電路分析?AD590的輸出電流I=(273+T)μA(T為攝氏溫度),因此量測的電壓V=(273+T)μA×10K=(2.73+T/100)V。為了將電壓量測出來又需使輸出電流I不分流出來,我們使用電壓追隨器其輸出電壓V2等于輸入電壓V。?利用可變電阻分壓,其輸出電壓V1需調(diào)整至2.73V。?接下來我們使用差動(dòng)放大器其輸出Vo為(100K/10K)×(V2-V1)=T/10V。如果現(xiàn)在為攝氏28度,輸出電壓為2.8V,數(shù)碼管顯示內(nèi)容為為“28.0C”.六。調(diào)試及問題解決:數(shù)碼管顯示的數(shù)值不停上下波動(dòng);在室內(nèi)溫度應(yīng)該是基本恒定的,但顯示溫度個(gè)位也在不停地上下波動(dòng),后測得AD590處的電壓基本恒定,而AD0804接收到的模擬電壓量就有變化,只是沒有數(shù)碼管波動(dòng)的快;檢查線路后,證明放大電路、AD0804采集電路沒有任何錯(cuò)誤.原因分析及解決:從硬件和軟件兩方面入手;第一、AD0804采集的數(shù)據(jù)不太穩(wěn)定,可能是運(yùn)放電路的原因,改進(jìn)后,我們?cè)诜糯箅娐泛蟛⑽粗苯铀徒oAD0804,而是經(jīng)過一個(gè)電壓跟隨器后再送給AD0804;第二,可能是單片機(jī)送給數(shù)碼管的頻數(shù)太大,在軟件中,改變了原來用采集16次后取平均值,就送給數(shù)碼管的方法,而分兩次采集,算平均值,若兩次相等才送給數(shù)碼管;否則,不送。這樣的好處是可以濾掉不定因素對(duì)電流的改變,可以棄掉一部分AD0804轉(zhuǎn)換的不合格數(shù)字量。AD采集到的到的電壓正確,但數(shù)碼管顯示的溫度不正確;放大后的電壓正確,說明運(yùn)放電路沒問題;單片機(jī)下了驅(qū)動(dòng)數(shù)碼管程序,數(shù)碼管顯示正確;仔細(xì)檢查程序也沒有錯(cuò)誤,現(xiàn)在就一種可能:AD0804外圍電路的問題,但外圍電路我們是按郭天祥講的基本電路連的,檢查后沒有任何錯(cuò)誤。后來查了一些資料發(fā)現(xiàn)AD0804外圍的RC振蕩電路接的電容為150pF,我們接的是104電容,后改為102能正確顯示溫度了。剛開始電容接的太大,影響了AD的轉(zhuǎn)換速率。在用軟件實(shí)現(xiàn)顯示小數(shù)點(diǎn),我們用80H與調(diào)用數(shù)組前的數(shù)取或,結(jié)果不僅點(diǎn)沒顯示,數(shù)碼管第二位也不亮了;單片機(jī)P0口接收到的數(shù)后來仔細(xì)一想,調(diào)用數(shù)組前的數(shù)是一個(gè)十進(jìn)制數(shù),取或沒任何意義,在數(shù)碼管第二位調(diào)用數(shù)組時(shí),調(diào)用了一個(gè)新數(shù)組,重新定義了段碼,所有段碼都能使共陰極數(shù)碼管的dp亮。AD590向外送的電壓過低;AD590串聯(lián)10K電阻供電電壓為4.95V(供電電壓5V由于壓降減為4.95V)輸出電壓與理論值相差很大,測試時(shí)室溫約25°C輸出電壓理論值應(yīng)為2。98V。但是實(shí)際輸出只有2.72V,而且輸出電壓也會(huì)隨AD590溫度的升高而升高,但不明顯;此現(xiàn)象不正確。多次檢查電路,電路連接正確,檢查不出電路有錯(cuò)誤,又詳細(xì)閱讀AD590的數(shù)據(jù)手冊(cè)及上網(wǎng)查資料,結(jié)論是AD590連接正常,討論決定加大AD590的電壓,供6V電壓試驗(yàn)輸出正常。后又發(fā)現(xiàn)AD590供電電壓要大于5.5V才能工作正常。七。心得體會(huì):?經(jīng)過二周多的課程設(shè)計(jì),不僅讓自己更加深入地學(xué)習(xí)了傳感器和單片機(jī)的知識(shí),而且使理論運(yùn)用到了實(shí)踐,更讓自己深刻地體會(huì)到了理論聯(lián)系實(shí)際的重要性和理論聯(lián)系實(shí)際的難度。本來看到這個(gè)課設(shè)的題目和要求后,本以為不會(huì)是太難,自己想了想實(shí)現(xiàn)“計(jì)數(shù)”和“測溫”這兩個(gè)功能不會(huì)有啥難度,但是到最后自己深刻地體會(huì)到光有宏觀上的思路還是不行的,真正到了編程序就出現(xiàn)了各種意想不到的困難。同時(shí)發(fā)現(xiàn)了自己一個(gè)在平時(shí)根本發(fā)現(xiàn)不了的眼高手低的毛病,這次課設(shè)不僅在理論上武裝了自己,而且在思想上更加了解了自己,使自己受益匪淺、體會(huì)頗多。在本次課設(shè)中,學(xué)習(xí)了很多課本中學(xué)不到的東西.自學(xué)了Proteus仿真軟件的使用和AltiumDesigner的使用.這些都是在課堂中學(xué)不到的,在實(shí)際應(yīng)用中經(jīng)常用到的常用軟件。同時(shí)也使自己對(duì)單片機(jī)和傳感器有了更加深刻的認(rèn)識(shí)。這樣為以后的學(xué)習(xí)和工作都有非常大的幫助。經(jīng)過課設(shè)的鍛煉,使自己學(xué)會(huì)了運(yùn)用單片機(jī)和傳感器進(jìn)行綜合運(yùn)用,提高了自己的知識(shí)水平和能力。深入學(xué)習(xí)了AD590的工作原理和運(yùn)用方法。知道了如何運(yùn)用AD590來計(jì)數(shù)電流和溫度的關(guān)系以及它們的轉(zhuǎn)換關(guān)系來實(shí)現(xiàn)運(yùn)用。學(xué)習(xí)了ADC0804芯片的運(yùn)用方法來實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。以及運(yùn)用匯編語言來編寫單片機(jī)程序的方法及編程中應(yīng)注意的問題和技巧。在編程中由于自己的學(xué)習(xí)不經(jīng),在開始時(shí)仿真時(shí)LED燈有位選信號(hào)但沒有段選信號(hào)的問題,自己看了好幾遍程序都沒發(fā)現(xiàn)語法錯(cuò)誤,經(jīng)過仔細(xì)的思考發(fā)現(xiàn)了原來是由于把段碼送到LED時(shí)的傳輸命令有誤該用MOVP1,A指令用成了MOVDPTR,#90H;MOVX@DPTR,A指令了。這個(gè)問題使自己知道了課本知識(shí)沒掌握牢固的原因,以后要好好看課本對(duì)于任何知識(shí)都要精確無誤,不可馬虎否則就得不到正確的結(jié)果。這次設(shè)計(jì)真的讓我長進(jìn)了很多。尤其是在軟件方面讓我有很大的進(jìn)步;單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個(gè)程序并不是一件簡單的事,要把每個(gè)部分的功能寫好,要會(huì)靈活運(yùn)用子程序,并且要記一些程序模塊,經(jīng)過適當(dāng)?shù)男薷脑俳Y(jié)合起來,而且程序的算法要盡量簡單不繁瑣,這次編程的過程讓我充分意識(shí)到子程序和中斷程序的重要性。以及在運(yùn)用軟件時(shí)要細(xì)心編程不可寫錯(cuò)任何代碼。做任何事都要細(xì)心和有耐心,這才是成功之道。能夠根據(jù)實(shí)際情況、問題解決問題才是真正學(xué)會(huì)了知識(shí)。光有理論不聯(lián)系實(shí)踐那是在現(xiàn)實(shí)中行不通的。我深刻地體會(huì)到了做東西的樂趣和辛苦,這一切都是值得的。這次課設(shè)為我以后的學(xué)習(xí)和生活打下了良好的基礎(chǔ),使我明白了想法和現(xiàn)實(shí)的差距,辛苦付出后收獲的快樂.八。參考文獻(xiàn):[1]楊學(xué)昭,王云東,單片機(jī)原理.接口技術(shù)及應(yīng)用(含C51),西安:電子科技大學(xué)出版社,2009年.[2]康華光,電子技術(shù)基礎(chǔ),北京:高等教育出版社,2005年。[3]郭天祥,51單片機(jī)C語言教程,北京:電子工業(yè)出版社,2009年。[4]百度文庫,HYPERLINK"http://wenku.baidu.com/"http://wenku。baidu.com/。仿真圖原理圖附錄1.匯編語言源程序:? ? ??ORG0000H???????AJMPMAIN????? ORG0003H???????LJMPPINT0//外部中斷0子程序(計(jì)數(shù)器) ???? ?ORG0013H ??????LJMPAD//外部中斷1子程序(溫度傳感器ADC) ???? ?ORG0100H? ????MAIN:SETBEA ? ???? ???SETBIT0???? ?SETBIT1?? ? SETBEX0??? ???? ????? MOVSP,#60H???????MOVR4,#00HMOVA,#00H??//初始化溫度存儲(chǔ)區(qū)數(shù)據(jù) MOV50H,A?MOV51H,A??MOV52H,A??MOV53H,A?//初始化溫度存儲(chǔ)區(qū)數(shù)據(jù) MOV54H,A//初始化計(jì)數(shù)存儲(chǔ)區(qū)數(shù)據(jù)?MOV55H,A?MOV56H,A??MOV57H,A ?MOVR1,#0F1H ?//數(shù)碼管位選(選一位顯示)?MOVR2,#04H??//數(shù)碼管總個(gè)數(shù)? MOVA,#00H? MOVR3,#08????? ?????LOOP:LCALLDESPLAH ?//R3設(shè)置計(jì)數(shù)到8時(shí)蜂鳴器響?? ?? ??? ??????? ??CLRP3.4?Y?//等待中斷??????AJMPLOOP ? ??//顯示溫度子程序?? ? ?? ?? ? ? ???????? ??XSWENDU:MOVP1,#0FFH??? ? ?MOVR0,#50H???? MOVA,@R0 ?//溫度顯示程序MOVDPTR,#DCODE?//數(shù)碼管段碼表MOVCA,@A+DPTR ?MOVP1,A?MOVA,R1 ?MOVP0,ALCALLDELAY2ms?INCR0 MOVA,R1?RLA?MOVR1,A?DJNZR2,XSWENDU?MOVR0,#50H?//50H是溫度數(shù)據(jù)首地址//溫度數(shù)據(jù)存取地址首地址//?MOVR1,#01H?//數(shù)碼管位選?MOVR2,#04H?//數(shù)碼管總個(gè)數(shù)RET? ??//顯示計(jì)數(shù)子程序? ??? ?XSJISHU:MOVR0,#54H ? ?MOVA,@R0????//計(jì)數(shù)顯示程序MOVDPTR,#DCODE?//數(shù)碼管段碼表MOVCA,@A+DPTR MOVP1,A?MOVA,R1? ? ??MOVP0,ALCALLDELAY2ms?INCR0?MOVA,R1?RLA?MOVR1,A DJNZR2,XSJISHU?MOVR0,#54H?//54H是計(jì)數(shù)數(shù)據(jù)首地址//計(jì)數(shù)數(shù)據(jù)存儲(chǔ)地址首地址//?MOVR1,#01H?//數(shù)碼管位選?MOVR2,#04H //數(shù)碼管總個(gè)數(shù)RET??? ?//顯示主程序 ??? ??? ? ?DESPLAY:JBP3.0,XSJISHU???//P3.0為1時(shí)顯示計(jì)數(shù),0時(shí)顯示溫度? ? ???LCALLXSWENDU//顯示溫度???????RET? ???//數(shù)碼管段碼表 ? ?DCODE:DB0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H//共陽極數(shù)碼管段碼?? ????DB80H,90H,88H,83H,0c6H,0a1H,86H,8eH??? ???RET?? //計(jì)數(shù)中斷程序?? ????? ? ?????PINT0:CLRP3.4? ????LCALLDESPLAY????? INCR4? ???? MOVA,R4???? LCALLDESPLAY? ?????MOVB,#100DIVABMOV56H,AMOVA,B??? ??LCALLDESPLAY MOVB,#10DIVAB?MOV55H,A?MOV54H,B??? ??DJNZR3,RETURN? ? ?? MOVR3,#08H??//R3送初值08H ? ?? ?????SETBP3。4//啟動(dòng)蜂鳴器?? ????? ????? RETURN:RETI? ?//返回中斷0???? //AD轉(zhuǎn)換中斷子程序????? ?? ???? ? ?? ? ?? ???? ?????? ?AD:PUSHACCPUSHDPL?PUSHDPH PUSHPSW ?? ???LCALLDESPLAY??MOVDPTR,#0A0HMOVXA,@DPTR MOVB,#100DIVAB???????LCALLDESPLAYM(fèi)OV52H,AMOVA,B?MOVB,#10DIVAB ?????LCALLDESPLAY?MOV51H,A MOV50H,B ???? LCALLDESPLAY?POPPSW POPDPH?POPDPL?POPACC?RET???? ????//延時(shí)2msDELAY2ms:MOVR6,#20? ? ???//(2ms)DEL1:MOVR7,#25DEL2:DJNZR7,DEL2?DJNZR6,DEL1?RET ???? END? ? //結(jié)束2.C語言程序:#include<at89x51。h>#include"intrins。h"#defineucharunsignedchar#defineuintunsignedintucharflag=0;sbitspeaker=P3^4;sbitADC0804_SC=P3^5;sbitADC0804_RD=P3^7;sbitADC0804_WR(shí)=P3^6;ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0xff,0xbf};//{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//計(jì)數(shù)值分解后各個(gè)待顯示的數(shù)位ucharDSY_Buffer[]={0,0,0,0};ucharCount=0;uintalarmnum=0;sbitswitch_Key=P3^0;voiddelay(uintz)?//延時(shí)程序{?uintx,y; for(x=z;x>0;x--)?for(y=110;y>0;y—-);}//數(shù)碼管上顯示計(jì)數(shù)值voidShow_Count_ON_DSY(){?DSY_Buffer[1]=Count%100/10;?//十 DSY_Buffer[0]=Count%10;?//個(gè)?DSY_Buffer[2]=0x0a;//未用?DSY_Buffer[3]=0x0a;//未用? P0=0x01;?P1=DSY_CODE[DSY_Buffer[0]];?delay(10);??P0=0x02;?P1=DSY_CODE[DSY_Buffer[1]];??delay(10);}voidalarm(){?if(Count%8==0&&Count!=0)speaker=1; else{speaker=0;}}/////////////////////////////////////////////////////voidadc0804_start()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年節(jié)能型空氣分離設(shè)備項(xiàng)目發(fā)展計(jì)劃
- 出售通達(dá)公寓合同范本
- 交通安全員聘用合同范例
- 鋼管防腐施工方案
- 會(huì)議廣告制作服務(wù)合同范例
- 加工覆膜合同范例
- 加盟合同范例300例
- 加盟店物料采購合同范例
- 基于居民幸福感的老舊小區(qū)交通環(huán)境評(píng)價(jià)研究
- 兒買工程合同范例
- 2024年中國科學(xué)技術(shù)大學(xué)創(chuàng)新科學(xué)營測試物理試題真題
- 植物營養(yǎng)學(xué)課件
- 大學(xué)物理-質(zhì)點(diǎn)動(dòng)力學(xué)
- 自考英語二詞性轉(zhuǎn)換大全
- 《5G無線網(wǎng)絡(luò)規(guī)劃與優(yōu)化》 課件 第一章 5G網(wǎng)絡(luò)概述
- 醫(yī)院導(dǎo)視系統(tǒng)方案
- 教科版-六年級(jí)科學(xué)下冊(cè)制作校園生物分布圖課件
- 五年級(jí)下冊(cè)數(shù)學(xué)計(jì)算題100道及答案
- 生涯發(fā)展報(bào)告介紹職業(yè)發(fā)展規(guī)劃實(shí)現(xiàn)職業(yè)目標(biāo)的具體行動(dòng)和成果
- 關(guān)于防范遏制礦山領(lǐng)域重特大生產(chǎn)安全事故的硬措施(上)
- 《高一數(shù)學(xué)三角函數(shù)誘導(dǎo)公式》課件
評(píng)論
0/150
提交評(píng)論