基于AD590溫度采集系統(tǒng)的設(shè)計正文_第1頁
基于AD590溫度采集系統(tǒng)的設(shè)計正文_第2頁
基于AD590溫度采集系統(tǒng)的設(shè)計正文_第3頁
基于AD590溫度采集系統(tǒng)的設(shè)計正文_第4頁
基于AD590溫度采集系統(tǒng)的設(shè)計正文_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄摘 要本文介紹了基于AD590與89c51單片機(jī)的一種溫度采集系統(tǒng),該電路采用ADC0809作為A/D轉(zhuǎn)換元件,將AD590采集的模擬溫度信號轉(zhuǎn)化為數(shù)字信號,傳輸?shù)絾纹瑱C(jī)內(nèi)部,最后用共陰極LED顯示出來,溫度測量范圍085,小數(shù)點后顯示一位。要求能夠正確的顯示溫度傳感器的溫度。使用3位LED模塊顯示,顯示測量溫度數(shù)值。本系統(tǒng)主要包括大模塊:數(shù)據(jù)采集模塊、控制模塊、A/D轉(zhuǎn)換模塊、顯示模塊。首先繪制出工作流程圖,然后連接好硬件電路,寫入?yún)R編程序,并進(jìn)行調(diào)試,最終設(shè)計完成了該系統(tǒng)的硬件電路。在軟件編程上,采用了匯編語言進(jìn)行編程,使用了顯示模塊程序、轉(zhuǎn)換數(shù)據(jù)存取程序、

2、A/D轉(zhuǎn)換程序。關(guān)鍵詞:ADC0809;A/D轉(zhuǎn)換;LED顯示1 系統(tǒng)方案1.1 系統(tǒng)的設(shè)計任務(wù) 設(shè)計單片機(jī)主電路、數(shù)據(jù)采集接口電路、LED顯示電路、時鐘信號控制電路,能夠?qū)崿F(xiàn)對1路電壓值進(jìn)行測量,能夠顯示當(dāng)前實際的溫度值,溫度值精度小數(shù)點后1位,可以通過ADC0809模數(shù)轉(zhuǎn)換芯片將采集的模擬信號轉(zhuǎn)換為數(shù)字信號并在LED顯示屏顯示出來。1.2 設(shè)計方案 將數(shù)據(jù)采集接口T-DETECT端口電壓傳入ADC0809數(shù)模轉(zhuǎn)換元件中的IN-0通道,經(jīng)轉(zhuǎn)換后通過D0至D7與單片機(jī)P0口連接,把轉(zhuǎn)換完的模擬信號以數(shù)字信號的信號的形式傳給單片機(jī),信號經(jīng)過單片機(jī)處理從LED數(shù)碼顯示管顯示。本設(shè)計使用的數(shù)據(jù)流輸出

3、為串入并出形式,這樣的好處是使用借口較少,方便使用。數(shù)據(jù)輸出顯示AT89C51 P0P11F3P12F3 ALEP3P1F3P0F3數(shù)據(jù)輸出ADC0809D0D7 IN0 : IN7CLOCK VREF+VREF-圖1.1系統(tǒng)總體方案結(jié)構(gòu)圖1.3 軟硬件開發(fā)環(huán)境硬件選擇:選擇AT89C51作為單片機(jī)芯片,選用8段共陰極LED數(shù)碼管實現(xiàn)溫度顯示,要求,利用ADC0809作為數(shù)模轉(zhuǎn)換芯片,利用P0至P4的各個串口來進(jìn)行不同設(shè)備間的連接,計算機(jī)進(jìn)行匯編,WAVE仿真器,單片機(jī)多功能實驗臺。軟件開發(fā)環(huán)境: keil軟件進(jìn)行程序編寫。2 硬件設(shè)計2.1 單片機(jī)主電路設(shè)計在本次課題設(shè)計中我們選擇了8951

4、芯片,其具有功能強(qiáng)、體積小、成本低、功耗小等特點,它可單獨地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。2.2 測量、轉(zhuǎn)換電路設(shè)計 使用ADC0809作為數(shù)模轉(zhuǎn)換元件,其引腳圖如2.1所示圖2.1 ADC0809引腳圖ADC0809是帶有8路模擬開關(guān)的8位A/D轉(zhuǎn)換芯片,所以它可有8個模擬量的輸入端,由芯片的A,B,C三個引腳來選擇模擬通道中的一個。A,B,C三端分別與AT89C51的P0.0P0.2相接。地址鎖存信號(ALE)和啟動轉(zhuǎn)換信號(START),由P2.6和/WR或非得到。輸出允許,由P2.6和/RD或非得到。時鐘信號,可

