在這里我所講到的單片機內部資源,和傳統單片機書籍中講單片機內部結構不同。我這里講到的內部資源,是指作為單片機用戶,單片機提供給我們可使用的東西。總結起來,主要是三大資源:
Flash:程序存儲空間,早期單片機是 OTPROM。
RAM:數據存儲空間。
SFR:特殊功能寄存器。
1) Flash
在早期的單片機中,主要是用 OTPROM(One Time Programmable Read-Only Memory,即一次可編程只讀存儲器)來存儲單片機的程序,程序只能寫入一次,如果發現錯了,沒辦法,只能換一片,重新寫入了。隨著技術的發展,Flash 以其可重復擦寫且容量大成本低的優點成為現在絕大多數單片機的程序存儲器。對于單片機來說 Flash 最大的意義是斷電后數據不丟失,這個概念類似于我們電腦的硬盤,我們保存了電影、文檔、音樂等文件,把電源關掉后,下次重新開電腦,所有的文件都還照樣存在。
2) RAM
RAM 是單片機的數據存儲空間,用來存儲程序運行過程中產生的和需要的數據,跟電腦的內存是相似的概念,其實最典型的比喻是我們的計算器,我們用計算器計算個加減法,一些中間的數據都會保存在 RAM 里邊,關電后數據丟失,所以我們每次打開計算器,都是從歸零開始計算。但是它的優點,第一是讀寫速度非常快,第二是理論上是可無限次寫入的,即壽命無限,不管程序怎么運行怎么讀寫它都不會壞。
3) SFR
第三個資源是 SFR,特殊功能寄存器。這個概念大家可能剛開始理解不了,但是一定要記住。單片機有很多很多功能,每個功能都會對應一個或多個 SFR,我們就是通過對 SFR 的讀寫來實現單片機的多種多樣的功能的。
講到這里,我們來了解一下 51 單片機。通常我們一說到 51 單片機,指的都是兼容 Intel MCS-51 體系架構的一系列單片機,而 51 是它的一個通俗的簡稱。全球有眾多的半導體廠商推出了無數款這一系列的單片機,比如 Atmel 的 AT89C52,NXP(Philips)的 P89V51,宏晶科技的 STC89C52.。..。.具體型號千差萬別,但他們的基本原理和操作都是一樣的,程序開發環境也是一樣的。這里我們要分清楚 51 這個統稱和具體的單片機型號之間的關系。
單片機內部資源的三個主要部分我們清楚了,那么我們選擇 STC89C52 這款單片機來進行學習。STC89C52 是宏晶科技出品的一款 51 內核的單片機,具有標準的 51 體系結構,全部的 51 標準功能,程序下載方式簡單,方便學習,我們就用它來學習單片機。它的資源情況:
Flash 程序空間是 8K 字節(1K=1024,1 字節= 8 位);
RAM 數據空間是 512 字節;
SFR我們后邊會逐一提到并且應用。
來源;21ic