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