泉州信息職業(yè)技術(shù)學院 何燕陽
汽車電子產(chǎn)品的開發(fā),一方面要克服汽車惡劣的工作條件以最好的技術(shù)可靠地提高汽車電子化程度,另一方面又要具有最低的價格優(yōu)勢,以面對市場激烈競爭,這對于設(shè)計和應(yīng)用都具有挑戰(zhàn)性。本文結(jié)合生產(chǎn)實際,綜合考慮功能需求與成本因素,使用了盡量少的元器件,提供了一款性價比高的汽車溫度電子鐘的設(shè)計方法。
意法單片機STM8S1O3F3工作電壓范圍寬:2.95到5.5V以及帶有時鐘監(jiān)控的時鐘安全保障系統(tǒng),保障了單片機系統(tǒng)的高可靠性,適合作為車載電子器件。該單片機比51單片機價格更低、性能更穩(wěn)定、運算速度更快、資源更豐富。意法單片機STM8 S1O3F3引腳圖如圖1。
STM8S1O3F3單片機具有用戶可調(diào)整的16MHz CPU時鐘頻率,容量為8K字節(jié)的Flash程序存儲器,集成64O字節(jié)真正的數(shù)據(jù)存儲器EEPROM和1K字節(jié)的RAM,強大的I/O功能,具有16位高級控制定時器(TIM1),SPI,I2C,UART,窗口看門狗,獨立看門狗,ADC,PWM定時器(TIM2),8位定時器(TIM4)等資源。單線接口模塊(SWIM)和調(diào)試模塊(DM),允許非侵入式、實時的在線調(diào)試和快速的存儲器編程。
見圖2和表1。
圖1 STM8S103F3引腳圖
圖2 溫度電子鐘系統(tǒng)框圖
該硬件電路的設(shè)計包括電源部分、車鑰匙ACC開關(guān)信號轉(zhuǎn)換處理電路、STM8S1O3F3單片機最小系統(tǒng)電路、溫度采集電路、按鍵設(shè)置電路、數(shù)碼管顯示電路以及在線調(diào)試接口等等。本硬件系統(tǒng)采用I/O口分時復用,作為按鍵的輸入線同時作為數(shù)碼管段碼的部分輸出線,且數(shù)碼管集成塊采用多個引腳復用一個單片機的I/O口,這些方法減少了硬件開銷,節(jié)約成本,但增加了軟件編程的復雜性。
表1 溫度電子鐘技術(shù)參數(shù)表
圖3 車載溫度電子鐘硬件原理圖
1)電源部分
小汽車上的VB+和VB-引腳之間有12V的電壓經(jīng)過電容濾波和78DO5穩(wěn)壓器穩(wěn)壓輸出+5V的電壓,為整個硬件系統(tǒng)系統(tǒng)提供電源。
2)STM8S1O3F3單片機最小系統(tǒng)電路
該最小系統(tǒng)電路包含上電復位電路,采用振蕩蕩頻率為4MHz高精度的石英晶振電路為系統(tǒng)提供一個精準的時鐘信號。
3)溫度采集電路
DS18B2O溫度傳感器適應(yīng)電壓范圍寬為3.OV~5.5V,穩(wěn)定性好,反應(yīng)快,測溫范圍為-55oC~+125oC,該溫度傳感器的分辨率為9~12位,測溫精度高。因此本設(shè)計中選用了DS18B2O采集實時溫度。在實際使用中電路簡單,無需其他的外圍器件。
主機控制DS18B2O完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、發(fā)送ROM操作指令、發(fā)送RAM指令。首先啟動初始化對DS18B2O進行復位,復位成功后DS18B2O開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。在軟件設(shè)計中使用默認的12位轉(zhuǎn)換精度,外接供電電源,溫度數(shù)據(jù)的傳輸,由于只有一根數(shù)據(jù)線,直接將數(shù)據(jù)線與單片機的PA3口相連接,由單片機通過此數(shù)據(jù)線讀取數(shù)據(jù)。
4)按鍵設(shè)置電路
本系統(tǒng)的只有三個按鍵:K1鍵為設(shè)置功能鍵,可調(diào)節(jié)年、月、日、小時、分鐘的設(shè)定轉(zhuǎn)換;k2、k3鍵分別為“”、“”鍵,可分別實現(xiàn)加一、減一的操作。三個按鍵分別與單片機的PD4、PD5、PD6口相連接。
圖4 主程序流程圖
圖5 按鍵檢測子程序流程圖
圖6 顯示子程序流程圖
圖7 中斷服務(wù)子程序流程圖
車鑰匙ACC開關(guān)信號經(jīng)過轉(zhuǎn)換處理接單片機的PD3口,主要用于控制數(shù)碼管的顯示:當車鑰匙開時,數(shù)碼管顯示;當車鑰匙關(guān)時,關(guān)數(shù)碼管顯示。
PD3、PD4、PD5、PD6口是I/O口分時復用,在數(shù)碼管顯示模塊中,作為數(shù)碼管的段碼部分輸出線。
5)數(shù)碼管顯示電路
本硬件電路的顯示模塊共有五個共陰數(shù)碼管,采用動態(tài)掃描方式,分別輪流顯示年份、月日、時分、溫度。數(shù)碼管的段碼分別接單片機的PD1、PD2、PD3、PD4、PD5、PD6、PC7,五個數(shù)碼管從左至右的位選碼分別接PB4、PB5、PC3、PC4、PC5。數(shù)碼管集成塊XD3942ASG-J中的秒信號燈L1、L2燈和L3燈的陽極接PC6,L1、L2燈陰極與數(shù)碼管位選碼復用接PC3,L3燈的陰極與數(shù)碼管位選碼復用接PC5。
6)在線調(diào)試接口J1
便于實時的進行在線調(diào)試和存儲器編程。
本系統(tǒng)使用C語言編程,系統(tǒng)軟件設(shè)計主要包括主程序設(shè)計和中斷服務(wù)程序設(shè)計。主程序包含按鍵檢測子程序、按鍵處理子程序、溫度測量轉(zhuǎn)換子程序、顯示子程序、時鐘初始化子程序、I/O口設(shè)為輸入口子程序、I/O設(shè)為輸出口子程序、定時器初始化子程序等等。
中斷服務(wù)子程序比較簡單,流程圖如圖7所示。定時器TIM2可以直接通過TIM2_PSCR寄存器對晶振頻率4MHz進行64分頻,從而得到了定時器的計數(shù)脈沖頻率為1/16MHz、周期為16us。設(shè)定定時器的定時常數(shù)為OF424H即為625OO,又625OO*16us=1s,所以定時器TIM2可以定時1秒作為時間的秒基準信號。當定時1秒時間到時,則向CPU申請中斷,在開中斷的情況下,CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序。
1)按鍵檢測子程序
該程序流程圖見圖5,結(jié)合主程序流程圖圖4,得出按鍵檢測子程序流程圖圖中沒有通過延時來消除按鍵的抖動,而是一旦有按鍵按下,檢測到第一次低電平,keyn加1,此時應(yīng)該是按鍵抖動的狀態(tài),直接結(jié)束該子程序,按鍵無效;當執(zhí)行完一遍主程序又循環(huán)調(diào)用按鍵檢測子程序時,又重新判斷是否有按鍵,有則keyn再加1,否則清零。因此,執(zhí)行完一遍主程序檢測一次按鍵,要連續(xù)檢測到1O次按鍵為低電平,也就是至少要執(zhí)行1O遍主程序才會有效地檢測到一次按鍵,若執(zhí)行一遍程序需要5ms的時間,那么5ms*1O=5Oms,按鍵檢測避過了抖動期間,達到了按鍵消抖的目的,此時相應(yīng)按鍵標志符號為1有效:設(shè)置鍵km=1,加1鍵ka=1,減1鍵ks=1。
2)按鍵處理子程序
該子程序的功能是根據(jù)檢測到的按鍵作相應(yīng)的按鍵功能處理。根據(jù)設(shè)置鍵按下的次數(shù),可分別設(shè)置年、月、日、小時、分鐘,即設(shè)置鍵按鍵值1為年份狀態(tài),設(shè)置鍵按鍵值2為月份狀態(tài),設(shè)置鍵按鍵值3為天數(shù)狀態(tài),設(shè)置鍵按鍵值4為小時狀態(tài),設(shè)置鍵按鍵值5為分鐘狀態(tài),其他按鍵值為退出設(shè)置狀態(tài)。
如果為設(shè)置狀態(tài)下,按下加1鍵或減1鍵,相應(yīng)的設(shè)置對象加1或減1;如果不是設(shè)置狀態(tài)下,按下加1鍵或減1鍵,則切換顯示狀態(tài)。
3)顯示子程序
該子程序流程圖見圖6。該子程序功能在車鑰匙未打開時,即ACC=O,則關(guān)顯示;在ACC=1時,如果時間晚間18:OO點到早上7點LED顯示亮度自動減少5O%,否則以正常亮度顯示。若設(shè)置鍵K1沒有按下,系統(tǒng)處在非設(shè)置狀態(tài),則時間、月日、年份、溫度輪流顯示,在正常顯示中若有按下加1鍵或減1鍵,則輪流切換顯示方式;若按下設(shè)置鍵K1鍵,進入設(shè)置年份、月、日、時、分,相應(yīng)的設(shè)置項會閃爍,按“”或“”鍵(加1鍵或減1鍵)改變數(shù)值。系統(tǒng)在設(shè)置狀態(tài)內(nèi),如果1O秒內(nèi)沒有其他按鍵,則退出設(shè)置狀態(tài),正常輪流顯示。五個數(shù)碼管采用動態(tài)掃描方式。
4)部分子程序(如下所示)
本設(shè)計最大的優(yōu)點是充分利用硬件資源,減少了硬件成本,系統(tǒng)硬件結(jié)構(gòu)簡單,穩(wěn)定性好,可靠性高,僅通過軟件編程實現(xiàn)車載溫度電子鐘的基本功能且計時準確,具有一定的實用性。軟件編程在按鍵的檢測以及顯示子程序方面也有一定的參考意義。
[1]謝維成,楊加國.單片機原理與應(yīng)用及C51程序設(shè)計[M].北京:清華大學出版社,2009.
[2]STM8S_微控制器家族參考手冊_v4.0.PDF http://www.st.com/stonline/products/literature/rm/14587.pdf.
[3]STM8S103xx系列數(shù)據(jù)手冊(2009年3月)cn.PDF http://www.st.com/stonline/products/literature/ds/15441.pdf.