ADC0804模數(shù)轉(zhuǎn)換與顯示_第1頁
ADC0804模數(shù)轉(zhuǎn)換與顯示_第2頁
ADC0804模數(shù)轉(zhuǎn)換與顯示_第3頁
ADC0804模數(shù)轉(zhuǎn)換與顯示_第4頁
ADC0804模數(shù)轉(zhuǎn)換與顯示_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、ADC數(shù)模轉(zhuǎn)換與現(xiàn)實(shí) (擴(kuò)展用1602帶電阻值顯示)實(shí)驗(yàn)?zāi)康模?. 掌握ADC的使用控制方法。2. 實(shí)驗(yàn)內(nèi)容:基本要求:設(shè)計(jì)一程序采集ADC0809第3通道的電壓值,將其轉(zhuǎn)換為數(shù)字量,并在數(shù)碼管上顯示;5V顯示為255,0V顯示為000。3. 擴(kuò)展要求:將轉(zhuǎn)換結(jié)果以用1602表現(xiàn)出當(dāng)前電阻值。C程序:#include/52系列單片機(jī)頭文件#include /包含_nop_函數(shù)所在的頭文件#define uint unsigned int /宏定義#define uchar unsigned charsbit CS=P21; /ADC0804 CS 端sbit wr=P24; /ADC0804

2、WR 端sbit rd=P25; /ADC0804 RD 端sbit lcd1=P23; /lcd鎖存器sbit lcden=P22; /lcd1602 EN 端sbit lcdrs=P20; /lcd1602 RS 端sbit dula=P27; /段選端sbit wela=P26; /位選端/ float r;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint xms) /延時(shí)函數(shù) uint i,j; for(i=xm

3、s;i0;i-) for(j=110;j0;j-);void display(uchar bai,uchar shi,uchar ge) /數(shù)碼管顯示函數(shù) dula=1; /打開段選 P0=tablebai; /送入百位 dula=0; /關(guān)閉段選 P0=0xff; /消隱 wela=1; /打開位選 P0=0x7e; /選擇第一位 wela=0; /關(guān)閉位選 P0=0; /消隱 delay(5); /延時(shí) dula=1; P0=tableshi; dula=0; P0=0xff; wela=1; P0=0x7d; wela=0; P0=0; delay(5); dula=1; P0=tabl

4、ege; dula=0; P0=0xff; wela=1; P0=0x7b; wela=0; P0=0; delay(5); void write_com(uchar com) /1602寫指令 lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; void write_data(uchar data1) /1602寫數(shù)據(jù)lcdrs=1; P0=data1; delay(5); lcden=1; delay(5); lcden=0; void init() /1602初始化dula=0; /關(guān)閉段選wela=0; /關(guān)閉位選lcden=0

5、; /lcden置于低電平write_com(0x38); /設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c); /設(shè)置開顯示,不顯示光標(biāo)write_com(0x06); /寫一個(gè)字符后地址加1write_com(0x01); /顯示清0,數(shù)據(jù)指針清0void lcd_display(uint ge,F1,F2,F3,F4) /lcd_顯示 (F1小數(shù)點(diǎn)后一位 F2小數(shù)點(diǎn)后兩位 F3 F4) wela=0; dula=0; lcden=1; lcd1=1; /打開lcd鎖存器 / write_com(0x01); write_com(0x80); /選擇在1602第一行

6、顯示 write_data(48+ge); /ascii碼48 寫入個(gè)位 delay(5); /延時(shí) write_data(.); delay(5); write_data(48+F1); delay(5); write_data(48+F2); delay(5); write_data(48+F3); delay(5); write_data(48+F4); delay(5); write_data(K); delay(5); lcd1=0; /關(guān)閉鎖存器 void main()/主程序 uchar a,A1,A2,A3,shu; uint ge,F1,F2,F3,F4; float r;

7、init(); CS=0; while(1) r=(255-shu)/256; /轉(zhuǎn)換公式 wr=1;_nop_();wr=0; /啟動(dòng)A/D轉(zhuǎn)換_nop_();wr=1; for(a=10;a0;a-) display(A1,A2,A3); P1=0xff;/讀取P1口之前先給其寫全1 rd=1;/選通AD0804 CS 端_nop_(); rd=0;/A/D讀使能_nop_(); shu=P1;/A/D數(shù)據(jù)讀取賦給P1口 rd=1; A1=shu/100;/數(shù)碼管分出 百 十 個(gè) A2=shu%100/10; A3=shu%10; ge=(int)r%10; /(int)字符型強(qiáng)制轉(zhuǎn)換成整形 1602分出個(gè)位跟小數(shù)點(diǎn)后四位 F1=

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論