找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4345|回復(fù): 4
收起左側(cè)

MCU矩陣鍵盤當(dāng)鍵被按下時,為什么對應(yīng)的位被拉低,而不是被拉高呢?

[復(fù)制鏈接]
ID:810174 發(fā)表于 2020-8-1 13:24 | 顯示全部樓層 |閱讀模式
矩陣鍵盤.JPG
1到4位是高位1111,5到8為低0000,當(dāng)S1被按下時,第1位被拉低,為什么呢?為什么不是第5位被拉高,求比較深入原理性的解答
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2020-8-1 15:12 | 顯示全部樓層
因?yàn)閮?nèi)部上拉的輸出電流小,被拉低了
回復(fù)

使用道具 舉報(bào)

ID:102168 發(fā)表于 2020-8-1 16:30 | 顯示全部樓層
這個得結(jié)合MCU側(cè)的情況來說。
除非事先設(shè)置了某IO口的強(qiáng)上拉輸出,否則此IO口輸出默認(rèn)是集電極開路(PNP三極管)或漏極開路(場效應(yīng)管)輸出。這點(diǎn)你找找相關(guān)的單片機(jī)的各端口介紹就知道了

當(dāng)MCU控制該IO口的三極管或場效應(yīng)管開啟(導(dǎo)通)時,該IO口被強(qiáng)制下拉到地,輸出低電平,并且允許的灌入電流還比較大,驅(qū)動能力很強(qiáng),即強(qiáng)下拉。

當(dāng)MCU控制該IO的三極管或場效應(yīng)管關(guān)閉(不導(dǎo)通)時,若沒有加上拉電阻,則該IO口則相當(dāng)于懸空的,此IO口就無法輸出高電平。
要輸出高電平只能通過MCU內(nèi)部或外部的上拉電阻(一般上千歐的電阻)來實(shí)現(xiàn)了,
這樣通過上拉電阻形成的高電平輸出電流很�。ㄒ噪娫�5V,上拉電阻10k為例,則理論最大輸出電流只有5/10000=0.5mA),這樣的驅(qū)動能力是很弱的,所以稱為弱上拉。

因?yàn)镸CU的以上特點(diǎn),所以大家大都通過低電平來驅(qū)動外設(shè)。
(當(dāng)然你想通過強(qiáng)上拉輸出驅(qū)動外設(shè)也是可以的,但是不建議,因?yàn)橥庠O(shè)一旦短路,則MCU的電源電壓可能受此端口影響造成無法工作)

按此帖提到的矩陣鍵盤的按鍵表現(xiàn),說明的對應(yīng)的高電平是通過上拉電阻形成的。
弱上拉遇到了強(qiáng)下拉,自然是強(qiáng)下拉"厲害"一些,所以輸出低電平也就不奇怪了。

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-8-1 21:23 | 顯示全部樓層
下圖是MCU的準(zhǔn)雙向I/O口等效簡化圖。當(dāng)Q1截止,Q2導(dǎo)通,兩個I/O口輸出各為高電平和低電平。當(dāng)按鍵按下時,電流由VCC經(jīng)R1-PX.0-K1-PX.4到GND,PX.0與PX.4完全導(dǎo)通,所有電壓降全部由R1承擔(dān),所以兩個I/O口都呈低電平,不可能呈高電平。 無標(biāo)題.jpg

回復(fù)

使用道具 舉報(bào)

ID:804115 發(fā)表于 2020-8-3 00:55 | 顯示全部樓層
wulin 發(fā)表于 2020-8-1 21:23
下圖是MCU的準(zhǔn)雙向I/O口等效簡化圖。當(dāng)Q1截止,Q2導(dǎo)通,兩個I/O口輸出各為高電平和低電平。當(dāng)按鍵按下時, ...

簡單明了,不愧是大神,admin的金幣快過來�。�!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表