在80C51系統中,外部程式儲存器公用16位地址和8位資料匯流排,為什麼不會衝突

時間 2021-08-30 09:14:27

1樓:

一個機器週期裡面有12個時鐘週期,其中就分時傳送地址和資料,/w和/r的使能就是幹這個事的。以前我也沒想明白這個問題。好像p0在做外部儲存器的資料和地址線的同時還可以做普通的io用,關鍵就是注意使能的時機

2樓:非常急啊啊啊啊

微控制器四組i/o口及其作用:

p0可以作普通io口,也可以在讀寫外部儲存器作低8位的地址匯流排和8位的資料匯流排;p1口只作為一般io口;p2作為一般io口還在在讀寫外部儲存器作高8位的地址匯流排;p3口除作為一般io口還為第二輸入/輸出功能(p3.0 序列資料接入端;p3.1 序列資料傳送端;p3.

2外中斷0輸入端 ;p3.3 外中斷1輸入端;p3.4 定時或計數器to 的外部輸入端;p3.

5 定時或計數器t1的外部輸入端;p3.6 外部資料儲存器寫選通訊號;p3.7 外部資料儲存器讀選通訊號;)

3樓:匿名使用者

編寫一程式將片外資料儲存器中7000h~70ffh單元全部清零org 1000h

mov dptr,#7000h

clr a

mov r0,a

loop:movx @dptr,a

djnz r0,loop

sjmp $

在80c51擴充套件系統中,程式儲存器和資料儲存器共用16位地址線和8位資料線,為什麼兩個儲存空間不會發生衝突

4樓:晉義劍嫣

一個機器週期裡面有12個時鐘週期,其中就分時傳送地址和資料,/w和/r的使能就是幹這個事的。以前我也沒想明白這個問題。好像p0在做外部儲存器的資料和地址線的同時還可以做普通的io用,關鍵就是注意使能的時機

5樓:做而論道

不會發生衝突,因為兩者的控制匯流排並沒有共用。

在mcs-51微控制器系統中,擴充套件的程式儲存器和資料儲存器都使用16位地址線和8位資料線,為什麼不發生衝突?

6樓:做而論道

擴充套件片外儲存器,使用的是三匯流排結構,即ab、db和cb。

樓主僅僅說出了16位地址線和8位數回據線,這答只是ab和db。

另外的控制匯流排(cb)如下:

擴充套件程式儲存器,使用psen引線,來控制對其讀出;

擴充套件資料儲存器,使用rd和wr引線,來控制對其讀寫。

因為控制匯流排不同,所以不發生衝突。

7樓:匿名使用者

資料儲存器的讀寫由/rd(p3.6),/wr(p3.7)控制,程式儲存器由/psen控制,因此兩者雖共處同一地址空間,但控制訊號不同所以不會衝突。

8樓:德昂當

微控制器有一個 psen 腳 好像是這個吧,在程式rom定址時和ram定址時,會出不同的電平,來選擇分別使rom和ram的選通。

9樓:匿名使用者

擴充套件的儲存器定址方式不同,程式儲存器用movc,資料儲器用movx

在mcs-51微控制器系統中,擴充套件的程儲存器和資料儲存器都使用16位和8位資料線,為什麼不發生衝突?

10樓:做而論道

擴充套件bai

片外儲存器,du使用的是三匯流排zhi結構,即ab、db和cb。

樓主dao僅僅說出了16位地內址線和8位資料線容,這只是ab和db。

另外的控制匯流排(cb)如下:

擴充套件程式儲存器,使用psen引線,來控制對其讀出;

擴充套件資料儲存器,使用rd和wr引線,來控制對其讀寫。

因為控制匯流排不同,所以不發生衝突。

都說51微控制器儲存單元是8位的,但是程式儲存器是16位的,這2個矛盾嗎區別是什麼

11樓:匿名使用者

儲存單元指的是一個地址的資料位數,51是8位機且有8資料匯流排p0(d0~d7)

