8051單片機

基於馮諾伊曼體系結構的CPU

8051單片機是PC機的CPU是基於馮諾伊曼的體系結構。

基本結構


8051單片機
8051單片機
51單片機最初是由Intel公司開發設計的,但後來Intel公司把51核的設計方案賣給了幾家大的電子設計生產商,譬如 SST、Philip、Atmel等大公司。如是市面上出現了各式各樣的但均以51 為內核的單片機,倒是Intel公司自己的單片機卻顯得遜色了。這些各大電子生產商推出的單片機都兼容51指令、並在51的基礎上擴展一些功能而內部結構是與51一致的。

結構框架


PC 機的CPU 是基於馮諾伊曼的體系結構,然而MCU(單片機)、Dsp(數字信號處理器)都是基於哈佛結構的體系結構。哈佛結構與馮諾伊曼結構有很大的不同,在馮諾伊曼體系結構下只有一個地址空間,ROMRAM 可以隨意安排在這一地址範圍內的不同空間,即ROM 和RAM 地址統一分配。CPU 訪問存儲器時,一個地址對應唯一的存儲單元,可能是ROM,也可能是RAM。而哈佛結構下ROM 和RAM 是分開編址,即程序和數據分開保存,訪問時用不同的指令加以區分,並可同時訪問,在這樣的體系結構下有利於提高指令的執行速度。在後面的章節我們將詳細介紹單片機的存儲器配置。
(1)一個8 位的微處理器(CPU)。
(2)片內數據存儲器RAM(128B/256B),用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等,SST89 系列單片機最多提供1K 的RAM。
(3)片內程序存儲器ROM/EPROM(4KB/8KB),用以存放程序、一些原始數據和表格。但也有一些單片機內部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機的發展趨勢是將RAM 和ROM 都集成在單片機裡面,這樣既方便了用戶進行設計又提高了系統的抗干擾性。SST 公司推出的89 系列單片機分別集成了16K、32K、64K Flash 存儲器,可供用戶根據需要選用,讀者可查看書的後面部分。
(4)四個8 位并行I/O 介面P0~P3,每個口既可以用作輸入,也可以用作輸出。
(5)兩個定時器/計數器,每個定時器/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,並可以根據計數或定時的結果實現計算機控制。為方便設計串列通信,目前的52 系列單片機都會提供3 個16 位定時器/計數器。
(6)五個中斷源的中斷控制系統。現在新推出的單片機都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。
(7)一個全雙工UART(通用非同步接收發送器)的串列I/O 口,用於實現單片機之間或單機與微機之間的串列通信。
(8)片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達40MHz,因而大大的提高了指令的執行速度。
以上各個部分通過內部數據匯流排相互連接。
8051 單片機內部結構如圖2-2 所示。一個完整的計算機應該由運算器、控制器、存儲器(ROM 及RAM)、數據匯流排和I/O 介面組成。一般微處理器(如8086)就只包括運算器和控制器兩部分。和一般微處理器相比,8051 增加了四個8 位I/O 口、一個串列口、4KB ROM、128BRAM、很多工作寄存器及特殊功能寄存器(SFR),所以單片機具有比微處理器更強大的控制功能,單片機是專為進行控制設計的,而常見的微處理器是用於運算功能的。