单片机原理和开发应用(14) 第十三讲 单片机开发系统及开发过程

🏠 首页 《无线电》杂志 1991年 🔗 第9期 🔗 第24页 分类:无线电技术自学经验交流 🔗 曹名扬 🔗

《无线电》杂志开办单片机技术讲座以来,受到广大用户的欢迎。它打破了计算机的神秘感,把许多无线电爱好者引进了一个广阔的天地。由于讲座在芯片选型、开发工具及资料软件方面的有力支持,可使用户在短时间内掌握8031单片机的应用系统的设计和开发。

8031仅是MCS-51系列单片机中的一个,是需要外接EPROM的,也是该系列中最廉价、最简单的。虽然它并没有真正体现单片机的优点,但却是学习单片机,掌握单片机的较好芯片。这种方法对熟悉单片机,开发一些简单的程序(如2k以下)是可行的,然而实际工程问题就不是这样简单了,可能程序有4k、8k、16k、32k,甚至更大(例如80C51-4k、80C52-8k、80C54-16k、80C58-32k,即其程序存储器在片内分别为4k、8k、16k、32k)。通常我们把小于4k的程序称为小程序,大于8k的程序称为中大程序。为了快速有效地开发中大程序,就出现了许多种开发方法和开发工具。

完成机器码生成的方法

1.手工汇编:因为单片机工作时只认程序存储器中的机器码(十六进制的00~FF),因此,将汇编语言写的程序对照指令手册逐条查出机器码,而后用写入器将机器码写入EPROM程序存储器,供单片机读入,经译码器再转换成二进制码,供单片机操作用。例如,00H变成二进制数为00000000B;FFH→11111111B;55H→01010101B等。当然也可直接用机器编程(例如在TD-I型机上)。如果你编写的程序没有错误,查出的机器码也都正确,那么将写入程序(机器码)的EPROM(2716、2732、2764,27128…)插入用户区EPROM插座,即可得到你预定的功能。

由于效率低、无法进行仿真调试,手工汇编(编程)目前已较少使用,但对业余开发一些简短的小程序,也不失为一种好的方法。

2.交叉软件开发:这是把单片机汇编语言程序自动转换机器码的方法,可取代人工逐条查找机器码的繁重劳动。我国已在IBM PC/XT、AT,APPLE-Ⅱ,TRS-80等微机上实现用交叉汇编的方式对诸多系列单片机进行编程,并具有排错调试功能。这种方法必须借助微机系统,它只解决了编程的方便和快速问题。

3.模拟调试开发:这种方法仅利用软盘程序即可对单片机进行程序的模拟开发,具有编程、程序汇编、调试、排错功能。用模拟调试方法开发,必须在微机系统上建立被开发单片机的开发环境,也就是用所选用的微机资源来模拟单片机的结构,并用该微机的指令模拟单片机指令的执行过程。这样就比交叉汇编开发大大前进了一步。它可以对单片机进行排错调试,并可进行程序执行过程的仿真,即具备单片机应用系统开发过程中所需的全部功能(编程、排错、调试、仿真)。可完成程序的输入和编辑、用户应用系统的调试和仿真(用户应用系统资源状态的读出和修改,用户程序的调试和仿真)。对程序可单步运行、跟踪运行、设置断点、全速运行等,真正做到仅用软件对单片机进行开发,并可通过EPROM写入器将经过模拟调试好的机器码程序写入到用户使用的EPROM中。这对业余开发者和教育系统开发单片机是极为适合的,也是对单片机进行开发的一个重要手段。国外许多家公司在IBM PC/XT等系统机上专门为各种单片机(包括8048、8051、8096、6805、Z8等)提供模拟调试开发软件。该系统通常由三部分组成即交叉汇编、排错/模拟软件包、EPROM编程板。

4.单片单板机开发装置:它具有使用方便、价格便宜等特点,既可编程又可排错调试。目前国内已开发了多种用8035(8039)或8031单片机构成的各种单板机,本讲座推荐使用的TD-I、TD-Ⅱ、TD-Ⅲ单片学习开发机就是这个机种中实用而廉价的机型。这类机器作为学习机还可以,作为开发工具就有些不足。

5.评价板开发装置:它是单板机开发装置的改进型,增加了RS-232C微机系统接口,可在微机系统支持下进行联机开发单片机,也可以视为交叉软件开发或模拟调试开发与单片单板机开发装置的结合。

此种开发也称联机评价调试系统开发,又称在线开发。在微机上利用交叉汇编来编程,通过RS232C接口将汇编好的机器码传送给评价板,控制其运行,看是否满足预定结果。如不满足,可进一步修改程序,直到满足全部预定要求为止,它为程序的排错调试提供了一个硬件环境。此方法目前在我国使用较为普遍,可满足一般应用系统的开发需要,且投资不大,除所用系统机以外,评价板在几百元~两千元之间。另外,也有不依靠微机系统,可独立进行汇编的,但价格较贵一些。这种方法用评价板取代了昂贵的在线仿真器,但对真实环境的模拟还相差较大。然而这种方法最适合目前我国国情,可使编程和开发效率大大提高。

6.ROM仿真器:ROM仿真器特别适合于单片机的开发,因为单片机本身就是一台完整的计算机最小应用系统,所谓单片机的开发,其主要工作是对在片EPROM、E\(^{2}\)PROM或外接EPROM、E2PROM进行编程。

由于单片机组成的完整计算机系统较为少见,故通常采用通用的微机系统来开发单片机。即通常以双机通信的方式对单片机进行仿真开发(如在IBM-PC机、APPLE-Ⅱ机上)。对两个不同的CPU的双机进行通信,最简单的方法是采用公用存储器,利用系统微机的RAM(即公共存储器)作为目标机(单片机)的ROM,故由此得名,称为ROM仿真。开发中目标机的ROM常采用EPROM(E\(^{2}\)PROM),故也称为EPROM(E2PROM)仿真。

