AD轉換與數據采集_第1頁
AD轉換與數據采集_第2頁
AD轉換與數據采集_第3頁
AD轉換與數據采集_第4頁
AD轉換與數據采集_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實驗一A/D轉換與數據采集/*材*材*材*材*10008101341、實驗目的掌握A/D轉換與單片機的接II方法;掌握A/D芯片TLC549的編程方法:掌握數據采集程序的設計方法;2、實驗內容利用實驗開發裝置上的TLC549做A/D轉換器,対電位器提供的模擬電壓信號進行定時采樣,結果在數碼管上進行顯示。3、I/O地址A/D轉換芯片TLC549CLKP1.5時鐘位DATPl.7數據位CSPl.6選片位4、實驗線路將TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,將模擬電壓輸入端連到電位器的電壓輸出端,并接萬用表進行輸入電壓測量。RV1AJN$00REFrCSREF-SCLU2T

2、LC543打曰e58577&1k訂EXTAL1U1101819171615K131228172211321339實驗步驟在pc機輸入源程序并匯編,然后卜載到單片機上,進行調試。調節電位器,電壓從0V到5V變化,記錄數碼管的顯示數值。記錄到表中。輸入電壓V00.511.522.533.541.55A/D結果顯示電壓V6、實驗報告整理好實驗程序和實驗記錄,進行數據處理分析并做圖。數據采集中,如何實現精確的定時數據采集?數碼管動態打描顯示程序設計中,顯示刷新的時間如何確定?7、附加要求實用LTC1292.MCP3208、ADC0808等A/D轉換器實現此實驗,或實驗LCD1602進行上述實驗的結果顯

3、示。/*TLC549ADC轉換程序*/sbitCLK二P5;sbitDAT二Pl飛;sbitCS二P7;ucharTLC549ADC(void)uchari,x;CLK=O;DAT二1;CS二0;for(i=0;i8;i+)CLK二1;NOP;x=l;if(DAT=l)x+;CLK二0;NOP;CS=1;return(x);/*/ADC0809數據采集AD0809數據采集實驗程序:#includesbitOE=P2A0;sbitEOC=P2A1;sbitSTART=P2A2;=P2A3;=P2人7;=P2A6;=P2A5;=P2A4;sbitCLKsbitALEsbitCSAsbitCSBsb

4、itCSCbitsclk;嚴利用定時器0中斷為AD0809轉換(START)產生脈沖信號引voidtimeiO()mternipt1sclk=sclk;CLK=sclk;voidmainOunsignedmtx;EA=1;開總中斷ETO=1;開定時器0中斷TMOD=Ox22;/定時器T1,TO都設置為工作方式2(8位初值自動重裝的8位定時/技術器)TH0=55;TL0=55;TRO=1;/啟動定時器0,/*AD0809初始化*/ALE=O;START=O;OE=0;CSA=1;CSB=1;CSC=1;EOC=1;while(l)ALE=1;/地址鎖存允許,ALE=1;A、B、C地址被鎖存ALE

5、=O;START;正脈沖有效,上升沿逐次逼近寄存器清零,下降沿開始AD轉換START=O;while(!EOC);EOC二0時,AD正在轉換OE=1;輸出允許,OE=1,轉換結果可通過數據總線被讀走x=PO;讀取P0口數據OE=0;x=(x*50)/255;讀數擴大10倍Pl=x%10+(x/10%10)*16;一、工作方式寄存器TMOD工作方式寄存器TMOD用于設置定時/計數器的工作方式,低四位用于T0,高四位用于T1。其格式如下6門5口4。2門2Oq字節地址;89皿GATEC/TMlMOGATEC/TMlMOTMOD定時/計數器工作方或設魚表亠iM1M0工作方式Q說明Q00a方式213位定

6、時/計數器存Ola方式H16位定時/計數器口10-P方式298位自動重逵定時/計數器。114方式32TO分成兩個獨乂跑8位定時/計數器;11此方式停止計數卩TLC549數據采集與數碼管SEG顯示實驗程序:#include#defineucharunsignedchar#defineumtunsignedmtsbitDAT=P1A7;sbitCS=P1人6;sbitCLK=P1A5;sbitSO=P2A7;sbitSI=P2A6;sbitS2=P2人5;sbitS3=P2A4;ucharTLC549ADC(void)uchari,x;CLK=0;DAT=1;CS=0;foi(i=0;i8;i+)

7、CLK=1;/elk為高電平時,讀取數據X=l;/串行讀取數據if(DAT=l)x+;CLK=0;CS=1;letuni(x);voiddelay(umtt)wlule(t);charcodetab=0 x3E0 x06,0 x5B.0 x4E0 x66,0 x6D,0 x7D,0 x07,0 x7E0 x6E0 x77,0 x7C,0 x39、0 x5E,0 x79、0 x71;voidmainQucharx,m;umty;wlule(l)x=TLC549ADC();y=x*50;m=y/255;P3=tabx/16;S0=l;delay(400);S0=0;選通第一位數碼管顯示P3=tab