5、有89C51的ALE輸出得到,不過當(dāng)采用12M晶振時,應(yīng)該先進(jìn)行二分頻,以滿足ADC0809的時鐘信號必須小于640K的要求。與單片機(jī)的連接如圖2.2所示圖2.2數(shù)據(jù)轉(zhuǎn)換系統(tǒng)電路圖2.3 顯示電路設(shè)計2.3.1 LED數(shù)碼管構(gòu)成LED數(shù)碼管顯示器是由發(fā)光二極管顯示字段的顯示器件,也稱為數(shù)碼管。其外形結(jié)構(gòu)如圖所示。它由8個發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示0-9、A-F及小數(shù)點“.”等字符。數(shù)碼管有共陰極和共陽極兩種結(jié)構(gòu)規(guī)格,電阻為外接。共陰極數(shù)碼管的發(fā)光二極管陰極共地,當(dāng)某發(fā)光二極管的陽極為高電平時,二極管點亮;共陽極數(shù)碼管的發(fā)光二極管是陽極,并接高電平,對于需點亮的發(fā)光二極管將其陰極接

6、低電平即可。 圖23(a) 共陰極 圖2.3(b) 共陽極 圖2.3(C)字段顯示2.3.2 顯示方式(1) 靜態(tài)顯示方式直接利用并行口輸出。LED顯示工作于靜態(tài)顯示方式時,各位的共陰極連接在一起接地;每位的段選線分別于一個8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨立。而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止。本實驗采用串入并出的靜態(tài)顯示方式。利用通信號串行輸出。在實際應(yīng)用中,多位LED顯示時,為了簡化電路,在系統(tǒng)不需要通信功能時,經(jīng)常采用串行通信口工作方式0,外接移位寄存器74LS164來實現(xiàn)靜態(tài)顯示。(2) 動態(tài)顯示方式對多位L

7、ED顯示器的動態(tài)顯示,通常都時采用動態(tài)掃描的方法進(jìn)行顯示,即逐個循環(huán)點亮各位顯示器。這樣雖然在任一時刻只有一位顯示器被點亮,但是由于間隔時間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點亮一樣。為了實現(xiàn)LED顯示器的動態(tài)掃描,除了要給顯示器提供的輸入之外,還要對顯示器加位選擇控制,這就是通常所說的段控和位控。因此多位LED顯示器接口電路需要有兩個輸出口,其中一個用于輸出8位控信號;另一個用于輸出段控信號,其連接圖如下。 2.4 LED顯示電路表2.1七段LED段選碼表 顯示字符共陰極段顯示字符共陰極段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56D

8、HU3EH67DH31H707Hy6EH87FH8.FFH96FH“滅”00HA77H/B7CH/3 軟件設(shè)計3.1 主程序設(shè)計 3.1.1 工作流程首先在模擬信號轉(zhuǎn)換開始初期延時一段時間(150微秒),延時完成后數(shù)據(jù)肯定已經(jīng)轉(zhuǎn)換完畢。轉(zhuǎn)向數(shù)據(jù)存儲程序,最后再到顯示程序,本設(shè)計使用的是串入并出形式的顯示方法。要求正確的顯示溫度值。完成一次溫度采集顯示程序后,要延時1秒,使的數(shù)據(jù)顯示穩(wěn)定,如果延時時間過短,溫度值會在跳躍的臨界點閃爍。然后轉(zhuǎn)向溫度采集并循環(huán)顯示程序。工作流程圖如下: N Y轉(zhuǎn)換數(shù)據(jù)的處理繼續(xù)等待轉(zhuǎn)換結(jié)果的處理延時轉(zhuǎn)換時間數(shù)據(jù)顯示延時開始轉(zhuǎn)換完成選擇第0通道圖3.1主程序流程3.1

