基于單片機(jī)仿真器的設(shè)計(jì)
SST89C54/58(簡(jiǎn)稱89C54/58)是美國(guó)SST公司推出的多用途51系列單片機(jī),片內(nèi)集成了20 kB/36 kB的SuperFlashE''PROM程序存儲(chǔ)器,分為BLOCK0(16kB/32kB)和BLOCKl(4kB)兩塊。其中,BLOCKl可以映射(Mapping)到64kB存儲(chǔ)空間的最高端或最低端,而且,對(duì)于程序計(jì)數(shù)器來說可以是不可見的。由于其存儲(chǔ)結(jié)構(gòu)上獨(dú)特的優(yōu)點(diǎn),使得89C54/58非常適合于用做單片機(jī)仿真器。
2 SST89C54/58的程序存儲(chǔ)結(jié)構(gòu)
2.1 存儲(chǔ)器結(jié)構(gòu)
89C54/58片內(nèi)的存儲(chǔ)塊BLOCK0占據(jù)從0000H到3FFFH/7FFFH的存儲(chǔ)空間,BLOCKl占據(jù)從F000H到FFFFH的存儲(chǔ)空間。89C54/58存儲(chǔ)結(jié)構(gòu)如圖1所示。
當(dāng)EA#=1時(shí),對(duì)于程序計(jì)數(shù)器來說,BLOCK0始終是可見的,用于代碼的存取;BLOCKl代碼的存取是通過特殊功能寄存器SFCM,SFCF,SFAL,SFAH,SFDT和SFST來實(shí)現(xiàn)的。當(dāng)SFCF[7]=1時(shí),BLOCKl是可見的。
2.2 存儲(chǔ)器再映射(Re-mapping)
89C54/58的存儲(chǔ)器再映射功能使得對(duì)BLOCK0進(jìn)行編程時(shí),其系統(tǒng)中斷向量區(qū)依然可用(普通8051系列單片機(jī)無此特點(diǎn))。89C54/58提供4種存儲(chǔ)器再映射方式,存儲(chǔ)器再映射數(shù)量的大小由MAP_ENCl:0)控制,當(dāng)MAP-
3 基于SST89C58的單片機(jī)仿真器的設(shè)計(jì)
3.1 設(shè)計(jì)原理簡(jiǎn)介
仿真器電路設(shè)計(jì)如圖2所示。圖中U2為串行通信接口芯片MAX232,U1為89C54/58。89C54/58的監(jiān)控程序通過PC機(jī)串行口與KEILC51進(jìn)行通信,實(shí)現(xiàn)實(shí)時(shí)仿真功能。
3.2 仿真器監(jiān)控程序的加栽
SST公司提供的89C54/58仿真器監(jiān)控程序SoftlCE(Softwareln-CircuitEmulator)可通過SST公司提供的BSL(Boot-StrapLoader)加載或通過支持SST89C54/58的第三方編程器寫入。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論