




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄摘 要本文介紹了基于AD590與89c51單片機(jī)的一種溫度采集系統(tǒng),該電路采用ADC0809作為A/D轉(zhuǎn)換元件,將AD590采集的模擬溫度信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),傳輸?shù)絾纹瑱C(jī)內(nèi)部,最后用共陰極LED顯示出來,溫度測量范圍085,小數(shù)點(diǎn)后顯示一位。要求能夠正確的顯示溫度傳感器的溫度。使用3位LED模塊顯示,顯示測量溫度數(shù)值。本系統(tǒng)主要包括大模塊:數(shù)據(jù)采集模塊、控制模塊、A/D轉(zhuǎn)換模塊、顯示模塊。首先繪制出工作流程圖,然后連接好硬件電路,寫入?yún)R編程序,并進(jìn)行調(diào)試,最終設(shè)計(jì)完成了該系統(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è)計(jì)任務(wù) 設(shè)計(jì)單片機(jī)主電路、數(shù)據(jù)采集接口電路、LED顯示電路、時(shí)鐘信號(hào)控制電路,能夠?qū)崿F(xiàn)對(duì)1路電壓值進(jìn)行測量,能夠顯示當(dāng)前實(shí)際的溫度值,溫度值精度小數(shù)點(diǎn)后1位,可以通過ADC0809模數(shù)轉(zhuǎn)換芯片將采集的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并在LED顯示屏顯示出來。1.2 設(shè)計(jì)方案 將數(shù)據(jù)采集接口T-DETECT端口電壓傳入ADC0809數(shù)模轉(zhuǎn)換元件中的IN-0通道,經(jīng)轉(zhuǎn)換后通過D0至D7與單片機(jī)P0口連接,把轉(zhuǎn)換完的模擬信號(hào)以數(shù)字信號(hào)的信號(hào)的形式傳給單片機(jī),信號(hào)經(jīng)過單片機(jī)處理從LED數(shù)碼顯示管顯示。本設(shè)計(jì)使用的數(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ù)碼管實(shí)現(xiàn)溫度顯示,要求,利用ADC0809作為數(shù)模轉(zhuǎn)換芯片,利用P0至P4的各個(gè)串口來進(jìn)行不同設(shè)備間的連接,計(jì)算機(jī)進(jìn)行匯編,WAVE仿真器,單片機(jī)多功能實(shí)驗(yàn)臺(tái)。軟件開發(fā)環(huán)境: keil軟件進(jìn)行程序編寫。2 硬件設(shè)計(jì)2.1 單片機(jī)主電路設(shè)計(jì)在本次課題設(shè)計(jì)中我們選擇了8951
4、芯片,其具有功能強(qiáng)、體積小、成本低、功耗小等特點(diǎn),它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。2.2 測量、轉(zhuǎn)換電路設(shè)計(jì) 使用ADC0809作為數(shù)模轉(zhuǎn)換元件,其引腳圖如2.1所示圖2.1 ADC0809引腳圖ADC0809是帶有8路模擬開關(guān)的8位A/D轉(zhuǎn)換芯片,所以它可有8個(gè)模擬量的輸入端,由芯片的A,B,C三個(gè)引腳來選擇模擬通道中的一個(gè)。A,B,C三端分別與AT89C51的P0.0P0.2相接。地址鎖存信號(hào)(ALE)和啟動(dòng)轉(zhuǎn)換信號(hào)(START),由P2.6和/WR或非得到。輸出允許,由P2.6和/RD或非得到。時(shí)鐘信號(hào),可
5、有89C51的ALE輸出得到,不過當(dāng)采用12M晶振時(shí),應(yīng)該先進(jìn)行二分頻,以滿足ADC0809的時(shí)鐘信號(hào)必須小于640K的要求。與單片機(jī)的連接如圖2.2所示圖2.2數(shù)據(jù)轉(zhuǎn)換系統(tǒng)電路圖2.3 顯示電路設(shè)計(jì)2.3.1 LED數(shù)碼管構(gòu)成LED數(shù)碼管顯示器是由發(fā)光二極管顯示字段的顯示器件,也稱為數(shù)碼管。其外形結(jié)構(gòu)如圖所示。它由8個(gè)發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示0-9、A-F及小數(shù)點(diǎn)“.”等字符。數(shù)碼管有共陰極和共陽極兩種結(jié)構(gòu)規(guī)格,電阻為外接。共陰極數(shù)碼管的發(fā)光二極管陰極共地,當(dāng)某發(fā)光二極管的陽極為高電平時(shí),二極管點(diǎn)亮;共陽極數(shù)碼管的發(fā)光二極管是陽極,并接高電平,對(duì)于需點(diǎn)亮的發(fā)光二極管將其陰極接
6、低電平即可。 圖23(a) 共陰極 圖2.3(b) 共陽極 圖2.3(C)字段顯示2.3.2 顯示方式(1) 靜態(tài)顯示方式直接利用并行口輸出。LED顯示工作于靜態(tài)顯示方式時(shí),各位的共陰極連接在一起接地;每位的段選線分別于一個(gè)8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨(dú)立。而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個(gè)字符為止。本實(shí)驗(yàn)采用串入并出的靜態(tài)顯示方式。利用通信號(hào)串行輸出。在實(shí)際應(yīng)用中,多位LED顯示時(shí),為了簡化電路,在系統(tǒng)不需要通信功能時(shí),經(jīng)常采用串行通信口工作方式0,外接移位寄存器74LS164來實(shí)現(xiàn)靜態(tài)顯示。(2) 動(dòng)態(tài)顯示方式對(duì)多位L
7、ED顯示器的動(dòng)態(tài)顯示,通常都時(shí)采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即逐個(gè)循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時(shí)刻只有一位顯示器被點(diǎn)亮,但是由于間隔時(shí)間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮一樣。為了實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描,除了要給顯示器提供的輸入之外,還要對(duì)顯示器加位選擇控制,這就是通常所說的段控和位控。因此多位LED顯示器接口電路需要有兩個(gè)輸出口,其中一個(gè)用于輸出8位控信號(hào);另一個(gè)用于輸出段控信號(hào),其連接圖如下。 2.4 LED顯示電路表2.1七段LED段選碼表 顯示字符共陰極段顯示字符共陰極段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56D
8、HU3EH67DH31H707Hy6EH87FH8.FFH96FH“滅”00HA77H/B7CH/3 軟件設(shè)計(jì)3.1 主程序設(shè)計(jì) 3.1.1 工作流程首先在模擬信號(hào)轉(zhuǎn)換開始初期延時(shí)一段時(shí)間(150微秒),延時(shí)完成后數(shù)據(jù)肯定已經(jīng)轉(zhuǎn)換完畢。轉(zhuǎn)向數(shù)據(jù)存儲(chǔ)程序,最后再到顯示程序,本設(shè)計(jì)使用的是串入并出形式的顯示方法。要求正確的顯示溫度值。完成一次溫度采集顯示程序后,要延時(shí)1秒,使的數(shù)據(jù)顯示穩(wěn)定,如果延時(shí)時(shí)間過短,溫度值會(huì)在跳躍的臨界點(diǎn)閃爍。然后轉(zhuǎn)向溫度采集并循環(huán)顯示程序。工作流程圖如下: N Y轉(zhuǎn)換數(shù)據(jù)的處理繼續(xù)等待轉(zhuǎn)換結(jié)果的處理延時(shí)轉(zhuǎn)換時(shí)間數(shù)據(jù)顯示延時(shí)開始轉(zhuǎn)換完成選擇第0通道圖3.1主程序流程3.1
9、.2 存儲(chǔ)空間定義安排 40H用于存放A/D轉(zhuǎn)換結(jié)果,40H、41H、42H分別存儲(chǔ)顯示用的三位數(shù)據(jù)如下表:表3.1存儲(chǔ)空間定義表40H用于存放A/D轉(zhuǎn)換結(jié)果40H溫度值十位數(shù)部分41H溫度值個(gè)位數(shù)部分(小數(shù)點(diǎn)的處理)42H溫度值小數(shù)位部分3.2 模塊程序設(shè)計(jì)3.2.1 A/D轉(zhuǎn)換測量程序A/D轉(zhuǎn)換的常用方法有:計(jì)數(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。采用延時(shí)控制的方式實(shí)現(xiàn),不浪費(fèi)時(shí)間,效率較高。其流程圖如下: 圖3.2 A/D轉(zhuǎn)換測量程序3.2.2 顯示程序LED顯示工作于靜態(tài)顯示方式時(shí),各位的共陰極連接在一起接地;每位的段選線分別于一個(gè)8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨(dú)立。而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個(gè)字符為止。本實(shí)驗(yàn)采用串入并出的靜態(tài)顯示方式。利用通信號(hào)串行輸出。在實(shí)際應(yīng)用中,多位LED顯示時(shí),為了簡化電路,在系統(tǒng)不需要通信
11、功能時(shí),采用串行通信口工作方式0,外接移位寄存器74LS164來實(shí)現(xiàn)靜態(tài)顯示。讀取判斷單元顯示電壓十位數(shù)部分顯示電壓個(gè)位數(shù)部分(小數(shù)點(diǎn))顯示電壓小數(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),這三部分先獨(dú)立測試,然后整體調(diào)試。顯示系統(tǒng)的調(diào)試:要顯示的數(shù)據(jù)存放在40H、41H、42H單元中,先在40H、41H、42H分單元中存放010的數(shù),運(yùn)行顯示程序,察看顯示的結(jié)果是否與存放值一樣。在測試的過程中發(fā)現(xiàn)小數(shù)點(diǎn)沒有顯示,通過指令ORL 30H,#80H,把小數(shù)點(diǎn)顯示出來。整體測試:把個(gè)部分用
12、線連接,P2接數(shù)碼管,P3接位選。仿真器、仿真頭連好,進(jìn)入WAVE軟件,設(shè)置仿真器。編譯程序,看是否存在錯(cuò)誤。5 課程設(shè)計(jì)總結(jié)在本次實(shí)訓(xùn)中,我遇到了很多難題,然而這些難題讓我不斷的學(xué)習(xí),充分體會(huì)了從事單片機(jī)開發(fā)工作需要特別嚴(yán)謹(jǐn)認(rèn)真的態(tài)度和作風(fēng),一點(diǎn)都馬虎不得。每一個(gè)細(xì)微的細(xì)節(jié)都必須十分的注意,如果不認(rèn)真思考決策,就會(huì)出現(xiàn)或大或小的錯(cuò)誤,如果早期的錯(cuò)誤隱藏下來,對(duì)后面的工作影響就會(huì)很大,甚至有時(shí)要推倒很多前面做的工作重來。有時(shí)候,自己覺得寫的程序非常的正確,但是就是編譯通不過,在查找錯(cuò)誤的過程中,面臨著否認(rèn)自己的過程,非常的痛苦,而且由于自己的經(jīng)驗(yàn)及各方面的能力的不足,所以進(jìn)展的速度非常的緩慢,
13、往往幾天的時(shí)間還沒有一點(diǎn)進(jìn)展。這時(shí)候,一般是先自己通過書本,手冊和資料找解決辦法,實(shí)在沒轍了才向?qū)<艺埥?。盡管向?qū)<艺埥探鉀Q問題比較快,自己鉆研花的時(shí)間較多,但強(qiáng)迫自己獨(dú)立的思考對(duì)學(xué)習(xí)提高幫助非常大。在開始編寫程序的時(shí)候,看到別人的軟件功能非常的詳細(xì),總希望自己的軟件也非常的完善,但是,經(jīng)過幾天的學(xué)習(xí),發(fā)現(xiàn)編一個(gè)優(yōu)秀的課程設(shè)計(jì)決不是一蹴而就的事情,需要長時(shí)間的積累和經(jīng)驗(yàn)。認(rèn)清自己的能力后,就特別注意在工作的過程中不貪圖大而全,而是根據(jù)自己的能力,制定適當(dāng)?shù)哪繕?biāo)。反反復(fù)復(fù)的學(xué)習(xí),辛勤努力有了回報(bào),終于做出了一個(gè)簡單的溫度采集系統(tǒng),雖然這個(gè)系統(tǒng)的功能非常的簡單,而且在實(shí)際的運(yùn)用中,還有些不足。比如
14、溫度數(shù)值顯示不夠精確。由于知識(shí)淺薄,經(jīng)驗(yàn)不足及閱歷頗淺,因此,在該系統(tǒng)的設(shè)計(jì)方面還有很多不足,比如功能不夠完善,精度有待提高等問題,會(huì)在學(xué)習(xí)的使用過程中,根據(jù)學(xué)習(xí)的具體要求不斷的修改,完善,爭取使該系統(tǒng)慢慢趨向完美,并希望老師批評(píng)指點(diǎn)在因難中進(jìn)步,還要感謝指導(dǎo)教師給我的提供了寶貴的意見,感謝學(xué)校給我們這提供實(shí)訓(xùn)的機(jī)會(huì)。 附錄1:程序清單 org 000h jmp main org 0030hmain: mov r0,#40h mov dptr,#0bff8h ;指向0809首地址 movx dptr,a ;啟動(dòng)A/D轉(zhuǎn)換 tt1: movx a,dptr ;讀數(shù) movx r0,a ;存數(shù) m
15、ovx dptr,a ;啟動(dòng)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 ;將個(gè)位數(shù)送顯示緩沖單元 mov a,r3 ;標(biāo)度轉(zhuǎn)換結(jié)果小數(shù)部分處理 mov b,#03h ;實(shí)現(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 ;利用表格計(jì)算十位七段LED數(shù)碼管的段碼 mov 40h,a ;將段碼結(jié)果送入40h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將個(gè)位數(shù)給a movc a,a
17、+dptr ;利用表格計(jì)算個(gè)位七段LED數(shù)碼管的段碼 mov 41h,a ;將段碼結(jié)果送入41h inc r0 ;r0指向緩存區(qū)下一地址 mov a,r0 ;將小數(shù)給a movc a,a+dptr ;利用表格計(jì)算小數(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í)行;個(gè)位數(shù)顯示; orl 41h,#80h ;個(gè)位數(shù)后置小數(shù)點(diǎn) 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)換所需時(shí)間;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)容里面會(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市安全生產(chǎn)協(xié)會(huì)官網(wǎng)
- 如何確定安全生產(chǎn)事故
- 安全生產(chǎn)物業(yè)管理方案
- 動(dòng)力安全管理
- 安全生產(chǎn)意識(shí)不強(qiáng)
- 特種設(shè)備安全管理制度和安全操作規(guī)程
- 選煤廠崗位安全生產(chǎn)責(zé)任制
- 商務(wù)局消防安全職責(zé)
- 使用中輸液泵出現(xiàn)故障應(yīng)急預(yù)案
- 2025屆陽泉市重點(diǎn)中學(xué)物理高一下期末調(diào)研試題含解析
- 中國VTS船舶交通管理系統(tǒng)行業(yè)發(fā)展全景監(jiān)測及投資方向研究報(bào)告
- 2025年中國中信集團(tuán)招聘筆試沖刺題2025
- 2025年北京市中考數(shù)學(xué)真題試卷及答案解析
- 酒店前臺(tái)服務(wù)禮儀與服務(wù)意識(shí)培訓(xùn)
- 2025至2030免稅行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 農(nóng)民參與鄉(xiāng)村建設(shè)的模式和政策研究
- 北京市海淀區(qū)2024-2025+學(xué)年七年級(jí)下學(xué)期期末模擬英語試卷(含答案)
- 溫州市2024-2025學(xué)年高一下學(xué)期期末英語測試卷
- AI+Agent與Agentic+AI的原理和應(yīng)用洞察與未來展望
- 家具工藝培訓(xùn)課件
- 事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)制度
評(píng)論
0/150
提交評(píng)論