新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于AVR的鉛酸蓄電池管理系統設計

        基于AVR的鉛酸蓄電池管理系統設計

        作者: 時間:2010-03-18 來源:網絡 收藏
        5. 應用任務
        系統流程圖如圖 4所示。

        本文引用地址:http://www.104case.com/article/166757.htm




        (1) 初始化uC/OS-II系統環境
        圖 4的左半部分所完成的功能是啟動操作系統,并創建 Main_Task和 tch_Task兩個任務。右半部分是 Main_Task()和 tch_Task()的主要內容,這是本的重點部分。模擬信號的采集,顯示是在 Main_Task()中完成的,而對顯示方式的控制是由tch_Task()來完成的。
        (2) 編程實現 A/D轉換
        模擬數據的采集是在 Main_Task( )中通過調用函數 void init_ADdevice()和 intGetADresult(int channel)實現的。模擬信號經 A/D轉換后的一個 10位數字量,通過式(1)
        (2)中將其轉換成實際的數據。式中的 3.3表示模擬量的上限值,1023是經(2 10-1)計算得來的,經計算后的數據就是實際的模擬量值。數據經濾波后分別存放在兩個變量中,用于下面的繪圖部分程序。
        (3) 觸摸屏控制程序
        這一部分程序的思想是:若有觸摸動作,取觸點坐標值,判斷其是否屬于 LCD上顯示的控制按鈕的坐標范圍,若是則做出相應的控制調整,若否則無動作。返回觸點坐標的子函數為 TchScr_GetScrXY(int *x,int *y)。在本中,定義了 3個控制按鍵,它們用于傳遞控制信息。
        (4) 繪圖的API函數

        在uC/OS-II系統環境下,繪圖必須通過使用繪圖設備上下文(DC)來實現。繪圖設備上下文(DC)中包括與繪圖相關的信息,如:繪圖坐標、畫筆顏色、畫筆寬度等等。在實際使用時,使用CreateDC()創建繪圖設備上下文,使用DestoryDC(pdc)刪除繪圖設備上下文,這兩條語句在程序中應該成對出現。通過使用 LineTo( )、TextOut()、Circle( )、MoveTo( )等函數,可以將采樣值實時的顯示到 LCD上。
        在 LCD繪圖時以下兩點值得注意:
        (a)在 LCD繪圖時要反復使用 LineTo( ) 和MoveTo( )兩個函數,但在使用該函數之前,一定要注意到 LCD的分辨率。只有知道了 LCD分辨率,才能知道 LCD的坐標值的范圍,從而得到正確的設定結果。本設計使用的 LCD分辨率是640*480。也就是說,初始坐標系的 x值范圍為(0≤x≤640),y值范圍(0≤y≤480)。
        (b)由于LCD寬度有限,當橫坐標 x>LCDWidth時,波形就超出顯示范圍了。解決方法是在 LCD上顯示自左至右畫出的波形,當畫到 LCD的最右端時,清一次屏幕后,重新從 LCD的左端向右畫線,同時橫坐標的值也相應的改變。
        (5) PC機上數據顯示程序

        為了更好的記錄和分析數據,我們在 PC機上用 VC編寫了程序,這樣可以很好保存和處理數據,為性能分析和系統故障恢復提供了有利條件。
        6.結論
        uC/OS-II實時操作系統是開放源碼且得到實際驗證的軟件平臺,而ARM處理器具有強大的32位RISC性能。uC/OS-II及ARM,能大量減輕研發任務,提高研發速度,為在短時間內設計出控制性能優秀的數據采集系統創造了條件。本文數據采集系統已成功應用于工業場合溫度和水位的實時測控,達到了很好的效果。
        本文作者創新點:摒棄了傳統單片機數據采集,采用移植性好的嵌入式 uC/OS-II系統,具有后續開發簡單,系統穩定性好,可靠性高等特點。本設計可以很容易得移植到其他數據采集系統當中去。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 佛冈县| 防城港市| 盐边县| 手游| 岳普湖县| 拜泉县| 鄂温| 阳西县| 元氏县| 浦东新区| 五莲县| 友谊县| 静海县| 武陟县| 哈巴河县| 三门峡市| 荣昌县| 富源县| 英德市| 全南县| 云和县| 涞水县| 甘洛县| 台前县| 彭阳县| 湖口县| 东乡族自治县| 太仆寺旗| 芷江| 黔西县| 灌南县| 乌鲁木齐市| 阳西县| 阿图什市| 阿巴嘎旗| 瑞安市| 尚志市| 莒南县| 东平县| 衡阳市| 绵阳市|