鍍金池/ 教程/ 數(shù)據(jù)庫/ 2.1 單片機(jī)內(nèi)部資源(內(nèi)部結(jié)構(gòu))
2.1 單片機(jī)內(nèi)部資源(內(nèi)部結(jié)構(gòu))
5.1 單片機(jī)邏輯電路與邏輯運(yùn)算
6.1 C 語言數(shù)組
5.7 單片機(jī)數(shù)碼管的靜態(tài)顯示
4.8 單片機(jī) LED 流水燈程序[詳細(xì)]
6.7 單片機(jī)中斷的優(yōu)先級
5.2 單片機(jī)定時(shí)器介紹
1. 如何學(xué)習(xí)單片機(jī)
1.3 單片機(jī)學(xué)習(xí)的準(zhǔn)備工作
4.3 C 語言基本運(yùn)算符
5.5 單片機(jī)中 LED 數(shù)碼管的介紹
2.6 第一個(gè)單片機(jī)程序(C 語言編寫)
3.5 單片機(jī)中 74HC138 三八譯碼器的應(yīng)用
3.2 單片機(jī)中去耦電容的應(yīng)用
6.4 單片機(jī)數(shù)碼管動態(tài)顯示程序[帶解釋]
1.5 Keil uVision4簡單使用教程
第一章問題匯總
1.2 如何學(xué)習(xí)單片機(jī)
4.4 C 語言 for 循環(huán)語句
6.5 單片機(jī)數(shù)碼管顯示消隱
單片機(jī)上的發(fā)光二極管(LED 燈)
5. 單片機(jī)定時(shí)器與數(shù)碼管基礎(chǔ)
5.3 單片機(jī)定時(shí)器的寄存器
5.6 單片機(jī)數(shù)碼管的真值表
6.2 C 語言 if 語句
3.3 三極管的的概念及其工作原理
4. C 語言基礎(chǔ)及流水燈的實(shí)現(xiàn)
點(diǎn)亮你的 LED 燈
4.6 C 語言函數(shù)的簡單介紹
2.4 51單片機(jī)特殊功能寄存器和位定義
6.6 單片機(jī)中斷系統(tǒng)
3.1 電磁干擾 EMI
4.1 二進(jìn)制、十進(jìn)制和十六進(jìn)制
4.5 C 語言 while 循環(huán)語句
3. 單片機(jī)硬件基礎(chǔ)知識學(xué)習(xí)
2.5 使用 Keil uVision 新建一個(gè)工程
1.4 單片機(jī)開發(fā)環(huán)境搭建--Keil uVision4安裝教程
4.7 單片機(jī)延時(shí)方法(Keil 軟件延時(shí))
6. 單片機(jī)的中斷與數(shù)碼管動態(tài)顯示
3.6 單片機(jī) LED 燈閃爍程序
6.3 C 語言 switch 語句
1.1 學(xué)習(xí)什么單片機(jī)
4.2 C 語言變量類型和范圍
5.4 單片機(jī)中定時(shí)器的應(yīng)用
2.7 將程序下載到單片機(jī)
3.4 單片機(jī)中三極管的應(yīng)用
2.2 單片機(jī)最小系統(tǒng)[配圖][超詳細(xì)]

2.1 單片機(jī)內(nèi)部資源(內(nèi)部結(jié)構(gòu))

在這里我所講到的單片機(jī)內(nèi)部資源,和傳統(tǒng)單片機(jī)書籍中講單片機(jī)內(nèi)部結(jié)構(gòu)不同。我這里講到的內(nèi)部資源,是指作為單片機(jī)用戶,單片機(jī)提供給我們可使用的東西。總結(jié)起來,主要是三大資源:

  • Flash:程序存儲空間,早期單片機(jī)是 OTPROM。
  • RAM:數(shù)據(jù)存儲空間。
  • SFR:特殊功能寄存器。

1) Flash

在早期的單片機(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)掉后,下次重新開電腦,所有的文件都還照樣存在。

2) RAM

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)行怎么讀寫它都不會壞。

3) SFR

第三個(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ī)。它的資源情況:

  • Flash 程序空間是 8 K 字節(jié)(1 K=1024,1字節(jié)= 8位);
  • RAM 數(shù)據(jù)空間是512字節(jié);
  • SFR 我們后邊會逐一提到并且應(yīng)用。