2024年4月24日发(作者:)

自制51芯片仿真器完全手册

初学51单片机或是业余玩玩单片机开发,每次总要不断的

调试程序,如没有仿真器又不喜欢用软件仿真,那只有每次把编译好

的程序烧录到芯片上,然后在应用电路或实验板上观察程序运行的结

果,对于一些小程序这样的做好也可以很快找到程序上的错误,但是

程序大了,变量也会变的很多,而直接烧片就很难看到这些变量的值

了,在修改程序时还要不断的烧片实验,确实很麻烦,这时如果有一

台仿真器就会变得很好方便了。但一台好的仿真器对于业余爱好者来

说确实有一些贵,在这里介绍这种易于自制的51芯片仿真器虽然有

一些地方不够完善,但还是非常适于初学51单片机的朋友和经济能

力不是很好的业余爱好者。

这个仿真器的仿真CPU是使用SST公司的SST89C58或

SST89C54(其它相容的芯片也可,这里主要讲述SST89C58),对于

没有可以烧写SST89C58芯片的朋友应该选用CA版本的SST89C58

芯片,这个CA型号的芯片出厂时已内置了BSL1.1E的固件程序。那

什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引

导装载,形象来说就像电脑用DOS起动盘起动后可以装载应用程序

并运行。只不过SST89C58是用串口来输入程序资料的。为了能把编

译好的单片机程序HEX或BIN文件下载到SST89C58芯片上,SST

公司还提供了一种叫EasyIAP的软件,IAP为In-Application

Programming,有了这个软件就可以把SST89C54变为在线下载的实

验器。在这里不详述EasyIAP的使用,只讲述如何利用它去把

SST89C58升级为带SoftICE固件程序的51仿真器。

图1 SST89C58

一、制作带串口的的最小化应用板

无论是EasyIAP还是仿真器,都需要用串行口使SST89C58芯片

和PC上位机进行通讯传输数据,因此我们先要制作一个带

RS232/TTL转换的应用板,如果你的51实验电路板或目标电路板已

带有这样的电路那么你就可以跳过这一段了。图二是笔者所设计的可

以用于制作SST89C58/54仿真器、S51系列下载器或51系列实验应

用的小型应用板。它的电路是很简单的,用两个NPN的小功率三极

管和一些电阻二极管做RS232/TTL转换(可参看

/web/alldata/CDLE/),其它元件则

做复位和时钟振荡电路。图三是我以前做的51应用板,刚好可以用

就拿来用了,省却了用万用板做图四那样的东西,但这块应用板不能

像图4那个可以当芯片插到目标板上。在晶振方面最好使用11.0592M

或12M。