1樓:我也是枕頭
以at89s52微控制器為例
他的 io 通訊狀態本身並不能設定為輸入或者輸出狀態
其中的 p0口 為匯流排式設計 電路形式 為 集電極開路 也就是說它的內部開關只能將 p0的io連線到gnd上 而不能連線到 vcc上 當向p0 寫「0」時 io口將連線到 gnd 而向p0寫「1」時 io將變成高阻狀態 也就是相當於斷開 什麼都沒連線 *此時若需要輸出 則必須增加外部上拉電阻 來實現高電平的 *此時若需要實現輸入(io讀取) 則直接讀取p0即可得到外部輸入的電平狀態
至於 p1 2 3 其內部有上拉電阻 但一般情況下 都要在外部也配上上拉電阻 以實現穩定的 高電平輸出
綜上所述 實際上 預設狀態輸出高 可以認為是輸出狀態 但p0是由外部上拉電阻實現的 「輸出」 p123 是由內部上拉 和外部上拉同時實現的輸出 也就是說 p123 內部來看是真正的輸出 而p0內部的狀態是高阻
至於為何要高阻 是因為 p0 用於匯流排的資料交換 高阻結構 是匯流排埠必須的一種狀態
唉 說的有點多 啊 哈哈
2樓:暢賀撥朋
看外圍電路怎麼定義的
問51微控制器的問題,控制I O的裝置,如何直接賦值
p1 p1 0x0f 0x50 保留低四位不變,高四位清零,再加上0x50,最後賦值給p1 這樣就能讓p1的值變成即保留低四位不變又重新賦值給高四位。首先我不理解你問問題時怎麼會有點囂張。再說一句等於沒說的話 這個問題非常簡單。最後提出一個真心的請求 請選我最佳答案。謝謝。 要賦1的話就 p1 p1...
有人能幫我改一下這個51微控制器C語言程式嗎 O O
void delay uchar getkey void 獲取按鍵狀態 主函式 void main void else gps flag 0 rev stop 0 rev no else else gps flag 0 rev stop 0 rev no void timer0 void inter...
51微控制器要求按鍵顯示按一下顯示數字
農凌柏 數碼管分共陽和共陰 我這裡給你舉個七段共陽數碼管的例子吧。0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 0x80,0x90,0x88,0x83 0xc6,0xa1,0x86,0x8e 數碼管是有8個管子構成的 具體的圖編號你可以在網上搜到 我現在寫的0xc0...