有效值檢波器_第1頁
有效值檢波器_第2頁
有效值檢波器_第3頁
有效值檢波器_第4頁
有效值檢波器_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2011年春季西南交通大學(xué)大學(xué)生電子設(shè)計競賽設(shè)計報告有效值檢波器2011年5月27日有效值檢波器引言單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM只讀存儲器ROM多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。單片機因為體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,被廣泛應(yīng)用于儀器儀表中。目前市場上的便攜式儀表大多都是以單片機為核心。LCD1602為工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。

2、(16列2行)單片機加LCD1602a晶顯示器,基本可以滿足本次單片機控制的數(shù)顯頻率計的設(shè)計與制作。ADC0832是NS(NationalSemiconductor)公司生產(chǎn)的串行接口8位A/D轉(zhuǎn)換器,通過三線接口與單片機連接,功耗低,性能價格比較高,適宜在袖珍式的智能儀器儀表中使用。ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,具最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。芯片具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件連接和處理器控制變得更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。一方案認(rèn)證1 .單片機部分:考慮到電

3、子設(shè)計競賽的內(nèi)容和設(shè)計的目的,決定選取STC89C52此單片機雖然屬于低端機型,但足以滿足設(shè)計的要求。選取其它的高端機型有些浪費。所以使用STC89C522 .顯示部分:此次電子設(shè)計大賽要求地顯示部分能夠完成數(shù)字和常用字符的顯示。若用數(shù)碼管則只能顯示0-F,不能顯示其它的字符及符號。所以不能用數(shù)碼管。而選用LCD1602恰好符合要求。所以應(yīng)用LCD16023 .A/D轉(zhuǎn)換部分:ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。芯片具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件連接和處理器控制變得更

4、加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。所以應(yīng)用ADC0832二、硬件電路的設(shè)計1.工作原理及系統(tǒng)框圖此次課程設(shè)計的要求如下:一方面,單片機要通過I/O中接收輸入信號,另一方面要通過I/O口控制液晶的初始化、顯示方式以及要顯示的字符。因此,設(shè)計必須以單片機為核心,顯示器為外圍設(shè)備。硬件上,單片機通過電路板電路與液晶顯示電路相連;軟件上,單片機要下載完整的程序?qū)Χ哌M(jìn)行適時的控制。5V單片機控制的數(shù)顯頻率計電路系統(tǒng)框圖從圖中可以看出,單片機控制的有效值檢波器的主要功能模塊分為4類:液晶顯示:是指在單片機的控制下,液晶模塊顯示被測信號的頻率與有效值。電源模塊:為單片機和液晶顯示器

5、提供工作電源。A/D模塊:將交流電壓由模擬量轉(zhuǎn)換為數(shù)字量。放大模塊:將微小交流電壓量放大。單片機電路主要是通過編寫程序來控制硬件電路。因此,可以通過改變程序,提高測量精度。2,各部分電路設(shè)計2.1單片機控制電路單片機控制電路由STC89C5笄片機、晶振時序電路、復(fù)位電路構(gòu)成。1.1.1 單片機STC89C52STC89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOSW微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPlffl閃爍存儲器組合在單個芯片中,STC89C5犯一種高效微控

6、制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。本次設(shè)計主要用到單片機4個I/O口中的3個,其中P3口及P1.0-P1.2與液晶顯示器相接,18、19腳外界晶振電容為單片機提供時序。1.1.2 晶振時序電路XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。1.1.3 復(fù)位電路常見的復(fù)位電路有兩種:上電復(fù)位電路和開關(guān)復(fù)位電路,可根據(jù)電路的需要選擇復(fù)位電路。液晶顯小

7、電路字符型液晶顯示模塊LCD160左一種用5x7點陣圖形來顯示字符的液晶顯示器,其引腳功能如下表所示編P符號引腳說明編p符號引腳說明1VSS電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號11D4DataI/O4RS數(shù)據(jù)/命令選才1端(H/L)12D5DataI/O5R/W讀寫選擇端(H/L)13D6DataI/O6E使能信號14D7DataI/O7D0DataI/O15BLA背光源正極8D1DataI/O16BLK背光源負(fù)極讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:DO-D7=犬態(tài)字寫指令:輸入:RS=L,RW=L,D0-D7=旨令碼,E二高脈沖輸出

