資源描述:
《51單片機綜合學習系統(tǒng)_矩陣鍵盤篇.pdf》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、DOI:10.16589/j.cnki.cn11-3571/tn.2007.11.016學習與交流曰犯曰口單片機綜合學習系統(tǒng)矩陣鍵盤篇徐緯—“”“”,編者按本刊年期刊登了單片機綜合學習系統(tǒng)快速入門篇和數(shù)碼管原理與應用篇相信讀者,已經(jīng)對51單片機綜合學習系統(tǒng)的使用方法及學習方式有所了解熟悉并學會了用單片機控制數(shù)碼管顯示的基本知識,體會到.。了綜合學習系統(tǒng)的易用性與易學性本期我們學習矩陣健盤的基本原理與使用方法、一矩陣.t應用實例1/0口獨立按鍵編程簡單但占用勸:。os5..J...廠廠刃尸一一0.碑O,
2、。一~!”多不適合在按鍵較多的場合應用在實_一J一一~_李__一—,、,曰.曰..`----曰..Les_es.~曰.._際應用中如一經(jīng)常要輸入數(shù)字字母等~心,。O.~O~O尸一.心,.-0!一尸”二、,至少有121一1—l—電子密碼鎖電話機鍵盤等到16個按鍵,用獨立按鍵顯然太浪費I/,。}1O口資源為此我們引入了矩陣鍵盤、二矩陣.t摘介圈2矩陣鍵盤內(nèi)部電路圖.矩陣鍵盤又稱行列鍵盤,它是用若當無鍵按下時,1P0~P13與1P4-1硬件原理、干個1/0P:,1/0口作行線若干個線作17之間開路當有鍵閉合
3、時與按下本實驗可以直接在配套開發(fā)板上,1/0口。,,列線并在行線和列線的每個交叉點上鍵相連的兩條線之間短路判斷完成其實物圖如圖3所示電路圖如。.設置一只按鍵組成的鍵盤如果行線和有無按鍵按下的方法是:1首先置列線圖4所示。4,,列線均為條則鍵盤上的按鍵的個數(shù)1P4一1P7為輸入狀態(tài)并將行線P10一4火4。,,就有個這種行列式鍵盤結構能P13置為低電平然后讀列線數(shù)據(jù)若有效地提高單片機系統(tǒng)中1/0口的利某,一列線為低電平則說明該列線上有。.用率鍵閉合。2行線輪流輸出低電平,并讀,入列線1P4一1P7數(shù)據(jù)若某
4、一列為低電、三矩陣.t的工作.理.平,則說明對應行線上有鍵按下。3綜1。一,圖3矩陣硯盤實駿演示圈最常見的鍵盤布局如圖所示合上述檢查結果便可可確定所按鍵的,正好可以用單片。根據(jù),般由16只按鍵組成編號考慮到按一次鍵只應進行一次對4電路原理圖鍵盤掃描方法P口,應功能操作,,:3,4一機的一個實現(xiàn)這也是在單片機系因此須等到按鍵釋放后是行線1P~01P為輸出線列線1P,,。統(tǒng)中最常用的一種形式4x4矩陣鍵盤再進行鍵功能操作否則按一次鍵有可1P7一開始單片機將行線為輸入線。的電路如圖2所示能連續(xù)進行多次同樣的
5、鍵操作。(P10一1P3)全部輸出低電平,此時讀入列線數(shù),據(jù)若列線全為高電平說明沒有、口口口口四矩陣.t軟硬件設計實例,鍵按下若有列線為低電平則調用延時口口困口本文以51單片機綜合學習系統(tǒng)為程序來去除按鍵抖動。延時后再讀入列硬件平臺,介,口口口囚紹矩陣式鍵盤的編程方線看是否有低電平如果列線數(shù)據(jù)還是法。:,,,具體功能為按下其鍵后在一位數(shù)有低電平說明確實有鍵按下接下來口回口困。。碼管上顯示出鍵值0到16個鍵分別便是確定鍵值下面以第二行的5S鍵對應顯示。到F。為例,看按下s5后我們應該怎么得到圈1矩陣鍵盤
6、布局圈.200754電子翻作,1月l學習與交流口垂口曰O類功率放大器的原理與應用③重慶郵電大學通信學院林云.。,1引言的功耗主要以熱量的形式耗散由于D類功放對散熱器的要求大為降低甚至可不傳統(tǒng)的模擬功放工作在晶體管的用散熱器,因此非常適用于緊湊型大功率應用,更成為便攜式設備中不可替代的產(chǎn),,、、、線性放大區(qū)保真度較高但效率低能品。D,如ADISTMicrose、M、Tl。Ma勸m公司很多廠商均有類功放出售im等axun,,,THD、耗大輸出達到峰值時的效率為78%稱其產(chǎn)品在不降低音質的前提下提供高效指標
7、具有業(yè)內(nèi)最佳的PSRR和省,.,、,。且要求有良好的散熱設備因而設備體電特性而目不存在EMIRF干擾以及咔嗒/砰然聲等音頻設計的潛在問題.。D積和重量均較大類功放具有效率2經(jīng)典O類功放、、、高體積小重量輕輸出功率大等優(yōu)如圖1所示,經(jīng)典。二巨畫卜一巨畫少點,其功耗主要來自輸出晶體管導通阻功放主要由脈沖寬度匣囚、開關損耗和靜態(tài)電流開銷。、、圖1功放組成抗放大器調制器開關放大器/掃描第二行n&=()xR);delay:oPl=oxfd:,f(n!=()xR))Pl=ox戶;n=Pl;{n=Pl;n&=()x
8、代):delay:n&=ox幻:oin!=()x丑))Pl=()x;in!=()x墳fbf(印)毛n=Pl;毛eay;n=(x〕;sn-dlo&)只witch()Pl=()xfd;if(n!二()x代))n=Pl;easeoxeo:idsPlay15:break:{()()n&=()x印:stencase()x:say14:brea:wih()(do)idPl()kin!=()x印)caseox:sPlay13;brea;f({(bo)id()kease