基于SST89C54/58的單片機仿真器的設計
[b]1 概 述 [/b] SST89C54/58(簡稱89C54/58)是美國SST公司推出的多用途51系列單片機,片內集成了20 kB/36 kB的SuperFlashEPROM程序存儲器,分為BLOCK0(16kB/32kB)和BLOCKl(4kB)兩塊。其中,BLOCKl可以映射 (Mapping)到64kB存儲空間的最高端或最低端,而且,對于程序計數(shù)器來說可以是不可見的。由于其存儲結構上獨特的優(yōu)點,使得89C54/58非常適合于用做單片機仿真器。 [b]2 SST89C54/58的程序存儲結構 [/b] [b]2.1 存儲器結構 [/b] 89C54/58片內的存儲塊BLOCK0占據(jù)從0000H到3FFFH/7FFFH的存儲空間,BLOCKl占據(jù)從F000H到FFFFH的存儲空間。 89C54/58存儲結構如圖1所示。 當EA#=1時,對于程序計數(shù)器來說,BLOCK0始終是可見的,用于代碼的存取;BLOCKl代碼的存取是通過特殊功能寄存器 SFCM,SFCF,SFAL,SFAH,SFDT和SFST來實現(xiàn)的。當SFCF[7]=1時,BLOCKl是可見的。 [b]2.2 存儲器再映射(Re-mapping) [/b] 89C54/58的存儲器再映射功能使得對BLOCK0進行編程時,其系統(tǒng)中斷向量區(qū)依然可用(普通8051系列單片機無此特點)。89C54/58提供 4種存儲器再映射方式,存儲器再映射數(shù)量的大小由MAP_ENCl:0)控制,當MAP-
本文引用地址:http://www.ex-cimer.com/article/201610/307493.htm[b]3 基于SST89C58的單片機仿真器的設計 3.1 設計原理簡介 [/b] 仿真器電路設計如圖2所示。圖中U2為串行通信接口芯片MAX232,U1為89C54/58。89C54/58的監(jiān)控程序通過PC機串行口與KEILC51進行通信,實現(xiàn)實時仿真功能。 [b]3.2 仿真器監(jiān)控程序的加栽 [/b] SST公司提供的89C54/58仿真器監(jiān)控程序SoftlCE(Softwareln-CircuitEmulator)可通過SST公司提供的BSL(Boot-StrapLoader)加載或通過支持SST89C54/58的第三方編程器寫入。
[b]3.3 仿真器性能簡介 [/b] 基于89C54/58的單片機仿真器除不支持串行口仿真外,具有通用仿真器的所有功能。與KEIL軟件相結合,可完成大部分單片機應用系統(tǒng)的仿真設計。 其具體性能如下: (1)可下載IntelHEX格式文件。 (2)支持匯編及C51源代碼調試。 (3)支持在線匯編。 (4)支持單步(Step)功能。 (5)支持步越(StepOver)功能。 (6)最大可設置10個固定斷點和一個臨時斷點。 (?)支持讀寫數(shù)據(jù)存儲器。 (8)支持讀寫程序存儲器。 (9)支持讀寫特殊功能寄存器。 (10)支持讀寫端口。 (11)具有IAP(1n-ApplicationProgramming)功能。 [b]3.4 KEIL軟件及設置 [/b] KEIL C51是德國KEIL公司推出的Windows版的8051系列單片機開發(fā)套件,可用于編譯C源程序、匯編源程序,鏈接和定位目標文件和庫,創(chuàng)建HEX文件以及調試目標程序,并內嵌有RTX51實時操作系統(tǒng),可簡化復雜的多任務實時應用系統(tǒng)的設計。與89C54/58仿真器配合時,在KEIL開發(fā)環(huán)境中設置如下: (1)創(chuàng)建項目,并選擇SST單片機SST89C54/58。 (2)從菜單選擇Options for,Target 1/。 (3)在OptionsforTarget,Targetl窗口中,選擇使用KEILMonitor-51Driver,如圖3所示。 (4)雙擊圖3中Settings鍵,設置目標參數(shù)如圖4所示,即可編譯調試目標程序。 [b]4 結 語 [/b] 綜上所述,由于SST89C54/58獨特的存儲器結構,使得89C54/58除用做通用的51單片機外,只需配以少量的外圍電路,即可做成51系列單片機仿真器。與功能強大的KEIL軟件相結合,為單片機工程師提供實時仿真開發(fā)環(huán)境,可完成大部分單片機應用系統(tǒng)的設計.詳細設計資料可從SST公司網(wǎng)站 (www.sst.com)下載。
評論