51微控制器 我要檢查io外接輸入的電平狀態

時間 2021-10-14 20:22:24

1樓:做而論道

假如我給某一個io置0。外接高電平,--這樣做,io引腳極有可能燒燬。

如果我把io設定為1,外接低電平--這是可以的,io引腳就是低電平。

總之:想用引腳輸入,就先把引腳設定成1。引腳就能隨著外部變化。

想用引腳輸出,置成1、0均是輸出,但是外部就不要再送來訊號。

2樓:等待的幸福快樂

方法:把引腳設定為輸入狀態,輸出一個1就行。這是微控制器的設計者、生產廠家所規定的。

在這個前提下,外界,只有輸入低電平,才會改變引腳的狀態;輸入高電平,是沒有反應的。如果,外設一定要送來高電平,那就必須加上一個反相器,再連線到微控制器的引腳即可。

其中的 p0口 為匯流排式設計 電路形式 為 集電極開路 也就是說它的內部開關只能將 p0的io連線到gnd上 而不能連線到 vcc上 當向p0 寫“0”時 io口將連線到 gnd 而向p0寫“1”時 io將變成高阻狀態 也就是相當於斷開 什麼都沒連線 *此時若需要輸出 則必須增加外部上拉電阻 來實現高電平的 *此時若需要實現輸入(io讀取) 則直接讀取p0即可得到外部輸入的電平狀態。

至於 p1 2 3 其內部有上拉電阻 但一般情況下 都要在外部也配上上拉電阻 以實現穩定的 高電平輸出。

綜上所述 實際上 預設狀態輸出高 可以認為是輸出狀態 但p0是由外部上拉電阻實現的 “輸出” p123 是由內部上拉 和外部上拉同時實現的輸出 也就是說 p123 內部來看是真正的輸出 而p0內部的狀態是高阻。

至於為何要高阻 是因為 p0 用於匯流排的資料交換 高阻結構 是匯流排埠必須的一種狀態。

3樓:

假如我給某一個io置0。外接高電平,那麼軟體檢查io 是高電平還是低電平。

會讀回0。

我把io設定為1,外接低電平 又是怎麼狀態。

也會讀回0

io該怎麼設定 --讀引腳上的電平,先把相應管腳置為1,再讀就能讀回正確的電平。

51微控制器引腳檢測高電平輸入的問題

4樓:做而論道

在網上看到這樣bai的一句

du話 “51微控制器的i/o 口檢測高低電zhi平是需要首dao先讓該埠置為內1的。此時容這個引腳才被設定為輸入”,

--正確。

也就是說如果上面的設計可以做到的話,那麼就需要一開始的時候給高電平嗎?

--必須先給埠置一。

--你的電路,是做不到的。

--你的電路,按鍵、不按鍵,送到引腳的訊號,都是高電平。

--你的電路,設計的不對,不符合微控制器的特點。

--按鍵,另一端,應該接地。

5樓:匿名使用者

51微控制器的引腳檢測到各個引腳的電壓高於1.8v就認為是有高電平輸入,低於0.7v就認為是低電平輸入,在0.7~1.8v之間,是一個未知區域,既不是高電平也不是低電平。

6樓:匿名使用者

51微控制器引腳檢測高電平輸入的問題,是什麼問題?看不見,怎麼回答?

7樓:匿名使用者

設計存在缺陷:復“51微控制器的制i/o 口檢測高低電平是需要首先讓該埠置為1的。此時這個引腳才被設定為輸入” 正確,此操作在io口初始化時設定;但是你的電路圖,讀取的始終為“1”;原因:

當設定為輸入時,微控制器內部有上啦電阻,把其io口引腳拉高;

改進:io口連線一下拉電阻 6.8k~10k之間即可

8樓:

大家常用的是,按鍵一端接地,另一端接io口 檢測,檢測端加上拉電阻。

9樓:匿名使用者

微控制器baiio與外部相連是線與的du關係,所以你的方法不行。單zhi

片機io口為高的時候你

dao讀取內的相應io口電平才是外部電平。

容如果你把相應io口置0,無論外部是0或1你讀取的永遠是0。所以你只有把io口置1,判斷if( p1^6==0)才能判斷是否鍵按下(當然你的按鍵得接地)。

51(stc89c52)微控制器,用io口判斷外部高低電平時io口在軟體、硬體上應該如何設定?謝謝!

10樓:匿名使用者

先從軟體上講,要bai判斷duio口高低電平,這對zhi於微控制器來說是輸入狀態,所以要dao

將io口設版置為輸入狀態權;再從硬體上講,電路有很多種,比較保險的作法是採用**管方式,io口接到三極體集電極並上拉電壓《這個電壓要取於微控制器工作電壓,有的微控制器是3.3v,有的微控制器是5.0v>,外部電平就通過電阻搭配接到三極體的基極

11樓:匿名使用者

不用設定,預設是為io口 直接先輸出p2.0為高,再讀入即可

51微控制器怎麼用IO口擴充套件成輸入口

分輸入和輸出 輸入你可以選擇74ls244.這個是8通道快取器。輸出你可以選擇鎖存器74ls373.8位下降沿鎖存。然後你把5個輸入或者輸出口都接在某一個口,比如p1.這樣佔用8位。還剩餘2位。你可以用來控制4個這樣的裝置。這2位的組合分別是00,控制一個8位裝置。01控制一個8位裝置,10控制一個...

微控制器輸入IO口擴充套件,微控制器IO口是怎樣擴充套件的

微控制器的輸入io口擴充套件可以通過以下方法來實現 1 通過並行擴充套件晶元,比如8255 8155等。2 通過鎖存器或緩衝器來擴充套件,比如74ls273,74ls373,74ls244,74ls245等等 3 通過串列埠 並口來擴充套件,比如74hc595,74hc164等等。4 通過解碼器來擴...

微控制器引腳如何實現高阻輸入,微控制器IO口設定為高阻輸入時能讀埠值嗎

amd百夫長 一 通過加驅動器實現了。二 如果是傳統的51微控制器 例如at89s52 p0口可以實現高阻。p0口內部和p1 p3口的內部結構不同,它的內部上拉fet只有在它作為外部儲存器匯流排的時候才能開啟,如果做普通io口,那麼讓p0口輸出1,外部又沒有接上拉電阻的話,那麼p0口就是高阻 懸空 ...