9、.2 存儲空間定義安排 40H用于存放A/D轉(zhuǎn)換結(jié)果,40H、41H、42H分別存儲顯示用的三位數(shù)據(jù)如下表:表3.1存儲空間定義表40H用于存放A/D轉(zhuǎn)換結(jié)果40H溫度值十位數(shù)部分41H溫度值個位數(shù)部分(小數(shù)點的處理)42H溫度值小數(shù)位部分3.2 模塊程序設(shè)計3.2.1 A/D轉(zhuǎn)換測量程序A/D轉(zhuǎn)換的常用方法有:計數(shù)式A/D轉(zhuǎn)換,逐次逼近型A/D轉(zhuǎn)換,雙積分式A/D轉(zhuǎn)換, V/F變換型A/D轉(zhuǎn)換。在這些轉(zhuǎn)換方式中,記數(shù)式A/D轉(zhuǎn)換線路比較簡單,但轉(zhuǎn)換速度較慢,所以現(xiàn)在很少應(yīng)用。雙積分式A/D轉(zhuǎn)換精度高,多用于數(shù)據(jù)采集及精度要求比較高的場合,如5G14433(31/2位),AD7555(41/2

10、位或51/2位)等,但速度更慢。逐次逼近型A/D轉(zhuǎn)換既照顧了轉(zhuǎn)換速度,有具有一定的精度,這里選用的是逐次逼近型的A/D轉(zhuǎn)換芯片ADC0809。采用延時控制的方式實現(xiàn),不浪費時間,效率較高。其流程圖如下: 圖3.2 A/D轉(zhuǎn)換測量程序3.2.2 顯示程序LED顯示工作于靜態(tài)顯示方式時,各位的共陰極連接在一起接地;每位的段選線分別于一個8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨立。而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止。本實驗采用串入并出的靜態(tài)顯示方式。利用通信號串行輸出。在實際應(yīng)用中,多位LED顯示時,為了簡化電路,在系統(tǒng)不需要通信

11、功能時,采用串行通信口工作方式0,外接移位寄存器74LS164來實現(xiàn)靜態(tài)顯示。讀取判斷單元顯示電壓十位數(shù)部分顯示電壓個位數(shù)部分(小數(shù)點)顯示電壓小數(shù)部分LED顯示開始程序40H41H42H圖3.3顯示子程序4 系統(tǒng)調(diào)試與分析4.1 調(diào)試內(nèi)容及問題解決 程序可分為數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)轉(zhuǎn)換系統(tǒng)、顯示系統(tǒng),這三部分先獨立測試,然后整體調(diào)試。顯示系統(tǒng)的調(diào)試:要顯示的數(shù)據(jù)存放在40H、41H、42H單元中,先在40H、41H、42H分單元中存放010的數(shù),運行顯示程序,察看顯示的結(jié)果是否與存放值一樣。在測試的過程中發(fā)現(xiàn)小數(shù)點沒有顯示,通過指令ORL 30H,#80H,把小數(shù)點顯示出來。整體測試:把個部分用

12、線連接,P2接數(shù)碼管,P3接位選。仿真器、仿真頭連好,進(jìn)入WAVE軟件,設(shè)置仿真器。編譯程序,看是否存在錯誤。5 課程設(shè)計總結(jié)在本次實訓(xùn)中,我遇到了很多難題,然而這些難題讓我不斷的學(xué)習(xí),充分體會了從事單片機(jī)開發(fā)工作需要特別嚴(yán)謹(jǐn)認(rèn)真的態(tài)度和作風(fēng),一點都馬虎不得。每一個細(xì)微的細(xì)節(jié)都必須十分的注意,如果不認(rèn)真思考決策,就會出現(xiàn)或大或小的錯誤,如果早期的錯誤隱藏下來,對后面的工作影響就會很大,甚至有時要推倒很多前面做的工作重來。有時候,自己覺得寫的程序非常的正確,但是就是編譯通不過,在查找錯誤的過程中,面臨著否認(rèn)自己的過程,非常的痛苦,而且由于自己的經(jīng)驗及各方面的能力的不足,所以進(jìn)展的速度非常的緩慢,

13、往往幾天的時間還沒有一點進(jìn)展。這時候,一般是先自己通過書本,手冊和資料找解決辦法,實在沒轍了才向?qū)<艺埥?。盡管向?qū)<艺埥探鉀Q問題比較快,自己鉆研花的時間較多,但強(qiáng)迫自己獨立的思考對學(xué)習(xí)提高幫助非常大。在開始編寫程序的時候,看到別人的軟件功能非常的詳細(xì),總希望自己的軟件也非常的完善,但是,經(jīng)過幾天的學(xué)習(xí),發(fā)現(xiàn)編一個優(yōu)秀的課程設(shè)計決不是一蹴而就的事情,需要長時間的積累和經(jīng)驗。認(rèn)清自己的能力后,就特別注意在工作的過程中不貪圖大而全,而是根據(jù)自己的能力,制定適當(dāng)?shù)哪繕?biāo)。反反復(fù)復(fù)的學(xué)習(xí),辛勤努力有了回報,終于做出了一個簡單的溫度采集系統(tǒng),雖然這個系統(tǒng)的功能非常的簡單,而且在實際的運用中,還有些不足。比如

