轉(zhuǎn)換的數(shù)字電壓表_第1頁
轉(zhuǎn)換的數(shù)字電壓表_第2頁
轉(zhuǎn)換的數(shù)字電壓表_第3頁
轉(zhuǎn)換的數(shù)字電壓表_第4頁
轉(zhuǎn)換的數(shù)字電壓表_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 珞珈學(xué)院A/D轉(zhuǎn)換器設(shè)計(jì)數(shù)字電壓表 專業(yè):通信工程 年級:2009級 學(xué)生:郭呂超 設(shè)計(jì)時間:2011.12.22 目錄1. 實(shí)驗(yàn)器件介紹32. 數(shù)字電壓表仿真圖43. 實(shí)驗(yàn)設(shè)計(jì)原理54. 數(shù)字電壓表C語言程序.6一 實(shí)驗(yàn)器件介紹1. ADC0804芯片介紹ADC0804是一個8位CMOS型逐次比較式A/D轉(zhuǎn)換器,具有三態(tài)鎖存輸出功能,最短轉(zhuǎn)換時間為100us,其芯片實(shí)物圖和引腳圖如下:CS:片選信號,低電平有效;RD:外部讀取轉(zhuǎn)換結(jié)果的控制信號,當(dāng)RD為高電平時,DB0-DB7為高阻態(tài);當(dāng)RD為低電平時,數(shù)據(jù)才會通過DB0-DB7輸出;WR:A/D轉(zhuǎn)換器啟動控制信號,當(dāng)WR由高電平變?yōu)榈碗?/p>

2、平時,轉(zhuǎn)換器被清零,當(dāng)WR由低電平變?yōu)楦唠娖綍r,A/D轉(zhuǎn)換正式開始;CLK IN和CLK R:時鐘輸入端,在ADC0804片內(nèi)有時鐘發(fā)生器,采用內(nèi)部時鐘時,在CLK IN CLK R 和地線之間連接RC電路即可,ADC0804的工作頻率約為100-1460khz,若使RC電路作為時鐘,其振蕩頻率為1/(1.1RC);INTR:中斷請求輸出信號,當(dāng)A/D轉(zhuǎn)換結(jié)束時,INTR引腳輸出低電平,只有當(dāng)數(shù)據(jù)被取走后(單片機(jī)發(fā)出讀數(shù)據(jù)指令),此引腳才會變?yōu)楦唠娖?;VIN+和VIN-:差動模擬電壓輸入端,若輸入為單端正電壓,VIN-應(yīng)接地,若差動輸入,則輸入信號直接加入VIN+和VIN-;AGND.DGND

3、:模擬信號地與數(shù)字信號地,若系統(tǒng)對抗干擾要求嚴(yán)格,則這兩條地線必須分接地;VREF/2:參考電壓值的一半,若在ADC0804組成的電路中需要的參考電壓為5V,則此引腳可以懸空。若電路中需要使用的參考電壓小于5V,即參考電壓值的一半小于2.5V,這時可將此引腳連接到需要的參考電壓值(如4V)的1/2電壓值上(如 2V),在ADC0804芯片內(nèi)部會自動判斷參考電壓的選擇,當(dāng)VREF/2引腳的電壓值低于2.5V時,芯片會自動選擇由VREF/2引腳電壓放大2倍以后的電壓值作為參考電壓。DB0-DB7:8位數(shù)字輸出端。2. LCD1602液晶介紹1602字符型LCD有16個引腳,其芯片實(shí)物圖和引腳圖如下

4、:1602字符型LCD具有較豐富的指令集,如下表: 下面介紹LCD1602引腳功能: VSS:電源地; VDD:+5V邏輯電源; VEE:液晶驅(qū)動電源; RS:寄存器選擇(RS=1,數(shù)據(jù);RS=0,命令); R/W:讀.寫操作選擇(R/W=1,讀;R/W=0,寫); E:使能信號; DB0-DB7:數(shù)據(jù)總線; Black1:背光電源線; Black2:背光電源地線;二 數(shù)字電壓表仿真圖三 實(shí)驗(yàn)設(shè)計(jì)原理1. 實(shí)驗(yàn)硬件設(shè)備:LCD1602液晶顯示器一塊,ADC0804芯片一片,兩個滑動變阻器,一個150pF電容,兩個200歐姆的電阻,一個10K歐姆的電阻,STC89C51芯片,電源,地線,按鍵(復(fù)

5、位電路和晶振電路另加),杜邦線諾干。2. ADC0804在使用時,外圍電壓的連接比較簡單,只需要對參考電壓和時鐘輸入端進(jìn)行設(shè)計(jì)即可。通常情況下,時鐘的輸入可以選用RC諧振電路,ADC0804可以進(jìn)行A/D轉(zhuǎn)換的時鐘頻率為1001460KHZ,典型值為640KHZ,這里選用R=10K歐姆.C=150PF的諧振電路,利用公式1/(1.1RC)計(jì)算后,此時的時鐘頻率約為606KHZ,與典型值十分接近。3. 模擬電壓的計(jì)算:這里選用的是8位A/D轉(zhuǎn)換器,數(shù)值的變化范圍是0255(00H-FFH),模擬電壓的輸入范圍是0-5V,每個數(shù)碼的變化,對應(yīng)的電壓值的變化為0.0196V,所以要計(jì)算模擬電壓值,就

