熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-8-1 13:24
正文摘要:1到4位是高位1111,5到8為低0000,當(dāng)S1被按下時(shí),第1位被拉低,為什么呢?為什么不是第5位被拉高,求比較深入原理性的解答 |
wulin 發(fā)表于 2020-8-1 21:23 簡(jiǎn)單明了,不愧是大神,admin的金幣快過(guò)來(lái)!!! |
下圖是MCU的準(zhǔn)雙向I/O口等效簡(jiǎn)化圖。當(dāng)Q1截止,Q2導(dǎo)通,兩個(gè)I/O口輸出各為高電平和低電平。當(dāng)按鍵按下時(shí),電流由VCC經(jīng)R1-PX.0-K1-PX.4到GND,PX.0與PX.4完全導(dǎo)通,所有電壓降全部由R1承擔(dān),所以兩個(gè)I/O口都呈低電平,不可能呈高電平。
|
|
這個(gè)得結(jié)合MCU側(cè)的情況來(lái)說(shuō)。 除非事先設(shè)置了某IO口的強(qiáng)上拉輸出,否則此IO口輸出默認(rèn)是集電極開(kāi)路(PNP三極管)或漏極開(kāi)路(場(chǎng)效應(yīng)管)輸出。這點(diǎn)你找找相關(guān)的單片機(jī)的各端口介紹就知道了 當(dāng)MCU控制該IO口的三極管或場(chǎng)效應(yīng)管開(kāi)啟(導(dǎo)通)時(shí),該IO口被強(qiáng)制下拉到地,輸出低電平,并且允許的灌入電流還比較大,驅(qū)動(dòng)能力很強(qiáng),即強(qiáng)下拉。 當(dāng)MCU控制該IO的三極管或場(chǎng)效應(yīng)管關(guān)閉(不導(dǎo)通)時(shí),若沒(méi)有加上拉電阻,則該IO口則相當(dāng)于懸空的,此IO口就無(wú)法輸出高電平。 要輸出高電平只能通過(guò)MCU內(nèi)部或外部的上拉電阻(一般上千歐的電阻)來(lái)實(shí)現(xiàn)了, 這樣通過(guò)上拉電阻形成的高電平輸出電流很小(以電源5V,上拉電阻10k為例,則理論最大輸出電流只有5/10000=0.5mA),這樣的驅(qū)動(dòng)能力是很弱的,所以稱為弱上拉。 因?yàn)镸CU的以上特點(diǎn),所以大家大都通過(guò)低電平來(lái)驅(qū)動(dòng)外設(shè)。 (當(dāng)然你想通過(guò)強(qiáng)上拉輸出驅(qū)動(dòng)外設(shè)也是可以的,但是不建議,因?yàn)橥庠O(shè)一旦短路,則MCU的電源電壓可能受此端口影響造成無(wú)法工作) 按此帖提到的矩陣鍵盤(pán)的按鍵表現(xiàn),說(shuō)明的對(duì)應(yīng)的高電平是通過(guò)上拉電阻形成的。 弱上拉遇到了強(qiáng)下拉,自然是強(qiáng)下拉"厲害"一些,所以輸出低電平也就不奇怪了。 |
| 參與人數(shù) 1 | 黑幣 +40 | 收起 理由 |
|---|---|---|
|
| + 40 | 回帖助人的獎(jiǎng)勵(lì)! |
|
因?yàn)閮?nèi)部上拉的輸出電流小,被拉低了 |
Powered by 單片機(jī)教程網(wǎng)