8、x%16;Sl=l;delay(400);Sl=0;/選通第二位數碼管顯示P3=tabm/10+0 x80;S2=l;delay(400);S2=0;P3=tabm%10;S3=l;delay(400);S3=0;調節電位器,電壓從OV到5V變化,記錄數碼管的顯示數值。記錄到表中。輸入電壓V00.511.522.533.541.55A/D結果001A334D668099B3CDE6FF顯示電壓V000.51.01.52.02.55.03.54.04.55.0V=N*5/255TLC549數據采集與LCD顯示AT89C61實驗程序:#include#defineucharunsignedchar

9、#defineumtunsignedmtsbitDAT=P1A7;sbitCS=P1人6;sbitCLK=P1A5;ucharTLC549ADC(void)uchari,x;CLK=O;DAT=1;CS=O;foi(i=0;i8;i+)CLK=1;x=l;if(DAT=l)x+;CLK=O;CS=1;letiun(x);徐戰輝*/嚴*1000810134#defineucharunsignedchai#defineunitunsignedmt#defineLCD_COM0/Command#defineLCD_DAT1/Datauchaicodetable-TLC549Test.*;ucharc

10、odetable1=HAD=V=vn;ucharnum;sbitLcdRS=P2人7;sbitLcdRW=P2A6;sbitLcdEN=P2人5;voidtime(unsignedintt)unsignedmti;fbr(i=O;it;i+);voidLCD_WRITE(unsignedcharx,bitWS)P3=x;將耍寫的命令字如送到P3數據總線上LcdRW=0;LcdRS=WS;/WS=O,寫命令模式;vs=l,寫數據模式LcdEN=l;time(50);LcdEN=0;voidLCD_InitiaiQucharnum;LCD_WRIT玖Ox38,LCD_COM);time(120);

11、/顯示模式設置LCD_WRIT玖0 x01,LCD_COM);time(120);/顯示清零,數據指針清零LCD_WRIT玖0 x06,LCD_COM);time(120);/寫一個字符后,地址指針H動加LCD_WRITE(OxOc,LCD_COM);time(120);/設置開顯示,不顯示光標LCD_VRITE(0 x80,LCD_COM);fbi(num=0;num15;num-H-)LCD_WRITE(tablemim丄CD_DAT);tune(lO);LCD_WRITE(0 x80十0 x40,LCD_COM);fbi(num=0;numP1.7P37WP1.6P3WRP1.5P3.s

12、rnP1.4P3.4CT0PI.3P3.3fiHTTP1.2P3.2flKT0P1.1P31/TXDP1.0P3.aXDP27/A15P26W4EAP2.5TA134LEP24/A12PSENP2.JW1P2.2TA10P2.1JA3P2.0丿A8RSTPO7JAD7PO6JAD6P0.5AAD5PO4JAD4XTAL2P0.33D3P023D2P01JAD1XFAL1POODDO171514311in2g2L26實驗程序:存include#defineucharunsignedchar#defineumtunsignedmtsbitDAT=P1A7;sbitCS=P1人6;sbitCLK=P

13、1A5;voidtime(unsignedintt);/*LTC1292ADC采樣程序*/unitLTC1292ADC(void)uchai1;unitx;CLK=0;DAT=1;CS=0;foi(i=0;K12;i+)CLK=1;x=l;if(DAT=l)x+;CLK=1;CS=1;letum(x);*voiddelay(umtt)wlule(t);徐戰輝*/嚴*1000810134#defineucharunsignedchai#defineunitunsignedmt#defineLCD_COM0/Command#defineLCD_DAT1/Dataucharcodetable-rLT

14、C1292Test;ucharcodetable1=HAD=V=.vn;ucharnum;sbitLcdRS=P2A7;sbitLcdRW=P2A6;sbitLcdEN=P2A5;voidtime(unsignedintt)unsignedinti;for(i=0;it;i+);voidLCD_WRITE(unsignedcharx,bitWS)P3=x;將耍寫的命令字如送到P3數據總線上LcdRW=0;LcdRS=WS;/WS=0,寫命令模式;ws=l,寫數據模式LcdEN=l;time(50);LcdEN=0;voidLCD_Initial()ucharnum;LCD_WRIT玖Ox38,

15、LCD_COM);time(120);LCD_WRITE(0 x01,LCD_COM);time(120);LCD_WRIT玖0 x06,LCD_COM);time(120);LCD_WRIT玖OxOc,LCD_COM);time(120);LCD_WRITE(0 x80,LCD_COM);foi(num=0;num15;num-H-)LCD_WRITE(tablem】m,LCD_DAT);tune(lO);LCD_WRITE(0 x80十0 x40,LCD_COM);fbi(num=O;numlLCD_WRITE(8blelniim、LCD_DAT);tune(lO);voidwiite_LTC1292ADC(uchaiadd,unitx)ucharge,shi,bai,qianjn,zh,po;unity;qian=x/1000;bai=(x%1000)/100;slu=(x%100)/10;ge=x%10;v=x*50;J夕m=y/4095;zli=ni/10;po=m%10;LCD_WRITE(0 x80十0 x40十add,LCD_COM);LCD_WRITE(0 x30十qian,LCD_DAT);LCD_WRITE(0 x30+bai,LCD_DAT);LCD_WRITE(0 x30+shi

溫馨提示

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

評論

0/150

提交評論