义隆单片机课堂
EM78P447S单片机入门与实作系列讲座

🏠 首页 《无线电》杂志 2002年 🔗 第10期 🔗 第1065353216页 分类:电脑与单片机 🔗

目前,世界上大多数单片机制造公司,为了使产品得到普及和推广,无一例外地为本公司的单片机配套供应专业级的实时在线仿真器(Emulator)。但是,这些主要供专业研发工程师使用的仿真器,价格大都比较昂贵,令许多单片机初学者望而怯步。不过,对于那些既想尽快步入单片机王国而又不想投入太多资金的电子爱好者和单片机初学者来说,另有一个极好的低成本入门途径,那就是为EM78X447配套的一种性能独特、设计巧妙的软硬件模拟器SIM447。这是一套奇妙的学习和演练EM78X447单片机的模拟实战工具(包含软件和硬件锁)。

软硬件模拟器SIM447简介

SIM447对于微型计算机的档次要求不高。它是一个DOS版的、针对EM78X447单片机的模拟器。它不仅能够模拟单片机内部指令的执行和寄存器内容的变化,而且还能模拟单片机引脚上的信号变化以及一些典型的外接线路和组件的动作过程(比如发光二极管LED显示器、拨动开关组、静态驱动1位七段LED数码管显示器、动态驱动8位七段LED数码管显示器、步进马达驱动、8×8点阵显示器、16×80点阵显示器以及数模转换器和示波器等),将它们的动作过程及其功能,一并在微机屏幕上以图形化方式进行动态显示,直观明了,可以使初学者避免在应用线路的制作上花费过多的时间、精力和金钱(比如设计电路原理图和印制电路板图、挑选和购买各种元器件等),还可有效地避免因烧毁电路元器件带来的损失及对人身的伤害。

此软硬件模拟器有何特殊之处呢?下面以对比的方式作一简介。

1.硬件仿真器

硬件仿真器可以真实地仿真单片机内部的各个寄存器、各个功能部件和各个外围设备模块的功能和行为,显示它们的各种运行状态,并通过外围引脚实时地输入输出各种电气信号。开发人员还可以控制单片机的运行方式和运行过程,比如以连续运行、单步运行、自动单步运行、断点运行、跟踪运行等方式执行用户程序,同时对于用户自己设计的硬件电路和软件程序进行真实的在线仿真调试。其唯一的缺点就是价钱太高,还需要配合其他电子仪器(如电源适配器,逻辑分析仪,示波器等)使用,并需要选购电路元器件,进行设计、制作和焊装电路板等繁琐的工作。这类仿真器适合产品研发专业人士采用,对于初学者会变成一种难以承受的负担。

2.软件模拟器

软件模拟器可以用虚拟的方式,对单片机的指令系统、寄存器状态以及片内部分硬件资源进行软件虚拟仿真。借助于微机系统的资源优势和速度优势,来模仿单片机指令的运行效果。编程人员也可以用各种运行方式控制用户程序的执行过程。因此,仍具有调试用户程序的功能,但不能输入和输出真实的电气信号,不能调试用户电路板,也无法对程序执行结果进行实际验证。其模拟仿真的范围仅限于单片机引脚之内的片内功能和行为。最大的优点就是价格便宜,并且只需要一部微型计算机,即可很快进入单片机的实验环境。

3.软硬件模拟器SIM447

