51單片機(jī)存儲(chǔ)器內(nèi)存的講解
51單片機(jī)當(dāng)中的存儲(chǔ)器從功能性上來劃分可以分為程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器。一般來說單片機(jī)存儲(chǔ)器的存儲(chǔ)空間是能夠進(jìn)行存儲(chǔ)空間拓展的,但是如何進(jìn)行拓展則需要根據(jù)不同的存儲(chǔ)器類型進(jìn)行選擇,本文就將為大家針對(duì)這個(gè)問題進(jìn)行講解。
本文引用地址:http://2s4d.com/article/201710/366337.htm訪問存儲(chǔ)空間時(shí),需要用到兩個(gè)指針變量,為DPTR和PC。其中pc為程序計(jì)數(shù)器,指向下一條需要執(zhí)行的指令的地址,DPTR為數(shù)據(jù)指針寄存器,這兩個(gè)變量的長(zhǎng)度都為16位,這是51單片機(jī)內(nèi)部結(jié)構(gòu)決定的,無法改變。所以這兩個(gè)指針的尋址能力都為64K。這樣看來,兩類存儲(chǔ)器的擴(kuò)展能力都為64K。但是,如果實(shí)際擴(kuò)展過存儲(chǔ)器,就可以發(fā)現(xiàn)程序存儲(chǔ)器的擴(kuò)展能力并沒有64K。
為什麼會(huì)這個(gè)樣子呢?這得從51單片機(jī)的存儲(chǔ)空間的編址說起。這里僅作簡(jiǎn)單說明,具體可以看教科書。簡(jiǎn)單地說,內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器是一起編址的,它們分別占用64K地址的一部分,所以外部擴(kuò)展時(shí)要減去內(nèi)部的地址空間,當(dāng)然要小于64K。而數(shù)據(jù)存儲(chǔ)器是內(nèi)外部分別編址,內(nèi)外部數(shù)據(jù)存儲(chǔ)器用不同的指令進(jìn)行訪問,所以不用擔(dān)心單片機(jī)會(huì)混淆內(nèi)外部數(shù)據(jù)存儲(chǔ)器,所以外部數(shù)據(jù)存儲(chǔ)器擴(kuò)展能力有64K。
評(píng)論