adc0832數(shù)字電壓表(程序+仿真圖).doc_第1頁
adc0832數(shù)字電壓表(程序+仿真圖).doc_第2頁
adc0832數(shù)字電壓表(程序+仿真圖).doc_第3頁
adc0832數(shù)字電壓表(程序+仿真圖).doc_第4頁
adc0832數(shù)字電壓表(程序+仿真圖).doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余2頁可下載查看

下載本文檔

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

文檔簡介

仿真圖:/*包含頭文件*/#include #include /*端口定義*/sbit CS = P35;sbit Clk = P33;sbit DATI = P34;sbit DATO = P34;sbit P20=P20 ;/*定義全局變量*/unsigned char dat = 0x00; /AD值unsigned char count = 0x00; /定時(shí)器計(jì)數(shù)unsigned char CH; /通道變量unsigned char dis = 0x00, 0x00, 0x00; /顯示數(shù)值/*共陽LED段碼表*/unsigned char code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;char code tablewe= 0xfd,0xfb,0xf7,0xef,0xdf,0xfe ;/*函數(shù)功能:AD轉(zhuǎn)換子程序入口參數(shù):CH出口參數(shù):dat*/unsigned char adc0832(unsigned char CH) unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; /初始化 DATI = 1; _nop_(); CS = 0; _nop_(); Clk = 1; _nop_(); if ( CH = 0x00 ) /通道選擇 Clk = 0; DATI = 1; /通道0的第一位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 0; /通道0的第二位 _nop_(); Clk = 1; _nop_(); else Clk = 0; DATI = 1; /通道1的第一位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 1; /通道1的第二位 _nop_(); Clk = 1; _nop_(); Clk = 0; DATI = 1; for( i = 0;i 8;i+ ) /讀取前8位的值 _nop_(); adval = 1; Clk = 1; _nop_(); Clk = 0; if (DATO) adval |= 0x01; else adval |= 0x00; for (i = 0; i = 1; if (DATO) test |= 0x80; else test |= 0x00; _nop_(); Clk = 1; _nop_(); Clk = 0; if (adval = test) /比較前8位與后8位的值,如果不相同舍去。若一直出現(xiàn)顯示為零,請將該行去掉 dat = test; _nop_(); CS = 1; /釋放ADC0832 DATO = 1; Clk = 1; return dat;/*函數(shù)功能:延時(shí)子程序入口參數(shù):出口參數(shù):*/void delay(void) int k; for(k=10;k500;k+);/*函數(shù)功能:將0-255級(jí)換算成0.00-5.00的電壓數(shù)值入口參數(shù):i出口參數(shù):*/void convdata(unsigned char i) dis0 = i/51; /個(gè)位 dis1 = (i%51)*10/51*2; /小數(shù)點(diǎn)后第一位 dis2 = (i%51)*10%51)*10/51*2; /小數(shù)點(diǎn)后第二位/*函數(shù)功能:數(shù)碼管顯示子程序入口參數(shù):出口參數(shù):*/void display(void) P2=0xff; P0=tabdis0 & 0x7f; /顯示個(gè)位和小數(shù)點(diǎn)delay(); P2=0xfd; P2=0xff; P0=tabdis1; /顯示小數(shù)點(diǎn)后第一位delay(); P2=0xfb; P2=0xff; P0=tabdis2; /顯示小數(shù)點(diǎn)后第二位delay(); P2=0xf7; P2=0xff; P0=0xff; /顯示小數(shù)點(diǎn)后第二位delay(); P2=0xfe; /*函數(shù)功能:主程序入口參數(shù):出口參數(shù):*/void main(void) P2=0xff; /端口初始化 P0=0xff; delay(); CH = 0x00; /在這里選擇通道 0x00或0x01 TMOD = 0x01; /設(shè)置中斷 TH0=(65536-50000)/256;/定時(shí)器1初值定時(shí)50msTL0=(65536-50000)%256; IE = 0x82; TR0 = 1; while(1) /主循環(huán) dat = adc0832(CH); convdata(dat); /數(shù)據(jù)轉(zhuǎn)換 display(); /顯示數(shù)值 /*函數(shù)功能:定時(shí)器中斷延時(shí)程序 這一段的作用時(shí)隔一段時(shí)間抽樣一次 否側(cè)顯示的最后一位會(huì)不穩(wěn)定入口參數(shù):出口參數(shù):*/void timer0(void) interrupt 1 TMOD = 0x01; TH0=(65536-50000)/256;/定時(shí)器1初值

溫馨提示

  • 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)論