色94色欧美sute亚洲,日本在线观看精品视频,国产欧美亚洲小说视频,亚洲高清视频一区二区三区

5個IO端口實現(xiàn)了對25個按鈕的掃描,他做到了!這是必須的!

排版:小宇從:從我們從事Chip House的項目(工程)時,我們經(jīng)常使用更多的按鈕,并且IO資源很緊張,因此我們嘗試了各種方法將IO端口保存在其他模塊中。

我擠出了一個或兩個IO端口,但發(fā)現(xiàn)仍然不夠。

無法添加IC來掃描按鍵。

盡管IC的價格不高,但對于批量生產(chǎn)且產(chǎn)品利潤較低的制造商來說,這是非常昂貴的費用!然后,我們可以考慮一種更好的密鑰掃描方法:使用最少的IO端口,掃描最多的密鑰嗎?我可以?例如:給定5個IO端口,可以掃描多少個鍵?有人說它是2 * 3 = 6,如圖1所示:圖一,大多數(shù)技術(shù)參考書都這樣做,我們經(jīng)常這樣做:使用3個IO端口進行行掃描,并使用2個IO端口進行列檢測(對于為了便于描述,我們同意:將某個IO端口輸出設(shè)置為“ 0”,稱其為“掃描某個IO端口”)。

使用行行輸出掃描鍵代碼,使用列行檢查是否有按鍵查詢方法來掃描鍵。

掃描鍵過程:在行線上依次輸出011、101、110掃描鍵值。

每次在行行上輸出掃描鍵值時,都會對列行進行一次檢查。

當在列線中檢測到鍵時,可以通過組合輸出的掃描鍵值來判斷相應(yīng)的鍵。

但是,實際上5個IO只能掃描6個鍵嗎?有人說您可以掃描九個,這非常聰明!使用行IO和接地來派生3個鍵(請注意上拉電阻),如圖2所示:圖2掃描鍵過程:首先檢測3個行IO端口,掃描K1,K2和K39鍵;,K3&#39 ;,然后如圖2所示進行上述2 * 3按鍵掃描過程。

5個IO端口可以掃描9個按鍵,這足夠強大,比6個按鍵要多1/2個!用你的大腦,你可以掃描更多嗎?一些?一個很好!好吧,再想一想,我被逼出去了!圖片三:圖片三不多也不少,恰好是10個鍵!這種掃描密鑰的方式相對罕見!漂亮的!掃描按鍵過程:將IO1輸出設(shè)置為“ 0”,檢查IO2…IO5,如果判斷為有對應(yīng)的按鍵,則可以知道有按鍵;如果沒有鍵,則繼續(xù)掃描鍵:將IO2輸出設(shè)置為“ 0”,檢查IO3,IO4,IO5,判斷是否有鍵按下,依此類推。

此處注意:掃描特定的IO端口(輸出為“ 0”)時,請勿檢測已掃描的IO端口。

例如:此時,將IO2的輸出設(shè)置為“ 0”,并依次檢查IO3,IO4,IO5,但不要檢查IO1,否則將發(fā)生錯誤(請考慮原因)。

你覺得怎么樣?不錯吧!讓我們再次看一下圖3,它是如此的充實!看,看...你又看到了什么?快速地!參見圖片4:圖片4真的很強!您可以看到20個鍵!另一個對稱的三角形。

但是,這樣的安排可以正確掃描20個鍵嗎?答案是肯定的:不!上三角和下三角相互對稱,并且不能區(qū)分因?qū)ΨQ而掃出的琴鍵。

您是否注意到圖3的分析中提到的要點? (“在掃描某個IO端口時,請勿檢查已掃描的IO端口,否則將發(fā)生錯誤”。

)讓我們來分析圖4:當IO1輸出“ 0”時,按K11或K11。

39;鍵可以被檢測到IO2,但是IO2檢測不能區(qū)分K11和K11。

鑰匙!同樣,無論掃描哪個IO端口,都有兩個無法區(qū)分的對稱密鑰。

我們假設(shè),如果可以區(qū)分對稱密鑰,則可以正常判斷密鑰。

我們在思考:是否有單向通信設(shè)備?有!見圖五!圖5非常聰明的主意!使用二極管的單向電導率來區(qū)分兩個對稱鍵。

掃描按鍵提示:逐個IO端口掃描按鍵,其他四個IO端口可以檢測到它們所在的四個按鈕。

這樣,在圖3的分析中就不會提及任何關(guān)注點。

足夠酷!等一下,不要對現(xiàn)狀感到滿意,讓我們看一下圖2。

這是否有啟發(fā)性?是的,讓我們分析“從5個接地的IO端口派生的5個密鑰”。

參見圖片6:圖片6 25個按鍵! 5個IO端口可清除25個按鍵!不要激動,讓我們分析一下它的可行性,只有在分析之后才能使用它。

假定按鍵掃描過程:首先掃描地面上的5個按鍵,然后如圖5所示掃描按鍵。

首先將5個按鍵掃描到地面上,判斷沒有按鍵,然后一個接一個地掃描按鍵在IO端口上。

但是,在掃描某個IO端口的鍵時,如果按下接地鍵,則此時可能會誤判該鍵,因為接地鍵的響應(yīng)優(yōu)先級高于其他鍵。

例如:掃描IO1,僅在以下情況下IO1輸出“ 0”

黄骅市| 新闻| 延川县| 彝良县| 宁乡县| 青州市| 龙南县| 黔江区| 安泽县| 阿巴嘎旗| 南岸区| 获嘉县| 阿克苏市| 通渭县| 龙川县| 军事| 滁州市| 扬中市| 分宜县| 合阳县| 措勤县| 红原县| 庄河市| 七台河市| 宁阳县| 中西区| 永春县| 巴彦县| 临夏县| 伊川县| 东台市| 穆棱市| 台中县| 庄河市| 长宁区| 上犹县| 营口市| 湄潭县| 荣昌县| 丰宁| 拉萨市|