基于51單片機(jī)的數(shù)字電流表設(shè)計_第1頁
基于51單片機(jī)的數(shù)字電流表設(shè)計_第2頁
基于51單片機(jī)的數(shù)字電流表設(shè)計_第3頁
基于51單片機(jī)的數(shù)字電流表設(shè)計_第4頁
基于51單片機(jī)的數(shù)字電流表設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 湖 南 科 技 大 學(xué)單 片 機(jī) 課 程 設(shè) 計 題 目 基于單片機(jī)的數(shù)字電流表設(shè)計姓 名 學(xué) 院 專 業(yè) 學(xué) 號 指導(dǎo)教師 成 績 二一一年 五 月 二十六日 單片機(jī)課程設(shè)計任務(wù)書一、設(shè)計題目:基于單片機(jī)的數(shù)字電流表設(shè)計二、設(shè)計要求:1、 數(shù)字電流表在平常工作環(huán)境中能良好工作2、 能測01000mA電流,至少能達(dá)1%的精度3、 要求掌握I/V信號轉(zhuǎn)換,A/D轉(zhuǎn)換器的使用和數(shù)據(jù)采集系統(tǒng)的設(shè)計4、 電流表能數(shù)字顯示,且由單片機(jī)處理采集數(shù)據(jù)并驅(qū)動LED顯示摘 要本設(shè)計是通過采樣電阻及信號放大電路將待測的電流信號I轉(zhuǎn)換成01V電壓信號, 由A/D轉(zhuǎn)換器采集電壓信號,并將電壓轉(zhuǎn)換的數(shù)字信號傳輸給單片

2、機(jī),由單片機(jī)完成對采樣信號的處理、分析,最后輸出信號驅(qū)動LED顯示器,顯示被測的電壓值。目 錄一、功能要求 1二、原理及方案論證.2三、系統(tǒng)硬件電路的設(shè)計3四、系統(tǒng)程序的設(shè)計4五、調(diào)試及設(shè)計結(jié)果.5參考文獻(xiàn) .6 一、功能要求1、數(shù)字電流表在平常工作環(huán)境中能良好工作2、能測01000mA電流,至少能達(dá)1%的精度3、要求掌握I/V信號轉(zhuǎn)換,A/D轉(zhuǎn)換器的使用和數(shù)據(jù)采集系統(tǒng)的設(shè)計4、電流表能數(shù)字顯示,且由單片機(jī)處理采集數(shù)據(jù)并驅(qū)動LED顯示二、原理及方案論證1、數(shù)字電流表工作原理1.1采樣電阻網(wǎng)絡(luò)原理如下圖所示,輸入被測電流通過量程轉(zhuǎn)換開關(guān)S1S4,流經(jīng)采樣電阻R1R4,由歐姆定律可知:U=I*R,

3、因而轉(zhuǎn)換輸出電壓為0V0.1V的電壓,輸出電壓可再經(jīng)后續(xù)放大電路放大處理。 1.2高共模抑制比放大電路如下圖,由雙運放組成的同相輸入高共模抑制比放大電路,其閉環(huán)輸出可表示為:為使共模輸入為0,可令R1/R2=R4/R3,此時電路的差動閉環(huán)增益為Kd=1+R1/R2, U0=Kd(U1-U2); 下圖即Kd=11,U0=11(U1-U2); 1.3通用A/D轉(zhuǎn)換器ADC0832 是美國國家半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。由于它體積小,兼容性強,性價比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。ADC0832 具有以下特點: 8 位分辨率; 雙通道 A/

