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