ADC0804工作原理其程序_第1頁(yè)
ADC0804工作原理其程序_第2頁(yè)
ADC0804工作原理其程序_第3頁(yè)
ADC0804工作原理其程序_第4頁(yè)
ADC0804工作原理其程序_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、前言:本文詳細(xì)說(shuō)明了ADC0804工作原理及過(guò)程,還附有一個(gè)ADC0804在單片機(jī)中的典型應(yīng)用,包含原理圖,源程序,程序注釋詳細(xì)清楚,這有助于更好地理解與應(yīng)用ADC0804芯片。1、A/D轉(zhuǎn)換概念:即模數(shù)轉(zhuǎn)換(Analog to DigitalConversion),輸入模擬量(比如電壓信號(hào)),輸出一個(gè)與模擬量相對(duì)應(yīng)的數(shù)字量(常為二進(jìn)制形式)。例如參考電壓VREF為5V,采用8位的模數(shù)轉(zhuǎn)換器時(shí),當(dāng)輸入電壓為0V時(shí),輸出的數(shù)字量為0000 0000,當(dāng)輸入的電壓為5V時(shí),輸出的數(shù)字量為1111 1111。當(dāng)輸入的電壓從從0V到5V變化時(shí),輸出的數(shù)字量從0000 0000到1111 1111變化。

2、這樣每個(gè)輸入電壓值對(duì)應(yīng)一個(gè)輸出數(shù)字量,即實(shí)現(xiàn)了模數(shù)轉(zhuǎn)換。2、分辨率概念:分辨率是指使輸出數(shù)字量變化1時(shí)的輸入模擬量,也就是使輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬量的變化值。分辨率與A/D轉(zhuǎn)換器的位數(shù)有確定的關(guān)系,可以表示成FS / 2 n 。FS表示滿量程輸入值,n為A/D轉(zhuǎn)換器的位數(shù)。例如,對(duì)于5V的滿量程,采用4位的ADC時(shí),分辨率為5V/16=0.3125V (也就是說(shuō)當(dāng)輸入的電壓值每增加0.3125V,輸出的數(shù)字量增加1);采用8位的ADC時(shí),分辨率為5V/25619.5mV(也就是說(shuō)當(dāng)輸入的電壓值每增加19.5mV,則輸出的數(shù)字量增加1);當(dāng)采用12位的ADC時(shí),分辨率則為5V/4

3、0961.22mV(也就是說(shuō)當(dāng)輸入的電壓值每增加1.22mV ,則輸出的數(shù)字量增加1)。顯然,位數(shù)越多,分辨率就越高。3、ADC0804引腳功能:CS:芯片片選信號(hào),低電平有效。即CS=0時(shí),該芯片才能正常工作,高電平時(shí)芯片不工作。在外接多個(gè)ADC0804芯片時(shí),該信號(hào)可以作為選擇地址使用,通過(guò)不同的地址信號(hào)使能不同的ADC0804芯片,從而可以實(shí)現(xiàn)多個(gè)ADC通道的分時(shí)復(fù)用。WR:?jiǎn)?dòng)ADC0804進(jìn)行ADC采樣,該信號(hào)低電平有效,即WR信號(hào)由低電平變成高電平時(shí),觸發(fā)一次ADC轉(zhuǎn)換。RD:低電平有效,即RD=0時(shí),DAC0804把轉(zhuǎn)換完成的數(shù)據(jù)加載到DB口,可以通過(guò)數(shù)據(jù)端口DB0DB7讀出本次

4、的采樣結(jié)果。VIN(+)和VIN(-):模擬電壓輸入端,單邊輸入時(shí)模擬電壓輸入接VIN(+)端,VIN(-)端接地。雙邊輸入時(shí)VIN(+)、VIN(-)分別接模擬電壓信號(hào)的正端和負(fù)端。當(dāng)輸入的模擬電壓信號(hào)存在“零點(diǎn)漂移電壓”時(shí),可在VIN(-)接一等值的零點(diǎn)補(bǔ)償電壓,變換時(shí)將自動(dòng)從VIN(+)中減去這一電壓。VREF/2:參考電壓接入引腳,該引腳可外接電壓也可懸空,若外接電壓,則ADC的參考電壓為該外界電壓的兩倍,如不外接,則VREF與Vcc共用電源電壓,此時(shí)ADC的參考電壓即為電源電壓Vcc的值。CLKIN和CLKR:外接RC振蕩電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時(shí)鐘信號(hào),時(shí)鐘頻率CLK = 1/1.

