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