熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-6-1 18:04
正文摘要:最近在看51單片機(jī),矩陣鍵盤(pán)這部分我有點(diǎn)問(wèn)題,想問(wèn)問(wèn)大家。 就是說(shuō),我給這個(gè)P2口寫(xiě)了0xf0,那這個(gè)值是不是寫(xiě)入了這個(gè)P2口的鎖存器里?其相應(yīng)的IO口會(huì)表現(xiàn)出1111 0000,應(yīng)該是這樣的吧? 然后按鍵輸入會(huì)拉低IO口的 ... |
188610329 發(fā)表于 2024-6-3 12:49 OK,這樣說(shuō)感覺(jué)也對(duì)。 |
你就這樣理解, P2 寄存器 有兩個(gè), 一個(gè) 只讀 一個(gè)只寫(xiě)。 當(dāng)你讀 P2 的時(shí)候,就獲得 IO 當(dāng)前的真實(shí)電平狀態(tài)。 當(dāng)你寫(xiě) P2 的時(shí)候,就是讓你 P2口 輸出你期望的電平狀態(tài), 但是受限于IO驅(qū)動(dòng)能力有限,IO口的實(shí)際電平會(huì)被外部電路影響有所改變, 所以 通過(guò)寫(xiě)P2 和 讀P2 這個(gè)組合動(dòng)作,可以用來(lái) 分析距陣鍵盤(pán)的按鍵情況。 |
yzw846562238 發(fā)表于 2024-6-3 08:48 2*2有意義?四個(gè)IO,直接用4個(gè)按鍵接地可以不 |
wswkaishi 發(fā)表于 2024-6-2 20:30 這樣理解好像確實(shí)沒(méi)啥問(wèn)題,但是這個(gè)51它又不想stm32可以用程序設(shè)置IO口為輸入模式還是輸出模式。所以我想問(wèn)的是給P2賦值0xf0是不是就是意味著把這個(gè)值寫(xiě)在了鎖存器中,然后switch(P2)應(yīng)該是讀外部引腳的值。 |
wswkaishi 發(fā)表于 2024-6-2 20:30 也可以是6個(gè)輸出2個(gè)輸入、5個(gè)輸出3個(gè)輸入等等組合哦,矩陣很多樣式的,也有2*2、2*3等等 |
寫(xiě)沒(méi)寫(xiě)入鎖存器要看原理圖是否有連接的有,你這種情況一般不可能將鎖存器和按鍵放在同一個(gè)IO口,你可以去看看原理圖的按鍵IO口在哪里 |
你這個(gè)相當(dāng)于只判斷行了。 以這個(gè)為例,它用的是行列式掃描法,先判斷列,在判斷行。 先判斷第一列,令P13為0,其他引腳為1。當(dāng)S1按下時(shí),P17被P13拉為低電平,否則P17為高電平,以此類推判斷S5、S9和S13。(延時(shí)的作用是為了消抖) |
屏幕截圖 2024-06-02 210122.png (198.84 KB, 下載次數(shù): 23)
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
你這個(gè)只能判斷行吧 |
矩陣鍵盤(pán)的原理是八個(gè)引腳有4個(gè)是輸入,四個(gè)是輸出。然后讓這四個(gè)輸出一次輸出高電平,然后檢測(cè)四個(gè)輸入哪個(gè)是高電平,這樣就可以對(duì)應(yīng)出是按下的哪個(gè)按鍵。個(gè)人理解 |
只有這點(diǎn)就是每個(gè)IO接了一個(gè)開(kāi)關(guān),不是啥矩陣 |
Powered by 單片機(jī)教程網(wǎng)