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

下載本文檔

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

文檔簡介

數(shù)字電壓表的設(shè)計(jì)第1章引言在電量的測(cè)量中,電壓、電流和頻率是最根本的三個(gè)被測(cè)量,其中電壓量的測(cè)量最為經(jīng)常。而且隨著電子技術(shù)的開展,更是經(jīng)常需要測(cè)量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測(cè)量儀器。數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、測(cè)量速度快等特而得到廣泛應(yīng)用。傳統(tǒng)的指針式刻度電壓表功能單一,精度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時(shí)代的需要。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC實(shí)時(shí)通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與根底。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。目前,數(shù)字電壓表的內(nèi)部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度,因而,以后數(shù)字電壓表的開展就著眼在高精度和低本錢這兩個(gè)方面。本文是以簡易數(shù)字直流電壓表的設(shè)計(jì)為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。第2章系統(tǒng)總體方案設(shè)計(jì)選擇與說明2.1設(shè)計(jì)要求1、增強(qiáng)型MCS-51系列單片機(jī)STC12C5A60S2為核心器件,組成一個(gè)簡單的直流數(shù)字電壓表。2、采用1路模擬量輸入,能夠測(cè)量0-10V之間的直流電壓值。3、電壓顯示采用LCD1602顯示。4、盡量使用較少的元器件。2.2設(shè)計(jì)思路1、根據(jù)設(shè)計(jì)要求,選擇STC12C5A60S2單片機(jī)為核心控制器件。2、A/D轉(zhuǎn)換采用STC12C5A60S2內(nèi)部自帶A/D實(shí)現(xiàn)。3、電壓顯示采用LCD1602顯示。2.3設(shè)計(jì)方案硬件電路設(shè)計(jì)由7個(gè)局部組成:STC12C5A60S2單片機(jī)系統(tǒng),數(shù)碼管顯示系統(tǒng)、時(shí)鐘電路、復(fù)位電路檔位調(diào)節(jié)電路以及測(cè)量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖1所示。時(shí)鐘電路時(shí)鐘電路測(cè)量電壓輸入入LCD1602顯示STC12C5A60S2P1P0P2 P2 P0復(fù)位電路圖2.1數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖第3章硬件電路設(shè)計(jì)3.1STC12C5A60S2單片機(jī)圖3.1STC12C5A60S2單片機(jī)引腳圖及實(shí)物圖3.2STC12C5A60S2系列單片機(jī)主要性能1〕高速:1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)型8051內(nèi)核,速度比普通8051快6~12倍。2〕寬電壓:5.5~3.3V,2.2~3.6V(STC12LE5A60S2系列)。3〕增加第二復(fù)位功能腳/P4.6(高可靠復(fù)位,可調(diào)整復(fù)位門檻電壓,頻率<12MHz時(shí),無需此功能)。4〕增加外部掉電檢測(cè)電路/P4.6,可在掉電時(shí),及時(shí)將數(shù)據(jù)保存進(jìn)EEPROM,正常工作時(shí)無需操作EEPROM。5〕低功耗設(shè)計(jì):空閑模式(可由任意一個(gè)中斷喚醒)。6〕低功耗設(shè)計(jì):掉電模式(可由外部中斷喚醒),可支持下降沿/上升沿和遠(yuǎn)程喚醒。7〕支持掉電喚醒的管腳:INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(或P4.2),CCP1/P1.4(或P4.3),EX_LVD/P4.6。8)工作頻率:0~35MHz,相當(dāng)于普通8051:0~420MHz。9)時(shí)鐘:外部晶體或內(nèi)部RC振蕩器可選,在ISP下載編程用戶程序時(shí)設(shè)置。10)8/16/20/32/40/48/52/56/60/62K字節(jié)片內(nèi)Flash程序存儲(chǔ)器,擦寫次數(shù)10萬次以上。11)1280字節(jié)片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器。12)芯片內(nèi)EEPROM功能,擦寫次數(shù)10萬次以上。13)ISP/IAP,在系統(tǒng)可編程/在應(yīng)用可編程,無需編程器/仿真器。14)8通道,10位高速ADC,速度可達(dá)25萬次/秒,2路PWM還可當(dāng)2路D/A使用。15)2通道捕獲/比擬單元(PWM/PCA/CCP),也可用來再實(shí)現(xiàn)2個(gè)定時(shí)器或2個(gè)外部中斷(支持上升沿/下降沿中斷)。16)4個(gè)16位定時(shí)器,兼容普通8051的定時(shí)器T0/T1,2路PCA實(shí)現(xiàn)2個(gè)定時(shí)器。17)可編程時(shí)鐘輸出功能,T0在P3.4輸出時(shí)鐘,T1在P3.5輸出時(shí)鐘,BRT在P1.0輸出時(shí)鐘。18)硬件看門狗(WDT)。19)高速SPI串行通信端口。20)全雙工異步串行口(UART),兼容普通8051的串口。21)通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)??稍O(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,開漏。每個(gè)I/O口驅(qū)動(dòng)能力均可到達(dá)20mA,但整個(gè)芯片最大不得超過120mA。3.3STC12C5A60S2系列單片機(jī)的A/D轉(zhuǎn)換器的結(jié)構(gòu)STC12C5A60S2系列單片機(jī)的A/D轉(zhuǎn)換口在P1口〔P1.7-P1.0〕,有8路10位高速A/D轉(zhuǎn)換器,速度可到達(dá)250KHz〔25萬次/秒〕。8路電壓輸入型A/D,可做溫度檢測(cè)、電源電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。上電復(fù)位后P1口為弱上拉型I/O口,用戶可以通過軟件設(shè)置將8路中的任何一路設(shè)置為A/D轉(zhuǎn)換,不需作為A/D使用的I/O口可以繼續(xù)作為I/O口使用。STC12C5A60S2系列單片機(jī)ADC的結(jié)構(gòu)如下列圖所示圖3.2STC12C5A60S2系列單片機(jī)ADC的結(jié)構(gòu)圖3.3當(dāng)AUXR.1/ADRJ=0時(shí),A/D轉(zhuǎn)換結(jié)果存放器格式圖3.4當(dāng)AUXR.1/ADRJ=1時(shí),A/D轉(zhuǎn)換結(jié)果存放器格式STC12C5A60S2系列單片機(jī)ADC由多路選擇開關(guān)、比擬器、逐次比擬存放器、10位ADC轉(zhuǎn)換寄結(jié)果存器〔ADC_RES和ADC_RESL〕以及ADC_CONTR構(gòu)成。STC12C5A60S2系列單片機(jī)的ADC是逐次比擬型ADC,逐次比擬型ADC由一個(gè)比擬D/A轉(zhuǎn)換器構(gòu)成,通過逐次比擬邏輯,從最高位〔MSB〕開始,順序地對(duì)每一輸入電壓與內(nèi)置D/A轉(zhuǎn)換器輸出比擬,經(jīng)過屢次比擬,使轉(zhuǎn)換所得的數(shù)字量逐次比逼近輸入模擬量對(duì)應(yīng)值。逐次比擬型A/D轉(zhuǎn)換器具有速度高,功耗低等特點(diǎn)。從上圖可以看出,通過模擬多路開關(guān),將通過ADC0-ADC7的模擬量輸入送給比擬器。用數(shù)/模轉(zhuǎn)換器〔DAC〕轉(zhuǎn)換的模擬量與本次輸入的模擬量通過比擬器進(jìn)行比擬,將比擬結(jié)果保存到逐次比擬器,并通過逐次比擬存放器輸出轉(zhuǎn)換結(jié)果。A/D轉(zhuǎn)換結(jié)束后,最終的轉(zhuǎn)換結(jié)果保存到ADC轉(zhuǎn)換結(jié)果存放器ADC_RES和ADC_RESL,同時(shí),置位ADC控制存放器ADC_CONTR中的A/D轉(zhuǎn)換結(jié)束標(biāo)志位ADC_FLAG,以供程序查詢或發(fā)出中斷申請(qǐng)。模擬通道的選擇控制由ADC控制存放器ADC_CONTR中的CHS2~CHS0確定。ADC的轉(zhuǎn)換速度由ADC控制存放器中的SPEED1和SPEED0確定。在使用ADC之前,應(yīng)先給ADC上電,也就是置位ADC控制存放器中的ADC_POWER位。當(dāng)ADRJ=0時(shí),如果取10位結(jié)果,那么按下面公式計(jì)算:10-bitA/DConversionResult:(ADC_RES[7:0],ADC_RESL[1:0])=1023*Vin/Vcc當(dāng)ADRJ=0時(shí),如果取8位結(jié)果,那么按下面公式計(jì)算:8-bitA/DConversionResult:(ADC_RES[7:0])=255*Vin/Vcc當(dāng)ADRJ=1時(shí),如果取10位結(jié)果,那么按下面公式計(jì)算:10-bitA/DConversionResult:(ADC_RESL[1:0],ADC_RES[7:0])=1023*Vin/Vcc當(dāng)ADRJ=1時(shí),如果取8位結(jié)果,那么按下面公式計(jì)算:8-bitA/DConversionResult:(ADC_RESL[1:0],ADC_RES[7:2])=255*Vin/Vcc式中,Vin為模擬輸入電壓,Vcc為單片機(jī)實(shí)際工作電壓,用單片機(jī)工作電壓作為模擬參考電壓。3.4與A/D轉(zhuǎn)換相關(guān)的存放器及說明與STC12C5A60S2系列單片機(jī)A/D轉(zhuǎn)換相關(guān)的存放器表3.1A/D轉(zhuǎn)換相關(guān)的存放器1.P1口模擬功能控制存放器P1ASF STC12C5A60S2系列單片機(jī)的A/D轉(zhuǎn)換通道與P1(P1.7-P1.0)復(fù)用,上電復(fù)位后P1為弱上拉型I/O口,用戶可以通過將8路中的如何一路設(shè)置為A/D轉(zhuǎn)換,不需作為A/D使用的P1口可繼續(xù)作為I/O口使用〔建議只作為輸入〕。需作為A/D使用的口需要先將P1ASF特殊功能存放器中的相應(yīng)位置為“1〞,將相應(yīng)的口設(shè)置為模擬功能。P1ASF存放器的格式如下: P1ASF:P1口模擬功能控制存放器〔只讀〕表3.2P1ASF存放器當(dāng)P1口中的相應(yīng)位作為A/D使用時(shí),要將P1ASF中的相應(yīng)位置“1〞表3.3P1ASF存放器設(shè)置2.ADC控制存放器ADC_CONTRADC_CONTR存放器的格式如下:ADC_CONRTR:ADC控制存放器表3.4ADC控制存放器對(duì)ADC_CONTR存放器進(jìn)行操作,建議直接用MOV賦值語句,不要用“與〞和“或〞語句。ADC_POWER:ADC電源控制位。 0:關(guān)閉A/D轉(zhuǎn)換電源; 1:翻開A/D轉(zhuǎn)換電源; 建議進(jìn)入控模式前,將ADC電源關(guān)閉,即ADC_POWER=0.啟動(dòng)A/D轉(zhuǎn)換前一定要確認(rèn)A/D電源已翻開,A/D轉(zhuǎn)換結(jié)束后關(guān)閉A/D電源可決定功耗,也可以不關(guān)閉。初次翻開內(nèi)部A/D轉(zhuǎn)換模擬電源,需適當(dāng)延時(shí),等內(nèi)部模擬電源穩(wěn)定后,再啟動(dòng)A/D轉(zhuǎn)換。 建議啟動(dòng)A/D轉(zhuǎn)換后,在A/D轉(zhuǎn)換結(jié)束之前,不要改變?nèi)魏蜪/O口的狀態(tài),有利于高精度A/D轉(zhuǎn)換,假設(shè)能將定時(shí)器/串行口/中斷系統(tǒng)關(guān)閉更好。SPEED1,SPEED0:模數(shù)轉(zhuǎn)換速度控制位表3.5模數(shù)轉(zhuǎn)換速度控制位設(shè)置STC12C5A60S2系列單片機(jī)的A/D轉(zhuǎn)換模塊所使用的時(shí)鐘時(shí)內(nèi)部〔或外部石英晶體〕所產(chǎn)生的系統(tǒng)時(shí)鐘,不使用時(shí)鐘分頻存放器CLK_DIV對(duì)系統(tǒng)分頻后所產(chǎn)生的供給CPU工作的時(shí)鐘?!埠锰帲哼@樣可以讓ADC用較高頻率工作,提高A/D的轉(zhuǎn)換速度。讓CPU工作工作在較低頻率,降低系統(tǒng)功耗〕。ADC_FLAG: 模數(shù)轉(zhuǎn)換結(jié)束標(biāo)志位,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG=1,要由軟件清零。不管是A/D轉(zhuǎn)換完成后由該位申請(qǐng)中斷,還是由軟件查詢?cè)摌?biāo)志A/D轉(zhuǎn)換是否結(jié)束,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG=1,一定要軟件清零。ADC_START: 模數(shù)轉(zhuǎn)換器〔ADC〕轉(zhuǎn)換啟動(dòng)控制位,設(shè)置為“1〞時(shí),開始轉(zhuǎn)換,轉(zhuǎn)換結(jié)束 后ADC_START=1;CHS2/CHS1/CHS0:模擬輸入通道選擇表3.6模擬輸入通道選擇設(shè)置ADC_CONTR控制存放器后,要加4個(gè)空操作延時(shí)后才能正確度到ADC_CONTR存放器的值。原因是設(shè)置ADC_CONTR控制存放器的語句執(zhí)行后,要經(jīng)過4個(gè)CPU時(shí)鐘的延時(shí),其值才能夠保證被設(shè)置進(jìn)ADC_CONTR控制存放器。 MOVADC_CONTR,#DATA NOP NOP NOP NOP MOVA,ADC_CONRT3、A/D轉(zhuǎn)換結(jié)果存放器ADC_RES、ADC_RESL特殊功能存放器ADC_RES和ADC_RESL存放器用于存放A/D轉(zhuǎn)換結(jié)果,其格式如下:表3.7用于存放A/D轉(zhuǎn)換結(jié)果存放器ADC_RES、ADC_RESLAUXR1存放器的ADRJ位是A/D轉(zhuǎn)換結(jié)果存放器的數(shù)據(jù)格式調(diào)整控制位。表3.8當(dāng)ADRJ=0時(shí),10位A/D轉(zhuǎn)換結(jié)果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2位中。表3.9當(dāng)ADRJ=1時(shí),10位A/D轉(zhuǎn)換結(jié)果的高2位存放在ADC_RES的低2位中,低8位存放在ADC_RESL中。4、與A/D中斷有關(guān)的存放器 IE:中斷允許存放器 表3.10中斷允許存放器EA: CPU的中斷開放標(biāo)志,EA=1,CPU開放中斷,EA=0,CPU屏蔽所有的中斷請(qǐng)求。EADC: A/D轉(zhuǎn)換中斷允許位。 EADC=1,允許A/D中斷; EADC=0,屏蔽A/D中斷。 IPH:中斷優(yōu)先級(jí)控制存放器高〔不可位尋址〕 表3.11中斷優(yōu)先級(jí)控制存放器高 IP:中斷優(yōu)先級(jí)控制存放器低〔可以位尋址〕 表3.12中斷優(yōu)先級(jí)控制存放器低PADCH,PADC:ADC轉(zhuǎn)換優(yōu)先級(jí)控制位。5、ADC初始化程序/*----------------------------初始化ADC----------------------------*/voidInitADC(void){P1ASF=0x58;//設(shè)置P1口為AD口 01000111 01011000ADC_RES=0;//去除結(jié)果存放器ADC_CONTR=ADC_POWER|ADC_SPEEDLL;Delay(50);//ADC上電并延時(shí)}6、ADC讀子函數(shù)/*----------------------------發(fā)送ADC結(jié)果到PC----------------------------*/voidShowResult(BYTEch){floatvalue; change_long_data_to_array(disadch,2,ch); value=GetADCResult(ch); value=value/255*4.8; change_data_to_array(disadcval,5,1,value);}/*----------------------------讀取ADC結(jié)果----------------------------*/BYTEGetADCResult(BYTEch){ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|ADC_START;_nop_();//等待4個(gè)NOP_nop_();_nop_();_nop_(); _nop_();//等待4個(gè)NOP_nop_();_nop_();_nop_(); _nop_();//等待4個(gè)NOP_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG));//等待ADC轉(zhuǎn)換完成ADC_CONTR&=~ADC_FLAG;//CloseADCreturnADC_RES;//返回ADC結(jié)果}3.5系統(tǒng)電路設(shè)計(jì)、說明3.5.1系統(tǒng)電路總原理圖圖3.5系統(tǒng)原理圖3.5.2晶振電路簡介時(shí)鐘信號(hào)的振蕩器提供正常工作穩(wěn)定的供給鏈接管理。晶振也被稱為晶振諧振器,是一種機(jī)電設(shè)備,是需要精密磨削的石英晶體鍍上電極焊上導(dǎo)線制成。這種晶體有一個(gè)很關(guān)鍵的特性----壓電效應(yīng),給它導(dǎo)電,產(chǎn)生機(jī)械振蕩,反之,給它機(jī)械力,便會(huì)產(chǎn)生電[7]。它的形狀,材質(zhì),切割方向影響到振蕩的頻率。根據(jù)石英晶體等效為一個(gè)諧振回路,它的機(jī)電效應(yīng)是機(jī)-電-機(jī)-電..的不斷轉(zhuǎn)換,由電感和電容組成的諧振回路是電場(chǎng)-磁場(chǎng)的不斷轉(zhuǎn)換。AT89S52的反相放大器,振蕩器,時(shí)鐘信號(hào)可以由單片機(jī)產(chǎn)生周期性功能是機(jī)械指令驅(qū)動(dòng)芯片實(shí)現(xiàn)。這個(gè)放大器與石英晶體或陶瓷諧振器一起可構(gòu)成一個(gè)自激振蕩器,外接石英晶體或陶瓷諧振器以及電容C8和C10組成并聯(lián)諧振電路,接在放大器的反應(yīng)回路中。一個(gè)外部電容C8和C10的值雖然沒有嚴(yán)格的要求,但會(huì)影響許多電容振蕩器的頻率穩(wěn)定度、振蕩器、起振圈內(nèi)部振蕩的接法的快速及時(shí)性和溫度穩(wěn)定性。AT89S52芯片里面有一個(gè)反相高增益放大器,它兩頭跟石英晶體及兩個(gè)常用30pF電容相連接,組成穩(wěn)定的自激振蕩器微調(diào)震蕩頻率。震蕩電路如圖5所示。圖3.6晶振電路3.5.3復(fù)位電路系統(tǒng)CPU和其輔助部件是在一個(gè)精確的狀態(tài)開始運(yùn)行,單片機(jī)成功復(fù)位。不管是電源故障或剛接上電源,要使用單片機(jī)就要先復(fù)位。施密特觸發(fā)器通過AT89S52單片機(jī)RST引腳接收復(fù)位信號(hào)。當(dāng)系統(tǒng)振蕩穩(wěn)定沒發(fā)生異常情況下,假設(shè)RST出現(xiàn)一個(gè)持續(xù)24個(gè)振蕩周期的高電平,那么系統(tǒng)復(fù)位。本設(shè)計(jì)系統(tǒng)是自動(dòng)電源復(fù)位。本系統(tǒng)中采用上電電路復(fù)位,即在單片機(jī)運(yùn)行期間人工的復(fù)位,方便又簡單。工作按鈕接通電源,單片機(jī)便可復(fù)位,即手動(dòng)復(fù)位完成。系統(tǒng)上電運(yùn)行后,如果要復(fù)位,那么動(dòng)手復(fù)位即可,手動(dòng)復(fù)位電路如圖6所示。圖3.7復(fù)位電路3.5.4顯示電路LCD1602顯示32個(gè)字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論