版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、試驗 模擬/數(shù)字轉(zhuǎn)換芯片ADC0804的使用1、實驗?zāi)康?1了解并測試模/數(shù)芯片ADC0804性能。 2學(xué)習(xí)A/D芯片ADC0804的接線和轉(zhuǎn)換的基本原理。2、試驗內(nèi)容2.1 模擬/數(shù)字轉(zhuǎn)換的一些背景知識介紹 模擬/數(shù)字轉(zhuǎn)換就是我們通常所說的A/D轉(zhuǎn)換,它將輸入的模擬信號(如電壓)轉(zhuǎn)換成控制芯片(如單片機,ARM)所能識別的二進制形式,然后經(jīng)過運算,既可以還原出輸入模擬信號的值。 A/D轉(zhuǎn)換是一種非常重要的技術(shù)手段,是單片機等控制芯片與外界信號的接口部分,圖1給出了一種常用的嵌入式設(shè)計模式。圖1:一種常用的基于A/D芯片的嵌入式設(shè)計模式由圖1可見,這種設(shè)計模式包含以下幾個環(huán)節(jié)。外界信號:外界信
2、號的范圍十分廣泛,自然界的一切信號,比如聲音,溫度甚至是血糖濃度等都可以規(guī)類為外界信號。傳感器:因為大多數(shù)外界信號都不是電信號,因此需要通過各種傳感器將這些外界信號轉(zhuǎn)換成電信號,例如:通過熱電耦可以將溫度轉(zhuǎn)換成一個電壓值。模擬電路:設(shè)計模擬電路的原因主要有以下兩點1由于外界信號的復(fù)雜性,使得傳感器直接輸出的電信號可能會存在一些問題(如不穩(wěn)定),這些不穩(wěn)定信號如果直接送到A/D芯片進行采樣,則最終結(jié)果可能使得最后的顯示值來回亂跳,而無法確定待測的外界信號到底是多少。因此,可能需要設(shè)計一套模擬電路對傳感器輸出的不穩(wěn)定電信號進行濾波等處理,去除干擾,使得進入A/D轉(zhuǎn)換芯片的電壓值為一個穩(wěn)定的信號。2
3、每一個A/D轉(zhuǎn)換芯片都有一個參考電壓,只有輸入的模擬電壓值在這個參考電壓的范圍內(nèi)才能進行正確的轉(zhuǎn)換,例如:本試驗將ADC0804芯片的參考電壓設(shè)置成0V5V,因此如果輸入的電壓值大于5V,則轉(zhuǎn)換出的結(jié)果永遠為0xFF,若輸入的電壓值小于0V,則轉(zhuǎn)換出的結(jié)果永遠為0,這樣便無法正確的還原出被測信號的大小?;谏鲜鲈?,我們可能需要設(shè)計一套模擬電路,傳感器的輸出電壓值進行一些變換(放大,縮?。?,使得送到A/D轉(zhuǎn)換芯片的電壓值在轉(zhuǎn)換芯片的參考電壓范圍內(nèi)。A/D轉(zhuǎn)換芯片:即模擬/數(shù)字轉(zhuǎn)換芯片,它將輸入的模擬電壓信號轉(zhuǎn)換成單片機等控制處理器能夠識別的數(shù)字二進制形式。處理器芯片:處理器芯片有很多中(比如5
4、1單片機,ARM或者是PC上的奔騰處理器,AMD處理器)這些處理器雖然架構(gòu)不一樣,但是有個共同的特點,就是它們能夠運行程序,因此它們能通過程序?qū)/D芯片送入的二進制形式的電壓值進行處理,通過運算將其還原成待測的外界信號值,控制顯示部件(如LCD,八段數(shù)碼管)將這個值顯示出來。例如:假如ADC0804輸出的二進制值0x80,則根據(jù)A/D轉(zhuǎn)換公式可以推出ADC0804的輸入電壓大小為(0x80/0x100)*5V=2.5V。假設(shè)信號經(jīng)過模擬電路縮小了8倍,則可以推出傳感器的輸出電壓為2.5V*8=20V,再根據(jù)傳感器的轉(zhuǎn)換公式(一般手冊會給出)即可得到輸入的外界信號的值。顯示:顯示的作用是將計算
5、出的待測外界信號的值展示給測量人員,顯示的形式有很多種,如LCD,八段數(shù)碼管,上位機軟件等。通過上面的介紹,大家一定對這種基于A/D芯片的嵌入式設(shè)計模式有了一個大致的了解,其實現(xiàn)時中很多應(yīng)用都是遵循了這種設(shè)計模式,比如常用的數(shù)字萬用表,數(shù)字溫度測量儀,血糖測量儀等。本試驗也遵循了這種設(shè)計模式,只不過它省略了傳感器和模擬電路部分,首先通過滑動變阻器調(diào)節(jié)輸入到ADC0804芯片的電壓值(ADC0804芯片的參考電壓調(diào)節(jié)成0V5V,而滑動變阻器產(chǎn)生的電壓范圍也為0V5V,因此沒有必要設(shè)計額外的模擬電路),然后通過51單片機進行運算處理得到這個輸入電壓值,最后再控制八段數(shù)碼管將這個電壓值顯示出來,實際
6、上是實現(xiàn)了一個簡易的數(shù)字電壓測量表。圖2是試驗框圖。圖2:本試驗示意圖接下來我們首先介紹實現(xiàn)本試驗的電路設(shè)計,然后介紹軟件實現(xiàn)方法。2.2 硬件設(shè)計本部分,我們首先介紹ADC0804芯片的一些相關(guān)知識,然后介紹基于ADC0804和51單片機實現(xiàn)A/D轉(zhuǎn)換的電路設(shè)計。 ADC0804芯片介紹圖3:ADC0804規(guī)格及引腳分配圖本試驗采用的A/D芯片為ADC0804,它是CMOS 8位單通道逐次漸近型的模/數(shù)轉(zhuǎn)換器,其規(guī)格及引腳圖如圖3所示,根據(jù)手冊我們可以得到各個引腳的大致功能如下:/CS:芯片片選信號,低電平有效,即/CS=0,該芯片才能正常工作,在外接多個ADC0804芯片時,該信號可以作為
7、選擇地址使用,通過不同的地址信號使能不同的ADC0804芯片,從而可以實現(xiàn)多個ADC通道的分時復(fù)用。/WR:啟動ADC0804進行ADC采樣,該信號低電平有效,即/WR信號由高電平變成低電平時,觸發(fā)一次ADC轉(zhuǎn)換。/RD:低電平有效,即/RD=0時,可以通過數(shù)據(jù)端口DB0DB7讀出本次的采樣結(jié)果。UIN(+)和UIN(-):模擬電壓輸入端,模擬電壓輸入接UIN(+)端,UIN(-)端接地。雙邊輸入時UIN(+)、UIN(-)分別接模擬電壓信號的正端和負端。當輸入的模擬電壓信號存在“零點漂移電壓”時,可在UIN(-)接一等值的零點補償電壓,變換時將自動從UIN(+)中減去這一電壓。VREF/2:
8、參考電壓接入引腳,該引腳可外接電壓也可懸空,若外界電壓,則ADC的參考電壓為該外界電壓的兩倍,如不外接,則Vref與Vcc共用電源電壓,此時ADC的參考電壓即為電源電壓Vcc的值。CLKR和CLKIN:外接RC電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時鐘信號,時鐘頻率CLK = 1/1.1RC,一般要求頻率范圍100KHz1.28MHz。AGND和DGND:分別接模擬地和數(shù)字地。 /INT:中斷請求信號輸出引腳,該引腳低電平有效,當一次A/D轉(zhuǎn)換完成后,將引起/INT=0,實際應(yīng)用時,該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機的INT0,INT1腳),當產(chǎn)生/INT信號有效時,還需等待/RD=0才
9、能正確讀出A/D轉(zhuǎn)換結(jié)果,若ADC0804單獨使用,則可以將/INT引腳懸空。DB0DB7:輸出A/D轉(zhuǎn)換后的8位二進制結(jié)果。 外圍電路設(shè)計圖4:ADC0804的外圍電路圖4為ADC0804外圍電路原理圖,其中,AVCC=5V,引腳VREF/2懸空,因此ADC轉(zhuǎn)換的參考電壓為AVCC的值,即5V。VIN-接地,而VIN+連接滑動變阻器VR1的輸出,因此VIN+的電壓輸入范圍為0V5V,正好處于參考電壓范圍內(nèi)。引腳CS_1, WR_1和RD_1分別連接單片機的P3_5,P3_6以及P3_7腳,而DB0DB7連接單片機的P2腳.下面介紹一些電路設(shè)計方面的知識初學(xué)者看到這里可能會有這樣的疑問,就是“
10、圖4的外圍電路為什么是這樣設(shè)計?CLKR引腳為什么要外接一個電阻R36和一個電容C15?引腳CLKIN為什么要外接一個電容C15?)。其實這里并沒有任何神秘的地方,我們仔細看看ADC0804的手冊就知道答案了,手冊(本試驗所屬的文件夾中包含了這個pdf文件)的第12頁有一段內(nèi)容為“Testing the A/D Conveter”,該段介紹了一個簡易的芯片測試方法,其中的“FIGURE 18”就給出了進行這個簡易試驗的原理圖,以及計算公式。如圖5所示圖5:ADC0804手冊給出的參考電路圖大家仔細看看,圖5給出中的手冊中的參考電路圖是不是和圖4的原理圖如出一轍?的確,我們就是參考了手冊的推薦電
11、路從而確定了ADC0804的外圍電路的設(shè)計。手冊中甚至連RC電路的電容和電阻的取值都給出來了,照搬就是了!真的是沒有任何神秘之處!下面介紹一下datasheet對電路設(shè)計以及軟件編寫的重要作用。根據(jù)我們多年的設(shè)計經(jīng)驗,當我們的電路中需要用到某一塊芯片的時候,往往首先去下載它的手冊,也就是datasheet,有很多專門提供datasheet下載的網(wǎng)站,推薦一個我們常用的網(wǎng)址:芯片的datasheet會介紹你所需要的芯片信息,從典型外圍電路的搭建,到芯片的封裝,電氣特性以及軟件編程模型。一般來說,直接copy手冊中給出的推薦外圍電路即可。當然,若是閱讀完手冊后還是無法確定外圍電路的搭建,則可以直接
12、聯(lián)系生產(chǎn)這塊芯片的公司的技術(shù)服務(wù)部門(這里可以聯(lián)系A(chǔ)D公司),他們肯定給你提供一套完整詳盡的電路解決方案的(包括外圍電路的設(shè)計以及甚至是軟件的示例代碼)。這也就是現(xiàn)在比較流行的單芯片解決方案的含義所在,芯片提供商提供一塊芯片后往往會提供一套基于該芯片的完整解決方案,該解決方案包括基于這塊芯片的電路設(shè)計,軟件設(shè)計。產(chǎn)品制造廠商只要根據(jù)這個解決方案做及少的改動,即可以設(shè)計出滿足自身需要的產(chǎn)品來!2.2 軟件設(shè)計下面我們介紹軟件的編寫。本試驗的軟件需要實現(xiàn)一下幾個步驟1 控制ADC0804芯片進行正確采樣,讀取采樣結(jié)果。2 對采樣值進行運算變換,換算出實際的滑動變阻器輸入電壓值。3 將該電壓值通過八
13、段數(shù)碼管顯示出來,從而實現(xiàn)一個簡易的數(shù)字電壓測量表功能。其中第三個步驟涉及到八段數(shù)碼管顯示相關(guān)知識,其內(nèi)容在本套學(xué)習(xí)板的“”試驗中有詳細的介紹。下面我們主要介紹實現(xiàn)前兩個步驟的方法。步驟一:控制ADC進行正確采樣,讀取正確的采樣值。前面我們已經(jīng)提到了芯片的datasheet對于硬件設(shè)計以及軟件編程的重要性。同樣,要使得ADC0804正常工作,我們依然首先需要仔細的閱讀其使用手冊。仔細閱讀手冊后,我們發(fā)現(xiàn)了在手冊的第7頁給出了一個時序圖(Timing Diagrams),如圖6所示圖6:ADC0804手冊給出的ADC轉(zhuǎn)換時序圖圖6給出的其實就是使ADC0804正確工作的軟件編程模型。由圖可見,實
14、現(xiàn)一次ADC轉(zhuǎn)換主要包含下面三個步驟: 1.啟動轉(zhuǎn)換:由圖6中的上部“FIGURE 10A”可知,在/CS信號為低電平的情況下,將/WR引腳先由高電平變成低電平,經(jīng)過至少tW(WR)I 延時后,再將/WR引腳拉成高電平,即啟動了一次AD轉(zhuǎn)換。 注:手冊中給出了要正常啟動AD轉(zhuǎn)換/WR的低電平保持時間tW(WR)I的最小值為100ns,(見手冊第4頁的Electrical Specification,如圖7紅圈所示)即/WR拉低后延時大于100ns即可以,具體做法可通過插入NOP指令或者調(diào)用delay()延時函數(shù)實現(xiàn),不用太精確,只要估計插入的延時大于100ns即可。2延時等待轉(zhuǎn)換結(jié)束:依然由圖
15、6中的上部“FIGURE 10A”可知,由拉低/WR信號啟動AD采樣后,經(jīng)過1到8個Tclk+INTERNAL Tc延時后,AD轉(zhuǎn)換結(jié)束,因此,啟動轉(zhuǎn)換后必須加入一個延時以等待AD采樣結(jié)束。注:手冊中給出了內(nèi)部轉(zhuǎn)換時間“INTERNAL Tc”的時間范圍為6273個始終周期(見手冊第4頁的Electrical Specification,如圖7蘭圈所示),因此延時等待時間應(yīng)該至少為8+73=81個時鐘周期。本試驗時鐘頻率約為Fclk=1/1.1R36C15=606KHz,其中R36約為150K, C15約為150pF,因此時鐘周期約為Tclk=1/Fclk=1.65us。所以該步驟至少應(yīng)延時8
16、1*Tclk=133.65us. 具體做法可通過插入NOP指令或者調(diào)用delay()延時函數(shù)實現(xiàn),不用太精確,只要估計插入的延時大于133.65us即可。3.讀取轉(zhuǎn)換結(jié)果:由圖6的下部“FIGURE 10B”可知,采樣轉(zhuǎn)換完畢后,再/CS信號為低的前提下,將/RD腳由高電平拉成低電平后,經(jīng)過tACC的延時即可從DB腳讀出有效的采樣結(jié)果。注:手冊中給出了tACC的典型值和最大值分別為135ns和200ns(見手冊第4頁的Electrical Specification,如圖7綠圈所示),因此將/RD引腳拉低后,等待大于200ns后即可從DB讀出有效的轉(zhuǎn)換結(jié)果。具體做法可通過插入NOP指令或者調(diào)用
17、delay()延時函數(shù)實現(xiàn),不用太精確,只要估計插入的延時大于200ns即可。圖7:ADC0804手冊給出的電器特性表步驟二:對采樣值進行運算變換,換算出實際的滑動變阻器輸入電壓值。對于任何一個A/D采樣器而言,其轉(zhuǎn)換公式如下: 其中:輸入ADC的模擬電壓值。:ADC轉(zhuǎn)換后的二進制值。本試驗的ADC0804為八位。:ADC能夠表示的刻度總數(shù)。ADC0804為八位ADC,因此 :ADC參考電壓值,本試驗ADC0804的被設(shè)置為5V因此,對于本試驗,轉(zhuǎn)換公式為 步驟三:將該電壓值通過八段數(shù)碼管顯示出來,從而實現(xiàn)一個簡易的數(shù)字電壓測量表功能。涉及到八段數(shù)碼管顯示相關(guān)知識,其內(nèi)容在本套學(xué)習(xí)板的“”試驗
18、中有詳細的介紹。綜上所述,我們給出了完成單次采樣的詳細流程圖,如圖8所示圖8:ADC0804完成單次采樣的軟件控制流程圖下面給出程序的主程序代碼詳細的代碼見本試驗文件夾中的源程序部分,代碼中有非常詳細的注釋。驅(qū)動程序:/*-/ADC0804.H /作者:jiangheng/開發(fā)環(huán)境:Keil uVision4/完成日期:2011年9月21日-*/#ifndef _ADC0804_H_#define _ADC0804_H_#define uint unsigned int#define uchar unsigned char#define ad1_7 P1 /AD數(shù)據(jù)口sbit adcs=P20; /芯片選擇信號,控制芯片的啟動和結(jié)果讀取,低電平有效sbit adrd=P21; /讀數(shù)據(jù)控制,低電平有效sbit adwr=P24; /AD轉(zhuǎn)換起動控制,上升沿有效/50us延時子程序/void delay_50us(uint t) uchar j; for(;t>0;t-) for(j=19;j>0;j-);/啟動AD轉(zhuǎn)換子程序/void start_adc0804(void) /adcs=0; /允許進行A/D轉(zhuǎn)換 adwr=0;delay_50us(2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年版工藝品現(xiàn)貨定制買賣合同3篇
- 二零二五版消防工程設(shè)計及消防安全應(yīng)急預(yù)案合同(企事業(yè)單位)2篇
- 門店銷售服務(wù)管理方案
- 二零二五年度個人圖書及古籍轉(zhuǎn)讓協(xié)議4篇
- 二零二五年度吊車租賃合同履約保證金協(xié)議
- 二零二五年度個人汽車租賃與自駕游景點門票合同2篇
- 二零二五年度電子產(chǎn)品銷售合同封面環(huán)保材料模板
- 二零二五年度企業(yè)學(xué)徒制實習(xí)協(xié)議書3篇
- 二零二五年度個人汽車轉(zhuǎn)讓及保險理賠服務(wù)合同4篇
- 電力采購合同范本大全
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標準
- 采購管理制度及流程采購管理制度及流程
- 巖土工程勘察服務(wù)投標方案(技術(shù)方案)
- 新修訂藥品GMP中藥飲片附錄解讀課件
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
- 尼爾森數(shù)據(jù)市場分析報告
- 氧氣霧化吸入法
- 非標自動化設(shè)備技術(shù)規(guī)格書和驗收標準(模板)
- 領(lǐng)導(dǎo)干部個人有關(guān)事項報告表(模板)
評論
0/150
提交評論