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

发布者:devilcore最新更新时间:2007-03-09 手机看文章 扫描二维码
随时随地手机看文章
[b]1 概 述 [/b] SST89C54/58(简称89C54/58)是美国SST公司推出的多用途51系列单片机,片内集成了20 kB/36 kB的SuperFlashE"PROM程序存储器,分为BLOCK0(16kB/32kB)和BLOCKl(4kB)两块。其中,BLOCKl可以映射(Mapping)到64kB存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的。由于其存储结构上独特的优点,使得89C54/58非常适合于用做单片机仿真器。 [b]2 SST89C54/58的程序存储结构 [/b] [b]2.1 存储器结构 [/b] 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是可见的。 [b]2.2 存储器再映射(Re-mapping) [/b] 89C54/58的存储器再映射功能使得对BLOCK0进行编程时,其系统中断向量区依然可用(普通8051系列单片机无此特点)。89C54/58提供4种存储器再映射方式,存储器再映射数量的大小由MAP_ENCl:0)控制,当MAP- [b]3 基于SST89C58的单片机仿真器的设计 3.1 设计原理简介 [/b] 仿真器电路设计如图2所示。图中U2为串行通信接口芯片MAX232,U1为89C54/58。89C54/58的监控程序通过PC机串行口与KEILC51进行通信,实现实时仿真功能。 [b]3.2 仿真器监控程序的加栽 [/b] SST公司提供的89C54/58仿真器监控程序SoftlCE(Softwareln-CircuitEmulator)可通过SST公司提供的BSL(Boot-StrapLoader)加载或通过支持SST89C54/58的第三方编程器写入。 [b]3.3 仿真器性能简介 [/b] 基于89C54/58的单片机仿真器除不支持串行口仿真外,具有通用仿真器的所有功能。与KEIL软件相结合,可完成大部分单片机应用系统的仿真设计。 其具体性能如下: (1)可下载IntelHEX格式文件。 (2)支持汇编及C51源代码调试。 (3)支持在线汇编。 (4)支持单步(Step)功能。 (5)支持步越(StepOver)功能。 (6)最大可设置10个固定断点和一个临时断点。 (?)支持读写数据存储器。 (8)支持读写程序存储器。 (9)支持读写特殊功能寄存器。 (10)支持读写端口。 (11)具有IAP(1n-ApplicationProgramming)功能。 [b]3.4 KEIL软件及设置 [/b] 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所示,即可编译调试目标程序。 [b]4 结 语 [/b] 综上所述,由于SST89C54/58独特的存储器结构,使得89C54/58除用做通用的51单片机外,只需配以少量的外围电路,即可做成51系列单片机仿真器。与功能强大的KEIL软件相结合,为单片机工程师提供实时仿真开发环境,可完成大部分单片机应用系统的设计.详细设计资料可从SST公司网站(www.sst.com)下载。
引用地址:基于SST89C54/58的单片机仿真器的设计

上一篇:基于多密钥iButton的智能水卡的设计
下一篇:差分能量分析攻击原理及其抵御措施的探讨

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved