C8051F的示波器監(jiān)控程序設計
6 系統(tǒng)軟件設計
6.1 一鍵多義鍵盤程序設計
在鍵盤分析中,運用一個工作狀態(tài)寄存器保存鍵盤的現(xiàn)狀態(tài),當鍵盤掃描到一個按鍵時,根據(jù)現(xiàn)狀態(tài)的值從分析程序入口表中找到分析程序狀態(tài)表地址,從該地址處進入分析程序狀態(tài)表,找到相匹配的值,把下一狀態(tài)送到現(xiàn)狀態(tài)單元里,取出動作號,根據(jù)動作號計算出動作子程序入口地址,再執(zhí)行相應子程序。圖4為鍵碼匹配子程序的流程圖。
6. 2 編碼開關(guān)程序設計
由圖1可以看出,引腳1和引腳2有同時為高電平的情況,之后如果引腳2比引腳1先到達高電平則表示左旋,如果引腳1比引腳2先到達高電平則表示右旋。編程的時候依據(jù)這個特點來判斷引腳1、引腳2的狀態(tài)即可。以1引腳接P4.0,2引腳接P4.1為例:
6.3 模數(shù)轉(zhuǎn)換軟件設計
通過設置ADCO控制寄存器ADCOCN位3~2(ADOCM1~O)A/D轉(zhuǎn)換啟動方式選擇位,來啟動A/D轉(zhuǎn)換:位3~2為00時,向ADOBUSY(ADCOCN位4)寫1啟動A/D轉(zhuǎn)換;位3~2為01時,定時器3溢出啟動A/D轉(zhuǎn)換;位3~2為10時,CNVSTR上升沿啟動 A/D轉(zhuǎn)換;位3~2為11時,定時器2溢出啟動A/D轉(zhuǎn)換。本設計采用第一種啟動方式。
評論