新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機實現數字化B超鍵盤設計

        單片機實現數字化B超鍵盤設計

        作者: 時間:2011-04-06 來源:網絡 收藏

        4 軟件
        4.1 主程序
        軟件部分的主程序流程如圖3所示。

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

        f.JPG


        主程序完成初始化后,進人命令查詢處理,不斷查詢有沒有來自計算機的命令,有則應答并處理,接著檢查鍵掃標志,有鍵掃標志(即=1)則進行處理,否則繼續查詢命令。
        處理流程如下:在實時狀態,對TGC電位器進行AD采樣,并與上一次結果比較,有變化則發送給計算機,凍結狀態跳過TGC處理;接著判斷掃描編碼器旋轉標志位,有則以鍵碼形式發送給主機;然后掃描陣列,有鍵按下或釋放,則以查表方式取得掃描碼,并發給計算機。
        鍵盤掃描采用定時器0中斷方式,晶體頻率為24 MHz按方式1工作,最大定時時間為32.768ms,定時器中計數3次,可定時98.3ms,以此作鍵盤處理周期,定時間到則將鍵盤掃描標志置為1。
        4.2 外中斷程序設計
        新增的2個中斷,其中斷信號由P4口輸入,中斷功能/狀態通過XICON寄存器控制,P4和XICON不是標準80C52的寄存器,需預先定義——在源文件頭上加入以下兩行:
        P4 EQU 0D8H
        XICON EQU 0C0H
        中斷服務程序只完成置編碼器旋轉標志位的處理,主程序中根據標志位以按鍵鍵碼的形式發送信息。中斷服務程序源代碼如下:
        h.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 望都县| 蒙自县| 石河子市| 竹山县| 庆城县| 清流县| 满洲里市| 尼木县| 木里| 肥西县| 威远县| 江川县| 个旧市| 东乡族自治县| 富平县| 马公市| 含山县| 大洼县| 沙河市| 沙洋县| 长乐市| 包头市| 平安县| 裕民县| 松滋市| 宁阳县| 齐齐哈尔市| 盖州市| 延长县| 文登市| 平利县| 苏尼特右旗| 辉南县| 临朐县| 岳普湖县| 呼和浩特市| 江津市| 永川市| 灵川县| 元阳县| 屏山县|