淺析基于STC12C5A60S2 單片機的電量監測技術(shù)研究論文
1 引言
隨著(zhù)國家“節約發(fā)展”理念的提出,越來(lái)越多的人們青睞于新能源交通工具。電動(dòng)車(chē)作為一種人們生活中首選的代步工具,保有量逐年提升,而電動(dòng)車(chē)續航、電量檢測和電池狀況監測的問(wèn)題,也成為了大家所關(guān)心的重要問(wèn)題。本文設計了一種利用STC12C5A60S2 單片機的電動(dòng)車(chē)電量監測系統,利用單片機模數轉換的功能,實(shí)現了電動(dòng)車(chē)蓄電池電量的實(shí)時(shí)顯示、監督、管理以及異常情況警報。該系統成本較低,使用較方便,具有較高的應用價(jià)值。
2 系統總體設計
本文所研究的系統主要由采集電路、數據處理部分和顯示部分等組成。通過(guò)采集電路對蓄電池的電壓等數據進(jìn)行采樣,然后將采集的數據通過(guò)單片機的A/D 轉換功能得到電量數據,并將結果存入到相關(guān)的寄存器。微處理器通過(guò)相關(guān)接口將所需參數讀到微處理器內部,并將電量、經(jīng)緯度等數據在LCD 屏中顯示,讓用戶(hù)直觀(guān)地觀(guān)察到實(shí)時(shí)的數據。
3 系統硬件組成
本系統采用的單片機是STC12C5A60S2 單片機,利用單片機具有的A/D 轉換功能,實(shí)現了將模擬信號(電壓)轉化為數字信號,以便后續的傳輸和處理。
3.1 STC12C5A60S2 單片機
STC12C5A60S2 單片機是STC 生產(chǎn)的一款單時(shí)鐘/ 機器周期(IT)的單片機,是一款新一代的8051 單片機。STC12C5A60S2 單片機運行速度高,可以達到傳統的8051 單片機速度的8-12 倍,功率耗損很低,而且在干擾很強大的環(huán)境中也可以穩定運行,同時(shí)指令代碼完全兼容傳統的8051 單片機。工作電壓 3.5V—5.5V,工作頻率范圍 0-35MHz。STC12C5A60S2 單片機包含 CPU、存儲 Flash、SRAM、定時(shí)/ 計時(shí)器、I/O 接口、高速A/D 轉換器、SPI 接口、PAC、看門(mén)狗及片內R/C 振蕩器和外部晶體振蕩電路等模塊。
3.2 STC12C5A60S2 單片機的高速A/D 轉換
3.2.1 A/D 轉換器結構
STC12C5A60S2 系列帶A/D 轉換的.單片機的A/D轉換口在P1 口(P1.7-P1.0) ,有 8 路 10 位高速A/D 轉換器 , 速度可達到250KHz。8 路電壓輸入型A/D,可做溫度檢測、電池電壓檢測、按鍵掃描、頻譜檢測等。上電復位后P1 口為弱上拉型I/O 口,用戶(hù)可以通過(guò)軟件設置將8 路中的任何一路設置為A/D 轉換,不需作為A/D 使用的口可繼續作為I/O 口使用。
3.2.2 逐次比較法A/D 轉換
STC12C5A60S2 單片機采用的是逐次比較型A/D轉換電路,該電路使用了二分搜索算法。啟動(dòng)轉換后,先將逐次比較寄存器SAR 最高位置“1”,其余位置“0”,相當于取參考電壓VREF 的1/2 與輸入電壓VIN 進(jìn)行比較。若VREF/2>VIN,那么將最高位置“0”;此后次高位置1,相當于在1/2 范圍中再對半搜索。若VREF/2< VIN, 那么最高位和次高位均為1, 這相當于在另一個(gè)1/2 范圍中再作對半搜索. 如此進(jìn)行直到SAR的所有位都在逐次比較過(guò)程中被確定。SAR 的輸出即為所需的二進(jìn)制數字量。由此可見(jiàn),這類(lèi)A/D 轉換器在一個(gè)時(shí)鐘周期只完成一位轉換. 若要獲得N 位的分辨率, 它就必須執行N 次比較操作, 因此轉換速度慢。它的優(yōu)點(diǎn)是占用面積小, 復雜度和功耗通常低于其它類(lèi)型的A/D 轉換電路,同時(shí)分辨率也較高,且不存在延遲問(wèn)題。
4 程序的設計與編寫(xiě)實(shí)現
在程序設計之初,我首先想到的是要對寄存器進(jìn)行設計。因此,我在innit()初始化函數中對寄存器值進(jìn)行了設計。利用sfr P1ASF = 0x9D 與P1ASF=0x01語(yǔ)句對I/O 口進(jìn)行定義?紤]到轉換精度的問(wèn)題,本文采取兩種措施來(lái)保證轉換精確度。第一種方法是舍棄了取8 位結果的方式,轉而用了取完整10 位結果的方式,雖然增加了運算量,但因為STC12C5A60S2 單片機的高速運算能力,因此并不會(huì )降低轉換能力,同時(shí)對特殊寄存器ADRJ 置0,即sfr ADC_RES 為高8 位、sfrADC_RESL 為低2 位,并采取下面的計算公式:1 0 - b i t A / D C o n v e r s i o n R e s u l t : ( A D C _RES[7:0],ADC_RESL[1:0])=1024*Vin/Vcc。第二種方法是對所示的轉換速度控制寄存器ADC_SPEEDLL 利用宏定義將其置0 具體實(shí)現方法為#define ADC_SPEEDLL 0X00。目的是提高模數轉換的時(shí)鐘周期數,以此來(lái)提高轉換精度。最后通后ADCCONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|0 語(yǔ)句對寄存器控制的最終實(shí)現。當模數轉換開(kāi)始后,需要檢測轉換是否完成,此時(shí)只需要一個(gè)while 語(yǔ)句將ADC 控制寄存器ADC_CONTR 與ADC標志位ADC_FLAG 相與后取反檢測。此時(shí)需要注意的是,當檢測完成后要清除轉換完成標志。由于我們用了取完整10 位結果的方式而STC12C5A60S2 單片機的寄存器位8 位,因此要對轉換結果高8 位左移兩位并與低2 位進(jìn)行或操作。
5 硬件電路的實(shí)現方法
電量監控是利用STC12C5A60S2 單片機自有的模數轉換功能, 通過(guò)大電阻分壓的技術(shù)將電池的電壓通過(guò)放大器構成的電壓跟隨器隔離、RC 低通濾波電路的濾波后,送入單片機進(jìn)行轉換。采用此大電阻分壓方法的另一優(yōu)點(diǎn)是降低整個(gè)系統的功耗,節約能源。
本文介紹利用 STC12C5A60S2 單片機來(lái)實(shí)現模數轉換,并使用單片機的擴展性以及對輸入信號的變化自適應性來(lái)適應輸入輸出設備的變化。當開(kāi)發(fā)者需要詳細的轉換只需要對程序進(jìn)行修改并下載即可。這樣方便了開(kāi)發(fā)者對轉換的結果進(jìn)行處理與對比,并根據自己的需要不用改動(dòng)硬件就能對其轉換結果加以處理。本系統為了A/D 轉換能被更好的使用,我們實(shí)現了把A/D 轉換的結果通過(guò)顯示屏展示出來(lái)。為了滿(mǎn)足開(kāi)發(fā)人的需求,系統設計了一個(gè)通信串口,利用CH340G 芯片將USB轉為串口,有利于電腦與單片機傳輸數據,開(kāi)發(fā)者可以編寫(xiě)自己需要的程序并下載到單片機。
6 總結與展望
本文詳細的介紹了基于STC12C5A60S2 單片機模數轉換的電動(dòng)車(chē)電量監測技術(shù),并在實(shí)踐中得到應用,經(jīng)過(guò)團隊成員的努力,實(shí)現了預期功能效果,希望能夠促進(jìn)電動(dòng)車(chē)的未來(lái)發(fā)展,方便人們的生活。
【淺析基于STC12C5A60S2 單片機的電量監測技術(shù)研究論文】相關(guān)文章:
淺析基于GMS網(wǎng)絡(luò )的多通道水中油在線(xiàn)監測系統研究論文10-31
基于多單片機的串口擴展設計論文11-17
廣播電視網(wǎng)絡(luò )監測技術(shù)研究論文11-07
基于移動(dòng)Agent系統的安全技術(shù)研究論文11-06
基于單片機的倒車(chē)雷達設計論文開(kāi)題報告12-03
農作物長(cháng)勢監測技術(shù)研究性論文11-06