為什麼單片機用1輸出低電平,用0輸出高電平?

EzAMC


在數字電路里只有0和1,TTL電路中高電平用1表示,低電平用0表示。題主的問題有點模糊,是不是想問單片機如何用1輸出低電平,用0輸出高電平?按照這個思路回答一下。

這個其實是反相器的功能,用非門即可以試下。單片機通過控制三極管也可以實現。下圖是用PNP三極管搭建的一個簡單電路,可以實現上述功能。

上圖中,PNP三極管的基極通過電阻連接到單片機的GPIO口,三極管的發射極接電源VCC,三極管的集電極通過負載接地。電路分析如下:

單片機的GPIO口輸出1時:

此時三極管的基極是高電平,即為1,三極管截至不導通,Out端還是低電平,即為0。

單片機的GPIO口輸出0時:

此時三極管的基極是低電平,即為0,三極管PN結正偏,導通,Out端輸出高電平,即為1。

通過以上分析,單片機實現了用1輸出低電平,用0輸出高電平。另外,用NPN三極管也可以實現這個功能,電路圖如下所示。

以上就是這個問題的回答,感謝留言、評論、轉發。

更多精彩內容請關注本頭條號:玩轉嵌入式。感謝大家。


玩轉嵌入式


問題沒說清楚,單片機GPIO口是沒有所謂1輸出低電平,0輸出低電平。

在有一些通信接口,如串口中存在負邏輯,既低電平表示1,高電平表示0,這個可以認為是編碼方式上的一種優化, 通信中常用的好用nrz非歸零編碼 既用連續電平的變化來表示0或1,這都是根據實際需要設計的編碼方式。


stone20182015


你提的問題就有錯誤,高電平是1,低電平是0在,這是沒任何疑問的,你是想表達1作為關信號,0作為開信號,其實也不一定是這樣,但大多數是這樣做的,因為0的灌電流能力強也就是驅動能力強。


良子2018


我明白你的意思,輸出1,LED燈滅,輸出0,LED燈亮,是這個意思吧,那是因為LED接的共陽極,所以需要一個0,才能讓燈亮,其次,像51單片機,除了P0口,其他都是在片內做上拉,所以默認輸出高電平


RealmePhone


1是輸出高電平吧,0是輸出低電平吧。


海盜機器人


rs232是-15V~-5V是高電平,5V~15V是低電平


Inpetents


因為開漏驅動電流大驅動能力強,所以很多單片機都反邏輯是用。


狗頭熊


這個可以實現的,只要修改你的外設電路,比如在io口加個三極管,單片機io輸出高電平時,三極管不導通,這樣就可以了,或者加個中繼,光藕,都可以實現你想要的。


陪我闖蕩


單片機內部其實也是由很多分立元件按照一定的規律搭接,然後再將它們固化而成的,一般思維都是1表示高電平,0表示低電平。如果你是芯片設計者,你也可以按照你的思維設計你專屬的芯片。


雕刻時光lw


題目都問錯了,給次機會你再問一次



分享到:


相關文章: