51微控制器P0口分時複用原理是什么啊?急需解答啊

2022-10-26 13:05:07 字數 3286 閱讀 9738

1樓:

下圖為採用74ls244作為擴充套件輸入、74ls273作為擴充套件輸出的簡單i/o口擴充套件。

1:74ls244為8緩衝線驅動器(三態輸出),為低電平有效的使能端。即g1 g2低電平是資料輸入微控制器,g1 g2 高電平時244輸出為高阻態。

2:74ls273為8d觸發器,為低電平有效的清除端。當為0時,輸出全為0且與其它輸入端無關;cp端是時鐘訊號,當cp由低電平向高電平跳變時刻,d端輸入資料傳送到q輸出端。

3:圖中74ls273可以換成74ls373、74ls573等鎖存器,這樣就就不必利用脈衝來輸出資料,373的le端為低時輸出跟隨輸入變化,為1是輸出口鎖存。

4:你還可以對圖稍加改動,wr rd p2.0  就只要一個就可以了,或者用一個反相器只需要一個io口來作為控制端就好了。

若還閒這樣擴充套件不夠用,可用兩片373擴充套件輸出,兩片244擴充套件輸入。

5:51微控制器選用這些74系列晶片是ls和hc都可以用。但若你用3.3v的久必須用hc系列的74晶片了。

我有個我實際利用的例子,需要的話可以聯絡我

2樓:匿名使用者

用外圍電路配合解釋一下

希望你能夠明白

以74h373鎖存器來讓地址和資料分時複用匯流排為例373是8鎖存器

分時複用是這樣的:微控制器訪問外部儲存器時,先產生16位的地址資訊,低八位的地址將出現在p0口上,

通過ale訊號,將p0口上的地址,鎖存至373中。接下來,選通外部儲存器,這時由p2口提供高8位的地址,

跟剛剛鎖存在373中的低八位地址一起合成一個16位的地址,作為外部儲存器的地址。而p0口這時已經空閒了,

因此可以拿來做資料口用,從外部儲存器讀入資料或輸出資料到外部儲存器。

80c51微控制器p0口地址資料分時複用如何實現的

3樓:小丁創業

p0在前來一個時刻輸出地址的

源低8位,然後由ale訊號將bai它們鎖存到外du面的邏輯晶片(例如zhi74ls245之類)裡,之後dao再從p0輸出或輸入資料,就實現了分時複用。

在這兩個期間,地址的高8位,也就是p2口的訊號是不變的,並且ale在後一半的時候也是不變的。這樣的話,之前輸出的地址低8位被ale鎖存到外面的邏輯晶片裡了。

因此不管匯流排上的訊號如何變,只要ale不變,那麼邏輯晶片的輸出就是不變的,因此此時的p0口就可以執行別的任務了。

4樓:匿名使用者

p0在前復一個時刻輸出地址制

的低8位,然後由ale訊號將它們鎖存到外面的邏輯晶片(例如74ls245之類)裡,之後再從p0輸出或輸入資料,就實現了分時複用.

在這兩個期間,地址的高8位,也就是p2口的訊號是不變的,並且ale在後一半的時候也是不變的.這樣的話,之前輸出的地址低8位被ale鎖存到外面的邏輯晶片裡了,因此不管匯流排上的訊號如何變,只要ale不變,那麼邏輯晶片的輸出就是不變的,因此此時的p0口就可以幹別的了.

當然,外面的不一定都是邏輯晶片,還可以是其它的東東.

5樓:老橡木桶

這個copy

基本上可以說是自動的

從彙編程式上看,如果當前微控制器執行的程式是讀寫rom活著ram的話,那麼p0口首先輸出地址訊號,然後ale引腳會發出鎖存訊號,這樣p0就是地址線;在隨後的過程中ale的訊號不變,p0口會讀取活著寫出資料,此時就是資料線了。

其實無論地址還是資料,都是邏輯電訊號的,我這麼說你明白麼?

6樓:匿名使用者

用keilc的話,你就不用這麼詳細瞭解底層執行了,

輸個命令就ok了

一個關於c51 p0口分時複用的問題 50

7樓:硬體開發

