在這里我所講到的單片機(jī)內(nèi)部資源,和傳統(tǒng)單片機(jī)書籍中講單片機(jī)內(nèi)部結(jié)構(gòu)不同。我這里講到的內(nèi)部資源,是指作為單片機(jī)用戶,單片機(jī)提供給我們可使用的東西。
總結(jié)起來,主要是三大資源:
在早期的單片機(jī)中,主要是用 OTPROM(One Time Programmable Read-Only Memory,即一次可編程只讀存儲器)來存儲單片機(jī)的程序,程序只能寫入一次,如果發(fā)現(xiàn)錯(cuò)了,沒辦法,只能換一片,重新寫入了。隨著技術(shù)的發(fā)展,F(xiàn)lash 以其可重復(fù)擦寫且容量大成本低的優(yōu)點(diǎn)成為現(xiàn)在絕大多數(shù)單片機(jī)的程序存儲器。對于單片機(jī)來說 Flash 最大的意義是斷電后數(shù)據(jù)不丟失,這個(gè)概念類似于我們電腦的硬盤,我們保存了電影、文檔、音樂等文件,把電源關(guān)掉后,下次重新開電腦,所有的文件都還照樣存在。
RAM 是單片機(jī)的數(shù)據(jù)存儲空間,用來存儲程序運(yùn)行過程中產(chǎn)生的和需要的數(shù)據(jù),跟電腦的內(nèi)存是相似的概念,其實(shí)最典型的比喻是我們的計(jì)算器,我們用計(jì)算器計(jì)算個(gè)加減法,一些中間的數(shù)據(jù)都會保存在 RAM 里邊,關(guān)電后數(shù)據(jù)丟失,所以我們每次打開計(jì)算器,都是從歸零開始計(jì)算。但是它的優(yōu)點(diǎn),第一是讀寫速度非???,第二是理論上是可無限次寫入的,即壽命無限,不管程序怎么運(yùn)行怎么讀寫它都不會壞。
第三個(gè)資源是 SFR,特殊功能寄存器。這個(gè)概念大家可能剛開始理解不了,但是一定要記住。單片機(jī)有很多很多功能,每個(gè)功能都會對應(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ī)。它的資源情況: