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