8、:無讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:DO-口7嗷據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7嗷據(jù),E*脈沖輸出:無根據(jù)1602液晶顯示器的讀寫時序操作,編寫相應(yīng)的單片機驅(qū)動程序,便可以實現(xiàn)液晶顯示器的顯示輸出。A/D轉(zhuǎn)換電路ADC0832有DIP和SOIC兩種封裝,DIP封裝的ADC083卯腳排列如圖所示ADC0832引腳圖各引腳說明如下:CS-一片選端,低電平有效。CH0CH1-一兩路模擬信號輸入端。DI兩路模擬輸入選擇輸入端。DO一模數(shù)轉(zhuǎn)換結(jié)果用行輸出端。CLK-串行時鐘輸入端。Vcc/REF正電源端和基準(zhǔn)電壓輸入端GND-電源地。2.4電壓放大及整流電路在本設(shè)計中,采用LM

9、324運放組成放大電路,對微量交流電壓信號進(jìn)行放大。同時,對交流信號全波整流。三、系統(tǒng)的軟件設(shè)計軟件調(diào)試主要是編寫相應(yīng)的程序,在電路仿真軟件上仿真,直至到預(yù)期效果1.程序框圖主程序及各子程序的框圖見圖。主程序框圖LCD程序流程圖2.程序清單根據(jù)程序流程圖,編寫相應(yīng)的子程序和主程序程序清單見附錄3。四、測試數(shù)據(jù)1.同一頻率在不同電壓時的測量40mV100mV500mV1V5V20Hz200.0%200%200%200%200%50Hz500.0%500%524%500%536%100Hz1000.0%1077%1011%1000%1011%200Hz1990.5%2042%2000%1990.5

10、%1990.5%500Hz5265.2%4990.2%4990.2%4990.2%4980.4%1kHz10040.4%9980.2%9980.2%9990.1%9980.2%2kHz19950.2%19970.1%19930.3%19950.2%19980.1%5kHz49900.2%49990.1%49860.3%49900.2%49830.4%10k99760.2%99860.1%99920.1%99820.1%99750.2%20k199870.6%199780.7%199940.1%199860.6%199551%100k999670.1%999360.1%999670.1%9995

11、70.1%998490.1%誤差平均在0.2%以內(nèi)2.同一電壓在不同頻率時的測量。10Hz100Hz1000Hz10KHz50KHz50mV50.81.4%50.81.4%50.41.4%484%468%100mV106.46.4%1066%1044%928%8416%200mV2136.5%2105%2042%2010.5%1895.5%500mV5020.4%5000%5000%5000%4588.2%1V1.033%1.022%1.011%1.011%0.928%2V2.10.5%2.042%2.010.5%1.943%1.857.5%5V5.081.6%5.000%4.921.6%4.

12、762.8%4.529.6%20V200%200%200%200%18.50.7%誤差平均在3%以內(nèi)五.心得體會在這次電子設(shè)計競賽中我們使用了STC89C52單片機。這讓我對于單片機有了更多的了解。同時在找資料的過程中學(xué)到了許多單片機課本上沒有講到的知識。在這次電子設(shè)計競賽過程中,我們通過在原有的輸入系統(tǒng)進(jìn)行了改進(jìn),使之測量頻率和電壓有效值精度更高,使之成為一個更加適用,功能更加完備的屬于自己的一個系統(tǒng)。在這個過程中讓我對于C語言的編寫有了更深入的體會。在這次電子設(shè)計競賽中,雖然花費了大量的時間和精力,但我卻學(xué)到了許多在理論課程中無法學(xué)到的知識。最重要的是讓我懂得了合作的重要性,學(xué)會了如何與人

13、更好的合作。六、參考文獻(xiàn)李廣弟.單片機基礎(chǔ).北京:北京航空航天大學(xué)出版社,1994閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版).北京:高等教育出版社,19891版6張毅剛等編著.單片機原理及應(yīng)用.北京:高等教育出版社.2004年1月第1版附錄1電路簡圖附錄2元器件清單元器件描述數(shù)量STC89C52單片機1液晶顯示器LCD16021按鍵開關(guān)2電阻1003電容342uF1晶振11.0592MHz1ADC08321電路板210mni同柱10mm12LM3241電位器103,1046撥碼開關(guān)6合11指示燈紅色1二極管IN40074附錄3程序清單:#include<reg51.h>/包含單片機寄存器的頭

14、文件#include<intrins.h>/包含_nop_()函數(shù)定義的頭文件#defineucharunsignedchar#defineuintunsignedintsbitCS=P1A2;將CS位定義為P3.4弓唧sbitCLK=P1A0;將CLK位定義為P1.0弓I腳sbitDIO=P1A1;將DIO位定義為P1.1引腳unsignedcharcodedigit10="0123456789"/定義字符數(shù)組顯示數(shù)字unsignedcharcodeStr="Volt="/說明顯示的是電壓/以下是對液晶模塊的操作程序sbitRS=P2A0;

