89C51單片機結(jié)構(gòu)框圖
1.一個8位微處理器CPU。
2.片內(nèi)數(shù)據(jù)存儲器(RAM128B/256B):用于存儲可讀寫的數(shù)據(jù),如運算的中間結(jié)果和最終結(jié)果以及要顯示的數(shù)據(jù)。
3.片內(nèi)4kB程序存儲器Flash ROM(4KB):用于存儲程序、一些原始數(shù)據(jù)和表格。
4.四個8位并行I/O(輸入/輸出)接口P0~P3:每個端口都可以作為輸入或輸出。
5.兩個或三個定時器/計數(shù)器:每個定時器/計數(shù)器可設(shè)置為計數(shù)模式以計數(shù)外部事件或定時模式,并可根據(jù)計數(shù)或定時結(jié)果由計算機控制。
6.一個全雙工UART的串行I/O口:可以實現(xiàn)單片機與單片機或其他微機之間的串行通信。
7.片內(nèi)振蕩器和時鐘產(chǎn)生電路:但需要外部晶體振蕩器和電容。
8.具有五個中斷源的中斷控制系統(tǒng)。
9.它有省電工作模式:休閑模式和關(guān)機模式。
在空空閑模式下,CPU停止工作,而RAM、定時器/計數(shù)器、串口和中斷系統(tǒng)都繼續(xù)工作。此時電流可以降到正常工作模式的15%左右。在掉電模式下,片內(nèi)振蕩器停止工作。因為時鐘被“凍結(jié)”,所有功能都被掛起,所以只有片內(nèi)RAM的內(nèi)容被保存,直到下一次硬件復位。這樣,電流可降至15 μA以下,最低可降至06μA。
結(jié)構(gòu):
它由中央處理器(CPU)、存儲器(ROM和RAM)和I/O接口組成。89C51單片機的內(nèi)部結(jié)構(gòu)如圖所示:
下面是mcs-51。
MCS-51單片機存儲器的配置特點
①內(nèi)部集成的4K程序存儲器ROM;
②內(nèi)部數(shù)據(jù)存儲器RAM用256B
③可外接64K程序存儲器ROM和數(shù)據(jù)存儲器ram。
從物理結(jié)構(gòu)上看,51單片機的存儲系統(tǒng)可分為四個存儲空室:片內(nèi)rom和RAM,片外ROM和RAM。
從邏輯上講(從編程的角度講),51單片機的存儲系統(tǒng)實際上分為三個存儲空室。
1.片上數(shù)據(jù)存儲器RAM;
2.片外數(shù)據(jù)存儲器RAM;
3.片內(nèi)或片外程序存儲器ROM(由EA水平?jīng)Q定)。
1.程序存儲器ROM用于存儲程序、常數(shù)或表格。
2.51單片機中,引腳/EA上的電平選擇的內(nèi)外ROM:EA = 1:EA = 1時,CPU執(zhí)行片上4KROM中的程序;當EA=0時,CPU選擇片外ROM中的程序。
3.無論使用片內(nèi)rom還是片外ROM,程序的起始地址都是從ROM的0000H單元開始。
4.雖然系統(tǒng)可以同時有片內(nèi)ROM和外ROM,但是在正常使用下,可以通過設(shè)置/EA選擇其中一個(內(nèi)部ROM或者外部ROM)。
5.如果EA=1(執(zhí)行片內(nèi)程序存儲器中的程序時):如果程序計數(shù)器的指針PC值超過0FFFH(4K),微控制器將自動轉(zhuǎn)向片外rom存儲器,從1000H單元開始執(zhí)行程序(片外ROM的低位4K空不能使用)。
6.當程序超過4K時,有兩種方法可以使用程序存儲器ROM:
①設(shè)置EA=0并使用外部ROM。從地址=0000H開始;
②設(shè)置EA=1,使用內(nèi)部4KROM和外部ROM(地址從1000H開始的單元)。
六個特殊的程序存儲器單元:
ROM中有六個具有特定功能的單元。
0000H單位:復位時程序計數(shù)器PC指向的單位,所以用來存儲程序中的第一條指令;
單元0003H:外部中斷/INT0的向量入口地址;
000BH單元:定時器T0溢出中斷的向量入口地址;
單元0013H:外部中斷/INT1的向量入口地址;
001BH單元:定時器T1的溢出中斷向量入口地址;
單元0023H:串口收發(fā)中斷向量的入口地址。
向量入口單元:寫中斷程序時,寫相應(yīng)的“跳板指令”
單片機第一條指令的兩個特點:
①存儲在ROM中的0000H單位;
②跳過后面五個中斷向量,到后面真正的主程序入口0100H單元,必須是“跳轉(zhuǎn)指令”。
ORG 0000H LJMP 0100H
組織0100H
開始:MOV A,#00H
∶ ∶
∶ ∶
∶ ∶
∶ ∶
目標
外部程序存儲器:
當MCU使用外部ROM存儲器(擴展系統(tǒng))時,必須設(shè)置/EA=0,MCU的端口功能會相應(yīng)改變:
① P0和P2作為外部ROM的地址和數(shù)據(jù)總線;
②使用pin /psen信號選通外部ROM的數(shù)據(jù)三態(tài)輸出。
內(nèi)部數(shù)據(jù)存儲器RAM:
物理上和邏輯上,系統(tǒng)中的RAM可以分為兩個獨立的空室:內(nèi)部RAM和外部RAM。由不同的指令訪問。
1.當訪問內(nèi)部數(shù)據(jù)存儲單元時,使用MOV指令;
2.當訪問外部數(shù)據(jù)存儲器時,使用MOVX指令。RAM在內(nèi)部將256B空分成兩個不同的模塊:
1.下部為128B的閘板;
2.SFR(特殊功能寄存器)模塊,高度為128B。
在低128B RAM存儲單元中,它可以分為:
1.工作寄存器區(qū);
2.位尋址區(qū);
3.用于一般數(shù)據(jù)存儲的“便箋區(qū)域”。
高128B的專用寄存器區(qū)SFR只使用了21個寄存器(51系列),其他107個單元無法使用。