區分MSC 51微控制器片外程式儲存器和片外資料儲存器的最可靠

2021-03-22 01:44:30 字數 5598 閱讀 1907

1樓:至尊老城

選d,psen是片外程式儲存器的讀選通訊號,

rd是片外資料儲存器的讀選通訊號,看它和誰連線

2樓:匿名使用者

如果是作業,看型號;

如果實際應用,外掛程式儲存器的51微控制器已經絕跡了;

3樓:萬能的z博士

我們學校原題 題目最可靠

答案是d

4樓:匿名使用者

所謂rom就是唯讀儲存器(掉電資料繼續儲存);ram是臨時儲存器(掉電資料丟失),所以。肯定是a啦 。

在mcs-51微控制器儲存器擴充套件中,區分擴充套件的是片外程式儲存器還是片外資料儲存器的最可靠的方法是

5樓:匿名使用者

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

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

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

6樓:做而論道

最可靠的方法是:觀察連線。

片選端(cs)連線到微控制器的psen引腳的,是片外程式儲存器;

片選端(cs)連線到微控制器的rd和wr引腳的,是片外資料儲存器。

區分at89s51微控制器外程式儲存器與片外資料儲存器的最可靠的方法?

7樓:做而論道

微控制器自己會區分。

人,不用擔心區分的問題。

也不用研究最可靠、基本可靠、...不可靠的方法。

8樓:手機使用者

看其被wr還是psen訊號連線

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

9樓:風翼殘念

因為控制

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

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

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

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

10樓:匿名使用者

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

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

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

11樓:匿名使用者

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

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

所以不會衝突。

12樓:沙里波特

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

片外程式存

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

根本就沒有共處同乙個位址空間。

哪會有什麼匯流排衝突?

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

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

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

根本不用理會這些濫題。

mcs—51微控制器資料儲存器ram分布情況,說明片內和片外如何區分

13樓:做而論道

片內,00h~7fh,共 128 位元組;

片外,0000h~ffffh,共 65536 位元組,即 64k。

如何區分:

是要求用肉眼區分嗎?

片內 ram,是買來一片 51 微控制器晶元時,裡面自帶的。

片外 ram,需要另外再買幾塊 ram 晶元,焊接到電路板上。

用肉眼觀察,立即就可以區分出來。

14樓:

51微控制器有以下幾個記憶體模組組成:

1】rom或者flash,叫程式儲存區,你寫的程式是存在這裡面的,上電後從這裡面執行。

程式儲存區也分為片內和片外,一般來說,現在的51很多已經做到了64k,所以很少有外擴

片外flash或者片外的rom了,flash或者rom不管是片內還是片外的,只能用來定義常量,是用code來修飾,也就是說,用code來修飾的東西,在程式執行過程中,不能修改;

2】ram有------內部ram的低128位(00-7f),對應c語言就是data,比如我定義乙個變數,

data unsigned char var = 0;

那麼,這個 var變數就是放在內部的低128位ram中

-------內部ram的高128位(80-ff),對應c語言就是idata,比如我定義乙個變數,

idata unsigned char var = 0;

那麼,這個 var變數就是放在內部的高128位ram中

-------特殊功能暫存器(sfr)(80-ff),對應c語言就是sfr比如我定義乙個變數,

sfr unsigned char var = 0x90;

那麼,這個 var變數就是放在內部的特殊功能暫存器中,這是你對var操作,相當於操作乙個特殊的暫存器,但是小心,不能隨便定義sfr變數,很危險

------外部ram 64k(0000-ffff)

外部的ram可以擴充套件到65536個,但是前256個算是一頁,這一頁比較特殊,是用

pdata來修飾的,當然,也可以用xdata來修飾。

除了第一頁的256個以外的其他65280個空間,只能用xdata來修飾;

回過頭來討論pdata和xdata,這兩個都能修飾外部ram的第一頁,但是,pdata只能修飾第一頁,即最前面的256個外部ram,那麼,這最前面的256個到底用pdata還是xdata好的呢?

答案是pdata,因為xdata修飾的變數,用的是dptr定址,pdata用的是r0和r1.dptr因為是16位的,所以可以覆蓋整個的64k外部ram,r0和r1是8位,所以只能定址最前面的256個,也就是外部ram的第一頁,但是,用r0定址,比dptr快一倍,**也小的很多

樓主又疑惑了,好多位址是重複的,比如,我向80h位址寫乙個數值,微控制器怎麼知道讀的是內部的高128位ram?還是sfr?還是外部64k的ram呢?

答案是用指令,如果是直接定址,那麼訪問的就是sfr,如果是r0或者r1間接定址,就是內部高128位ram,如果是dptr或者是r0,r1間接定址,且配合的是movx指令,那麼就是訪問外部64kram中的第80h個位址。

概括一下來說,51的記憶體由以下組成:

1----程式儲存器(包括片內flash或rom,也包括片外flash或rom,c語言用code定義)

2----內部低128位ram,c語言用data定義