14、溫度數(shù)值顯示不夠精確。由于知識淺薄,經(jīng)驗不足及閱歷頗淺,因此,在該系統(tǒng)的設(shè)計方面還有很多不足,比如功能不夠完善,精度有待提高等問題,會在學(xué)習(xí)的使用過程中,根據(jù)學(xué)習(xí)的具體要求不斷的修改,完善,爭取使該系統(tǒng)慢慢趨向完美,并希望老師批評指點在因難中進(jìn)步,還要感謝指導(dǎo)教師給我的提供了寶貴的意見,感謝學(xué)校給我們這提供實訓(xùn)的機(jī)會。 附錄1:程序清單 org 000h jmp main org 0030hmain: mov r0,#40h mov dptr,#0bff8h ;指向0809首地址 movx dptr,a ;啟動A/D轉(zhuǎn)換 tt1: movx a,dptr ;讀數(shù) movx r0,a ;存數(shù) m

15、ovx dptr,a ;啟動A/D轉(zhuǎn)換 lcall delay128us ;等待轉(zhuǎn)換完畢(至少128us) movx a,dptr mov r0,a lcall tran ;模數(shù)-數(shù)據(jù)轉(zhuǎn)換 lcall disp ;數(shù)據(jù)的靜態(tài)顯示 lcall delay1s sjmp main ;數(shù)據(jù)轉(zhuǎn)換;tran: ;數(shù)據(jù)轉(zhuǎn)換 mov r0,#40h mov r3,#00h mov a,r0 ;把r0中的數(shù)給a mov b,#03h ;標(biāo)度變換 3格一度 div ab mov r3,b mov b,#0ah ;將標(biāo)度變換結(jié)果的整數(shù)部分進(jìn)行BCD碼轉(zhuǎn)換 div ab mov r0,a ;將十位數(shù)送顯示緩沖單元

16、inc r0 ;指向緩沖單元下一地址 mov r0,b ;將個位數(shù)送顯示緩沖單元 mov a,r3 ;標(biāo)度轉(zhuǎn)換結(jié)果小數(shù)部分處理 mov b,#03h ;實現(xiàn)三格一度 mul ab inc r0 mov r0,a ;送顯示緩沖單元lop: ret;靜態(tài)顯示子程序-串入并出;disp: mov dptr,#tab mov r0,#40h ;r0指向緩存區(qū)首地址 mov a,r0 ;將整數(shù)位數(shù)給a movc a,a+dptr ;利用表格計算十位七段LED數(shù)碼管的段碼 mov 40h,a ;將段碼結(jié)果送入40h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將個位數(shù)給a movc a,a

17、+dptr ;利用表格計算個位七段LED數(shù)碼管的段碼 mov 41h,a ;將段碼結(jié)果送入41h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將小數(shù)給a movc a,a+dptr ;利用表格計算小數(shù)位七段LED數(shù)碼管的段碼 mov 42h,a ;將段碼結(jié)果送入42h;最后一位清零; mov 43h,#00h mov a,43h mov r7,#8ccc: jb acc.7,aaa ; clr p3.0 ; jmp bbbaaa: setb p3.0bbb: setb p3.1 clr p3.1 rl a djnz r7,ccc;小數(shù)位數(shù)顯示; mov a,42h mov r7

18、,#8 cc: jb acc.7,aa ; clr p3.0 ; jmp bbaa: setb p3.0bb: setb p3.1 clr p3.1 rl a djnz r7,cc ;所有位檢測后順序執(zhí)行;個位數(shù)顯示; orl 41h,#80h ;個位數(shù)后置小數(shù)點 mov a,41h mov r7,#8 dd: jb acc.7,ee clr p3.0 jmp ff ee: setb p3.0 ff: setb p3.1 clr p3.1 rl a djnz r7,dd ;十位數(shù)數(shù)顯示; mov a,40h mov r7,#8 gg: jb acc.7,hh clr p3.0 jmp ii hh: setb p3.0 ii: setb p3.1 clr p3.1 rl a djnz r7,ggtab: db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fhlop1: ret;ADC0809轉(zhuǎn)換所需時間;delay128us: mov r5,#30delay1: mov r7,#5delay2: nop nop djnz r7,delay2 djnz r5,delay1 ret;為使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論