Ⅰ 51單片機使用哈佛結構,它RAM和ROM的匯流排是同一套匯流排分時復用的還是兩套匯流排
由於採用改進型哈佛架構,51單片機具備獨立的程序存儲器ROM、數據存儲器RAM,兩者地址空間獨立,且獨立編址,如下是單片機的存儲器結構圖。
程序存儲器ROM,用於存儲用戶代碼,由於程序計數器PC是16位的,因此系統具備64kB定址能力,地址空間為0x0000 ~ 0xFFFF,廠商在單片機內部實現一部分程序存儲器,例如4kB、8kB,剩餘的根據用戶需要可以外部擴展。訪問程序存儲器使用MOVC A, @A + DPTR,MOVC A, @A + PC指令,只能進行讀取訪問,無法寫入。
數據存儲器分為RAM和外部RAM,兩者地址空間獨立,且獨立編址。以子系列52為例,由於具備256B定址能力,編址空間為0x00~0xFF。RAM除了臨時存儲用戶數據外,還用於CPU通用寄存器,位定址區,堆棧等。可以使用MOV指令對RAM進讀寫訪問。外部RAM具備64kB定址能力,用於用戶臨時數據存放,但是需要用戶外部擴展。可以使用MOVX指令訪問外部RAM,外部RAM訪問由地址匯流排觸發,數據匯流排讀寫,P0、P2用於生成16地址,P0還時分復用兼用於數據匯流排。
SFR屬於特殊寄存器區,它既不屬於ROM,也不屬於RAM,地址空間為0x80~0xFF,只能以直接定址方式訪問,是片上外設的核心控制區域和輸入輸出的咽喉要塞。它是用來配置外設的工作參數的,屬於外設寄存器,例如串口波特率、收發控制,定時器定時時間、模式,中斷系統中斷使能、優先順序等。
學習一種單片機或者微控制器,首先了解它的架構、匯流排結構,然後熟悉存儲器映射圖、分區,最後詳細研究它的片上外設例如UART、Timer、中斷系統以及輸入輸出電路。根據自己的職業,工作類型,研究不同的層次。