3---內部高128位ram,c語言用idata定義

4---內部sfr,c語言用sfr定義

5---外部65536個ram(通常,很多微控制器廠家不會給你擴充套件那麼多的,一般來說擴充套件256個位元組或者1024個位元組就差不多了,最近巨集晶的出了個擴充套件4096位元組的。這65536位元組的ram,前256個可以用pdata修飾,也可以用xdata修飾,超過256個之後的,只能用xdata修飾)

以上所說的只是針對51核心的微控制器,其他核心的,像arm之類的,不是這種結構的。

15樓:紫色學習

mcs—51微控制器資料儲存器ram分布情況及區分:片內 ram,是買來一片 51 微控制器晶元時,裡面自帶的。片外 ram,需要另外再買幾塊 ram 晶元,焊接到電路板上。

微控制器(microcontrollers)是一種積體電路晶元,是採用超大規模積體電路技術把具有資料處理能力的**處理器cpu、隨機儲存器ram、唯讀儲存器rom、多種i/o口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、a/d轉換器等電路)整合到一塊矽片上構成的乙個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位微控制器,發展到現在的300m的高速微控制器。

在mcs-51微控制器儲存器擴充套件中,區分擴充套件的是片外程式儲存器還是片外資料儲存器的方法是什麼?

16樓:匿名使用者

硬體上,控制訊號不一樣:片外程式儲存器工

作,要psen訊號有效;片外資料儲存器工作,要rd或wr訊號有效;

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

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

51微控制器片內程式儲存器、片外程式儲存器、片內資料儲存器和片外資料儲存器之間的聯絡,就是重疊之類的

17樓:匿名使用者

對於程式儲存器,是內部還是外部是由硬體電路決定的,或者是由微控制器本身決定的。程式是決定不了的。

不過,現在的微控制器的程式儲存器都在內部,幾乎不在外部擴充套件了,因為,需要多大的內部程式儲存器都有的。

但是訪問資料儲存器可以由程式決定。在宣告變數時是可以定義放在什麼區的。

51微控制器的片記憶體儲器與片外儲存器的區別

18樓:做而論道

一般來說,外部儲存器是要用外接晶元的。

但是近年來,出現了一些新型號的微控制器,在其內部,就包含了少量的外部儲存器。

這樣在一塊小晶元裡面,就包括了:片內資料儲存器與程式儲存器,還有外部資料儲存器。

19樓:寧哦

片內資料儲存器與程式儲存器應該是51微控制器裡面的,當訪問超過4k位元組儲存器時,將自動訪問外部。外部儲存器需要通過外圍晶元擴充套件,所以片內在那個小晶元裡面,片外在那個小晶元外,估計你是初學者,當你學到後面的『微控制器系統功能擴充套件時,就了解啦。微控制器教材一般在前一章簡單概括一下各界面的功能,你只有在後面的學習中才會更加深刻的了解。

就好比p0口就是可以分時輸出低8位位址用於擴充套件。p2為高8位,movx指令就是運用於此啦。

20樓:冷泉泓薇

標準mcs-51微控制器內部都有內部資料儲存器,容量128~256bytes;部分型號有程式儲存器(分為prom、eprom和eeprom三種),容量為4~8kbytes;由於內資料儲存器很小,執行較複雜一點的程式時一般需要擴充套件外部資料儲存器,也就是增加一片ram晶元,最初使用hm6116,後來用6264.若僅僅擴充套件一片ram,可以直接用多餘引腳來控制,不需要其他晶元,缺點是程式設計麻煩點。

經過30年的科技進步,目前的mcs-51相容晶元功能有了很大的增強,除了內部資料儲存器沒有變化外,晶元內部大都都整合了較大容量的flash rom,部分訊號還整合了2~12kbytes的擴充套件儲存器,其中擴充套件儲存器需要按照外部資料儲存器訪問。

21樓:

區別就是:片外的需要 接在51晶元的外面,

片內的,在51晶元的內部

微控制器大神請進,51微控制器彙編程式,程式可發至

1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...

微控制器程式中能輸入小數嗎,51微控制器怎麼從鍵盤輸入小數點啊

51微控制器硬體沒有浮點數運算指令,如果是彙編,需要自己使用一段彙編指令序列來完成浮點數運算,如果是c語言就比較容易了,編譯器會自動做處理,但是微控制器做浮點運算開銷是很大的 小數部分會被直接捨去,不會產生進製。微控制器處理浮點運算是很慢的。使用float型或double型變數,經過編譯器編譯後是會...

80c51微控制器的片內片外儲存器如何選擇

片內的空間較小。如果,你的專案,規模不大,就選擇片記憶體儲器。如果,不夠用,就必須使用片外的ram,這不是選擇不選擇的問題。復位,對 ram 沒有影響。80c51微控制器的片內 片外儲存器的選擇 80c51微控制器的ea 引腳為訪問內部和外部程式儲存器的選擇端。程式儲存器rom 其內部容量4kb,指...