基于单片机仿真器的设计
<STRONG>1 概 述<BR><BR></STRONG> SST89C54/58(简称89C54/58)是美国SST公司推出的多用途51系列单片机,片内集成了20 kB/36 kB的SuperFlashEPROM程序存储器,分为BLOCK0(16kB/32kB)和BLOCKl(4kB)两块。其中,BLOCKl可以映射(Mapping)到64kB存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的。由于其存储结构上独特的优点,使得89C54/58非常适合于用做单片机仿真器。<BR><BR><STRONG>       2 SST89C54/58的程序存储结构<BR></STRONG><BR><STRONG>       2.1 存储器结构<BR></STRONG><BR> 89C54/58片内的存储块BLOCK0占据从0000H到3FFFH/7FFFH的存储空间,BLOCKl占据从F000H到FFFFH的存储空间。89C54/58存储结构如图1所示。<BR>
<P align=center><IMG style="WIDTH: 400px; HEIGHT: 359px" height=359 alt=sst89c54/58的程序存储结构 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/2006101022545394.jpg" width=400 border=0></P>
<P><BR> 当EA#=1时,对于程序计数器来说,BLOCK0始终是可见的,用于代码的存取;BLOCKl代码的存取是通过特殊功能寄存器SFCM,SFCF,SFAL,SFAH,SFDT和SFST来实现的。当SFCF[7]=1时,BLOCKl是可见的。<BR><BR><STRONG>       2.2 存储器再映射(Re-mapping)<BR></STRONG><BR> 89C54/58的存储器再映射功能使得对BLOCK0进行编程时,其系统中断向量区依然可用(普通8051系列单片机无此特点)。89C54/58提供4种存储器再映射方式,存储器再映射数量的大小由MAP_ENCl:0)控制,当MAP-<BR><BR><STRONG>       3 基于SST89C58的单片机仿真器的设计<BR><BR>       3.1 设计原理简介<BR></STRONG><BR> 仿真器电路设计如图2所示。图中U2为串行通信接口芯片MAX232,U1为89C54/58。89C54/58的监控程序通过PC机串行口与KEILC51进行通信,实现实时仿真功能。<BR><BR><STRONG>3.2 仿真器监控程序的加栽<BR></STRONG><BR> SST公司提供的89C54/58仿真器监控程序SoftlCE(Softwareln-CircuitEmulator)可通过SST公司提供的BSL(Boot-StrapLoader)加载或通过支持SST89C54/58的第三方编程器写入。<BR></P>
<P><IMG style="WIDTH: 400px; HEIGHT: 241px" height=241 alt=基于sst89c54/58的仿真器原理图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/2006101022545158.jpg" width=400 border=0></P>
<P><STRONG>       3.3 仿真器性能简介<BR></STRONG><BR> 基于89C54/58的单片机仿真器除不支持串行口仿真外,具有通用仿真器的所有功能。与KEIL软件相结合,可完成大部分单片机应用系统的仿真设计。<BR><BR> 其具体性能如下:<BR><BR>       (1)可下载IntelHEX格式文件。<BR>       (2)支持汇编及C51源代码调试。<BR>       (3)支持在线汇编。<BR>       (4)支持单步(Step)功能。<BR>       (5)支持步越(StepOver)功能。<BR>       (6)最大可设置10个固定断点和一个临时断点。<BR>       (7)支持读写数据存储器。<BR>       (8)支持读写程序存储器。<BR>       (9)支持读写特殊功能寄存器。 <BR>       (10)支持读写端口。<BR>       (11)具有IAP(1n-ApplicationProgramming)功能。<BR><BR><STRONG>       3.4 KEIL软件及设置<BR></STRONG><BR> KEIL C51是德国KEIL公司推出的Windows版的8051系列单片机开发套件,可用于编译C源程序、汇编源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序,并内嵌有RTX51实时操作系统,可简化复杂的多任务实时应用系统的设计。与89C54/58仿真器配合时,在KEIL开发环境中设置如下:<BR><BR>       (1)创建项目,并选择SST单片机SST89C54/58。<BR>       (2)从菜单选择"Options for,Target 1/。</P>
相关资讯