關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 一種基于ADC的高性價比鍵盤輸入設計

        一種基于ADC的高性價比鍵盤輸入設計

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

        2 硬件設計
        實際的硬件電路如圖2所示。為了提高按鍵響應速度和減輕CPU掃描按鍵的負擔,增加一個比較器,當按鍵被按下時比較器輸出信號觸發中斷,在中斷中第一時間獲得鍵值。這樣,既避免了把按鍵程序放到主程序中循環查詢過多而占用CPU資源,又提高了CPU的利用率。當然,為了節省硬件成本,也可以不要比較器。

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

        c.JPG


        分壓電阻越大越省電,但是實際應用時需要考慮阻抗,不能太大,這里給出經驗值10 kΩ。另外,電壓比較器還要考慮到運放的特性,為確保第一個鍵按下時運放同相端電壓低于4 V,電阻R1的值就要相對大一些,后面的電阻可以取相同的值。為了減小按鍵抖動,在電路中串聯一個電容C1。當沒有鍵按下時,相當于懸空,需接一上拉電阻。這里R21取220 kΩ。

        3 軟件設計
        軟件設計是按鍵的處理核心,一旦檢測到的A/D值不準,按鍵就會得到錯誤的鍵值,帶來誤操作。當按鍵數目很多時,這種現象會更突出。
        ADC按鍵其實就是一個數據采集過程,軟件需要完成數據采集、數據處理、按鍵解析這3個步驟。首先對按鍵要有一個認識,它是一個機械開關,在鍵按下和彈起的過程中很難做到理想的導通和斷開,通常有一個抖動過程,需要經過一段時間才能真正地閉合和斷開。
        在本設計中使用的是自帶8路10位ADC的MCUSTC90C52AD。驅動起來比較簡單,只需要配置幾個寄存器就可以進行A/D轉換了,并且轉換速度很快。ADC代碼如下:
        d.JPG



        關鍵詞: ADC 性價比 鍵盤 輸入

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滕州市| 松原市| 城固县| 离岛区| 射洪县| 集安市| 酉阳| 炎陵县| 集贤县| 陆丰市| 岑巩县| 元阳县| 岳普湖县| 铁力市| 安远县| 屏南县| 闽清县| 北安市| 汉沽区| 道真| 马山县| 襄樊市| 嫩江县| 印江| 织金县| 龙川县| 漠河县| 宣威市| 镇江市| 盐池县| 新干县| 岳普湖县| 长宁县| 锡林郭勒盟| 乳源| 大同市| 濉溪县| 紫金县| 广汉市| 南投市| 繁峙县|