導航:首頁 > 操作系統 > 單片機存儲

單片機存儲

發布時間:2022-04-21 16:40:22

『壹』 單片機的存儲器結構

通過上面的實驗我們已經知道:一盞燈亮或者說一根線的電平的高低,能代表兩種狀態:0和1。實際上這就是一個二進制位,因此我們就把一根線稱之為一「位」,用BIT表示。

什麼是位元組:
  一根線能表於0和1,兩根線能表達00,01,10,11四種狀態,也就是能表於0到3,而三根能表達0-7,計算機中常常用8根線放在一起,同時計數,就能表過到0-255一共256種狀態。這8根線或者8位就稱之為一個位元組(BYTE)。不要問我為什麼是8根而不是其它數,因為我也不知道。(計算機世界是一本人造的世界,不是自然界,很多事情你無法問為什麼,只能說:它是一種規定,大家在以後的學習過程中也要注意這個問題)

存儲器的工作原理:

1、存儲器構造

   存儲器就是用來存放數據的地方。它是利用電平的高低來存放數據的,也就是說,它存放的實際上是電平的高、低,而不是我們所習慣認為的1234這樣的數字,這樣,我們的一個謎團就解開了,計算機也沒什麼神秘的嗎。

 

 

 
圖2

 
圖3

  讓我們看圖2。單片機裡面都有這樣的存儲器,這是一個存儲器的示意圖:一個存儲器就象一個個的小抽屜,一個小抽屜里有八個小格子,每個小格子就是用來存放「電荷」的,電荷通過與它相連的電線傳進來或釋放掉,至於電荷在小格子里是怎樣存的,就不用我們操心了,你能把電線想像成水管,小格子里的電荷就象是水,那就好理解了。存儲器中的每個小抽屜就是一個放數據的地方,我們稱之為一個「單元」。

 

 

  有了這么一個構造,我們就能開始存放數據了,想要放進一個數據12,也就是00001100,我們只要把第二號和第三號小格子里存滿電荷,而其它小格子里的電荷給放掉就行了(看圖3)。可是問題出來了,看圖2,一個存儲器有好多單元,線是並聯的,在放入電荷的時候,會將電荷放入所有的單元中,而釋放電荷的時候,會把每個單元中的電荷都放掉,這樣的話,不管存儲器有多少個單元,都只能放同一個數,這當然不是我們所希望的,因此,要在結構上稍作變化,看圖2,在每個單元上有個控制線,我想要把數據放進哪個單元,就給一個信號這個單元的控制線,這個控制線就把開關打開,這樣電荷就能自由流動了,而其它單元控制線上沒有信號,所以開關不打開,不會受到影響,這樣,只要控制不一樣單元的控制線,就能向各單元寫入不一樣的數據了,同樣,如果要某個單元中取數據,也只要打開對應的控制開關就行了。

2、存儲器解碼
  那麼,我們怎樣來控制各個單元的控制線呢?這個還不簡單,把每個單元元的控制線都引到集成電路的外面不就行了嗎?事情可沒那麼簡單,一片27512存儲器中有65536個單元,把每根線都引出來,這個集成電路就得有6萬多個腳?不行,怎麼辦?要想法減少線的數量。我們有一種辦法稱這為解碼,簡單介紹一下:一根線能代表2種狀態,2根線能代表4種狀態,3根線能代表幾種,256種狀態又需要幾根線代表?8種,8根線,所以65536種狀態我們只需要16根線就能代表了。

(圖4)

3、存儲器的選片及匯流排的概念
   至此,解碼的問題解決了,讓我們再來關注另外一個問題。送入每個單元的八根線是用從什麼地方來的呢?它就是從計算機上接過來的,一般地,這八根線除了接一個存儲器之外,還要接其它的器件,如圖4所示。這樣問題就出來了,這八根線既然不是存儲器和計算機之間專用的,如果總是將某個單元接在這八根線上,就不好了,比如這個存儲器單元中的數值是0FFH另一個存儲器的單元是00H,那麼這根線到底是處於高電平,還是低電平?豈非要打架看誰歷害了?所以我們要讓它們分離。辦法當然很簡單,當外面的線接到集成電路的管腳進來後,不直接接到各單元去,中間再加一組開關(參考圖4 )就行了。平時我們讓開關關閉著,如果確實是要向這個存儲器中寫入數據,或要從存儲器中讀出數據,再讓開關接通就行了。這組開關由三根引線選擇:讀控制端、寫控制端和片選端。要將數據寫入片中,先選中該片,然後發出寫信號,開關就合上了,並將傳過來的數據(電荷)寫入片中。如果要讀,先選中該片,然後發出讀信號,開關合上,數據就被送出去了。注意圖4,讀和寫信號同時還接入到另一個存儲器,但是由於片選端不一樣,所以雖有讀或寫信號,但沒有片選信號,所以另一個存儲器不會「誤會」而開門,造成沖突。那麼會不一樣時選中兩片晶元呢?只要是設計好的系統就不會,因為它是由計算控制的,而不是我們人來控制的,如果真的出現同時出現選中兩片的情況,那就是電路出了故障了,這不在我們的討論之列。

