1樓:諾諾百科
給p1賦值0xf0,這時p1^4,p1^5,p1^6,p1^7為高電平,p1^0,p1^1,p1^2,p1^3為低電平。如果這時候有按鍵按下那麼p1^4,p1^5,p1^6,p1^7就有乙個會變成低電平。因此p1的值就不等於0xf0,這是就可以判斷有按鍵按下。
4x4矩陣鍵盤的工作原理是在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過乙個按鍵加以連線。當按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,通過讀入輸入線的狀態就可得知是否有鍵被按下。
這樣的4×4矩陣鍵盤工作原理是什麼?微控制器該如何去識別是哪個鍵按下了??
2樓:網友
1全部掃瞄的工作方式,就是 輪流 輸出 低電平,然後讀入,判斷,如果有按下,就是低電平,沒按下的都是高電平,當然要延時10ms,去抖動。
微控制器的c語言應用程式設計(修訂版)
4x4矩陣鍵盤掃瞄原理
3樓:匿名使用者
能否儘量詳細地說一下:
p1=0x0f; /低四位輸入。
delay(1); 稍稍延時。
temp=p1; /讀p1口。
temp=temp&0x0f; /取低四位。
temp=~(temp|0xf0);
if(temp==1) /檢測按下的鍵所在的列號,在第一列。
key=0;
else if(temp==2) /在第二列。
key=1;
else if(temp==4) /在氏數第三列。
key=2;
else if(temp==8) /在第四列。
key=3;
else key=16; /否則顯示-
這一段的意義。
你只要我解釋這段的意義吧。 這一段是缺純確定按下的鍵所在的列號。我看幾乎每行都有註釋啊,而且註釋的很好。
temp=temp&0x0f; /取低四位。
temp=~(temp|0xf0);這行沒註釋,我就說一下,就是對temp低四位取反,因為 p0是段選,低電平有效,這樣能分離出按鍵資訊。舉個例子,如果是第一列有鍵按下,temp在執行此句前,低四位應該是1110(低電平有 效 )執行後低四位才變成0001,恰好能為下面的 if,else if 提供正確的邏輯。如果沒鍵按下,temp=0x00,所以有else key=16。
51微控制器 c語言 就是我現在在用4x4矩陣鍵盤 然後我乙個按鍵是控制流水燈開始
4樓:網友
這個要使用外部中斷,抄。
你在程式裡面改一下,加入中斷,可以用你的連線矩陣鍵盤的io口的最高位與最低位做乙個與非門作為中斷訊號就可以了。附上一段以前寫的,你看看,不過由於我沒有與非門,所以我用按鍵代替了中斷訊號。
5樓:不酴釄的山茶
使用外部中斷,捕獲按鍵資訊。
微控制器4x4矩陣鍵盤
6樓:晨星閃時
因為只要求p1^0,p1^1,p1^2,p1^3有按鍵按下,所以讓p1^7為低電平就夠了啊。你說的也可以的,就是控制其他三排矩陣了嘛。其實看出你明白了矩陣鍵盤的原理呢~
誰能給我講明白中國的歷史,誰能給我講講歷史
我以前學的是文科,如果是應付考試,先秦歷史可以忽略,但主要記下春秋戰國時期中國輝煌的科技成果,古代史中有幾個點要關注 朝代更替,處理民族問題的方式,比較有名的著作,科學方面有作為的人,盛世,像貞觀之治一類的,近現代史比較重要,尤其是清朝晚期簽訂的多個不平等條約時間及內容,接下來辛亥革命的歷史意義以及...
郵票品相問題,來個能給我講明白的
衡量一枚郵票的品相有以下幾點 新票 票面完整,沒有破損,沒有摺痕,圖案端正,顏色鮮豔,不褪色變色 齒孔完整,不缺角 背膠完好。舊票 票面完好,不揭薄,郵戳清晰,郵戳銷於郵票一角 約佔票面的1 4左右 這樣的郵票為上品 郵戳輕印不損害票面美觀為中品 郵戳重油影響圖案美觀為下品 如果是研究郵戳,以全戳為...
誰能給我講幾個搞笑的笑話,誰能給我說幾個超搞笑的笑話
下午要去跟很bai久沒見面的漂du亮mm約會,各種激zhi動。剛午休dao起床就馬上去洗漱 上內廁所容,趕時間啊!剛從廁所出來,碰到室友,想問下我眼角有沒有眼屎。結果腦子一抽問了句 我嘴角有沒有屎 室友一愣,看看廁所,在看看我,退後兩步,撒腿就跑.哥凌亂啊,別跑,聽哥解釋啊.大家都笑小張的臉長的像屁...