5、1RC,一般要求頻率范圍100KHz1460KHz。AGND和DGND:分別接模擬地和數(shù)字地。 INTR:轉(zhuǎn)換結(jié)束輸出信號(hào),低電平有效,當(dāng)一次A/D轉(zhuǎn)換完成后,將引起INTR=0,實(shí)際應(yīng)用時(shí),該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的INT0,INT1腳),當(dāng)產(chǎn)生INTR信號(hào)有效時(shí),還需等待RD=0才能正確讀出A/D轉(zhuǎn)換結(jié)果,若ADC0804單獨(dú)使用,則可以將INTR引腳懸空。DB0DB7:輸出A/D轉(zhuǎn)換后的8位二進(jìn)制結(jié)果。補(bǔ)充說(shuō)明:ADC0804片內(nèi)有時(shí)鐘電路,只要在外部“CLKIN(引腳4)”和“CLKR(引腳19)”兩端外接一對(duì)電阻電容即可產(chǎn)生A/D轉(zhuǎn)換所要求的時(shí)鐘,其振蕩

6、頻率為fCLK1/1.1RC。其典型應(yīng)用參數(shù)為:R=10K,C=150PF,fCLK640KHz,轉(zhuǎn)換速度為100。若采用外部時(shí)鐘,則外部fCLK可從CLKIN端送入,此時(shí)不接R、C。允許的時(shí)鐘頻率范圍為100KHz1460KHz。4、ADC0804工作過(guò)程如下圖所示,ADC0804的工作時(shí)序圖(Timing Diagrams):(欲詳細(xì)了解工作過(guò)程,可以結(jié)合ADC0804使用手冊(cè))圖6給出的其實(shí)就是使ADC0804正確工作的軟件編程模型。由圖可見(jiàn),實(shí)現(xiàn)一次ADC轉(zhuǎn)換主要包含下面三個(gè)過(guò)程:1.啟動(dòng)轉(zhuǎn)換:由圖6中的上部“FIGURE 10A”可知,在CS信號(hào)為低電平的情況下,將WR引腳先由高電平

7、變成低電平,經(jīng)過(guò)至少tW(WR)I 延時(shí)后,再將WR引腳拉成高電平,即啟動(dòng)了一次AD轉(zhuǎn)換。注:ADC0804使用手冊(cè)中給出了要正常啟動(dòng)AD轉(zhuǎn)換WR的低電平保持時(shí)間tW(WR)I的最小值為100ns,即WR拉低后延時(shí)大于100ns即可以,具體做法可通過(guò)插入NOP指令或者調(diào)用delay()延時(shí)函數(shù)實(shí)現(xiàn),不用太精確,只要估計(jì)插入的延時(shí)大于100ns即可。2延時(shí)等待轉(zhuǎn)換結(jié)束:依然由圖6中的上部“FIGURE 10A”可知,由拉低WR信號(hào)啟動(dòng)AD采樣后,經(jīng)過(guò)1到8個(gè)Tclk+INTERNAL Tc延時(shí)后,AD轉(zhuǎn)換結(jié)束,因此,啟動(dòng)轉(zhuǎn)換后必須加入一個(gè)延時(shí)以等待AD采樣結(jié)束。注:手冊(cè)中給出了內(nèi)部轉(zhuǎn)換時(shí)間“IN

8、TERNAL Tc”的時(shí)間范圍為6273個(gè)始終周期,因此延時(shí)等待時(shí)間應(yīng)該至少為8+73=81個(gè)時(shí)鐘周期。比如,若R為150K, C為150pF,則時(shí)鐘頻率為Fclk=1/1.1RC=606KHz,因此時(shí)鐘周期約為Tclk=1/Fclk=1.65us。所以該步驟至少應(yīng)延時(shí)81*Tclk=133.65us. 具體做法可通過(guò)插入NOP指令或者調(diào)用delay()延時(shí)函數(shù)實(shí)現(xiàn),不用太精確,只要估計(jì)插入的延時(shí)大于133.65us即可。3.讀取轉(zhuǎn)換結(jié)果:由圖6的下部“FIGURE 10B”可知,采樣轉(zhuǎn)換完畢后,在CS信號(hào)為低的前提下,將RD腳由高電平拉成低電平后,經(jīng)過(guò)tACC的延時(shí)即可從DB腳讀出有效的采樣