SIM447是在兼顾软件模拟器和硬件仿真器两者优点的基础上独创出来的。它不仅可以模拟仿真单片机芯片的内部活动,还能够模拟仿真单片机引脚外部扩展的一些常用的周边电路和组件的活动。比如LED显示器、LED数码管、步进电机的驱动、数模转换的输出、拨动开关组的输入等。这些外围电路和组件,是在开发和制作单片机应用系统或者产品项目过程中会经常用到的。所以说,SIM447是一套以EM78X447单片机为样机,开始学习单片机的模拟实战工具软件,利用它提供的各种现成的虚拟片外电路和电子组件,可以让您既方便又清楚地学习EM78X447单片机的寄存器功能和指令系统。在这套软件中,不仅提供了实验较常用的几种电子组件:3组发光二极管LED、3组拨动开关、七段LED数码管显示器、步进马达驱动、8×8点阵显示器模拟以及示波器等。同时在过程控制方面,还提供了连续运行、单步运行、单步跨越运行、自动单步运行、断点运行等多种方式来调试用户程序。还配套提供了一个独立的汇编器MASM78和在线式汇编器以及在线式反汇编器功能,并且又提供了一些方便于操作的控制命令。

SIM447与一般软件模拟仿真器相比,最突出的优势就是它能将一些典型的单片机外接电路,一并在微机屏幕上以生动直观的图形化画面方式进行模拟显示。使用户可以省去对应用电路板的制作、安装之类的麻烦,防止烫伤和触电的危险。

总而言之,SIM447系统本质上仍属于软件模拟器的范畴,但是它比一般软件模拟器又有显著的改良和扩展。不仅模拟了单片机的CPU内核和片内的外设模块的功能,同时也模拟了演示电路板的功能。这是什么意思呢?一些单片机厂家和代理商,为了单片机初学者的学习和单片机应用者的开发,通常供应现成的硬件演示板,上面焊装了一些最常用的元器件,比如LED灯、七段数码管、键盘,甚至有些还有LCD等。学习者或开发者可以买来这类比较通用的现成电路板,进行一些单片机的典型应用实验,例如跑马灯、数码显示或步进马达驱动,比自己设计和制作电路板方便了许多,也节省了宝贵的时间,不过这种电路板往往价格不低。但如果是选用SIM447的话,既不需要买电路板,也不需要焊电路板,即可将实验结果直接、动态地呈现在微机屏幕上。从而达到对于单片机的入门学习和模拟演练的双重目的,还可以节省大量时间,提高学习效率。再一个好处是,实验通不过时不用去猜问题到底出在硬件上还是出在软件上,也不会出现烧坏电路元器件的危险。

假如您在学懂单片机的基础上,还想进一步实际开发应用单片机,不妨再借助于一套简易型单片机程序烧写器,将调试成功的程序烧进单片机内,再插入预先为该项目设计并焊装好的电路板中,来实际体验自编程序的真实运行效果。

此外,配合SIM447软件工具,在相应软盘里附带一个独立的MASM78汇编器。SIM447支持MASM78汇编产生的结果“.CDS目标文件”和“ .SYM符号文件”。由SIM447装入存储器缓冲区之后,就可以实现在SIM447系统中进行符号化调试的功能。

SIM447的安装与启用

1. 安装条件

SIM447这套软件工具(其程序量不大,可以存放进一张3.5英寸软盘),对于微机所需要的硬件和软件运行环境要求不高:

●必须要有VGA的彩色显示器;

●为了运行效率,建议您使用486或以上的机型(其实386机型也可以);

●操作系统可以是DOS、WIN3.1、WIN95或98。

2. 安装方法

安装方法十分简单,下面以磁盘方式获取SIM447软件,并且以在DOS系统下的安装过程为例。打开电脑,首先进入DOS环境,建立并且进入一个新的子目录“SIM447”。然后将带有SIM447的磁盘片插入软盘驱动器A中,并且把软盘中的所有文件拷贝到该子目录之下。所用操作命令如下(其中“↙”表示回车符号):

C:\ >MD SIM447?↙

C:\>CD SIM447?↙

C:\ SIM447>COPY A: *.*?↙

软盘中包括了以下几个主要文件:

●SIM447.EXE ->SIM447主程序文件(DOS版)

●MASM78.EXE ->EM78汇编语言汇编器(DOS版)

●EGAVGA.BGI ->VGA驱动程序

●RED2LIG.PCX ->红灯点亮的图形文件

