基于AVR的鉛酸蓄電池管理系統(tǒng)設(shè)計(jì)
系統(tǒng)流程圖如圖 4所示。
本文引用地址:http://www.ex-cimer.com/article/166757.htm
(1) 初始化uC/OS-II系統(tǒng)環(huán)境
圖 4的左半部分所完成的功能是啟動(dòng)操作系統(tǒng),并創(chuàng)建 Main_Task和 tch_Task兩個(gè)任務(wù)。右半部分是 Main_Task()和 tch_Task()的主要內(nèi)容,這是本設(shè)計(jì)的重點(diǎn)部分。模擬信號(hào)的采集,顯示是在 Main_Task()中完成的,而對(duì)顯示方式的控制是由tch_Task()來(lái)完成的。
(2) 編程實(shí)現(xiàn) A/D轉(zhuǎn)換
模擬數(shù)據(jù)的采集是在 Main_Task( )中通過(guò)調(diào)用函數(shù) void init_ADdevice()和 intGetADresult(int channel)實(shí)現(xiàn)的。模擬信號(hào)經(jīng) A/D轉(zhuǎn)換后的一個(gè) 10位數(shù)字量,通過(guò)式(1)
(2)中將其轉(zhuǎn)換成實(shí)際的數(shù)據(jù)。式中的 3.3表示模擬量的上限值,1023是經(jīng)(2 10-1)計(jì)算得來(lái)的,經(jīng)計(jì)算后的數(shù)據(jù)就是實(shí)際的模擬量值。數(shù)據(jù)經(jīng)濾波后分別存放在兩個(gè)變量中,用于下面的繪圖部分程序。
(3) 觸摸屏控制程序
這一部分程序的思想是:若有觸摸動(dòng)作,取觸點(diǎn)坐標(biāo)值,判斷其是否屬于 LCD上顯示的控制按鈕的坐標(biāo)范圍,若是則做出相應(yīng)的控制調(diào)整,若否則無(wú)動(dòng)作。返回觸點(diǎn)坐標(biāo)的子函數(shù)為 TchScr_GetScrXY(int *x,int *y)。在本設(shè)計(jì)中,定義了 3個(gè)控制按鍵,它們用于傳遞控制信息。
(4) 繪圖的API函數(shù)
在uC/OS-II系統(tǒng)環(huán)境下,繪圖必須通過(guò)使用繪圖設(shè)備上下文(DC)來(lái)實(shí)現(xiàn)。繪圖設(shè)備上下文(DC)中包括與繪圖相關(guān)的信息,如:繪圖坐標(biāo)、畫(huà)筆顏色、畫(huà)筆寬度等等。在實(shí)際使用時(shí),使用CreateDC()創(chuàng)建繪圖設(shè)備上下文,使用DestoryDC(pdc)刪除繪圖設(shè)備上下文,這兩條語(yǔ)句在程序中應(yīng)該成對(duì)出現(xiàn)。通過(guò)使用 LineTo( )、TextOut()、Circle( )、MoveTo( )等函數(shù),可以將采樣值實(shí)時(shí)的顯示到 LCD上。
在 LCD繪圖時(shí)以下兩點(diǎn)值得注意:
(a)在 LCD繪圖時(shí)要反復(fù)使用 LineTo( ) 和MoveTo( )兩個(gè)函數(shù),但在使用該函數(shù)之前,一定要注意到 LCD的分辨率。只有知道了 LCD分辨率,才能知道 LCD的坐標(biāo)值的范圍,從而得到正確的設(shè)定結(jié)果。本設(shè)計(jì)使用的 LCD分辨率是640*480。也就是說(shuō),初始坐標(biāo)系的 x值范圍為(0≤x≤640),y值范圍(0≤y≤480)。
(b)由于LCD寬度有限,當(dāng)橫坐標(biāo) x>LCDWidth時(shí),波形就超出顯示范圍了。解決方法是在 LCD上顯示自左至右畫(huà)出的波形,當(dāng)畫(huà)到 LCD的最右端時(shí),清一次屏幕后,重新從 LCD的左端向右畫(huà)線,同時(shí)橫坐標(biāo)的值也相應(yīng)的改變。
(5) PC機(jī)上數(shù)據(jù)顯示程序
為了更好的記錄和分析數(shù)據(jù),我們?cè)?PC機(jī)上用 VC編寫(xiě)了程序,這樣可以很好保存和處理數(shù)據(jù),為性能分析和系統(tǒng)故障恢復(fù)提供了有利條件。
6.結(jié)論
uC/OS-II實(shí)時(shí)操作系統(tǒng)是開(kāi)放源碼且得到實(shí)際驗(yàn)證的軟件平臺(tái),而ARM處理器具有強(qiáng)大的32位RISC性能。基于uC/OS-II及ARM,能大量減輕研發(fā)任務(wù),提高研發(fā)速度,為在短時(shí)間內(nèi)設(shè)計(jì)出控制性能優(yōu)秀的數(shù)據(jù)采集系統(tǒng)創(chuàng)造了條件。本文數(shù)據(jù)采集系統(tǒng)已成功應(yīng)用于工業(yè)場(chǎng)合溫度和水位的實(shí)時(shí)測(cè)控,達(dá)到了很好的效果。
本文作者創(chuàng)新點(diǎn):摒棄了傳統(tǒng)單片機(jī)數(shù)據(jù)采集,采用移植性好的嵌入式 uC/OS-II系統(tǒng),具有后續(xù)開(kāi)發(fā)簡(jiǎn)單,系統(tǒng)穩(wěn)定性好,可靠性高等特點(diǎn)。本設(shè)計(jì)可以很容易得移植到其他數(shù)據(jù)采集系統(tǒng)當(dāng)中去。
評(píng)論