ROM仿真器结构简单,通用性强,原则上可以对任何μP或μC进行仿真。但由于它是通过24脚(或28脚)的EPROM插座来对目标机进行仿真的,地址范围将受到限制,对目标机排错调试功能较弱。由于其通用性强,仿真速度快,并可全面考核单片机应用系统的综合性能,因此很受重视,并得到广泛应用。

7.CPU仿真器:由于单片机是一台完整的计算机,是一个最小的应用系统,故对单片机进行CPU仿真的难度将大大超过一般的μP的开发。因为有的地址线、数据线、片内I/O等没有引出脚(特别是EPROM、ROM版本的芯片)。

Intel公司单片机的仿真器有两类:一类是通用的在线仿真器,如ICE-51/PC、ICE-5100/252、ICE-5100/452、ICE-5100/044等,可以开发51系列单片机产品;另一类是简易型仿真器EMV-51,仿真功能受限,缺乏实时记录功能。

仿真器使用ASM-51宏汇编,PL/M-51高级语言,连接/浮动程序,库实用程序,二进制到十六进制转换程序。只要不断更新软件开发手段,就可缩短单片机的开发周期。

单片机应用系统开发者选择单片机机种的重要因素是看该机型是否具备强有力软件开发工具的支持和是否容易编程。

目前国外盛行用HLL(High Level Language)高级语言交叉编译程序来取代传统的汇编语言编程。仅用于8051开发的HLL交叉编译程序就多达几十种,例如AA554-8051、C8051、BSO/PLM8051、D 86PLM51NL、MICRO/C-51、8051C、PLEX51等。采用C、PL/M、Pascal高级语言,可在PC机、VAX机上运行编译程序,输出汇编源机器码,可重新定位目标码等。

与使用汇编语言编写程序相比,使用HLL具有程序短、易于编写、便于软件维护、确保程序的可移植性、达到缩短单片机产品的开发周期等优点。

单片机软件开发的特点与方法

由于单片机通常是为应用系统而设计的,本身一般不具有自我开发和编程的能力,因此必须借助于开发工具来开发。

单片机最突出的特点是其本身就是一个完整的应用系统,可以通过对单片机的选型和多个联用满足不同要求。若无特殊需要,不必进行扩展(如ROM、RAM、I/O、A/D··等扩展)。而是合理选用以达到最佳利用单片机的资源,在设计时,通常可留有适量余地。

单片机既然是一个完整的应用系统,必然与外界有较多的联系,这些联系通常通过I/O接口进行,以满足用户的不同要求,单片机的片内接口有如下几种可供用户选用:

1.并行接口:可多达7×8bit,68I/O(75008)。

2.串行接口:新设计的片内通常都有。

3.中断控制器:都有。

4.定时器:都有,(1×8)~(4×16)。

5.A/D转换器:MC6805R2/R3/R5、MC68HC05 P8P、8051GA、8098、μPD75328、μPD78××, MC68HC11,(4×8bit)~(8×10bit)。

6.D/A转换器:MN1413~MN1416。

7.DMA控制器:Z8800、NS455、75206。

8.锁相环:MC6805、MC146805T2。

9.频率合成器:65SC150、MC6805、MC146804T2。

10.字符发生器:NS455。

11.波特率发生器:NS455。

12.声音发生器:SM530。

13.监视定时器:8096/8098、MC68HCll、75308/75328

14.正弦波发生器:G65SC150、75516。

15.LCD驱动器:7514、63105、TLCS-47、TMS-2240、75328/75308、(128段)、MC 68HC05L7FT(906段)、L9FT(640段)。

16.LED驱动器:MN1414、MB/F84××系列、32I/O(75106)、75308/75328。

17.荧光管显示驱动器:MN1450B、MN1455B、75206/208/212/216A/268。

18.可编程比较器(4×8bit):75106

19.高压(12V)输入/输出:75106。

20.可掩膜选择上拉电阻:75106。

21.可直接推动蜂鸣器:75328。

22.可编程上拉电阻:75328。

23、CRT控制器:NS455。

24.预定标器:PIC1655A、TLS-4、MC68HC04P2。

25.管理键盘的扫描子程序:68HC05D2、8049。

26.自动写片的只读程序:MC1468705G2。

27.脉宽调制器:MCS-96、MC68HC05M4FN。

28.高速输入/输出接口:MCM-96、MC68HC05。

29.串行外设接口:SPI。

30.I\(^{2}\)C总线:Phips公司产品。

31.二个H桥/300mA:MC68HC05H2。

32.MICROWIRE总线:TMS-1000。

33.自检ROM:MC68HC05。

34.计算机操作正常(COP),

35.实时时钟中断电路。

36.内部总线对外开放。

因此,单片机的产品开发特点是:选用合适机型,开发实用软件。单片机产品开发全过程见附图。现说明如下:

图1
图1 🔍原图 (1008×1644)

·提出任务及要求:在着手系统设计之前,必须确定系统设计的技术指标,这是系统设计的依据和出发点。

·系统总体设计:是开发产品的关键环节。在充分调研的基础上选择好单片机机型和关键元器件;要充分考虑货源、开发工具及外围电路等;还要分配协调好软、硬件功能,通常硬件和软件具有一定的互换性。

从图中可看出,开发单片机应用系统产品,开发工具处于重要地位。在硬件调试、程序调试及联调时,都需使用开发系统,甚至在进行总体设计时,某些技术问题也需要验证。开发系统还是鉴定性能的得力工具,因此,在选用开发系统时,要根据经济实力选择性能优良的开发系统。(曹名扬)