新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的汽車組合電子儀表

        基于單片機的汽車組合電子儀表

        作者: 時間:2013-03-06 來源:網絡 收藏


        2、硬件描述


        圖1

        LJ12芯片內部有豐富的硬件資源,我們做了如下配置:

        ? PLL:外部晶振32.768k;內部總線倍頻至4M;
        ? SCI:用于上位機通訊,比特率9600,中斷方式;
        ? SPI:時鐘1M,作為的控制,用兩個通用管腳作為SPI的片選信號;
        ? LCD:使用26×4模式,即26前極、4背極的模式,動態驅動;因為設計中用到6位LCD模塊,所以使用FP1~FP12、BP0~BP3已經足夠;
        ? Flash:利用常駐內存函數(ROM-Resident Routine)將里程數據以32位數據的形式保存于用戶閃存中。

        選取SWITEC公司出品的步進電機作為執行器。六位筆段式動態驅動液晶模塊,用于里程,單次里程或時間日期的顯示。出于習慣,汽車儀表需要一直保持帶電狀態,無需重置時間參數,為了方便演示,用兩個按鈕實現LCD顯示模式的切換。六個發光二極管分別用于顯示制動、危險、機油壓力、電瓶、發動機以及空檔信息,利用MC1413作為發光二極管的驅動。

        由微控制器的SPI直接驅動;車速和發動機轉速為脈寬調制信號或來自串口輸入,通過定時器模塊的輸入捕捉功能得到其頻率,換算得數據。

        (1) 電源及掉電保護

        輸入端使用7805。為了在掉電的時候也可以及時地保存里程數據,在電源地輸入端加一個1000uF或兩個470uF的電解電容。電源斷開的時候在IRQ管腳會產生一個中斷信號,大電容可以維持電源足夠長的時間,使得可以完成外部中斷的服務程序。

        (2)調理電路

        為了改善波形,在定時器管腳外添加了調理電路。

        (3)整體設計

        本設計面向的是市場上的中低檔轎車,為了表現這個初衷,根據長安轎車的儀表外殼及內部尺寸設計了儀表的PCB,并重新布局。


        圖2 系統框圖

        3、 軟件描述

        (1) 初始化函數

        內部總線倍頻至4M;設置定時器模塊的通道為捕捉功能;SCI波特率9600,開接收中斷;SPI時鐘頻率1M;LCD模塊26×4模式;使能Real Time Clock模塊;與指針初始化;從用戶Flash中讀取先前記錄的里程數據,并根據ODO/TRIP信號加以顯示。

        (2) 中斷服務程序

        ? 外部中斷:斷電后短時間內利用大電容的放電使指針回零。
        ? SCI中斷:遵循一定的上位機協議,接受命令,改變LCD顯示內容;改變車速和轉速數據。
        ? RTC中斷:每秒記錄一次里程數據;根據車速信號換算里程數據。

        (3) 主函數

        定時讀取里程數據,并在LCD上顯示;每一次主循環結束的時候重啟WATCHDOG;當車速或轉速信號改變之后通過指針位置的變化作出反應。


        圖3 主程序流程圖



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东海县| 察雅县| 扎囊县| 天门市| 托克逊县| 堆龙德庆县| 名山县| 拉萨市| 周至县| 恩平市| 玉树县| 岳池县| 三门峡市| 鄄城县| 黑山县| 洛浦县| 辉县市| 平阳县| 志丹县| 淮滨县| 乌拉特后旗| 乌兰浩特市| 蒙自县| 葫芦岛市| 扎鲁特旗| 德州市| 南郑县| 保德县| 屏南县| 南充市| 腾冲县| 阳泉市| 凉城县| 精河县| 定兴县| 平陆县| 都兰县| 乐业县| 敦化市| 深州市| 会东县|