程序中對按鍵處理方法
發(fā)布時間:2012/6/14 19:50:43 訪問次數(shù):1626
無論是使用定時中斷還是實時時鐘芯片,運行中XC95144XL-10TQG100C隨時都可能插入人工調(diào)校。在這里我使用了兩個按鍵SB1、SB2,前者負責(zé)數(shù)值依據(jù)調(diào)校內(nèi)容循環(huán)遞增,例如“分鐘”超過59就回到“月份”超過12就回到1等;后者負責(zé)光標移動(改變調(diào)校項目)。
程序中對按鍵處理方法是,定義了按鍵狀態(tài)變量key_state,初始為O,程序循環(huán)中一里檢測到有按鍵按下則轉(zhuǎn)為1,下次循環(huán)如檢測不到則回到0(意味著按鍵尚未穩(wěn)定),如繼續(xù)檢測到則認為按鍵確實按下,進行按鍵處理,然后進入狀態(tài)2.在程序循環(huán)中檢測按鍵是否釋放,如已經(jīng)釋放則進行某些后續(xù)處理并使按鍵狀態(tài)回到O,準備下次按鍵檢測。這個方法的優(yōu)點是,檢測可靠,反應(yīng)較快,在按鍵檢測期間可以插入別的工作。具體詳情請參看源程序。
另外,程序中還定義了一個變量mode,作為調(diào)校標志。初始為0,對應(yīng)時鐘顯示狀態(tài),確認有按鍵按下則轉(zhuǎn)為1,進入調(diào)校狀態(tài),直到經(jīng)過多次按鍵完成調(diào)校后它才回到O,再次進入顯示狀態(tài),液晶顯示調(diào)校后的時間日期。如圖4所示,流程圖中左邊是調(diào)校循環(huán)狀態(tài),右邊是查鍵一顯示循環(huán)狀態(tài),啟動初始化以后先進入右邊循環(huán),每0Is查詢一次SB2鍵是否按下,如未按,則計數(shù)加1,直到查詢10次(正好是1s)刷新LCD顯示,同時計數(shù)清0,繼續(xù)循環(huán)。如SB2按下,則經(jīng)過50ms延時確認后,置調(diào)校標志為1,進入左邊調(diào)校循環(huán)。在調(diào)校循環(huán)中,SB2鍵的作用是移動光標(改變調(diào)校項目)以及最后確認完成調(diào)校,SB1鍵的作用是按照SB2當(dāng)前確定的調(diào)校項目改變設(shè)置值。調(diào)校按鍵循環(huán)周期是0.1s,調(diào)校完成后,設(shè)置值寫八DS1302,清除調(diào)校標志,八查鍵一顯示循環(huán)。在此循環(huán)中,調(diào)校設(shè)置值也是跟隨液晶顯示每秒刷新一次。
程序中對按鍵處理方法是,定義了按鍵狀態(tài)變量key_state,初始為O,程序循環(huán)中一里檢測到有按鍵按下則轉(zhuǎn)為1,下次循環(huán)如檢測不到則回到0(意味著按鍵尚未穩(wěn)定),如繼續(xù)檢測到則認為按鍵確實按下,進行按鍵處理,然后進入狀態(tài)2.在程序循環(huán)中檢測按鍵是否釋放,如已經(jīng)釋放則進行某些后續(xù)處理并使按鍵狀態(tài)回到O,準備下次按鍵檢測。這個方法的優(yōu)點是,檢測可靠,反應(yīng)較快,在按鍵檢測期間可以插入別的工作。具體詳情請參看源程序。
另外,程序中還定義了一個變量mode,作為調(diào)校標志。初始為0,對應(yīng)時鐘顯示狀態(tài),確認有按鍵按下則轉(zhuǎn)為1,進入調(diào)校狀態(tài),直到經(jīng)過多次按鍵完成調(diào)校后它才回到O,再次進入顯示狀態(tài),液晶顯示調(diào)校后的時間日期。如圖4所示,流程圖中左邊是調(diào)校循環(huán)狀態(tài),右邊是查鍵一顯示循環(huán)狀態(tài),啟動初始化以后先進入右邊循環(huán),每0Is查詢一次SB2鍵是否按下,如未按,則計數(shù)加1,直到查詢10次(正好是1s)刷新LCD顯示,同時計數(shù)清0,繼續(xù)循環(huán)。如SB2按下,則經(jīng)過50ms延時確認后,置調(diào)校標志為1,進入左邊調(diào)校循環(huán)。在調(diào)校循環(huán)中,SB2鍵的作用是移動光標(改變調(diào)校項目)以及最后確認完成調(diào)校,SB1鍵的作用是按照SB2當(dāng)前確定的調(diào)校項目改變設(shè)置值。調(diào)校按鍵循環(huán)周期是0.1s,調(diào)校完成后,設(shè)置值寫八DS1302,清除調(diào)校標志,八查鍵一顯示循環(huán)。在此循環(huán)中,調(diào)校設(shè)置值也是跟隨液晶顯示每秒刷新一次。
無論是使用定時中斷還是實時時鐘芯片,運行中XC95144XL-10TQG100C隨時都可能插入人工調(diào)校。在這里我使用了兩個按鍵SB1、SB2,前者負責(zé)數(shù)值依據(jù)調(diào)校內(nèi)容循環(huán)遞增,例如“分鐘”超過59就回到“月份”超過12就回到1等;后者負責(zé)光標移動(改變調(diào)校項目)。
程序中對按鍵處理方法是,定義了按鍵狀態(tài)變量key_state,初始為O,程序循環(huán)中一里檢測到有按鍵按下則轉(zhuǎn)為1,下次循環(huán)如檢測不到則回到0(意味著按鍵尚未穩(wěn)定),如繼續(xù)檢測到則認為按鍵確實按下,進行按鍵處理,然后進入狀態(tài)2.在程序循環(huán)中檢測按鍵是否釋放,如已經(jīng)釋放則進行某些后續(xù)處理并使按鍵狀態(tài)回到O,準備下次按鍵檢測。這個方法的優(yōu)點是,檢測可靠,反應(yīng)較快,在按鍵檢測期間可以插入別的工作。具體詳情請參看源程序。
另外,程序中還定義了一個變量mode,作為調(diào)校標志。初始為0,對應(yīng)時鐘顯示狀態(tài),確認有按鍵按下則轉(zhuǎn)為1,進入調(diào)校狀態(tài),直到經(jīng)過多次按鍵完成調(diào)校后它才回到O,再次進入顯示狀態(tài),液晶顯示調(diào)校后的時間日期。如圖4所示,流程圖中左邊是調(diào)校循環(huán)狀態(tài),右邊是查鍵一顯示循環(huán)狀態(tài),啟動初始化以后先進入右邊循環(huán),每0Is查詢一次SB2鍵是否按下,如未按,則計數(shù)加1,直到查詢10次(正好是1s)刷新LCD顯示,同時計數(shù)清0,繼續(xù)循環(huán)。如SB2按下,則經(jīng)過50ms延時確認后,置調(diào)校標志為1,進入左邊調(diào)校循環(huán)。在調(diào)校循環(huán)中,SB2鍵的作用是移動光標(改變調(diào)校項目)以及最后確認完成調(diào)校,SB1鍵的作用是按照SB2當(dāng)前確定的調(diào)校項目改變設(shè)置值。調(diào)校按鍵循環(huán)周期是0.1s,調(diào)校完成后,設(shè)置值寫八DS1302,清除調(diào)校標志,八查鍵一顯示循環(huán)。在此循環(huán)中,調(diào)校設(shè)置值也是跟隨液晶顯示每秒刷新一次。
程序中對按鍵處理方法是,定義了按鍵狀態(tài)變量key_state,初始為O,程序循環(huán)中一里檢測到有按鍵按下則轉(zhuǎn)為1,下次循環(huán)如檢測不到則回到0(意味著按鍵尚未穩(wěn)定),如繼續(xù)檢測到則認為按鍵確實按下,進行按鍵處理,然后進入狀態(tài)2.在程序循環(huán)中檢測按鍵是否釋放,如已經(jīng)釋放則進行某些后續(xù)處理并使按鍵狀態(tài)回到O,準備下次按鍵檢測。這個方法的優(yōu)點是,檢測可靠,反應(yīng)較快,在按鍵檢測期間可以插入別的工作。具體詳情請參看源程序。
另外,程序中還定義了一個變量mode,作為調(diào)校標志。初始為0,對應(yīng)時鐘顯示狀態(tài),確認有按鍵按下則轉(zhuǎn)為1,進入調(diào)校狀態(tài),直到經(jīng)過多次按鍵完成調(diào)校后它才回到O,再次進入顯示狀態(tài),液晶顯示調(diào)校后的時間日期。如圖4所示,流程圖中左邊是調(diào)校循環(huán)狀態(tài),右邊是查鍵一顯示循環(huán)狀態(tài),啟動初始化以后先進入右邊循環(huán),每0Is查詢一次SB2鍵是否按下,如未按,則計數(shù)加1,直到查詢10次(正好是1s)刷新LCD顯示,同時計數(shù)清0,繼續(xù)循環(huán)。如SB2按下,則經(jīng)過50ms延時確認后,置調(diào)校標志為1,進入左邊調(diào)校循環(huán)。在調(diào)校循環(huán)中,SB2鍵的作用是移動光標(改變調(diào)校項目)以及最后確認完成調(diào)校,SB1鍵的作用是按照SB2當(dāng)前確定的調(diào)校項目改變設(shè)置值。調(diào)校按鍵循環(huán)周期是0.1s,調(diào)校完成后,設(shè)置值寫八DS1302,清除調(diào)校標志,八查鍵一顯示循環(huán)。在此循環(huán)中,調(diào)校設(shè)置值也是跟隨液晶顯示每秒刷新一次。
熱門點擊
推薦技術(shù)資料
- 循線機器人是機器人入門和
- 循線機器人是機器人入門和比賽最常用的控制方式,E48S... [詳細]
- 全集成直接飛行時間(dToF)傳感器
- 2025年半導(dǎo)體市場發(fā)展趨勢未
- GW2A系列FPGA芯片應(yīng)用參數(shù)
- DDR類儲存器接口解決方案
- 2.5G bps MIPI D
- 新一代 Arora-V系列FPGA產(chǎn)品詳情
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究