你好!很高興為你解答,你上面說的微控制器po埠p0.0~p0.

7做成了4x4矩陣鍵盤,p0.0-p0.3還接連數碼管位選,你想要16個按鍵都能用,同時數碼管也正常顯示,這個是沒有辦法實現的,這個的話會出現衝突,數碼管在正常顯示的時候,你突然使用按鍵這樣會造成顯示錯誤的,這個是沒有辦法解答的,除非你矩陣鍵盤不用!

微控制器的分時複用是如何實現的

8樓:匿名使用者

p0=0x00; p0=0xff;這樣在第一個週期中p0全為低電平,在第二個週期中全為高電平,分時複用了。 1樓正確。使用373活著是573一類的晶片。

9樓:匿名使用者

首先,具有分時複用的埠只有p0口,而在石油氣分時複用功能時,只對微控制器訪問外部儲存器的時候來說的,其他時候都是普通io口。

微控制器在訪問外部儲存器的時候p0口首先是作為低8位的地址資料線輸出地址訊號,外接的鎖存器,74ls373或者245一類的鎖存器將它鎖存後,p0口在輸出資料或者是寫入資料。

這個就是p0口德雙向8位資料口和低8位地址輸出口的複用,分時就是先地址後資料

51微控制器的分時複用

10樓:匿名使用者

51微控制器的分時來複用51微控制器的分源

時複用功能,最直接的就bai是movx指令du,用這個指令就是在分時復zhi用p0口,執dao行:movx a,@dptr,那麼首先要送地址a0~a7給p0口,ale有效,鎖存在373上,再將這個地址的資料從p0口讀入傳給a。

11樓:匿名使用者

下面是p0口既送數碼管段訊號,又送位訊號的例子:

p0=table[a];//送段訊號

duanlah=1;

duanlah=0;

p0=0xfe;//送位訊號

weilah=1;

weilah=0;

實際版上訪問外部ram時,p0口先權送地址訊號,ale同時產生鎖存訊號,然後送資料訊號,是不用程式人工幹予的,這才是真正的分時複用

51微控制器io口的分時複用應用問題

12樓:匿名使用者

可以複用,但是按鍵的時候燈是亮的。

複用方法有點類似動態顯示掃描,讀取按鍵之前,把p0.1置成高電平,即關燈,延時一點時間,讀按鍵。讀完按鍵,恢復顯示內容。

由於按鍵讀取不需要很頻繁,比如說10ms才讀一次,那麼顯示偶爾關一小會,比如說10us,肉眼感覺不到顯示閃爍。

求助:51微控制器如何實現兩個串列埠分時複用的

51微控制器p0口如何實現數碼管8位並口與8255拓展模組8位資料口分時複用,

13樓:匿名使用者

用373鎖存器擴充套件並結合movx指令進行操作。

求助 C51微控制器P0口和P1口實際應用的區別

這可能是程式的問題,p0口本身就是做資料口的最佳埠,微控制器設計時p0口就是資料匯流排,所以出現你說的問題的話,你從軟體上找找問題所在。p0口是漏級開路,必須bai加上拉電阻,這個不du必多zhi說.關鍵是你的按鍵是否有接 dao上拉電阻.按鍵通常版情況下需要接權10k左右的電阻,或者使用靜態緩衝器...

51微控制器最小系統原理圖是,51微控制器最小系統原理圖

電源模組的穩定可靠是系統平穩執行的前提和基礎。51微控制器雖然使用時間最早 應用範圍最廣,但是在實際使用過程中,一個和典型的問題就是相比其他系列的微控制器,51微控制器更容易受到干擾而出現程式跑飛的現象,克服這種現象出現的一個重要手段就是為微控制器系統配置一個穩定可靠的電源供電模組。此最小系統中的電...

要求用AT89C51微控制器的P1口點亮發光二極體分為兩組

真的是很簡單的,用點心學幾天就可以寫,看到沒人回,幫忙 12m include void timer0 init void main void timer0 isovf interrupt 1 程式如下 絕對沒有錯 led燈的一端接p1口的各各引腳,另一端接地。同時在p1口的每個管腳上加1k的上拉電...