![利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/14d672ca-409f-491f-a47b-7c7cbade56a1/14d672ca-409f-491f-a47b-7c7cbade56a11.gif)
![利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/14d672ca-409f-491f-a47b-7c7cbade56a1/14d672ca-409f-491f-a47b-7c7cbade56a12.gif)
![利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/14d672ca-409f-491f-a47b-7c7cbade56a1/14d672ca-409f-491f-a47b-7c7cbade56a13.gif)
![利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/14d672ca-409f-491f-a47b-7c7cbade56a1/14d672ca-409f-491f-a47b-7c7cbade56a14.gif)
![利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/14d672ca-409f-491f-a47b-7c7cbade56a1/14d672ca-409f-491f-a47b-7c7cbade56a15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 利用51單片機(jī)與ADC0809和數(shù)碼管設(shè)計數(shù)字電壓表一、課題功能描述:利用單片機(jī)AT89C51 芯片與ADC0809 芯片設(shè)計一個數(shù)字電壓表,能夠測 量05V 之間的直流電壓,三位數(shù)碼顯示。2、 程序設(shè)計本實驗采用AT89C51 單片機(jī)芯片配合 ADC0809 模/數(shù)轉(zhuǎn)換芯片構(gòu)成一個簡 易的數(shù)字電壓表,原理電路如圖1-1 所示。該電路通過 ADC0809 芯片采樣輸入口 AI0 輸入的05V 的模擬量電壓,經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0D7 傳送給 AT89C51 芯片的F0口。AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼,并通過P1
2、口傳送給數(shù)碼管。同時它還通過其三位 I/O 口 P3.0、P3.1、P3.2 產(chǎn)生位片選信號,控制數(shù)碼管的亮滅。另外,AT89C51 還控制著 ADC0809 的工作。其ALE管腳為 ADC0809提供了 1MHZ 工作的時鐘脈沖;P2.3 控制 ADC0809 的地址鎖存端(ALE); P2.4 控制 ADC0809 的啟動端(START); P2.5 控制 ADC0809 的輸出允許端(OE); P3.7 控制 ADC0809 的轉(zhuǎn)換結(jié)束信號(EOC)。電路原理圖如下:三、 器件清單: 1 . AT89S51 芯片 1塊 2 . ADC0809 芯片 1塊 3 . 74HC245 芯片 1
3、塊 4 . 數(shù)碼管 1個 5 . 6MHZ 晶振 1個 6 . 30pF 電容 2個 7 . 10uF 電解電容 1個 8 . 復(fù)位電容 1個 9 . 510電阻 8個 10. 10K電阻 1個 11. 導(dǎo)線 若干4、 程序設(shè)計1、主程序設(shè)計由于ADC0809 在進(jìn)行A/D轉(zhuǎn)換時需要有CKL 信號,而此時的 ADC0809 的CLK 是連接在 AT89C51 單片機(jī)的30管腳,也就是要求從30管腳輸出CLK 信號供 ADC0809 使用。因此產(chǎn)生 CLK 信號的方法就等于從軟件產(chǎn)生。電壓表系統(tǒng)有主程序,A/D 轉(zhuǎn)換子程序和顯示子程序,如下流程1-2所示:圖1-2主程序流程圖調(diào)用顯示程序調(diào)用數(shù)據(jù)
4、處理程序調(diào)用A/D轉(zhuǎn)化程序初始化開始2、A/D 轉(zhuǎn)換子程序啟動 ADC0809 對模擬量輸入信號進(jìn)行轉(zhuǎn)換,通過判斷 EOC(P3.7)來確定轉(zhuǎn)換是否完成, 若EOC 為0則繼續(xù)等待;若 EOC為1,則把OE 置位,將轉(zhuǎn)換完成的數(shù)據(jù)存儲到 70H 中。程序流程圖如圖1-3開始A/D轉(zhuǎn)換結(jié)束?(P3.7=1?)啟動A/D轉(zhuǎn)化器初始化是P2.5置位,允許輸出將轉(zhuǎn)換得到的數(shù)據(jù)存儲結(jié) 束開始圖1-3 A/D轉(zhuǎn)換程序流程圖3、數(shù)據(jù)處理子程序數(shù)據(jù)處理子程序主要根據(jù)標(biāo)度變換公式1-1,把0255十進(jìn)制數(shù)轉(zhuǎn)換為0.005.00V. AX=A0+(Am-A0)(NX-N0/Nm-N0) (1-1) Ax: 模擬測
5、量值; A0: 模擬輸入最小值; Am: 模擬輸入最大值;NX: 模數(shù)轉(zhuǎn)換后的值; N0:模/數(shù)轉(zhuǎn)換后的最小值;Nm:模/數(shù)轉(zhuǎn)換后的最大值 。在本設(shè)計中,根據(jù)要求知:A0=0V,Am=5V,N0=0,Nm=255,則公式1-1可化簡為: AX=A0+(Am-A0)(NX-N0/Nm-N0)=5NX/255=NX/51 (1-2) 程序流程圖如圖1-4所示:從70H中取數(shù)據(jù),除以51得到個位,存放在70H中,余數(shù)移入A 余數(shù)與51的一半即1AH借位相減比較,以便四舍五入,利用P0開始余數(shù)10,再除以51 商放入A中 P0=1?是 四舍否 數(shù)據(jù)調(diào)整,相當(dāng)于五入 A放入79H中,得到十分位再將余數(shù)放
6、入A中,進(jìn)行除51操作P0=1? 是否A = A + 5四舍A放入7AH中,得到百分位結(jié) 束圖1-4 數(shù)據(jù)處理子程序流程圖 4、顯示子程序顯示子程序采用動態(tài)掃描法實現(xiàn)三位數(shù)碼管的數(shù)值顯示。測量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在70H內(nèi)存單元中,測量數(shù)據(jù)在顯示時需轉(zhuǎn)換成10進(jìn)制BCD碼放在78H7AH單元中。寄存器R1用作顯示數(shù)據(jù)地址指針。程序流程圖如1-5所示: R1 A 查表取得相應(yīng)段碼 輸出顯示置位P1.7點亮小數(shù)點 圖1-5 顯示子程序流程圖結(jié) 束 R1 A 查表取得相應(yīng)段碼 輸出顯示 R1=R1+1 R1 A 查表取得相應(yīng)段碼 輸出顯示 初 始 化 R1=78H,P1置高,P2置低 R1=R1+
7、1開始5、 程序代碼 ORG 0000H LJMP START ORG 0030H ;初始化參數(shù) START: CLR A SETB P3.7 ;初始化EOC CLR P3.0 ;初始化LED位選,全不選中。 CLR P3.1 CLR P3.2 MOV P2,A ;初始化P2口,清除對ADC0809的控制信號。 MOV 70H, A ;初始化數(shù)據(jù)采樣后存儲空間。 MOV 78H, A ;初始化數(shù)據(jù)處理后3位有效數(shù)字的存儲空間 MOV 79H, A MOV 7AH, A MOV A ,#0FFH ;初始化P0,P1口,寫入高電平 MOV P0, A MOV P1, A ;主程序 MAIN: LC
8、ALL AD_SUB ;調(diào)用A/D轉(zhuǎn)換子程序,開始采樣并轉(zhuǎn)換。 LCALL TURN_SUB ;調(diào)用數(shù)碼轉(zhuǎn)換子程序,將采樣轉(zhuǎn)換來的 0-255轉(zhuǎn)換成意義對應(yīng)的 LCALL DISP_SUB ;調(diào)用顯示子程序。 LJMP MAIN;A/D轉(zhuǎn)換子程序 AD_SUB: CLR A MOV P2, A ;初始化P2口,清除對ADC0809的控制信號。 MOV R0,#70H LCALL AD_SUB ;調(diào)用采樣子程序 WAIT: JB P3.7,DATASAVE ;判斷采樣轉(zhuǎn)換是否完畢,完畢則跳轉(zhuǎn)到DATASAVE進(jìn)行存儲。 AJMP WAIT ;否則繼續(xù)等待。 ;啟動采樣,送脈沖時序 AD_SUB:
9、 SETB P2.3 ;ALE 脈沖時序 NOP NOP CLR P2.3 SETB P2.4 ;START脈沖時序 NOP NOP CLR P2.4 NOP NOP RET ;采樣轉(zhuǎn)換的數(shù)據(jù)存儲 DATASAVE: SETB P2.5 ;置位OE端,允許ADC0809輸出數(shù)據(jù) MOV A , P0 ;將轉(zhuǎn)換的數(shù)據(jù)存儲到70H中 MOV R0,A CLR P2.5 CLR A ;初始化P0,P1,P2口 MOV P2 ,A MOV A,#0FFH MOV P0 ,A MOV P1 ,A RETTURN_SUB: MOV A ,R0 MOV A ,#51 DIV AB MOV 78H, A ;以
10、上這一段是整數(shù)部分放入78H MOV A , B ;余數(shù)部分放入A CLR F0 SUBB A ,#1AH ;余數(shù)和51的一半即1AH比較,以便四舍五入 MOV F0 , C MOV A ,#10 MUL AB ;余數(shù)乘以10,以便再除以51 MOV B , #51 DIV AB JB F0,LOOP1 ;判斷四舍五入,跳到LLOP1是“四舍” ADD A ,#5 ;這是“五入” LOOP1: MOV 79H,A ;十分位 MOV A ,B CLR F0 SUBB A ,#1AH MOV F0 ,C MOV A ,#10 MUL AB MOV B , #51 DIV AB JB F0,LOOP
11、2 ADD A ,#5 LOOP2: MOV 7AH, A ;百分位 RET ;顯示子程序 DISP_SUB: MOV R1 ,#78H ;R1輔助寄存器,用于存放要顯示的數(shù)據(jù)的地址 CLR A MOV P1,#0FFH ;初始化P1,P2口 ANL P2 ,A LCALL PLAY ;調(diào)用顯示位碼子程序 CLR P1.7 ;顯示最高位后的小數(shù)點 SETB P3.2 ;選中最高位LED 數(shù)碼管 LCALL DELAY ;調(diào)用延遲子程序 CLR P3.2 ;取消最高位位選 INC R1 ;提取第二位有效數(shù)字的數(shù)據(jù)地址 LCALL PLAY ;調(diào)用顯示位碼子程序 SETB P3.1 ;選中第二位L
12、ED 數(shù)碼管 LCALL DELAY ;調(diào)用延遲子程序 CLR P3.1 ;取消第二位位選 INC R1 ;提取最低位有效數(shù)字的數(shù)據(jù)地址 LCALL PLAY ;調(diào)用顯示位碼子程序 SETB P3.0 ;選中最低位LED 數(shù)碼管 LCALL DELAY ;調(diào)用延遲子程序 CLR P3.0 ;取消最低位位選 RET ;位碼顯示 PLAY: MOV A,R1 ;送偏移量 MOV DPTR,#TAB ;送表首地址 MOVC A,A+DPTR ;查表得出相應(yīng)LED段碼 MOV P1, A ;輸出顯示 RET ;延時程序 DELAY: MOV R6,#10H DL1:MOV R7,#10H DL2:DJ
13、NZ R7,DL2 DJNZ R6,DL1 RET ;09段碼 TAB: DB 0C0H , 0F9H , 0A4H , 0B0H , 99H , 92H , 82 , 0F8H , 80H , 90H END6、 調(diào)試(測試)過程 1.焊好的電路板,在與仿真器接入之前,需要進(jìn)行電路檢查,防止短路燒毀芯片。2. 在把程序?qū)懭雴纹瑱C(jī)內(nèi)部之前,需要先在仿真器上先運行。盡量避免單片機(jī)寫入之后再擦除。3. 仿真器運行時,顯示管完全不亮,而P1口的值卻有變化,說明有可能是 74HC245芯片處的電路沒有接好。4. 顯示管有點暗,可能是延時時間調(diào)得有點過大了。如果發(fā)現(xiàn)顯示管的 某一筆畫不亮,那么就有可能是鏈接該點對應(yīng)的I0口沒有接好,或者是對應(yīng)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《家居裝飾物流配送合同》
- 親子樂園主題裝修設(shè)計合同
- IT項目規(guī)劃與實施指南
- 企業(yè)法律合規(guī)風(fēng)險防范指南
- 淘寶代理合同協(xié)議書
- 三農(nóng)村特色產(chǎn)業(yè)培育手冊
- 股份制企業(yè)的合作與管理文書
- 房地產(chǎn)開發(fā)合同標(biāo)準(zhǔn)協(xié)議
- 醫(yī)療設(shè)備智能制造與管理平臺開發(fā)
- 企業(yè)人力資源數(shù)字化管理與服務(wù)支持平臺方案設(shè)計
- 裝修工程延期協(xié)議
- 2025-2030全球21700圓柱形鋰離子電池行業(yè)調(diào)研及趨勢分析報告
- 2025-2025年教科版小學(xué)科學(xué)三年級下冊科學(xué)教學(xué)計劃
- 2025年云南中煙工業(yè)限責(zé)任公司招聘24人歷年高頻重點提升(共500題)附帶答案詳解
- 2025云南昆明空港投資開發(fā)集團(tuán)招聘7人歷年高頻重點提升(共500題)附帶答案詳解
- 《大健康解讀》課件
- 2024-2025學(xué)年成都市樹德東馬棚七年級上英語期末考試題(含答案)
- 2025年度交通運輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 2024年04月北京中信銀行北京分行社會招考(429)筆試歷年參考題庫附帶答案詳解
- 專項債券培訓(xùn)課件
- 中央企業(yè)人工智能應(yīng)用場景案例白皮書(2024年版)-中央企業(yè)人工智能協(xié)同創(chuàng)新平臺
評論
0/150
提交評論