●RED2DRK.PCX ->红灯熄灭的图形文件

●BLUE2LIG.PCX ->绿灯点亮的图形文件

●BLUE2DRK.PCX ->绿灯熄灭的图形文件

●LXH-LED.ASM ->样例源程序文件

如果在WINDOWS环境下安装,方法就更简单:首先建立一个专用文件夹,再将软盘文件全部复制到该文件夹下,然后为可执行文件(.EXE)建立快捷方式并剪切和粘贴到桌面即可。

3. 首次启用

当拷贝好之后,请将“软件保护器”(一种硬件锁,名叫KEYPRO)插在电脑的打印机并行端口上(这是开发者为了保护SIM447的版权而设置的),并且使用以下DOS命令“C:\ SIM447>SIM447.EXE?↙”,开始执行SIM447.EXE。也可以在WIN-DOWS环境的桌面上,双击快捷方式图标0来启动SIM447。如果屏幕提示找不到KEYPRO,可能是您的电脑和KEYPRO不兼容,可以与供应商调换,但是不能私自拆修,否则,售后服务可能得不到保障。

如果SIM447模拟器找不到KEYPRO,此时您会看到一条如下的提示信息:

!!!KEYPRO CAN'T FIND IN PAR-ALLEL PORT !!!

如果一切正常,此时您会看到如图1所示的工作窗口。

图1
图1 🔍原图 (425×340)

当您一进入该窗口,SIM447就会询问,要不要恢复上一次使用SIM447时所设定的调试工作环境,这时由于是初次启用,您应该回答:“N”(不要)或是直接按下回车键(用“?↙”符号表示)。

自动换行之后,出现一个大于号“>”,作为“命令输入提示符”,提示您只有在出现该提示符之后方可输入SIM447的系统命令。在您输入的任何命令中,无论字母大写或小写都将被系统视为相同的命令。也就是说,SIM447系统不区分命令中的大小写字母。

4. 画面介绍

从图1中不难看出,可以将工作窗口划分为3个区域:

● 命令会话区:位于窗口左上部,是人-机对话的窗口,在此输入系统命令,并显示系统的提示信息。

● 寄存器状态显示区:位于窗口右上部,在运行用户程序的过程中,用不同的颜色动态显示单片机内部的专用寄存器和通用寄存器的内容,此外还有动态显示累加器ACC、控制寄存器CONT、定时器TCC(=R1)、程序计数器PC(=R2)、堆栈指针SP和看门狗定时器WDT的内容,以及程序运行过程中所花费的时间——指令周期数CLOCK累加值。

● 实验电路板仿真区:位于窗口下部,在一个虚构的实验电路板上,安排着13种虚拟的电子组件,其中包含3组输入型组件和10组输出型组件。在程序执行过程中,输入型组件用于向单片机引脚送入逻辑电平信号,输出型组件用于动态地显示单片机引脚电平同时作用在这些组件上分别产生的驱动结果。各个电路组件都有各自的代号,并且都可以被用户按实验需要独立地“拆掉”或者“装上”。各电路组件的代号分别如图2所示。下期为您介绍如何用SIM447调试程序。有关SIM447软硬件模拟器的销售信息,见本期第70页广告。

图2
图2 🔍原图 (425×173)

本期有奖问答的题目是:1. SIM447软硬件模拟器能够模拟哪些单片机引脚外接的电路组件?2.如何安装和启用SIM447?SIM447的工作窗口划分为哪几个区域?答案请来信至编辑部,或E-mail至computer@radio.com.cn。本刊第8期“义隆单片机课堂”有奖问答获奖名单王旭东 钱义勤 秦茂祥 陈定朝 刘玉强童 涛 林小毅 杨 洋 赵骏威 冯凝一以上读者将收到由义隆公司赠送的IC数据资料光盘。欢迎读者继续积极参加我们的有奖活动!

(大海创作室)