基于SST89C54/58的单片机仿真器的设计

1 概 述

  sst89c54/58(简称89c54/58)是美国sst公司推出的多用途51系列单片机,片内集成了20 kb/36 kb的superflashe'prom程序存储器,分为block0(16kb/32kb)和blockl(4kb)两块。其中,blockl可以映射(mapping)到64kb存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的。由于其存储结构上独特的优点,使得89c54/58非常适合于用做单片机仿真器。

2 sst89c54/58的程序存储结构

2.1 存储器结构

  89c54/58片内的存储块block0占据从0000h到3fffh/7fffh的存储空间,blockl占据从f000h到ffffh的存储空间。89c54/58存储结构如图1所示。

  当ea#=1时,对于程序计数器来说,block0始终是可见的,用于代码的存取;blockl代码的存取是通过特殊功能寄存器sfcm,sfcf,sfal,sfah,sfdt和sfst来实现的。当sfcf[7]=1时,blockl是可见的。

2.2 存储器再映射(re-mapping)

  89c54/58的存储器再映射功能使得对block0进行编程时,其系统中断向量区依然可用(普通8051系列单片机无此特点)。89c54/58提供4种存储器再映射方式,存储器再映射数量的大小由map_encl:0)控制,当map-

3 基于sst89c58的单片机仿真器的设计

3.1 设计原理简介

  仿真器电路设计如图2所示。图中u2为串行通信接口芯片max232,u1为89c54/58。89c54/58的监控程序通过pc机串行口与keilc51进行通信,实现实时仿真功能。

3.2 仿真器监控程序的加栽

  sst公司提供的89c54/58仿真器监控程序softlce(softwareln-circuitemulator)可通过sst公司提供的bsl(boot-straploader)加载或通过支持sst89c54/58的第三方编程器写入。

3.3 仿真器性能简介

  基于89c54/58的单片机仿真器除不支持串行口仿真外,具有通用仿真器的所有功能。与keil软件相结合,可完成大部分单片机应用系统的仿真设计。

  其具体性能如下:

(1)可下载intelhex格式文件。

(2)支持汇编及c51源代码调试。

(3)支持在线汇编。

(4)支持单步(step)功能。

(5)支持步越(stepover)功能。

(6)最大可设置10个固定断点和一个临时断点。

(?)支持读写数据存储器。

(8)支持读写程序存储器。

(9)支持读写特殊功能寄存器。

(10)支持读写端口。

(11)具有iap(1n-applicationprogramming)功能。

3.4 keil软件及设置

  keil c51是德国keil公司推出的windows版的8051系列单片机开发套件,可用于编译c源程序、汇编源程序,链接和定位目标文件和库,创建hex文件以及调试目标程序,并内嵌有rtx51实时操作系统,可简化复杂的多任务实时应用系统的设计。与89c54/58仿真器配合时,在keil开发环境中设置如下:

(1)创建项目,并选择sst单片机sst89c54/58。

(2)从菜单选择"options for,target 1/。

(3)在"optionsfortarget,targetl"窗口中,选择使用keilmonitor-51driver,如图3所示。

(4)双击图3中settings键,设置目标参数如图4所示,即可编译调试目标程序。

4 结 语

  综上所述,由于sst89c54/58独特的存储器结构,使得89c54/58除用做通用的51单片机外,只需配以少量的外围电路,即可做成51系列单片机仿真器。与功能强大的keil软件相结合,为单片机工程师提供实时仿真开发环境,可完成大部分单片机应用系统的设计.详细设计资料可从sst公司网站www.sst.com下载。

  • 基于SST89C54/58的单片机仿真器的设计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计