按鍵掃瞄處理個人總結

2021-10-14 01:39:39 字數 1358 閱讀 6333

圖1 矩陣鍵盤

行列掃瞄法雖然能夠掃瞄出多個按鍵按下的情況,但是行列掃瞄法在掃瞄時,如果同一列有兩個或者兩個以上的按鍵按下,比如s1和s3被同時按下,這時開始行列掃瞄,當pb1輸出為低電平,pb2輸出為高電平時。由於s1和s3被同時按下,相當於pb1和pb2被短接,導致pb1輸出的低電平和pb2輸出的高電平被短接到了一起,如此一來將會存在高低電平的衝突,這個衝突雖然低電平佔優勢,但是對整個電路來說是一種隱患。

現在反轉法只適合單個按鍵按下的情況,如果一旦遇到多個按鍵按下,反轉法便存在缺陷了。比如s1和s4被同時按下,當進行反轉法掃瞄時,將pb1,pb2輸出為低,此時pa1,pa2輸入狀態都為低;當進行反轉法掃瞄時,將pa1,pa2輸出為低,此時pb1,pb2輸入狀態都為低。此時只能判斷出第一行,第二行都有鍵按下,同時第一列和第二列也有鍵按下。

但是無法具體判斷出是哪幾個鍵按下。

如果如圖1所示的矩陣鍵盤,如果同時有三個按鍵按下,比如s1,s2,s3被同時按下,則反轉法肯定掃瞄不出來,但是此時的行列掃瞄法也無法將掃瞄出來具體是哪幾個按鍵按下。比如當pb1輸出為低電平,pb2輸出為高電平時,pa1,pa2都輸入為低;當pb2輸出為低電平,pb1輸出為高電平時,pa1,pa2也都輸入為低。此時只能判斷出第一行,第二行都有鍵按下,同時第一列和第二列也有鍵按下。

而無法判斷具體是哪幾個按鍵按下。而且此時行列掃瞄存在的電平衝突問題依然存在。

由於傳統的行列掃瞄法存在上述的高低電平衝突,所以對普通的行列掃瞄法做了修改,當其中一行輸出為低電平的時候,將其他行設定為輸入,這樣就不會因為同一列上有多個按鍵按下的時候造成高低電平的衝突了。

如圖1所示的2*2矩陣鍵盤,首先:將pb1設定為輸出;pa1,pa2,pb2並設定為輸入。

其次:pb1設定為低電平輸出,檢視此時pa1和pa2的輸入狀態,假設此時s1和s3同時被按下,則此時pb1輸出低電平通過s1傳到了pa1上,使得pa1輸入為低電平,而pa2仍然為高電平。說明第一行有鍵按下,並且是第一列有鍵按下,即s1被按下。

雖然s1和s3同時按下,導致pb1和pb2被短接,但是由於由於此時的pb1設定為輸入,就不存在傳統行列掃瞄法所存在的高低電平衝突。

然後:pb2設定為低電平輸出,pa1,pa2,pb2並設定為輸入。此時pa1輸入為低電平。

說明說明第二行有鍵按下,並且是第一列有鍵按下,即s3被按下。同理也不會出現上述的高低電平衝突。

最後:至此可以判斷s1和s3被同時按下。整個按鍵掃瞄過程結束。

改進式行列掃瞄法避免了傳統掃瞄法在掃瞄過程中,如果同一列有多個按鍵按下時出現的高低電平衝突,並且程式量不會增加。但是對於上述提到的s1,s2,s3被同時按下的情況,改進式行列掃瞄法也無法解決,有待進一步**。(本人寫此總結的目的在於和大家共同交流,如果有不對的地方希望各位指正,謝謝!!!

)編寫:zhuky

2012.11.24

水處理個人工作總結

自己在環保領域也工作4 5年了,各種汙水也見識了不少,各種工藝也都領教過了,現在倒反而迷惑了,有多少工藝是有技術含量的高,特別是在工業汙水方面。也可能是自己的道行還是很淺,或是自己眼力有限,下面是自己的幾個疑問,請老前輩們回答。問題一 個人覺得活性汙泥法雖然傳統,但還是很有生命力的,現在的工藝五花八...

汙水處理個人工作總結

光陰似箭,時間如梭。轉眼間上班已經一年了,回首過去的一年,內心不禁萬千。在各位領導的幫助帶領下,以及和同事的共同奮鬥,和經過了自己的積極努力,我順利地做好自己的工作,這也算經歷了一段不平凡的考驗和磨礪。非常感謝公司給我這個成長的平台,令我在工作中不斷的學習,不斷的進步,慢慢的提公升自身的素質與才能。...

監理個人總結

個人工作總結 各位領導 同事大家好,以下內容是我對2011年工作的全面總結,敬請各位領導及同事提出寶貴意見及建議。從2011年1月 9月參加京滬高鐵南站配套工程,主要負責站前廣場監理工作及配合各專業監理工程師完成道路 橋梁監理工作。由於該工程工期短 工程任務重,整個施工過程都十分緊張,因此監理專案部...