『貳』 單片機存儲器分為哪幾類,各有哪些特點和用

單片機存儲器分為:程序存儲器和數據存儲器。
數據存儲器又分為:內部數據存儲器和外部數據存儲器。
內部數據存儲器又分為:
1、工作寄存器,共4組,地址范圍00H~1FH
2、位址空間,地址范圍20H~2FH
3、用戶寄存器,地址范圍30H~7FH(FFH)
4、特殊功能寄存器,地址范圍80H~FFH

『叄』 單片機存儲器分為哪幾類各有哪些特點和用途

大的方面分為兩個:RAM和ROM。RAM用於存儲一些變數相當於草稿紙,ROM用於存儲程序。
RAM分為:內部RAM和外部擴展RAM
內部RAM又包括:
R0~R7工作寄存器(共4個工作區)地址00~1FH
位寄存器,地址20~2FH
用戶寄存器30~7FH(有的是30~FFH)
特殊功能寄存器80~FFH

『肆』 8051單片機的主要存儲空間是什麼

8051的通用寄存器(r0-r7)通過PSW映射在IRAM的0x00開始到0x20結束,共4組,每組8位元組。

至於累加器(ACC),輔助寄存器(B)和數據指針寄存器(DPTR)是編址在IRAM中的。8051其實類似堆棧機模型,而且CPU和IRAM的關聯度非常高,不像現代的計算機結構一樣容易分離。不過如果將IRAM看待為一個大型REGISTER FILE,就更好分析8051系統了。你可以認為IRAM就是個巨大的寄存器組,CPU直接訪問IRAM的效率和寄存器的效率差別不大。

並且8051背負的歷史包袱太嚴重。原本IRAM的0x00-0x7f作為RAM使用,0x80-0xff作為SFR使用。而後8052這款晶元將0x80-0xff這段IRAM的作用增多:指針訪問做RAM,直接訪問做SFR。這樣直接導致了8051訪存效率的降低以及初學者經常拎不清楚的問題出現。同樣,外部的XRAM和ROM的訪問必須依賴DPTR等指針訪問,這迫使不少增強型8051單片機生產商推出了雙DPTR的設計。

這樣的比較混亂,略微復雜,靠著專利過期成功商業化的單片機結構即將迎來它的末日。建議題主改學ARMv7/LC2K/MIPS/RISC-V/AVR這類簡潔而高效的架構

『伍』 單片機內部主要儲存資源是什麼

單片機內部主要儲存資源是程序存儲器(如多少K*位數),RAM(多少位元組),還有的帶EEPROM(多少位元組)。

『陸』 單片機的存儲器可以分為幾種

單片機的存儲器可分為程序存儲器(ROM)和數據存儲器(RAM)。

程序存儲器是專門用來存放程序和常數的。

數據存儲器是程序在運行中存放臨時數據的,掉電後數據即丟失,現在有些型號的單片機提供了EEPROM,可用來存儲掉電後需要保存的關鍵數據,如系統的一些設置參數。

『柒』 單片機的片內和片外存儲器的功能各是什麼

單片機的存儲器的按功能分為RAM和ROM,RAM常用作寄存器和數據存儲器,ROM都用作程序存儲器,片內和片外沒什麼差別,往往是片內不夠用,片外擴充,當然,單片機的特殊寄存器(用作運算或設置單片機功能)一定在片內,而且也是不能擴充的。

閱讀全文

與單片機存儲相關的資料

熱點內容
表格怎麼轉移到另一個文件夾 瀏覽:923
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821