一、 指令系统特色
EM78P156和PIC16C56两种单片机均采用哈佛总线结构和精简指令集计算机(RISC)设计技术。单片机的指令系统精简后,虽然给编程者带来易记易用的明显好处,但也会给编程者带来某些预先没有注意到的麻烦。比如PIC16C56单片机指令系统中没有十进制调整指令“DAA”。由于单片机擅长于处理二进制数,人们却习惯于识别十进制数,因此在单片机的许多实际应用系统中,常常需要“DAA”指令所实现的功能,这就迫使PIC单片机的编程者不得不采用若干条指令或者一小段程序来实现之。而对于增加了DAA指令的EM78P156来说,实现该功能仅需要1条指令、1个指令周期(即2个钟周期)。
EM78P156在指令系统规划上,充分发挥了后发优势,既保留了精简易记的长处,又兼顾了指令丰富的优点。虽然PIC16C56号称33条指令,而EM78P156号称57条指令,但是经过分类归纳之后,可以看出EM78P156比PIC16C56仅仅多出以下10条指令。
(1) INT:软件中断指令
说明:用于产生软件中断,中断矢量地址为0001H。该指令的功能与CALL 0001H相同。增设该指令主要是为了便于研制单片机的在线仿真器(ICE)。
(2) ENI:使能中断指令
说明:允许CPU接受中断请求。该指令的功能是将中断屏蔽的总使能位放开,即将寄存器CONT中的BIT6设定为“1”。该指令一般与DISI指令配合使用。
(3) DISI:中断屏蔽指令
说明:禁止CPU接受中断请求。该指令的功能是将中断屏蔽的总使能位关闭。也就是能将寄存器CONT中的BIT6清零。该指令一般与ENI指令配合使用。
(4) RETI:从中断子程序返回指令
说明:该指令的功能是从中断服务子程序返回到调用程序,同时开放中断总使能位。
(1) DAA:十位数调整指令
说明:把8比特二进制的数值调整成2位十进制的数值。也就是若累加器A中低4位大于9或DC=1时,将A中低4位加上6;而且若A中高4位大于9或C=1时,将A中高4位也加上6。
(2) ADD A,K:常数相加指令
说明:允许A直接与常数相加再放回A中。
(3) SUB A,K:常数相减指令
说明:允许A直接与常数相减再放回A中。
3. 特殊寄存器读回指令新添了2条
(1) IOR R:读回特殊寄存器指令
说明:读回IOC系列寄存器的内容到A中。对系统的稳定性及测试性是很有帮助的。
(2) CONTR:读回控制寄存器指令
说明:读回控制寄存器的内容到A中。对系统的稳定性及测试性是很有帮助的。
4. 子程序返回指令新添了1条
(1) RET:跳回主程序
说明:从子程序返回到主程序,但不变更A的值。
5. 更通俗的指令格式
对于使用过INTEL系列及其兼容单片机的用户,一定会感觉到EM78系列单片机的汇编语言的语句格式与INTEL单片机或者微机原理中介绍的汇编语言格式很相似。
义隆公司为EM78系列单片机配套的汇编器,其汇编语言格式融合了MCS-51和PIC单片机的两种语法风格,可以令原本习惯于INTEL单片机的用户或原本习惯于PIC单片机的用户都能够很快适应。
二、 软件和硬件工具套件
针对初级、中级和高级各个层次的EM78单片机的初学者、实验者或开发者,义隆公司推出了种类繁多的各个系列软件工具和硬件工具套件,以供广大不同层次的用户以及同一用户在不同的学习阶段的需求。这些开发工具的售价都不算高,并且有的可以免费提供。围绕着一种型号单片机配备的学习、实验和开发的软/硬工具套件如此全面和丰富,是其他型号单片机中极为罕见的。
1. 适用于初学者的工具套件
(1) SIM456软硬件模拟器
它是为义隆单片机入门者设计的,一个DOS版的、针对EM78156/256/456单片机的模拟器。与一般的软件模拟器不同之处是,它能将单片机的引脚信号以及一些典型的外接应用线路(如发光二极管、LED显示器、拨动开关、静态驱动1位七段LED数码管显示器、动态驱动8位七段LED数码管显示器、步进马达驱动、5x7点阵显示器以及数模转换器和示波器等)及其功能和驱动过程,一并在微机屏幕上予以图形化模拟显示,从而使用户可省去应用线路的制作(设计电路、购买元器件、制作PCB和焊装电路板)。这套软硬模拟器的功能是很少见的,SIM456的工作窗口如图1所示。其特点如下:
1) 全图形化的仿真环境。
2) 能真实仿真EM78X56的指令。
3) 具有在线汇编和反汇编功能。
4) 具有符号化调试功能。
5) 可模拟仿真一些简单的常用外围电路功能。
(2) WIN156软件&硬件模拟器
WIN156的设计是针对单片机的初学者。WIM156软件中包括两种功能:一种是捆绑式在线汇编器;另一种是软件模拟器。实现上述功能的两部分软件是相辅相成,不能分开的。当用户进入如图2所示的WIN156工作窗口,并打开用户程序文件,随即WIN156就完成汇编的操作。
它是一个Windows版全图式用户界面的EM78X56指令仿真软件,既可以独立运行作为一种纯软件模拟器使用,又可以与一种简易的、接在打印机并口的硬件控制器ADOPT配合实现联机运行功能。特点如下:
1) 图形化的用户操作界面。
2) 断点数目不设限制。
3) 断点设定可以用符号设定。
4) 内部缓存器修改可在主窗口进行。
5) 利用打印机并行端口做硬件仿真。
6) 可与演示板配合进行硬件实习。
(3) DK56演示板
它是一个现成的硬件实习板,可配合SIM456、WIN156或WICE等开发工具来学习编程和实际演练及操作。特点如下:
1) 8只LED跑灯控制。
2) 5×7点阵式LED驱动控制。
3) 7段LED数码管驱动控制。
4) 拨动开关输入。
5) 2相步进马达驱动控制。
6) 简易数/模转换器实现。
(4) SIM447软硬件模拟器
这是一个针对EM78P447单片机的纯软件模拟器。与一般的软件模拟器不同之处是,它能将一些典型的单片机外接应用线路,一并在微机屏幕上予以图形化模拟显示,从而使用户可省去应用线路的制作(设计电路、购买元器件、制作PCB和焊装电路板)。这套软硬模拟器的功能是很少见的。其特点如下:
1) 全图形化的仿真环境。
2) 能真实仿真EM78X47的指令。
3) 具有在线汇编和反汇编功能。
4) 具有符号化调试功能。
5) 可模拟仿真一些简单的应用电路功能。
(5) WIN47软件&硬件模拟器
是一个Windows版全图式用户界面的EM78X47指令仿真软件,它既可以独立运行作为一种纯软件模拟器使用,又可以与一种简易的、接在打印机并口的硬件控制器ADOPT配合实现联机运行功能。特点如下:
1) 是全图式的用户操作系统。
2) 断点数目不设限制。
3) 断点设定可以用符号设定。
4) 内部缓存器修改可以在主窗口进行。
5) 利用打印机并行端口做硬件仿真。
6) 可与演示板配合进行硬件学习。
以上工具套件均具备实习教科书,便于学习。
2. 适用于专业人员的研发工具
(1) 仿真器操作环境软件WICE
WICE是一套在Windows 98操作系统下运行的、支持实时在线仿真器E8-ICE(义隆公司生产)和EM78447ICE-WR(寰群公司生产)的综合开发环境软件,也是一套以项目(Project)为导向的工具软件包。它将文本编辑器、项目管理器、汇编器、软件模拟器、硬件仿真器支持程序等功能整合到同一操作环境之下。除了可以与仿真器和烧写器等硬件设备配合使用之外,还可以独立运行来当作软件模拟器使用。因此,给用户的开发过程带来了极大的方便。
(2) 体积小巧的实时在线仿真器E8-ICE(义隆公司生产)
这是一套供专业开发人员使用的高性能实时在线仿真器。它将仿真器内部的器件除了静态存储器SRAM之外,全部集成到一颗专用集成电路ASIC之内,从而使仿真器的制造成本大幅度减低。如图3所示。
(3) 带有烧写器功能的实时在线仿真器EM78447ICE-WR(寰群公司生产)
这是由第三方公司(寰群科技公司)研制的一套集仿真器和烧录器于一体的功能强大的专业级开发工具。通过打印机并行端口与微机系统连接;其面板上装有可以显示各个端口引脚状态的24只LED;具有自身检测功能;用于仿真和烧录EM78P447A/B单片机。
(4) 可离线操作的OTP版单片机烧写器
这是一个PC界面的、可用于批量生产的OTP烧录装置。该烧写器具有一般烧写器所没有的功能。特点如下:
1) 用打印机并行口连接,携带方便。
2) 烧录速度快,一颗OTP仅需1s,少量或大量烧录均适用。
3) 可脱机离线操作,使用方便。当程序由PC下载之后,即可脱离PC而独立使用。
4) 只操作一个按键即可完成整个烧录过程,效率高。
(5) 可重复使用的窗口EPROM型PIGGY BACK
为了解决在产品的试制开发期间,程序会不断修改和反复烧录的问题,义隆公司出品了一种叫做“PIGGY BACK”的模块。其上插入两片常用的EPROM存储器(如2764、27128、27256等),来存放单片机程序,以方便于用户重复烧录之需。
(6) EEPROM存储器烧写器
它是一种用EEPROM来取代EPROM的PIGGY BACK使用方案。特点如下:
1) 用打印机并行口,可移植性高。
2) 免除购买窗口式EPROM存储器、擦除器及烧录器。
3) 免除EPROM清除时间之等候。
4) 直接下载,使用方便。
(7) 模糊(FUZZY)软件仿真器FUZZY56
这是一个适用于EM78X56系列单片机,让用户轻松了解FUZZY、观察FUZZY、使用FUZZY的软件控制仿真器。特点如下:
1) 是图形化界面的FUZZY控制仿真器。
2) 自动产生EM78X56源程序代码。
3) 容易建立、更改及观察FUZZY控制参数。
4) 可与模糊功能演示板配合进行硬件实习。
(8) 模糊软件仿真器FUZZY47
这是一个适用于EM78X47系列单片机,除自动产生EM78X47源程序代码外,其他特点同FUZZY56一致。
(9) 模糊(FUZZY)功能演示板
它是一个FUZZY硬件学习版,可接合FUZZY56及FUZZY47等软件工具,进行实际演练及操作。具有:3通道D/A,4通道A/D,8路光耦合输入,8路继电器输出,8位LED数字显示,4×4键盘等特点。
(10) 汇编语言转换器
这是一类把其他单片机汇编语言源程序翻译成EM78汇编语言源程序的汇编语言转换器工具软件。对于那些已经熟悉和应用了其他厂家单片机的用户,可以很方便地将源程序移植到性能价格比更高的EM78单片机上来,而并不需要重新键入用户程序。
(11) EASY C语言编译器
它是一个简单的C编译器,可将用户用类C语言开发的程序,转化成EM78系列单片机的汇编语言程序。特点如下:
1) 具有20条类C的语句。
2) 具备+、-、×、÷等运算能力。
3) 具备串行通信的能力。
4) 具备调用汇编语言的能力。
(12) EASY BASIC语言编译器
这是一个简单的BASIC直译器,利用外部的EEPROM来存放欲执行的程序。特点如下:
1) 具有20条类BASIC的语句。
2) 具有A/D,D/A能力。
3) 具有串行通信能力。
4) 具有EEPROM存储能力。
5) 具有音频及DTMF信号产生能力。
6) 可存100条以上的程序。
7) 具有LCD模块(LCM1602)驱动能力。
8) 具有4×4键盘输入能力。
四、 结语
作为一家华人电子企业的义隆公司,在最近几年内围绕EM78系列单片机的学习、开发和应用方面,研制出了适应初、中、高级多层次用户需求的、品种齐全的系列化单片机学习套件和开发工具,并及时地发行中文资料。这些学习套件和开发工具价格十分低廉,甚至有些软件工具免费提供。借助于这些学习套件和开发工具,单片机兴趣者不仅可以很容易的对EM78系列单片机进行学习、实验和应用开发,而且这些工具本身的使用方法也容易被人接受,大大地降低了初学者踏入单片机王国的门槛。或许你对上述的种种特色还觉得很陌生,那么就请关注我们从下期正式开始的“EM78M447A/B单片机入门与应用系列讲座”,在讲座进行过程中,我们将适时地与义隆公司推出相应活动,希望对广大单片机爱好者有所帮助。