6、可以利用下面的公式進(jìn)行計(jì)算: V=D*0.0196式中,V為計(jì)算出的模擬電壓值,D為A/D轉(zhuǎn)換器轉(zhuǎn)換后的數(shù)字量。4. 克服浮點(diǎn)運(yùn)算方法:從上式不難看出,在計(jì)算過程,需要乘以一個0.0196,這是一個小數(shù),在計(jì)算機(jī)中稱為浮點(diǎn)數(shù)。而對于8位單片機(jī)來說,不具有浮點(diǎn)運(yùn)算能力,如果一定要計(jì)算浮點(diǎn)數(shù),將占用單片機(jī)中大量的內(nèi)存單元和CPU時間。這里采用一種簡單的方法:就是將從A/D讀取進(jìn)來的數(shù)字量直接乘以196,即進(jìn)行整數(shù)運(yùn)算,運(yùn)算結(jié)果是真正值的1000倍,這個整數(shù)運(yùn)算的速度是非??斓?,不會占用過多的CPU時間。由于是兩個8位的二進(jìn)制數(shù)相乘,得到的結(jié)果不會超過16位二進(jìn)制數(shù)。5. 電壓值的顯示:最常用到的二

7、進(jìn)制轉(zhuǎn)換成BCD碼的方法是用除法。先用得到的16位二進(jìn)制數(shù)除以10000,得到的商就是模擬電壓值的整數(shù)部分(模擬電壓的輸入為0-5V,所以整數(shù)部分只有1位),得到的余數(shù)是模擬電壓值的小數(shù)部分;接下來用余數(shù)除以1000,商是十分位,余數(shù)作為被除數(shù)再除以100,商為百分位,余數(shù)再除以10,商為千分位。這樣就將16位的二進(jìn)制數(shù)轉(zhuǎn)換成了4位BCD碼。四 數(shù)字電壓表C語言程序/珞珈09級通信單片機(jī)實(shí)驗(yàn) AD轉(zhuǎn)換器設(shè)計(jì)數(shù)字電壓表#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit lcd_rs=

8、P20; sbit lcd_en=P21; sbit cs=P27; /AD片選 sbit rd=P26; sbit wr=P25;sbit INTR=P32;/中斷請求信號 uint temp,D1,D2,D3,D4; uint shu;uint AD_read();void delay(uint z);void write_com(uchar com);void write_date(uchar date);void lcd_init();void display(uchar qian,uchar bai,uchar shi,uchar ge);void AD_init();void AD

9、_start();void main() write_com(0x01);/清屏 lcd_init(); AD_init(); while(1) AD_start();while(INTR=1);/AD轉(zhuǎn)換是否結(jié)束,結(jié)束為低電平 INTR=0;shu=AD_read(); shu=shu*196; D1=shu/10000;/整數(shù)部分,0.0196v是最小變化量 shu=shu%10000; D2=shu/1000;/十分位數(shù) shu=shu%1000; D3=shu/100;/百分位數(shù) shu=shu%100; D4=shu/10;/千分位數(shù) display(D1,D2,D3,D4);/顯示

10、LcD1602 void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void write_com(uchar com) P0=com; lcd_rs=0; lcd_en=1; lcd_en=0; delay(2);void write_shu(uchar shu) P0=shu; lcd_rs=1; lcd_en=1; lcd_en=0; delay(5);void lcd_init() lcd_en=0; write_com(0x01);/清屏 write_com(0x06);/指針加減與移動 write_

11、com(0x0c);/光標(biāo) write_com(0x38);/液晶初始化命令void display(uchar qian,uchar bai,uchar shi,uchar ge) write_com(0x80+0x02); write_shu('G'); write_com(0x80+0x03); write_shu('u'); write_com(0x80+0x04); write_shu('o'); write_com(0x80+0x06); write_shu('L'); write_com(0x80+0x07); wr

12、ite_shu('v'); write_com(0x80+0x09); write_shu('C'); write_com(0x80+0x0a); write_shu('h'); write_com(0x80+0x0b); write_shu('a'); write_com(0x80+0x0c); write_shu('o'); write_com(0x80+0x44); write_shu(0x30+qian);/0x30代表數(shù)字0 write_com(0x80+0x45); write_shu('.'); write_com(0x80+0x46); write_shu(0x30+bai); write_com(0x80+0x47); write_shu(0x30+shi); write_com(0x80+0x48); write_shu(0x30+ge); write_com(0x80+0x49

溫馨提示

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

最新文檔

評論

0/150

提交評論