使用ADC0809制作數(shù)字電壓表(共9頁)_第1頁
使用ADC0809制作數(shù)字電壓表(共9頁)_第2頁
使用ADC0809制作數(shù)字電壓表(共9頁)_第3頁
使用ADC0809制作數(shù)字電壓表(共9頁)_第4頁
使用ADC0809制作數(shù)字電壓表(共9頁)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上ADC0809模數(shù)轉(zhuǎn)換芯片,速度較快。在clk端一般需要施加10Khz以上到600KHz的時(shí)鐘信號(hào)。該信號(hào)可以從51的ALE端可以取出。但也可以利用51的定時(shí)器生成。其仿真電路如下:下面對(duì)此加以詳細(xì)說明。LCD顯示電路,這個(gè)沒多少說的,可以直接使用以前的代碼庫。只是注意接線。對(duì)于ADC0809電路,在Proteus7.8的仿真庫中,只有ADC0808,查詢了一下這兩個(gè)的說明,用法都完全一樣,只是0808的out data是的低位和高位 和 0809相比是反的,因此,在仿真的時(shí)候可以直接使用了0808,但是注意0808的輸出8位高位和低位剛好相反即可。因此這部分的線路如

2、下圖:0808可以接最多8路模擬輸入,但是我們只需要一路即可,因此對(duì)于選通信號(hào)線A B C都可以直接接低電平,這樣永遠(yuǎn)只選通第一路輸入信號(hào)。使用滑動(dòng)變阻器接5V電壓來模擬外界電壓,模擬輸入的范圍是0-5V。由于我們這里只需測量0-5V而且是直流即可,因此參考電壓可以選定VCC。同事OE可以直接接高。而對(duì)于START信號(hào)和ALE鎖存信號(hào),可以并聯(lián)在一起,完成轉(zhuǎn)換的信號(hào)EOC則必須單獨(dú)接出來,用于檢測是否轉(zhuǎn)換完畢。另外也外接了一個(gè)頻率計(jì)來測量輸入的時(shí)鐘信號(hào)??梢圆榭匆幌?809的工作最低時(shí)鐘頻率要求。51仿真時(shí)未輸出ALE時(shí)鐘信號(hào),同時(shí)由于實(shí)驗(yàn)板的ALE引腳未引出,但0809的CLK引腳已和HC7

3、4HC的輸出作在一起,故只能單獨(dú)用一個(gè)引腳來產(chǎn)生時(shí)鐘信號(hào)。這里使用定時(shí)器模式2,產(chǎn)生。單片機(jī)外圍解法如下:串聯(lián)的74HC74解法如下:左邊的CLK為輸入,右邊的Q為四分頻后的輸出。仿真用程序如下:LCD的控制程序:#define DATA_1602 P2sbit RS_1602=P35; /1602的數(shù)據(jù)/指令選擇控制線 sbit RW_1602=P36; /1602的讀寫控制線 sbit EN_1602=P37; /1602的使能控制線 void LCD1602_Delay(uint n) /延時(shí)函數(shù) uint x,y; for(x=n;x;x-) for(y=n;y;y-); void L

4、CD1602_WrCom(uchar com) /1602寫命令函數(shù) RS_1602=0; /選擇指令寄存器 RW_1602=0; /選擇寫 DATA_1602=com; /把命令字送入P2 LCD1602_Delay(5); /延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù) EN_1602=1; /使能線電平變化,命令送入1602的8位數(shù)據(jù)口 EN_1602=0; void LCD1602_WrData(uchar dat) /1602寫數(shù)據(jù)函數(shù) RS_1602=1; /選擇數(shù)據(jù)寄存器 RW_1602=0; /選擇寫 DATA_1602=dat; /把要顯示的數(shù)據(jù)送入P2 LCD1602_Delay(

5、5); /延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù) EN_1602=1; /使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口 EN_1602=0; void LCD1602_Init() /1602初始化函數(shù) LCD1602_WrCom(0x38); /8位數(shù)據(jù),雙列,5*7字形 LCD1602_WrCom(0x0c); /開啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍 LCD1602_WrCom(0x06); /顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位 LCD1602_WrCom(0x01); /清屏 LCD1602_WrCom(0x80); /先寫入空白,不然不能直接寫第二行LCD1602_WrData(&

6、#39; '); uchar LCD1602_ShowStr(uchar line, uchar startPos,uchar *str2Shown,uchar strNum)/在指定位置從0開始開始顯示字符串; 超出部分不顯示uchar i;if(line>1)return 1;if(line=0) /顯示在第一行LCD1602_WrCom(0x80+startPos); /顯示地址設(shè)為80H+起始位置elseLCD1602_WrCom(0x80+0x40+startPos); /顯示地址設(shè)為80H+起始位置for(i=0; i< strNum ; i+) LCD1602

7、_Delay(5); LCD1602_WrData(*(str2Shown+i); return 0;uchar LCD1602_ShowChar(uchar line, uchar pos,uchar txt)/在指定位置顯示一個(gè)字符if(line>1 | pos>16)return 0;if(line=0) /顯示在第一行LCD1602_WrCom(0x80+pos); /顯示地址設(shè)為80H+起始位置elseLCD1602_WrCom(0x80+0x40+pos); /顯示地址設(shè)為80H+起始位置 LCD1602_Delay(5); LCD1602_WrData(txt); r

8、eturn 0;uchar LCD1602_ShowNum(uchar line, uchar pos,uint num)/在指定位置開始顯示五位十進(jìn)制數(shù)字,前面是0的不顯示,但顯示空位uchar i;bit zero=0;uint tenPower = 10000;if(line>1 | pos>16)return 1;pos+=0x80;if(line) /顯示在第2行pos+=0x40;LCD1602_WrCom(pos); /顯示地址設(shè)為80H+起始位置for(i=0;i<5;i+)if(num/tenPower | zero | i=4) LCD1602_WrDat

9、a('0'+num/tenPower); zero=1; else LCD1602_WrData(' '); LCD1602_Delay(1);num%=tenPower;tenPower/=10;return 0;主程序:#include <reg52.h>#include <stdio.h>#define ADDATAPORT P0sbit DCSTARTPIN =P30;sbit DCEOCPIN =P31;void Delay(uint n) /延時(shí)函數(shù) uint x,y; for(x=n;x;x-) for(y=n;y;y-);

10、 sbit TimerPWM=P10;/定義輸出腳void TimerInit()TMOD=0x02;TH0=255;EA=1; /開總中斷ET0=1; /開定時(shí)器0中斷TR0=1; /啟動(dòng)定時(shí)器0 void T0_time(void) interrupt 1TimerPWM=TimerPWM; /輸出腳取反void main()uchar helloStr10 = "Volt:" ;uchar adData;float volt;TimerInit();LCD1602_Init();LCD1602_ShowStr(1 ,0 , helloStr ,5);while(1)DCSTARTPIN=0 ;Delay(5);DCSTARTPIN=1 ;Delay(20);DCSTARTPIN=0;while(DCEOCPIN=0) ;adData=ADDATAPORT ;LCD1602_ShowNum(0 ,0 , adData);volt = ad

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論