9、結(jié)果。注:手冊(cè)中給出了tACC的典型值和最大值分別為135ns和200ns,因此將RD引腳拉低后,等待大于200ns后即可從DB讀出有效的轉(zhuǎn)換結(jié)果。具體做法可通過(guò)插入NOP指令或者調(diào)用delay()延時(shí)函數(shù)實(shí)現(xiàn),不用太精確,只要估計(jì)插入的延時(shí)大于200ns即可。圖6:ADC0804手冊(cè)給出的ADC轉(zhuǎn)換時(shí)序圖圖7:ADC0804手冊(cè)給出的電器特性表對(duì)采樣值進(jìn)行運(yùn)算變換,換算出實(shí)際的滑動(dòng)變阻器輸入電壓值。對(duì)于任何一個(gè)A/D采樣器而言,其轉(zhuǎn)換公式如下:其中:輸入ADC的模擬電壓值。:ADC轉(zhuǎn)換后的二進(jìn)制值。本試驗(yàn)的ADC0804為八位。:ADC能夠表示的刻度總數(shù)。ADC0804為八位ADC,因此:A

10、DC參考電壓值,本試驗(yàn)ADC0804的被設(shè)置為5V因此,對(duì)于本試驗(yàn),轉(zhuǎn)換公式為5、ADC0804在單片機(jī)中的簡(jiǎn)單應(yīng)用舉例如下圖所示,本例ADC0804中的VCC=5V, VREF/2引腳懸空(懸空則相當(dāng)于與VCC共接5V電源),因此ADC轉(zhuǎn)換的參考電壓為VCC的值,即5V。VIN-接地,而VIN+連接滑動(dòng)變阻器RV1的輸出,因此VIN+的電壓輸入范圍為0V5V,正好處于參考電壓范圍內(nèi)。引腳CS接地, WR和RD分別連接單片機(jī)的P36和P37引腳,而DB0DB7連接單片機(jī)的P1口.P0口接數(shù)碼管的段選線,P2口低四位接數(shù)碼管的位選線。程序主要實(shí)現(xiàn)以下功能:(1)控制ADC0804芯片對(duì)VIN(+

11、)引腳輸入的電壓值進(jìn)行正確采樣,讀取采樣結(jié)果。(2)對(duì)采樣值進(jìn)行模數(shù)變換,將轉(zhuǎn)換后數(shù)字量后顯示在4段數(shù)碼管上。C程序如下:#include #include #define uint unsigned int#define uchar unsigned charsbit wr=P36;sbit rd=P37;uchar code dis=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共陽(yáng)顯示代碼void delay(uint x) /延時(shí)函數(shù) delay(1)延時(shí)0.992ms,大約為1ms uchar i; while(x-) for(

12、i=0;i120;i+);void display(uchar db)/數(shù)碼管顯示函數(shù),用于顯示模數(shù)轉(zhuǎn)換后得到的數(shù)字量 uchar bw,sw,gw;/bw,sw,gw分別等于db百位,十位,個(gè)位上的數(shù)bw=db/100;sw=db%100/10;gw=db%10;P2=0x01; /點(diǎn)亮第一只數(shù)碼管P0=disbw&0x7f; /最高位置0,點(diǎn)亮第一只數(shù)碼管的小數(shù)點(diǎn),delay(5);P2=0x02; /點(diǎn)亮第二只數(shù)碼管P0=dissw;delay(5);P2=0x04; /點(diǎn)亮第三只數(shù)碼管P0=disgw;delay(5); P2=0x08; /點(diǎn)亮第四只數(shù)碼管P0=dis0; /第四只數(shù)碼管一直顯示0delay(5); void main()uchar i;while(1)wr=0;/在片選信號(hào)CS為低電平情況下(由于CS接地,所以始終為低電平),_nop_(); /WR由低電平到高電平時(shí),即上升沿時(shí),AD開始采樣轉(zhuǎn)換wr=1;delay(1); /延時(shí)1ms,等待采樣轉(zhuǎn)換結(jié)束P1=0xff; /這條語(yǔ)句不能少,我也還不知道為什么rd=0;/將RD腳置低電平后,再延時(shí)大于135ns左右(這里延時(shí)1us),_nop_(); /即可從DB腳讀出有效的采樣

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論