4、D轉(zhuǎn)換; 輸入輸出電平與 TTL/CMOS 相兼容; 5V 電源供電時輸入電壓在 05V 之間; 工作頻率為 250KHZ,轉(zhuǎn)換時間為 32S; 一般功耗僅為 15mW; 8P、14PDIP(雙列直插)、PICC 多種封裝; 商用級芯片溫寬為0°C to +70°C,工業(yè)級芯片溫寬為- 40°C to +85°C;芯片接口說明 CS_ 片選使能,低電平芯片使能。 CH0 模擬輸入通道 0,或作為 IN+/-使用。 CH1 模擬輸入通道 1,或作為 IN+/-使用。 GND 芯片參考 0 電位(地)。 DI 數(shù)據(jù)信號輸入,選擇通道控制。 DO 數(shù)據(jù)信號輸出

5、,轉(zhuǎn)換數(shù)據(jù)輸出。 CLK 芯片時鐘輸入。 Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。 1.4 AT89C52單片機(jī) AT89C52 是美國ATMEL 公司生產(chǎn)的低電壓,高性能CMOS 8 位單片機(jī),片內(nèi)含8k bytes 的可反復(fù)擦寫的只讀程序存 儲器(PEROM)和256 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM ),器件采用ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn), 與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及8052 產(chǎn)品引腳兼容,片內(nèi)置通用8 位 央處理器(CPU)和Flash 存儲單元,功能強大AT89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。 主要性能參數(shù) ·與MCS-

6、51 產(chǎn)品指令和引腳完全兼容 ·8k 字節(jié)可 擦寫Flash 閃速存儲器 ·1000 次擦寫周期 ·全靜態(tài)操作:0Hz24MHz ·三級加密程序存儲器 ·256 ×8 字節(jié)內(nèi)部RAM ·32 個可編程I O 口線 ·3 個16 位定時計數(shù)器 ·8 個 斷源 ·可編程串行UART 通道 ·低功耗空閑和掉電模式 功能特性概述 AT89C52 提供以下標(biāo)準(zhǔn)功能:8k 字節(jié)Flash 閃速存儲器,256 字節(jié)內(nèi)部RAM,32 個I O 口線,3 個16位定時計數(shù)器,一個6 向量兩級 斷結(jié)構(gòu),一

7、個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C52 可降至0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU 的工作,但允許RAM,定時計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。2、方案論證 本設(shè)計采用精密采樣電阻(9歐、0.9歐、0.09歐、0.01歐),電阻精度可達(dá)0.1%可忽略;八位A/D精度為5/256(V);因而除去放大電路增益誤差及線性誤差,電流表精度約為(5/256)/11,約為1.7mA;對于1000mA的總量程精度可達(dá)0.1%,因而方案可達(dá)設(shè)計要求。三、系

8、統(tǒng)硬件電路的設(shè)計 系統(tǒng)仿真接線簡圖本設(shè)計中用到AT89C52單片機(jī)、八位ADC AD0832、發(fā)光二極管、六位八段顯示數(shù)碼管LED,通用運放 UA741 、PNP管及必要的電阻、電容元件等。系統(tǒng)原理方框圖電路仿真簡圖如上圖。系統(tǒng)方框圖四、系統(tǒng)程序設(shè)計程序流程圖如下: 系統(tǒng)程序流程圖C語言程序如下:#include<reg52.h>/包含相應(yīng)的頭文件#include<intrins.h>#include<math.h>#define uchar unsigned char#define uint unsigned intuchar axs6,azs6,ac10

9、,dc6;void ITOAZ(int num,uchar *p); void ITOAX(int num,uchar *p);float U,U1;sbit CS=P34;/定義數(shù)模轉(zhuǎn)換器硬件對應(yīng)引腳sbit CLK=P35;sbit DO=P36;sbit DI=P37;/*讀寫AD0832函數(shù)*/*/unsigned char ReadADC(unsigned char channel) unsigned char j; unsigned char Temp=0; DI=1; _nop_(); _nop_(); CS=0;/拉低CS端 _nop_(); _nop_(); CLK=1;/拉