程式儲存器即pc代表的直接定址範圍,51有16位地址p2(a15~a8)、p0(a7~a0)

12樓:老橡木桶

不矛盾,儲存單元是8位,定址範圍是16位;儲存單元和定址範圍是兩個不同專的概念。你可以理解成屬最多能有65536個房子,每個房子就是一個單元;每個房子有8個房間,每個房間能住1位客人,這樣一個房子就能住8位。

13樓:匿名使用者

程式儲存器是16位所以微控制器才可以定址64k,16位是有高八位和低八位組成的

14樓:匿名使用者

這裡8位說的是處理資料位數

象pc機32位, 64位, 說的是一次處理的資料位數

mcs-51微控制器擴充套件系統中,片外程式儲存器和片外資料儲存器共處同一個地址空間,為什麼不會發生匯流排衝突?

15樓:風翼殘念

因為控制

訊號線的不同:外擴的ram晶片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為oe和we。外擴ram的讀、寫控制引腳分別與mcs-51的rd和wr引腳相連。

外擴的eprom在正常使用中只能讀出,不能寫入,故eprom晶片沒有寫入控制引腳,只有讀出引腳,記為oe,該引腳與mcs-51微控制器的psen相連

訪問片外程式儲存器和訪問資料儲存器使用不同的指令用來區分同一地址空間硬體上,控制訊號不一樣:片外程式儲存器工作,要psen訊號有效。

片外資料儲存器工作,要rd或wr訊號有效;軟體上,定址不一樣,片外程式儲存器工作,要用movc,片外資料儲存器工作,要用movx;雖然地址都是0000h~ffffh,不會發生衝突的。

16樓:匿名使用者

硬體上,控制訊號不一樣:片外程式儲存器工作,要psen訊號有效;片外資料儲存器工作,要rd或wr訊號有效;

軟體上,定址不一樣,片外程式儲存器工作,要用movc,片外資料儲存器工作,要用movx;

雖然說他們的地址都是0000h~ffffh,不會發生衝突的

17樓:匿名使用者

微控制器有一個管腳(好像是cp,忘記了),

當讀外rom時置低,讀外ram時置高,以此來選通rom或ram,

所以不會衝突。

18樓:沙裡波特

老師出這題目,就是坑騙學生的。

片外程式存

儲器和片外資料儲存器,各有 64k 的地址。

根本就沒有共處同一個地址空間。

哪會有什麼匯流排衝突?

匯流排衝突,是什麼意思?

這是老師自己瞎編的詞,沒有任何意義。

按照 51 微控制器的基本理論,設計電路、編寫程式,即可。

根本不用理會這些濫題。

80C51微控制器數碼管的顯示C語言

include int ss 0 int mm 0 int hh 0 int counttimer 0 unsigned char const number unsigned char code wei void inittimer50ms void void delay int t 下面這個函式是...

80C51微控制器片內RAM低儲存單元劃分為哪主要部分 各部分主要功能是什麼

念德臺丁 return k是函式返回值,這是個子函式,處理完後返回給呼叫函式一個處理後的值。k k 1 j 這個是指k左移一位,在或上j,因為j sda,看你的寫法,據我猜測da是一個晶片的埠,這是序列輸入的方式,你要讀取晶片的輸出值 假設某個時候k 0000 0001,假設j這個時候為1,那執行k...

當80C51微控制器晶振頻率為12MHz時,時鐘週期 機器週期各是多少

111111前的 當80c51微控制器晶振頻率為12mhz時,時鐘週期為 1 12 微秒,機械週期為1微秒。時鐘週期 一個時鐘脈衝所需要的時間。在計算機組成原理中又叫t週期或節拍脈衝。是cpu和其他微控制器的基本時間單位。它可以表示為時鐘晶振頻率 1秒鐘的時鐘脈衝數 的倒數 也就是1s 時鐘脈衝數,...