1樓:匿名使用者
1、應該說是讀取每條指令的每個位元組都要經過這四個步驟,因指令系統分為單位元組、雙位元組和三位元組指令,因此,每個位元組都需要從外部rom中讀取出來,只要是讀取一個位元組就要經過這四個步驟,沒有疑問的。
2、微控制器讀取指令時,是按機器週期來執行的,而與內外無關,所以,效率是相同的。
2樓:生活如歌
① 當程式只存在外部rom中,讀取外部rom中的每條指令時,都要經過如上四個步驟嗎?
是要經過以上幾個步驟
② 如果是這樣的話,序在外部rom的執行效率要低於內部rom,書上為什麼說內部rom和外部rom的執行效率相等呢?
不管片內片外,執行一條指令所用的機器週期數是一樣的。
③ psen在movc指令中會有效,在cpu從外部rom取指時也會有效,那為什麼胡漢才的書上說:
「psen只有在movc指令中有效,其他情況無效」?(從外部取指時psen也有效嘛!)
他是指的定址方式時這麼說的。
3樓:匿名使用者
雖然是四個步驟但是都是在一個機器週期內完成的,所以內外部效率一樣沒有錯的。
4樓:匿名使用者
能自己學習併產生這樣的疑問,很好
但是你沒有說你自己的想法或猜測是什麼樣
其實這個很好理解的,他的發生並不需要流水線式,你多看看時序圖就明白了
關於51微控制器讀取片外rom的問題
5樓:匿名使用者
rom的cs一腳接到微控制器的哪個位置?用的rd訊號使用了嗎?
你用的27e512是64kb的rom,這個正好是51微控制器的定址空間,所以你把微控制器連線rom時要稍微特殊一些,rom的cs引腳用p1或p3的一個埠位連線,rom的oe連線微控制器的rd,其餘相同,這樣使用movx指令來讀取rom中的內容。
6樓:米海濤
看不出什麼,不過有幾點看法:
1.不知道你的硬體怎麼設計的;
2.從程式區0000h開始讀的話,讀到的應該是你的程式入口點和中斷向量區,不是你隨便能寫入什麼都行的;
3.51微控制器應該整合了部分rom,這些rom佔用了從0x0000開始的rom空間,除非你用的是8031或者禁用了片內rom,你讀到的真的是片外的rom嗎?
如果你燒錄了一片片外rom,你要確定它的初始地址是不是0000。如果是0000,你要確定這些地址空間是不是被片內rom覆蓋了。
希望對你有幫助。
###############################
這就很明顯了。
你外接了64kb的片外rom,其物理首地址只能是0000h,而且看起來你的程式是燒在片內rom上的,很顯然你也沒禁用片內rom。這樣一來,片外rom開始的一段地址空間就與片內rom重疊了,在這段地址內微控制器按照配置讀取片內rom的內容,只有超出片內rom的地址空間才能讀到片外rom的內容。
1.假設微控制器整合了4kb的片內rom,你又沒有禁用片內rom,那麼從0x0000--0x1000的地址就都對映到片內rom的空間,即使你只寫了0x0000--0x00df的**,0x0100開始的地址也還是片內rom空間,你讀這段地址的資料只能讀到片內rom的內容,而不是片外rom的內容。
2.資料寫在0x0100開始的空間中,讀資料的地址就不能從0x0000開始。
你有兩個選擇,一個是禁用片內rom(好像是ea引腳控制的吧,記不太清了),把程式燒也在片外rom上,然後把程式改為讀取從0x0100到0x0150的資料;
第二個辦法就是弄清自己的微控制器整合多少rom,然後把資料燒在片外rom裡不屬於這些重合地址的空間,再從你燒錄資料的地址開始讀資料就行了。
微控制器8051外擴rom問題
7樓:
16kb也就是2^14 byte,因此地址線是14bits地址線超出8根,因此需要鎖存器。
p0到rom的資料管腳:8根(d0~d7)p0到鎖存器:8根(ad0~ad7)
連線到rom上的地址線:14根(a0~a7、p2.0~p2.5)控制訊號:1根(rd)
總共連31根線。
想問一下微控制器外擴rom和ram的方法是什麼,怎麼做到的?直接連線嗎?
8樓:匿名使用者
微控制器外擴rom和ram都需地址線和資料線,一般不採用直接連線的方式,因那樣需佔用較多的io口,一般是資料線和地址線複用,象51微控制器p0口是資料和地址共用的匯流排,分時輸出低8位地址和資料訊號,需用鎖存器鎖存先輸出的低8位地址,此外還有鎖存訊號讀寫訊號線等.
為了方便應用,雖然要求使用微控制器時儘量不擴充套件外部rom和ram以及io口,但所有微控制器教程上還有這方面的內容,你隨便找一本教材都可參考.
9樓:做而論道
p0 口外接一片 74ls373,就構成了三匯流排。
微控制器外部rom擴充套件地址重疊問題
10樓:
要用到外部的時候ea腳要接地,這時候就不會讀到內部了,只有ea腳接高電平,不然就是接地
微控制器片外rom和片內ram共用資料線為什麼不衝突
11樓:有學問的免子
程式儲存器和資料儲存器雖然共用16位地址線和8位資料線,但由於資料儲存器的讀和寫由(/rd)和(/wr)訊號控制,而程式儲存器由讀選通訊號(/psen)控制,這些訊號在邏輯上時序上不會產生衝突,因此,兩者雖然共處於同一地址空間,但由於控制訊號不同,所以不會發生匯流排衝突。
12樓:沙裡波特
為什麼會有衝突?
你是怎麼想到這個啊?
關於51微控制器串列埠工作方式0外接74LS164的問題
不是的,串列埠傳送資料時,不需要對txd專門處理,只要設定好串列埠工作方式,將資料送入到sbuf之後,就自動將資料傳送出去了。你提出的問題應該是通過串列埠向74ls164同步傳送資料的問題吧,串列埠工作方式版0時,txd用於傳送同步脈衝,權rxd用於傳送資料,你只要將資料載入subf之後,時鐘脈衝和...
51微控制器的51是什麼意思,51微控制器什麼意思啊
其實開始微控制器就是 8031 沒有程式的 後來有個8051 比較好用 比較牛逼 其他人紛紛 模仿 這種8位 的微控制器 自然就把51當成了 標準 劃時代的產品 後來就統稱此類 微控制器為 mcs 51系列就像 馮諾依曼 哈佛 等結構 51微控制器什麼意思啊 微控制器又稱mcu,微處理器,可以以使用...
51微控制器外部中斷到底什麼意思,51微控制器中的外部中斷服務程式入口0和1有什麼不同
51微控制器有兩個外部中斷申請輸入端 int0 和 int1 這兩個引腳對應兩個中斷入口,只有這兩個引腳上的電平變化,才會觸發相應的中斷 51微控制器中的外部中斷服務程式入口0和1有什麼不同 你是哪個型別的51微控制器 一般是指 兩個中斷的區分 51微控制器有幾個中斷源,分別是什麼?一共5種中斷 優...