10、高CLK端 _nop_(); _nop_(); CLK=0;/拉低CLK端,形成下降沿1 _nop_(); _nop_(); CLK=1;/拉高CLK端 DI=(channel>>1)&0x1; _nop_(); _nop_(); CLK=0;/拉低CLK端,形成下降沿2 _nop_(); _nop_(); CLK=1;/拉高CLK端 DI=channel&0x1; _nop_(); _nop_(); CLK=0;/拉低CLK端,形成下降沿3 DI=1;/控制命令結(jié)束 _nop_(); _nop_(); for(j=0;j<8;j+) /處理讀入8位數(shù)據(jù) CL

11、K=0;_nop_(); Temp=(Temp<<1)|DO; _nop_(); CLK=1; CS=1; CLK=0; DI=1;return(Temp); /返回轉(zhuǎn)換值/*/*/*顯示轉(zhuǎn)換函數(shù)*/*/延時函數(shù)void delay(uint n)uint a;uchar i;for(a=n;a>0;a-)for(i=0;i<2;i+); /將浮點數(shù)轉(zhuǎn)成函數(shù)void ITOC(float f,uchar *c)float zs,xs;int bxs,bzs,i,k=0;xs=modf(f,&zs); /分離整數(shù)部分與小數(shù)部分函數(shù) if(P3=0XFE) bxs=

12、(int)(xs*100)+0.5); else bxs=(int)(xs*100)+0.5); /小數(shù)點后兩位有效數(shù)字ITOAX(bxs,axs); /把小數(shù)部分轉(zhuǎn)換成字符串存入axs數(shù)組bzs=(int)zs; /把整數(shù)部分轉(zhuǎn)成整型ITOAZ(bzs,azs); /把整數(shù)部分轉(zhuǎn)換成字符串存入azs數(shù)組 for (i=0;axsi!='s'i+) /把最終結(jié)果存入c數(shù)組ci=axsi; ci='.'for(k=0,i=i+1;azsk!='s'k+,i+) ci=azsk; if(U<0) ci='-' else ci=0

13、xff;ci+1='s'/將整型數(shù)轉(zhuǎn)換成對應(yīng)的void ITOAZ(int num,uchar *p) uchar w,i=0; dow=num%10; /將整型數(shù)各位分離,并轉(zhuǎn)換成對應(yīng)的字符存入a中pi=w; num=num/10;i+;while(num); pi='s'/將小數(shù)數(shù)部分轉(zhuǎn)換成對應(yīng)的void ITOAX(int num,uchar *p) uchar w,i=0; dow=num%10; /將整型數(shù)各位分離,并轉(zhuǎn)換成對應(yīng)的字符存入a中pi=w; num=num/10;i+; while(num); while(i<2) pi=0;i+;

14、pi='s' w=pi;/顯示譯碼函數(shù)void decode(uchar *n,uchar *dn) uchar i;for(i=0; ni!='s'i+) switch( ni) case 0: dni=0x3F;break; case 1: dni=0x06;break; case 2: dni=0x5B;break; case 9: dni=0x6F;break; case 3: dni=0x4F;break; case 4: dni=0x66;break; case 5: dni=0x6D;break; case 6: dni=0x7D;break; c

15、ase 7: dni=0x07;break; case 8: dni=0x7F;break; case 46: dni=0x80;break; case'-':dni=0x40;break; default:dni=0x00;break; dni='s'/*/*/*主換函數(shù)*/*/void main(void)uchar i,j,P2_;float A;while(1)U=ReadADC(0)/256.0;switch(P1)case 0xfe:A=U*10*1.025;break; case 0xfd:A=U*100/1.09;break; case 0xfb: A=U*1000;break; default: A=0.0;break;A=10*A;ITOC(A,ac);decode(ac,dc); P2=0XFf; P2_=0Xfe;for(j=0;dcj!='s'j+) P2=0XFf; P0=dcj; P2=P2_; delay(150); P2_=_crol_(P2_,1); /*P2_<<=1;*/ /*/*/ 五、 調(diào)試及設(shè)計結(jié)果1、 PROTUSE系統(tǒng)仿真結(jié)果

溫馨提示

  • 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

提交評論