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

下載本文檔

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

文檔簡介

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

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

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

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

5、有89C51的ALE輸出得到,不過當采用12M晶振時,應該先進行二分頻,以滿足ADC0809的時鐘信號必須小于640K的要求。與單片機的連接如圖2.2所示圖2.2數(shù)據(jù)轉換系統(tǒng)電路圖2.3 顯示電路設計2.3.1 LED數(shù)碼管構成LED數(shù)碼管顯示器是由發(fā)光二極管顯示字段的顯示器件,也稱為數(shù)碼管。其外形結構如圖所示。它由8個發(fā)光二極管構成,通過不同的組合可用來顯示0-9、A-F及小數(shù)點“.”等字符。數(shù)碼管有共陰極和共陽極兩種結構規(guī)格,電阻為外接。共陰極數(shù)碼管的發(fā)光二極管陰極共地,當某發(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)確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。本實驗采用串入并出的靜態(tài)顯示方式。利用通信號串行輸出。在實際應用中,多位LED顯示時,為了簡化電路,在系統(tǒng)不需要通信功能時,經(jīng)常采用串行通信口工作方式0,外接移位寄存器74LS164來實現(xiàn)靜態(tài)顯示。(2) 動態(tài)顯示方式對多位L

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

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

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

10、位或51/2位)等,但速度更慢。逐次逼近型A/D轉換既照顧了轉換速度,有具有一定的精度,這里選用的是逐次逼近型的A/D轉換芯片ADC0809。采用延時控制的方式實現(xiàn),不浪費時間,效率較高。其流程圖如下: 圖3.2 A/D轉換測量程序3.2.2 顯示程序LED顯示工作于靜態(tài)顯示方式時,各位的共陰極連接在一起接地;每位的段選線分別于一個8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨立。而且各位的顯示字符一經(jīng)確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。本實驗采用串入并出的靜態(tài)顯示方式。利用通信號串行輸出。在實際應用中,多位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ù)轉換系統(tǒng)、顯示系統(tǒng),這三部分先獨立測試,然后整體調(diào)試。顯示系統(tǒng)的調(diào)試:要顯示的數(shù)據(jù)存放在40H、41H、42H單元中,先在40H、41H、42H分單元中存放010的數(shù),運行顯示程序,察看顯示的結果是否與存放值一樣。在測試的過程中發(fā)現(xiàn)小數(shù)點沒有顯示,通過指令ORL 30H,#80H,把小數(shù)點顯示出來。整體測試:把個部分用

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

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

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

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

16、inc r0 ;指向緩沖單元下一地址 mov r0,b ;將個位數(shù)送顯示緩沖單元 mov a,r3 ;標度轉換結果小數(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 ;將段碼結果送入40h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將個位數(shù)給a movc a,a

17、+dptr ;利用表格計算個位七段LED數(shù)碼管的段碼 mov 41h,a ;將段碼結果送入41h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將小數(shù)給a movc a,a+dptr ;利用表格計算小數(shù)位七段LED數(shù)碼管的段碼 mov 42h,a ;將段碼結果送入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轉換所需時間;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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論