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

單片機與存儲器

發布時間:2022-09-12 18:47:45

單片機的存儲器結構

通過上面的實驗我們已經知道:一盞燈亮或者說一根線的電平的高低,能代表兩種狀態: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,讀和寫信號同時還接入到另一個存儲器,但是由於片選端不一樣,所以雖有讀或寫信號,但沒有片選信號,所以另一個存儲器不會「誤會」而開門,造成沖突。那麼會不一樣時選中兩片晶元呢?只要是設計好的系統就不會,因為它是由計算控制的,而不是我們人來控制的,如果真的出現同時出現選中兩片的情況,那就是電路出了故障了,這不在我們的討論之列。

⑵ 單片機片內存儲器和片外存儲器的作用和概念

單片機片內存儲器包括片內ROM和片內RAM,片內ROM用於存儲程序代碼,片內RAM包括寄存器和片內擴展RAM,比如STC的很多型號都有片內擴展EEPROM。
片外存儲器包括片外ROM和片外RAM,片外ROM用戶存儲程序代碼,片外RAM用於存儲用戶的可改寫數據。

⑶ 單片機應用程序一般存放在哪一個存儲器中

ROM。只讀存儲器(Read-Only Memory,ROM)以非破壞性讀出方式工作,只能讀出無法寫入信息。信息一旦寫入後就固定下來,即使切斷電源,信息也不會丟失,所以又稱為固定存儲器。

ROM所存數據通常是裝入整機前寫入的,整機工作過程中只能讀出,不像隨機存儲器能快速方便地改寫存儲內容。ROM所存數據穩定 ,斷電後所存數據也不會改變,並且結構較簡單,使用方便,因而常用於存儲各種固定程序和數據。

(3)單片機與存儲器擴展閱讀

單片機的數據存儲器由讀寫存儲器RAM組成。其最大容量可擴展到64k,用於存儲實時輸入的數據。8051內部有256個單元的內部數據存儲器,其中00H~7FH為內部隨機存儲器RAM,80H~FFH為專用寄存器區。

實際使用時應首先充分利用內部存儲器,從使用角度講,搞清內部數據存儲器的結構和地址分配是十分重要的。因為將來在學習指令系統和程序設計時會經常用到它們。

8051內部數據存儲器地址由00H至FFH共有256個位元組的地址空間,該空間被分為兩部分,其中內部數據RAM的地址為00H~7FH(即0~127)。

而用做特殊功能寄存器的地址為80H~FFH。在此256個位元組中,還開辟有一個所謂「位地址」區,該區域內不但可按位元組定址,還可按「位(bit)」定址。對於那些需要進行位操作的數據,可以存放到這個區域。從00H到1FH安排了四組工作寄存器,每組佔用8個RAM位元組,記為R0~R7。

⑷ 單片機裡面的寄存器與存儲器不同嗎分別表示什麼到底怎麼區分

存儲器裡面有寄存器區和便戳區,寄存器區就是系統規定好了的跟內部功能有映射的RAM,通過修改寄存器來對系統功能和IO口進行操作,便戳區就是我們一般說的RAM了,也就是編程的時候往裡面放你的數據和變數的地方。其實是一回事,都是RAM。

⑸ 單片機的程序存儲器有哪些類型

單片機的程序存儲器是專門用來存放程序和常數的,有掩模ROM、OTPROM、EPROM、FlashROM等類型。

掩模這種形式的程序存儲器適用於成熟、大批量生產的產品,如彩色電視機等家電產品中的單片機。用戶把應用程序代碼交給半導體製造廠家,單片機在生產時,程序就被固化到晶元中,因此晶元一旦生產出來,程序就無法改變了。

採用EPROM的單片機具有可以靈活修改程序的優點,但存在需要紫外線擦除、較費時間的缺點。

在自己做試驗或樣機的研發階段,推薦使用Flash單片機,它有電寫入、電擦除的優點,使得修改程序很方便,可以提高開發速度。

對於初具規模的產品可選用0TP單片機,它不但能免去較長的產品掩膜時間,加快產品的上市時間,而且方便程序的修改,能夠對產品進行及時的調整和升級。

