常用单片机简介
点击浏览芯片信息
点击浏览芯片信息
点击浏览芯片信息
当前位置>>中源单片机首页>>INTEL公司单片机     设为首页  加入收藏  
easyprobe8052f单片机仿真开发系统
    easyprobe8052F单片机仿真开发系统简介
     双CPU架构,全开放设计,不占系统资源。
     完全实时仿真,最高速度可达40MHz。
     轻巧实用,可以不使用仿真电缆而直接插入用户目标板,便于现场调试。
     以115200bps通过RS232串口与主机通信。
     支持8X31/32/51/52/54/58及78C31/32/51/52/54/58等芯片。
     28kB仿真存储区,包括64kB程序存储区和64kB数据存储区。
     可按下列属性进行映射:-Overlay(Internal):内部,Target(External):外部。

集成开发环境和单片机开发(一)
深圳市凌雁电子有限公司

     集成开发环境概述

    80年代单片机进入我国,当时较有影响的是INTEL的NCS-48系列和Zilog公司的Z80系列,20多年来单片机获得了飞速的发展,现在单片机已经渗入到工农业生产,国防军事,教育科研等诸多领域,已经形成了计算机领域的一个重要分支。

    单片机的应用首先要考虑的是它的开发平台,也即我们常说的开发环境。由于INTEL公司的MCS-51系列较早进入我国,事实上已形成了工业标准,MCS-51的单片机应用场合随处可见,它的软件资源相当丰富,硬件的支持也很完善,价廉物美的开发器材随处可取。现阶段,国内的大部分单片机开发工程技术人员还是普遍使用汇编语言编写程序。汇编语言有其缺陷性,但它编写的代码最小,最直接,效率也最高,所以还深得用户接受。但是,它有着固有的缺陷,必须十分了解所用单片机的硬件结构,程序编写困难,代码难以理解,不易于识读,难于移植,排错困难,编写程序花的时间相当多,调试不便等等。随着国内单片机开发环境的完善,开发技术水平不断提高,现在已有相当的开发器材支持高级语言的使用和调试,为单片机的开发应用提供了更好的物质条件。高级语言(如C语言)具有开发周期短,易于识读,容易移植,也便于初学着掌握。诚然,高级语言也有它不足之处,就是高级语言产生的代码过长(也即研制人员常称的“废话太多”),对于早期单片机不大的ROM来说,可是非常突出的矛盾,另外它的运行速度太慢,对于本来主频不高的单片机是致命的弱点。但现在这方面的研制工作也取得了较大的进展,高级语言的弱点也已被较大的克服,象MCS-51上的C语言的代码长度,如果未加上人工优化条件,也可做到最优汇编程序水平的120%—150%,这也相当可观了。可以说相当于中等汇编程序员的水平。

    C语言是可以在高级计算机、个人电脑(PC)和单片机使用的唯一一种高级语言,现在很多类型的单片机已经具备了C语言编译软件和实时多任务操作系统。C语言功能十分强大,可以塑造一种良好的开发环境,在一种单片上编制的程序比较容易移植到另一种单片机上。

    目前的C语言编译器有很多,常见的有MICRO-C51、American automation、Franklin、Archimedes、BSO/TASKING、Micro computer controls等等。C51 C语言编译器早在80年代就已经出现,但并非所有的C语言编译器都产生相应单片机的有效源代码,它们各有所长,下面我们略作简介。

    American automation 编译器通过#asm和endasm预处理选择支持汇编语言,汇编速度慢,要求汇编的中间环节。

    Franklin它的前身是Keil,它以代码紧凑领先,可产生最少的代码。它支持浮点和长整数,重入和递归。它不提供库的源代码,不能生成能汇编的汇编代码,仅产生混合代码,只能修改后汇编。若使用汇编语言,必须分开汇编程序,然后手工连接。keil/Franklin专业级开发工具PK51,支持DOS话Windows环境。

    Archimedes 它的鼻祖是瑞典的IAR,是支持分组开关(Bank)的编译器,集成环境类似于Borland和Turbo,C编译器可产生一个汇编语言文件,然后再用汇编器。

    BSO/TASKING 它是一家专业开发和销售嵌入式系统软件工具的公司。它生产基于Windows的集成开发环境、调试器和交叉模拟器,支持鼠标,介面友好。软件格式符合IntelOMF-51和Intel Hex标准,它的汇编器和Intel汇编器兼容。

    Micro computer controls 它不支持浮点数,长整数,结构和多维数组,定义不允许有参数,生成的源文件需由Intel或MCC的8051汇编器汇编。

     单片机应用系统的开发

    单片机的应用系统随着其用途不同,其硬件和软件均不相同,也即单片机的最初的选型都很重要,原则上是选择高性价比的单片机,硬件软件化是提供系统性价比的有效方法,尽量减少硬件成本,多用软件来实现相同的功能,这样也可大大提高系统的可靠性。

    虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段,下面我们作简要介绍。

    [1].总体设计

     确立功能特性指标

    不管是工程控制系统还是智能仪器仪表,都必须先分析和了解项目的总体要求,输入信号的类型和数量,输出控制的对象及数量,辅助外设(如传感器)的种类及要求,使用的环境及工作的电源要求,产品的成本,可靠性要求和可维护性及经济效益等等因素,必要时可参考同类产品的技术资料,制定出可行的性能指标。

     单片机的选型

    现在的单片机数量品种繁多,各种专用功能的单片机基本上都有,这给用户者带来的好处很多,至少可节约很多外接扩展器件。单片机的选型很重要,选择时需考虑其能全部满足规定的要求,例如控制速度、精度、控制端口的数量、驱动外设的能力、存储器的大小,软件编写的难易程度、开发工具的支持程度等等。再如要驱动LED显示器,可选用多端口的单片机直接驱动,还可利用少端口加扩展电路构成,这就具体的分析选用何种器件有利于降低成本、电路易于制作、软件便于编写等等因素。再有,如果要求驱动LCD显示器,也可选用具有直接驱动LCD的单片机,也可加外接驱动芯片的办法。这些要求在应用时具体问题具体分析。

    此外,选择某种单片机还需考虑货源是否充足,是否便于批量生产,在考虑性价比的时候同样需研究易实现产品技术指标的因素。

     软件的编写和支持工具

    单片机的应用软件的设计与硬件的设计一样重要,没有控制软件的单片机是毫无用处的,它们紧密联系,相辅相成。并且硬件和软件具有一定的互换性,在应用系统中,有些功能既可用硬件来实现,也可以软件来完成,多利用硬件,可以提高研制速度,减少编制软件的工作量,争取时间,争取商机。诚然这样会增加产品的单位成本,对于以价格为竞争手段的产品就不宜采用。相反,以软件代替硬件来完成一些功能,最直观的是降低成本,提高可靠性,增加技术难度而给仿制者增加仿制难度,这是好的一面,不利的一面是同时也增加了系统软件的复杂性,软件的编制工作量大,研制周期可能会加长,同时系统运行的速度可能也会降低等。因此在总体考虑时,必须综合分析以上因素,合理地制定某些功能硬件和软件的比例。

    不同的单片机甚至同一公司的单片机它们的开发工具不一定相同或不完全相同,这就要求在选择单片机时,需考虑开发工具的因素,原则上是以最少的开发投资满足某一项目的研制过程,最好是使用现有的开发工具或增加少量的辅助器材就可达到目的的。当然,开发工具是一次性投资,而形成产品却是长远的效益,这就需平衡产品和开发工具的经济性和效益性。
    [2].硬件电路设计

    总体设计中确立的功能特性要求,确定单片机的型号,所需外围扩展芯片、存储器、I/O电路、驱动电路、可能还有A/D和D/A转换电路以及其它模拟电路,设计出应用系统的电路原理图。

     程序存储器

    随着微电子技术的发展,现在可用作程序存储器的类型相当多,各大半导体公司都推出了一系列程序存储器,象EPROM、EEPROM、FLASH存储器以及OTP存储器等等。这些存储器各有特点,互有所长。EEPROM和FLASH适合于多次擦写的场合,最适于开发调试阶段,当然它们的价格也稍比其他的高些。对于批量生产已成熟的应用系统最好选用EPROM和OTP的存储器,最主要的原因是它们的价格稍低,对降低产品的成本是相对有利的。

    值得一提的是,现在的单片机普遍都带有程序存储器,容量也分有不同的等级,从几百字节到几百kB都有,这为它们的应用提供了更为广阔的前景。而且这些单片机价格也贵不了多少,同时,这些内置ROM的单片机基本上均可实现软硬件的程序加密,为保护自己的知识产权提供了强有力的措施,所以这些单片机深得用户喜爱,可以说这类单片机逐渐成为市场的主流产品。

    数据存储器

    现在的单片机基本上都带内部数据存储器(RAM)的,从几十字节到几KB字节都有,对于数据存储器容量的要求,各个系统之间差别很大,要求也不尽相同,象8051/52系列的单片机片内置有128和256字节的RAM,这对于一般中小型应用系统(如实时控制系统和智能仪器仪表)已能满足要求。对于RAM的容量要求稍大一点,可采用外扩芯片8155这样的芯片,8155可同时扩充数量更多的I/O口线。如果是数据采集对RAM容量要求较大的系统则需要采用更大容量的数据存储器,当然,外扩的RAM也以尽可能少的芯片为原则。

     单片机的系统总线

    8051总共有32个I/O口,如果使用内置程序存储器的芯片,可用于作I/O口线的就较多,一般均可满足要求。但如需外接ROM和RAM,P0口为标准的双向数据/地址总线口,P2为高8位地址总线口,即使高8位的地址总线口没有完全使用,余下的I/O口也不能当作它用,否则编程将相当麻烦。这样8051能作I/O的端口只有16个。此外,P3口它的中断功能更为重要,一般在使用中都用作中断处理,剩下的也只有P1口,这8个I/O口就显得相当宝贵。

    P0和P2口作数据和地址总线,一般可驱动数个外接芯片(视外接芯片要求的驱动电流而异),也即P0和P2口的驱动能力还是有限的,P0口为LSTTL电路,P2口为4个LSTTL电路,如果外接的芯片过多,负载过重,系统将可能不能正常工作,此时必须加接缓冲驱动器予以解决。图2为使用74LS244和74LS245三态缓冲驱动器的应用电路。供使用时参考。

     I/O接口

    现在的单片机系列中普遍都有多I/O口的型号,对I/O口的使用应从其功能和驱动能力上加以考虑,对于仅需增加少量的I/O口,最好是选用价格低廉的TTL或CMOS电路扩展即可,这样也可提高单片机口线的利用率。对于需扩展更多的I/O口,则可选用标准的I/O口扩展芯片8155、8255和8279等芯片,这些芯片接口电路简单,编程方便,使用灵活,价格适中。

     A/D和D/A转换器

    现在可使用的A/D转换器数量繁多,品种齐全,各种分辨率、精度及速度的芯片应有尽有。最著名的是美国的模拟数字器件公司(Analog)的一系列转换器,此外还有MOTOROLA和MAXIM公司等,这给使用提供了很多便利的条件。还有一种趋势大家都已看到,即现在的各大单片机生产厂商都推出了内带A/D转换器的单片机,这样的芯片性价比一般都较高。由于A/D或D/A转换器与单片机没有外部连线,工作也更可靠,体积更小。对转换器的控制均可使用软件的方法实现,使用十分方便,如果能满足要求,建议首选这样的机型,而不要外挂转换器件。当然内置转换器的单片机,转换器一般都在12位以下,对那些有更高要求的应用系统,也只能外接转换器芯片。


 [下一页]