按鍵板的原理與實現----ADC


   在嵌入式系統產品開發中,按鍵板的設計是最基本的,也是項目評估階段必須要考慮的問題。其實現方式又很多種,具體使用那一種就需要結合特定IC的可用IO數量,並綜合考慮成本,做出最終選擇。本系列文章將介紹多種不同按鍵板的原理與實現。

使用ADC實現按鍵板
     這是最簡單的實現方式,它需要系統IC提供一個內部ADC。如果IC不能提供出額外的ADC的話,從成本等因素考慮,去外加一個ADC是不明智的選擇,可考慮的替代方案將在后續文章中討論。

1:硬件原理

     按鍵其實就是一個開關電路,按下為導通,松開為斷開。電路實現上,就是要設法能夠區分多個按鍵中任意一個有沒有被按下。

     ADC是一個模擬到數字的轉換器件,在其工作范圍內,不同的模擬輸入,可以得到不同的數字輸出。IC的內部ADC一般會對應於一個寄存器或內部存儲器地址,甚至提供一個API調用。ADC按鍵板實現的原理就是使用外部電路的分壓,使得不同按鍵動作產生不同的模擬電平給ADC,如下圖1所示:

 

 

   這是一個Portable DVD Player的按鍵板實現,從原理圖上,我們可以很清楚的看出來:不同的按鍵按下,則 KEY_DET0 上將得到不同的電壓值,而KEY_DET0連接到IC的ADC,這樣對ADC的讀取將會得到不同的值,從而區分不同的按鍵動作。

2:軟件實現

    根據HW的實現,合理定義判斷區間,就可以很容易實現軟件編程了。以上圖為例:假定ADC在輸入電平0V-3.3V輸入下可以得到0x00-0xFF的近似等比相應的話,將可以實現如下:

 

 

3:總結與討論

    這種實現是如此的簡單,一眼就能看懂的那種,若不是考慮這個系列的完整性,我都不好意思把它寫出來。



原文鏈接:https://blog.csdn.net/NutriYang/article/details/4364549


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM