版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于STC12C5A60S2單片機的數字電阻表設計本系統(tǒng)是以STC12C5A60S2單片供電采用5V直流電源,硬件部分由單片機部分、電阻測量部分、換擋模塊、顯示部分四部分組成。其中電阻測量模塊采用的原理是伏安法采集電壓信號,顯示模塊采用LCD1602模塊顯示結果。本文同時對系統(tǒng)的軟件部分的進行比較詳細的闡述,其中重要的模塊包括AD采集數據、數據計算處理、自動換擋、LCD顯示幾個模塊。使用芯片自帶的AD將模擬量轉換為相應的數字量,由軟件控制判斷所采集到的數字量是否在合適的范圍來實現檔位的自動切換,并通過定義均值函數來減小誤差。經過調試,系統(tǒng)實現了所要求功能,誤差也在要摘要第2章智能電阻的硬件原理第3章智能電阻的軟件設計3.2.3.檔位切換函數第4章實驗結果第5章總結與展望參考文獻第1章緒論目前,電子行業(yè)發(fā)展迅速,隨著社會的發(fā)展和科學的進步,電子工業(yè)也將發(fā)展到一個新階段。電子技術越來越可以代表一個國家的綜合實力,因此精密電子產品的更新周期越來越短。每一種電子產品的設計和生產都需要更精確的電子測量儀器,這是電子產品發(fā)展的必要條件,因此,精密測量儀器將成為電自從電阻誕生以來電阻的測量方式就多種多樣:歐姆表測量,伏安法測量,橋式電路測量,半偏法測量,等效替代法測量。數字歐姆表就是一種利用模數轉換原理將數據轉換成數字量并以數字形式顯示測量結果的測量儀器。這些均子元件的數量和種類也在不斷增加。電阻器作為電子元件中應用最廣泛的器件,單片機是指一個芯片上包含了CPU、內存、內部和外部總線系統(tǒng),已經相當于一個小型的計算機了,同時單片機還可以接有外存目前一個較復雜的單片機系統(tǒng)已經可以做到將距離、圖像、聲音等復雜的信號集成在一塊芯片上,在單片機沒有廣泛使用前,要實現這些功能往往要外接復雜的電路,第一臺電腦誕生的時候需要好幾個教室來提供空間,在出現錯誤時往往需要每一條線路去測試,甚至一只蟲子會造成整個電腦崩潰,如今一塊小型的單片機芯片可能都沒有當時的一只蟲子大。這主要得益于單片機系統(tǒng)采用軟件技術代替了硬件線路,也就是當代的微控制技術。微控制技術具有體積小、計算量大、能耗低等特點大大提高了近代電子行業(yè)的發(fā)展。它可以集成現有的定時器、通訊接口等外圍設備,廣泛的用于儀器測量中外接傳感器來實現電壓、電流的測量本次設數字萬用表原理相同,也是一種測量儀器,利用數字/模擬轉換原理將測量數據轉換為數字量,并通過LCD液晶顯示模塊將測量結果可視化。目前市面上常見的電阻表按外形主要分為臺式和手持式兩種,其中手持式主要有萬用表和鉗式電阻表。臺式數字電阻表雖然不易攜帶,但其單一的功能也客觀上使得其精度和測量范圍方面較普通的指針式電阻表或數字萬用表有了很大的開發(fā)空間。臺式萬用表主要有數字歐姆表、接地電阻表、阻抗分析儀等,但是這幾種電阻測量領域測量精度低,存在依賴按鍵換擋的問題,因此可以引常用的電阻測量方法有三種:1.測頻法:方法是利用555定時器形成多諧振子,通過控制555定時器外圍電路中的R和C的值來產生不同頻率的激波。通過改變不同的電阻得到不同的頻率,最后,利用頻率與電阻的正比關系,得到電阻值,但由于該方法使用的電容受溫度影響較大,測量誤差較大。2.分壓法:我們用測量電阻和已知電阻除以電壓,然后用輸出電壓計算出未知電阻的值。3.恒流歐姆法。在電路中放置待測電阻并給以恒流電流,并且根據歐姆定律測測量頻率方法是采用555定時器,通過多諧振的輸出信號的高、低電位來控制兩臺單片機的計數器,測量電阻值Rx和計數器之間的差值,這種測量電路簡單,成本低,精度高。該方法具有結構緊湊、調整方便等優(yōu)點,且都是通過粗調和精細調整實現對檢流表進行有效的防護。同時還可以增加測量的速率,但不能準確地反映在電流計和電壓計上,所以通過改進電流計和電壓計的準確本設計采用的伏安法測量電阻,將電阻的電阻值轉換成A/D所能檢測到的電壓信號,最終將AD轉換完成的數字信號轉換進入單片機的進行計算和處理,實現自動測量、自動移位和電阻值篩選等功能,但是由于51單片機不存在AD轉換模塊需要外接,最終選擇了STC12C5A60S2芯片,該芯片兼容51單片機的庫同時也自帶10位的AD轉換模塊,在軟件方面采用的是keiluVision5來進行檔模塊其中包含放大器LM358,顯示模塊主要是LCD1602模塊。第二章是將系統(tǒng)的各個模塊分模塊拆解并附上代碼以及講解。從main函數,第三章是實驗軟硬件調試并對實驗結果進行記錄,并且判斷是否在誤差范第四章是總結論文行文邏輯,實驗創(chuàng)新點,系統(tǒng)完成過程中遇到的麻煩及解決辦法,最后展望未來。第2章智能電阻的硬件原理STC12C5A60S2單片機是由STC公司制作的單機器周期的單片機,設備要求低,開發(fā)時間短,可加密的優(yōu)點。在CPU方面他采用增強型8051CPU可以兼容傳統(tǒng)的51單片機,工作電壓為3.3v~5.5v,工作頻率為0-35MHz,有7個外部中斷I/O端口、下降沿中斷和低電平觸發(fā)中斷,并增加了支持上升沿中斷的PCA模塊,可通過外部中斷喚醒關機模式。A/D轉換器有八個10位高精度ADC,適用于驅動電機和強干擾。它的ISP(可在該系統(tǒng)中進行編程)/IAP(可在該程序中進行程序設計),不需要專門的軟件程序或專門的模擬程序,該用戶的軟件可以直接經由串口進行(P3.0/P3.STC12C5A60S2是8051系列的微處理器,它與一般51型微處理器的特點是:1)在同等晶振條件下,其運算速率是常規(guī)51的8-12倍。2、8個10個位置置1K內存擴充內存。7、有WATCH_DOG。8、多了一個插槽。9、IO端口可以被限定為4個狀態(tài)。10、存在四個可以確定中斷優(yōu)先權的狀態(tài)。STC12C5A60S2是8051系列的微處理器,它與一般51型微處理器的特點是:1)在同等晶振條件下,其運算速率是常規(guī)51單片機的8-12倍。2)存在8個10位的AD。3)增加PWM兩個定時裝置。4)有帶有適合SPI的串□.5)有EEPROM。6)內置1K內存擴充內存。7)有WATCH_DOG看門狗。8、多了一個串□。9)IO端口可以被限定為4個狀態(tài)。10)存在四個可以確定中斷優(yōu)STC12C5A60S2自帶A/D轉換器。模數轉換可以將模擬數據轉換為相應的必須保持輸入模擬信號的恒定性質。因此,在將模擬信號轉換為連續(xù)變化的數據之前,需要對離散的模擬信號進行處理,即對選定時間序列的輸入模擬信號進行采樣,保留采樣值,完成采樣值的量化和編碼,最后發(fā)送數字信號。因此,A/D轉換分為兩個階段:樣本保留和量化編碼。在本系統(tǒng)中因為自帶AD轉換模塊所以在電路過程中不需要額外在焊接AD模塊。2.2電流源分檔電路434L三專?5÷Y動電阻的測量儀系統(tǒng)實現了測量精度為<0.5%,測量的范圍在10Ω-1MQ的電阻進行自動測量與顯示。其中除了電阻外還有一個放大模塊LM358,LM358是一款8針雙運算放大器芯片。引腳8為正電源,引腳4為負電源 (雙電源操作)或接地(單電源操作);引腳1、2和3為運算放大器通道,引腳1為輸出,引腳2為反向輸入,引腳3為同相位輸入;5,6和7是另一個放大器通道,7是輸出,6是反向輸入,5是同相位輸入。它的應用包括傳感器放大器、直流增益模塊和所有其他為運算放大器使用單一電源的應用。電路設計中使用了9012晶體管,是一種非常常見的PNP晶體管,常見于無線電和各種放大器電路中,它有著廣泛的應用。三極管由發(fā)射極、基極和集電極組成。集電極到發(fā)射極電壓為-30V,集電極到基極電壓為-40V,發(fā)射極到基極電壓-5V,集電極電流0.5A,耗散功率0.625w。其最主要的測量原理是歐姆定律U=RI。如圖2所示為基于電流源分檔電路,相連。由左往右依次為P2.0,P2.1,P2.2,P2.3,P2.4,恒流源提供了5檔電流值,這五路就是給電阻分了5檔。P2.4路電流為I?=1×10-3,電阻測量范圍10~100歐姆;P2.3電流為I?=1×10??,電阻測量范圍100~1k歐姆;P2.2電流為I?=1×10-?,電阻測量范圍1k~10k歐姆;P2.1電流為I?=1×10-?,電阻測量范圍10k~100k歐姆;P2.0電流為I?=1×10?,電阻測量范圍100k~1000k歐姆,。測量流程為:首先選擇電流最小端口通,根據所測得的電壓來判斷電阻是在什么范圍。再選通合適的電路,精確地測出電壓,求出精確的電阻。所測電阻的電壓通過放大器放大后輸入給A/D轉換器。再由單片機完成數據處理并進行軟圖中,如果我們將P2.4置1那么,Q9將飽和,V1=5-0.7=4.3V。而電流如果將P2.3置1,那么,Q10將飽和,I?將滿足以下公式:I=I?=V1/R5。這樣就有單片機通第5路時,電流I=I?=I1/43=1×10-?A,此時電阻范圍為100000歐姆1000000歐姆,則電壓范圍就是0.01V0.1V,通過運算放大器放大50倍后就是0.5V5V,在AD轉換的電壓范圍內。而同理,第4路電流I=1×10-?A,因為電阻范圍為10000歐姆100000歐姆,所以放大后的電壓范圍還是在0.5V到5V之間。第3路電流I=1×10-?A,因為電阻范圍為1000歐姆~10000歐姆,100歐姆到1000歐姆,所以放大后的電壓范圍為0.5V到5V。又因為I=I10,所以I=1×10-3A。因為電阻范圍為10歐姆到100歐姆,所以放大2.2LCD顯示模塊圖2-5LCD1602接線圖顯示器由64行組成,每行包含128列,在64×16屏幕上顯示的這些列對應于在16字節(jié)的000H~00FH范圍內,RAM的內容決定了顯示器第包含16個管腳。其中管腳1,接地;管腳2,輸出,系統(tǒng)參考電源連接到5V;管腳3:液晶顯示器對比度指示器,連接電源時對比度最弱,接地時對比度最 四種狀態(tài):高電平是數據寄存器、低電平是指令寄存器。R/W用于讀寫選擇,高電平用于第3章智能電阻的軟件設計軟件總體流程圖如圖2-5所示:化化在開始后系統(tǒng)將各個模塊初始化,包括分檔模塊,LCD顯示模塊,AD采樣并計算模塊,接著由電腦控制給電阻選擇合適擋位,采集到輸出電壓后通過3.2.1.main主函數PutString(1,3,"405616PutString(2,3,"2022/}主循環(huán)函數,首先將擋位在電流最小的擋位,這個時候測量的范圍最大,電流為1*10(-7)安培,哪怕電阻最大的時候是1000k歐姆,所得的電壓也是0.1V電壓經過放大50倍是5V,在電路額定范圍內保護電路。接著是AD轉換函數和初始化模塊最后輸出函數中間加上延時函數。3.2.2.AD模塊AD顯示流程圖如2-6所示:值給一個變量,這樣在后面的程序中就可以中這個變量指向該寄存器*/sfrADC_CONTR=0xBC;sfrADC_RES=0xBD;//ADC的高sfrADC_LOW2=0xBE;//ADC的低2位寄存sfrP1ASF=0x9D;//P1secondaryfunctioncontrolreunsignedcharou[]="0000unsignedintADC_temp=0;unsignedintADC_#defineADC_POWER0x80//電源控制位總電源10000000#defineADC_SPEEDHOx40/*********************************************voidDelay(unsignedi/*********************************************jADC_CONTR=ADC_POWER|ADC_SP}/*********************************************ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|AD_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG));}主循環(huán)主要是執(zhí)行A/D采樣,檔位切換和電阻值的計算顯示這幾個關鍵函數。涉及AD轉換的兩個寄存器不能進行位尋址,所以只能直接通過計算賦值來實現功能。ADC_CONTR寄存器的第3位是AD轉換的啟動位(ADC_START),當手動將其置1后,AD轉換開始,當AD轉換結束后這個位就會自動置0。ADC_CONTR寄存器的第4位就是AD轉換的轉換標志位(ADC_FLAG),每次當AD轉換結束完成后,這個位就會自動置1,需要手動將這一位重新置0。ADC_CONTR寄存器的第7位就是AD轉換的總開關(ADC_POWER)即總開關,想用AD轉換就必須把這個位置1,將AD轉換打開。時要求比較長的部分,采用代碼中的delay函數循環(huán)語句來實現。其中P1ASF=ADC_POWER|ADC_SPEEDLL|H|ADC_START;該部分是直接把總電源、速度、端口選擇、啟動位全部置1,進行或運算后賦值給了寄存器里;ADC_CONTR&=~ADC_FLAG這句就是重新把AD轉換標志位重新置0,等待下次AD轉換。電壓是否在該模塊實現了檔位的切換,初始狀態(tài)下為第一檔,電流最小,這個時候電阻范圍是100k~1000k(1M)歐,從寄存器中獲取到的值經過換算得到實際的電壓值,每檔電阻范圍對應一個電壓范圍,如果測得的電壓值在這個范圍內即0.5V到5V范圍,則說明找到合適的電流檔,就可以進行電阻值的計算與顯示了;如果低于這個范圍,則說明當前的電流太小,需切換到下一級大電流檔;經過測量并且換擋后通過res_number函數記錄當前擋位,需要注意的是因為硬件存在誤差所以每個擋位測量出來的R需要乘以一個值來矯正,這個值通過測量實際值與輸出的比來確認,在代碼中我姑且以完美的情況來判斷,將其的系數定為1。voiddangwei(uintADC_temp)if(ADC_temp<0.5)//電壓小于0.5換擋t{}}elseif(sw4==1)//擋位在第四檔電流為1x10-4{}}elseif(sw5==1)//擋位在第五檔電流為1x10-3軟件上的檔位用變量dangwei來表示,硬件上的檔位通過IO□拉高拉低來實現切換檔位(P2.0,P2.1,P2.2,P2.3,P2.3分別表示第一至五檔,電流從小到大)。檔位切換的判斷電壓是通過實際每檔的電流乘上每檔的電阻范圍再乘上放大倍數得到的,比如第一檔中的0.5,就是10Ω(第一檔的最小電阻) *1*10-?(第一檔的電流)*50(運算放大器的放大倍數)得到的。第二路電流為I?=1×10?,電阻測量范圍100~1k歐姆;第三路電流為I?=1×10-?,電阻測量范圍1k~10k歐姆;第四路電流為I?=1×10,電阻測量范圍10k~100k歐姆;第五路電流為I5=1×10,電阻測量范圍100k~1000k歐姆。初始檔位在第一檔,如果Vo<=0.5,就是電壓偏小,需要切換到第二檔。其中擋位由SW函數來控制,當要選擇某一擋位時,將使用的通道置1其余置0,當測量范圍大于1000k歐姆時輸出NONE。電阻值計算和顯示函數流程圖如圖:圖3-3電阻測量流程圖該模塊的功能為根據不同的檔位進行不同范塊是這些模塊當中最費時的一個模塊,因為每個檔位的電相差十倍,所以每個檔的比例系數不能單純的乘中多測幾個電阻,根據測得的電阻值與萬用表測得的實際數,另外C語言在處理小數的時候取小數部分某一位的值不如取整數部分某一位值來的方便,所以在這對計算出來的電阻值進行了放大了統(tǒng)一的數組來存放顯示的字符,大大精簡了代碼。在檔位切換模塊中提到的無電阻判斷在第五檔顯示中體現,當取到的電壓值為最大值時,判斷為無電以下為電阻計算顯示模塊的詳細代碼:/*******************************************ADC_temp=(unsignedint)GetADCResult(ch);ADC_temp=ADC_temp*100/256*5;//ad轉換倍ADC_sj=ADC_temp/50;//不一定是50,等到實測值出來可以更換矯正if(res_number==1){}if(res_number==2){}if(res_number==3)if(res_number==4){}if(res_number==5){}Inttochar(R,(unsignedchar*)ou);//H整型轉換為字符型/**********************LCD忙函數檢測***********************{/*********************************************/*********************************************/**********************地址轉換***********************voidSetAddress(unsignedcharunsignedcharbyAddre{}/*********************************************{{/*********************************************/*********************************************{if(res_number<4){if(res_number>3)平,然后將指令數據送到數據□D0~D7,延時tsp1,讓1602準備接收數據,這包括首地址指令,顯示光標指令。在發(fā)送字符串到LCD的代碼過程中出現了的類型。ShowResult()函數是顯示函數,從AD模塊出數值然后將AD讀取的數值。10的AD采樣值轉換成實際值的公式測量值除以ADC的最大數值即量程再乘以參考電壓值就是實際量,其中寄存器將AD的讀取數值轉換成實際數值,但是因為電壓是經過放大50倍的所以接通過上面的公式就可以直接知道電阻阻值了。最后的Inttochar()函數是為了將整型轉換為字符型來輸出,其中值得注意的是這一部分+48是將其大小寫轉換成為ASCII碼。其中計算的時候第4或者是第5檔時他們的單位是歐姆,剩第4章實驗結果本章是記錄實驗結果與數據分析,通過單片機及附屬電路,完成被測電阻數值的自動測量與顯示。達成以下目的1、電阻測量范圍:10Ω1MΩ;,2、電阻測量的相對誤差<0.5%>;3、完成軟件的設計與調試;4、完成硬件與軟件的聯(lián)機調試。調試工作包括:點亮LCD模塊判斷液晶顯示屏有無損壞。用萬用電表測量三極管周邊電壓判斷三極管有無損壞,測量放大模塊周邊的電壓,判斷是否正常,并且通過軟件計算讓其輸出電壓穩(wěn)定,測試固定電阻找到系統(tǒng)存在的誤差并通過軟件計算讓其得出數值盡量靠近實際值。.4.1數據實際值是否符合是是是是是.4.2實物圖圖4-1實物圖本設計是設計一種基于單片機的便攜式高精度的可靠的測量電子設備——基于單片機的數字電阻表設計。本文先說明了電子元器件的發(fā)展歷程引出電阻的測量,再分析了國內外的數字電阻表研究現狀,指出了電阻測量的難點當前電阻測量領域測量精度低,并且臺式電阻表依賴按鍵換擋的問題,本設計的創(chuàng)新性是做出高可靠性、高精度、全自動測量電阻值的數字電阻表。整個系統(tǒng)主要包括電源模塊、測量電路模塊、顯示模塊等集阻值數據采集、數據顯示、自動換擋等功能于一體。對于電阻測量,伏安法測電阻,電橋測電阻使得數歐姆以上電阻測量一直不作為難題,但是小電阻測量由于存在引線電阻和接觸電阻,要精確測量有些難度,隨著開爾文電橋法的推廣,小電阻測量問題已從根本上得到解決,并在技術上得以實現?,F在我們主要致力于測量自動化和減少設備體積。由于電子測量技術的發(fā)展,精確的電阻測量不再依賴于電橋線路,采用四線制電壓和電流法的電阻測量技術已經非常成熟。目前,它越來越多地由單片機實現,并獲得了許多輔助功能,如自動量程切換、自動記錄和分析測試結本次論文中的難點部分我覺得是軟硬件系統(tǒng)的配合調節(jié),在完成整個測試過程中經常出現由于小元器件損害導致電路不通的失誤,有使用了錯誤的放大器引腳圖導致元器件在上電后變得滾燙,還有在顯示模塊的電阻阻值太小導致顯示屏過亮顯示不出讀數,而誤以為整個電路沒有接通,后面是經過將同樣的元器件復制的排到面包板上并且單獨寫了一段LC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省綿陽市平武縣2025-2026學年八年級上學期1月期末考試道德與法治試卷(含答案)
- 2025~2026學年濟南市天橋區(qū)九年級物理第一學期期末考試試題以及答案(含答案)
- 五年級下冊數學題目及答案
- 無領導討論題目及答案
- 危險化學品安全考試題及答案
- 強化訓練人教版九年級數學上冊第二十四章圓專項練習試卷(含答案詳解)
- 初中前端培訓課件
- 泵送混凝土施工技術操作要點
- 三菱PLC技術與應用實訓教程(FX3U)習題答案 模塊4 精英篇(高級技師)
- 實體經濟政治試題及答案
- 代辦煙花爆竹經營許可證協(xié)議合同
- 國企員工總額管理辦法
- 企業(yè)級AI大模型平臺落地框架
- 常見傳染病的預防與護理
- TD/T 1036-2013土地復墾質量控制標準
- 蘇教版六年級數學上冊全冊知識點歸納(全梳理)
- 車位包銷合同協(xié)議模板
- 病歷書寫規(guī)范版2025
- 中鐵物資采購投標
- 泄漏管理培訓課件
- 非遺傳承人激勵機制探索-深度研究
評論
0/150
提交評論