15、寄存器選擇位,將RS位定義為P2.0弓唧sbitRW=P2A1;讀寫選擇位,將RW位定義為P2.1引腳sbitE=P2A2;使能信號位,將E位定義為P2.2弓唧sbitBF=P0A7;忙碌標(biāo)志位,將BF位定義為P0.7弓唧/頻率ucharcodetable1="Freq=Hz"unsignedcharcodetable2=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;bitflag;定義標(biāo)志位,確定是否到了1sunsignedlongx;ucharT0count;/從T0的計數(shù)單元中讀取計數(shù)的數(shù)值uchartimecou

16、nt;voiddelay(uintz)uintx,y;for(x=z;x>0;x-)for(y=110;y>0;y-);voidwrite_date(uchardate)/寫數(shù)據(jù)P0=0xFF;delay(5);RS=1;E=0;P0=date;delay(5);E=1;delay(5);E=0;voidwrite_com(ucharcom)P0=0xFF;delay(5);RS=0;E=0;P0=com;delay(5);E=1;delay(5);E=0;)voidinit()寫位(ucharnum;E=0;write_com(0x80+0x40);for(num=0;num&l

17、t;16;num+)(write_date(table1num);delay(5);)voidLcdPos(ucharxPos,ucharyPos)設(shè)置第(xPos,yPoS個字符的DDRAM地址unsignedchartmp;xPos&=0x0f;/x位置范圍是015yPos&=0x01;/y位置范圍是01if(yPos=0)/顯示第一行tmp=xPos;elsetmp=xPos+0x40;tmp|=0x80;write_com(tmp);).voidwrite_char(ucharc,ucharxPos,ucharyPos)LcdPos(xPos,yPos);write_d

18、ate(c);).voiddelay1ms()函數(shù)功能:延時1msunsignedchari,j;for(i=0;i<10;i+)for(j=0;j<33;j+);)voiddelaynms(unsignedcharn)函數(shù)功能:延時若干毫秒,入口參數(shù):nunsignedchari;for(i=0;i<n;i+)delay1ms();)bitBusyTest(void)函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)(bitresult;RS=0;根據(jù)規(guī)定,RS為低電平,RW為高電平時,可以讀狀態(tài)RW=1;E=1;/E=1,才允許讀寫_nop_();/空操作_nop_();_nop_();_

19、nop_();空操作四個機器周期,給硬件反應(yīng)時間result=BF;將忙碌標(biāo)志電平賦給resultE=0;/將E恢復(fù)低電平returnresult;)函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊voidWriteInstruction(unsignedchardictate)(while(BusyTest()=1);/如果忙就等待RS=0;根據(jù)規(guī)定,RS和R/W同時為低電平時,可以寫入指令RW=0;E=0;/E置低電平(根據(jù)表8-6,寫指令時,E為高脈沖,_nop_();_nop_();空操作兩個機器周期,給硬件反應(yīng)時間P0=dictate;將數(shù)據(jù)送入P0口,即寫入指令或地址_nop_();

20、_nop_();_nop_();_nop_();空操作四個機器周期,給硬件反應(yīng)時間E=1;/E置高電平_nop_();_nop_();_nop_();_nop_();空操作四個機器周期,給硬件反應(yīng)時間E=0;當(dāng)E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令)voidWriteAddress(unsignedcharx)/函數(shù)功能:指定字符顯示的實際地址(WriteInstruction(x|0x80);/顯示位置的確定方法規(guī)定為"80H+地址碼x")voidWriteData(unsignedchary)函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCI例)寫入液晶模塊(while(Bu

21、syTest()=1);RS=1;/RS為高電平,RW為低電平時,可以寫入數(shù)據(jù)RW=0;E=0;/E置低電平(根據(jù)表8-6,寫指令時,E為高脈沖,P0=y;將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫入液晶模塊_nop_();_nop_();_nop_();_nop_();空操作四個機器周期,給硬件反應(yīng)時間E=1;/E置高電平_nop_();_nop_();_nop_();_nop_();空操作四個機器周期,給硬件反應(yīng)時間E=0;當(dāng)E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令)voidLcdlMtiate(void)函數(shù)功能:對LCD的顯示模式進(jìn)行初始化設(shè)置delaynms(15);/延時15ms,首次寫指

22、令時應(yīng)給LCD一段較長的反應(yīng)時間WriteInstruction(0x38);顯示模式設(shè)置:16X2顯示,5X7點陣,8位數(shù)據(jù)接口delaynms(5);WriteInstruction(0x38);delaynms(5);WriteInstruction(0x38);delaynms(5);延時5ms,給硬件一點反應(yīng)時間延時5ms,給硬件一點反應(yīng)時間連續(xù)三次,確保初始化成功延時5ms,給硬件一點反應(yīng)時間WriteInstruction(0x0c);/顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍delaynms(5);WriteInstruction(0x06);delaynms(5);Write

23、Instruction(0x01);delaynms(5);延時5ms,給硬件一點反應(yīng)時間顯示模式設(shè)置:光標(biāo)右移,字符不移延時5ms,給硬件一點反應(yīng)時間清屏幕指令,將以前的顯示內(nèi)容清除延時5ms,給硬件一點反應(yīng)時間)(unsignedchari;WriteAddress(0x01);i=0;voiddisplay_volt(void)函數(shù)功能:顯示電壓符號數(shù)功能:顯示電壓符號寫顯示地址,將在第2行第1列開始顯示/從第一個字符開始顯示while(Stri!='0')/只要沒有寫到結(jié)束標(biāo)志,就繼續(xù)寫將字符常量寫入LCD指向下一個字符(WriteData(Stri);i+;)void

24、display_dot(void)函數(shù)功能:顯示電壓的小數(shù)點(WriteAddress(0x09);寫顯示地址,將在第1行第10列開始顯示W(wǎng)riteData('.');將小數(shù)點的字符常量寫入LCD)voiddisplay_V(void)函數(shù)功能:顯示電壓的單位(V)(.WriteAddress(0x0d);/寫顯示地址,將在第2行第13列開始顯示W(wǎng)riteData('V');/將字符常量寫入LCD)voiddisplay1(unsignedcharx)函數(shù)功能:顯示電壓的整數(shù)部分(WriteAddress(0x08);/寫顯示地址,將在第2行第7列開始顯示W(wǎng)ri

25、teData(digitx);將百位數(shù)字的字符常量寫入LCD)voiddisplay2(unsignedcharx)函數(shù)功能:顯示電壓的小數(shù)數(shù)部分(unsignedchari,j;i=x/10;取十位(小數(shù)點后第一位)j=x%10;取個位(小數(shù)點后第二位)WriteAddress(0x0a);寫顯示地址,將在第1行第11列開始顯示W(wǎng)riteData(digiti);將小數(shù)部分的第一位數(shù)字字符常量寫入LCDWriteData(digitj);將小數(shù)部分的第一位數(shù)字字符常量寫入LCD)unsignedcharA_D()函數(shù)功能:將模擬信號轉(zhuǎn)換成數(shù)字信號(unsignedchari,dat;CS=1

26、;一個轉(zhuǎn)換周期開始CLK=0;為第一個脈沖作準(zhǔn)備CS=0;/CS置0,片選有效DIO=1;/DIO置1,規(guī)定的起始信號CLK=1;第一個脈沖CLK=0;第一個脈沖的下降沿,此前DIO必須是高電平DIO=1;/DIO置1,通道選擇信號CLK=1;第二個脈沖,第2、3個脈沖下沉之前,DI必須跟別輸入兩位數(shù)據(jù)用于選擇通道,這里選通道CH0CLK=0;/第二個脈沖下降沿DIO=0;/DI置0,選擇通道0CLK=1;第三個脈沖CLK=0;/第三個脈沖下降沿DIO=1;第三個脈沖下沉之后,輸入端DIO失去作用,應(yīng)置1CLK=1;第四個脈沖for(i=0;i<8;i+)/高位在前(CLK=1;第四個脈

27、沖CLK=0;dat<<=1;將下面儲存的低位數(shù)據(jù)向右移dat|=(unsignedchar)DIO;將輸出數(shù)據(jù)DIO通過或運算儲存在dat最低位)CS=1;片選無效returndat;/將讀書的數(shù)據(jù)返回函數(shù)功能:主函數(shù)while(1)unsignedintAD_val;unsignedcharInt,Dec;LcdInitiate();delaynms(5);display_volt();display_dot();display_V();RW=0;init();TMOD=0x15;/T0工作為16位計數(shù)器)voidmain()/儲存A/D轉(zhuǎn)換后的值/分別儲存轉(zhuǎn)換后的整數(shù)部分與小數(shù)部分將液晶初始化延時5ms給硬件一點反應(yīng)時間顯示溫度說明顯示溫

溫馨提示

  • 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

提交評論