程序存儲器的容量可根據程序的大小確定。8位單片機片內程序存儲器的最大容量能達到64KB,不夠時還可以擴展。

⑹ 單片機中EEPROM,FLASH ROM存儲器與ROM存儲器有什麼區別

存儲器類型不同,二者都屬於非易失存儲器,EEPROM可擦寫壽命更多,約5萬次,FLASH只有10萬次,但是速度更快。

⑺ MCS-51單片機片內256B的數據存儲器可分為幾個區分別起什麼作用

MCS-51 單片機片內數據存儲器可分為二個區: 00H~7FH 單元組成的低128B 的片內RAM區、80H ~FFH單元組成的高128B 的專用寄存器區。其中低128B的RAM區又分為: 00H~1FH 單元為工作寄存器區、20H~2FH 單元為位定址區、30H~7FH單元為用戶RAM區。

工作寄存器區可作通用寄存器用,用戶RAM區可作堆棧和數據緩沖用。專用寄存器區又稱特殊功能寄存器,使用80H~FFH單元。

(7)單片機與存儲器擴展閱讀

存儲器空間在物理結構上可劃分為:MCS-51存儲器是採用將程序存儲器和數據存儲器分開定址的結構,其存儲器空間在物理結構上可劃分為如下四個空間:片內程序存儲器、片外程序存儲器、片內數據存儲器、片外數據存儲器。

MCS-51單片機的P0~P3四個I/O埠在結構上的異同以及使用時應注意的事項:MCS-51單片機的四個埠在結構上相同之處: P0~P3 都是准雙向I/O 口,作輸入時,必須先向相應埠的鎖存器寫入「1」。

不同之處;P0口的輸出級與P1~P3口不相同,它無內部上拉電阻,不能提供拉電流輸出,而P1~P3 則帶內部上拉電阻,可以提供拉電流輸出。

當P0口作通用I/O口輸出使用時,需外接上拉電阻才可輸出高電平;但作地址/數據匯流排時,不需要外接上拉電阻。P1~P3口IO輸出時,均無需外接上拉電阻。

⑻ 單片機的存儲器可以分為幾種

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

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

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

⑼ 單片機與存儲器

VCC,GND這個兩個引腳是所有集成電路都要有的,它不能引起各類晶元的混淆,我用過的存儲器晶元型號不多,感覺到它和單片機的直觀區別應該是常見的51單片機一般都有晶振引腳XTAL1/XTAL2,而存儲器沒有。但如有用到不熟悉的晶元還是應該找到數據手冊或參數才能應用。

⑽ 單片機存儲器的介紹

存儲器是單片機的又一個重要組成部分,圖6給出了一種存儲容量為256個單元的存儲器結構示意圖。其中每個存儲單元對應一個地址,256個單元共有256個地址,用兩位16進制數表示,即存儲器的地址(00H~FFH)。存儲器中每個存儲單元可存放一個八位二進制信息,通常用兩位16進制數來表示,這就是存儲器的內容。存儲器的存儲單元地址和存儲單元的內容是不同的兩個概念,不能混淆。

閱讀全文

與單片機與存儲器相關的資料

熱點內容
新電腦管家下載好怎麼解壓 瀏覽:526
php獲取介面數據 瀏覽:763
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:417
壽司pdf 瀏覽:828
pythonbg是什麼 瀏覽:248
c數值演算法程序大全 瀏覽:785
android整點報時 瀏覽:221
稀土pdf 瀏覽:536
單片機電子鎖 瀏覽:596
通達信機智資金流指標公式源碼 瀏覽:216
php安裝xsl擴展 瀏覽:842
python如何使用help 瀏覽:367
上汽榮威app在哪裡查詢 瀏覽:903
冰櫃壓縮機溫度108 瀏覽:720
阿里雲郵smtp伺服器地址 瀏覽:252
解壓館認知理解 瀏覽:239
為什麼使用非官方伺服器會封號 瀏覽:9
佛山加密文檔軟體 瀏覽:813