您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机应用系统设计技术_张齐
单片机应用系统的研制与开发环境3.1单片机应用系统的研制步骤和方法3.2单片机应用系统开发的软硬件环境3.3KeilC51高级语言集成开发环境3.4基于Proteus的单片机系统仿真本章小结单片机应用系统的研制与开发环境3.1单片机应用系统的研制步骤和方法单片机的应用系统随其用途不同,其硬件和软件均不相同。单片机最初的选型很重要,原则上是选择高性价比的单片机。硬件软件化是提供高系统性价比的有效方法,尽量减少硬件成本,多用软件实现相同的功能,这样也可以大大提高系统的可靠性。单片机应用系统的研制与开发环境虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段。单片机应用系统的研制流程如图所示。单片机应用系统的研制与开发环境1、确立功能特性指标不管是工程控制系统还是智能仪器仪表,都必须首先分析和了解项目的总体要求、输入信号的类型和数量、输出控制的对象及数量、辅助外设的种类及要求、使用的环境及工作电源要求、产品的成本、可靠性要求和可维护性及经济效益等因素,必要时可参考同类产品的技术资料,制定出可行的性能指标。3.1.1总体设计单片机应用系统的研制与开发环境2.单片机的选型单片机的选型很重要,选择时需考虑其功能是否全部满足规定的要求,例如控制速度、精度、控制端口的数量、驱动外设的能力、存储器的大小、软件编写的难易程度、开发工具的支持程度等。再如要驱动LED显示器,可选用多端口的单片机直接驱动,还可以利用少端口的单片机加扩展电路构成,这就要具体分析选用何种器件有利于降低成本、电路易于制作、软件便于编写等因素。如果要求驱动显示器LCD,也可选用具有直接驱动LCD的单片机,也可使用加外接驱动芯片的办法,这就要求在应用时具体问题具体分析。单片机应用系统的研制与开发环境3、软件的编写和支持工具对于不同的单片机,甚至同一公司的单片机,它们的开发工具不一定相同或不完全相同。这就要求在选择单片机时,需考虑开发工具的因素,原则上是以最少的开发投资满足某一项目的研制过程,最好使用现有的开发工具或增加少量的辅助器材就可达到目的。当然,开发工具是一次性投资,而形成产品却是长远的效益,这就需要平衡产品和开发工具的经济性和效益性。单片机应用系统的研制与开发环境3.1.2硬件系统根据总体设计中确立的功能特性要求,确定单片机的型号、所需外围扩展芯片、存储器、I/O电路、驱动电路,可能还有A/D和D/A转换电路以及其它模拟电路,设计出应用系统的电路原理图。单片机应用系统的研制与开发环境1.程序存储器随着微电子技术的发展,现在可用作程序存储器的类型相当多,各大半导体公司都推出了一系列程序存储器,像EPROM、EEPROM、FlashEEPROM以及OTPROM等。这些存储器各有特点,互有所长。现在的单片机普遍都带有程序存储器,容量也分有不同的等级,从几百B到几百KB都有,这为它们的应用提供了更为广阔的前景。单片机应用系统的研制与开发环境2.数据存储器现在的单片机基本上都带有内部数据存储器。如80C51/52系列的单片机片内置有128B和256B的RAM,这对于一般中小型应用系统(如实时控制系统和智能仪器仪表)已能满足要求。如果是单片机数据采集系统,对容量要求较大的系统则需要采用更大容量的数据存储器RAM,如果要求数据掉电保护,则需要采用FlashEEPROM作为数据存储器。当然,外扩的RAM也以尽可能少的芯片为原则。单片机应用系统的研制与开发环境3.单片机的系统总线80C51单片机的P0和P2口作为数据和地址总线,一般可驱动数个外接芯片(视外接芯片要求的驱动电流而异),也即P0和P2口的驱动能力还是有限的。如果外接的芯片过多,负载过重,系统将可能不能正常工作,此时必须加接缓冲驱动器予以解决。通常使用74HC573作为地址总线驱动器,使用74HC245双向驱动器作为数据总线驱动器。单片机应用系统的研制与开发环境4.I/O接口现在的单片机系列中普遍都有多I/O口的型号,对I/O口的使用应从其功能和驱动能力上加以考虑。对于仅需增加少量的I/O口,最好选用价格低廉的TTL或CMOS电路扩展,这样也可提高单片机口线的利用率。单片机应用系统的研制与开发环境5.A/D和D/A转换器现在可使用的A/D转换器数量繁多、品种齐全,各种分辨率、精度及速度的芯片应有尽有。最著名的是美国的模拟数字器件公司(Analog)的一系列转换器,此外还有Motorola和Maxim公司等,这给使用提供了很多便利的条件。当然内置转换器的单片机,转换器一般都在12位以下,对那些有更高要求的应用系统,也只能外接转换器芯片。单片机应用系统的研制与开发环境3.1.3软件系统1.系统资源分配在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。在考虑一个应用工程项目时就需要先分析该系统完成的任务,明确软硬件哪个承担哪些工作。单片机应用系统的研制与开发环境2.程序结构在单片机的软件设计中,任务可能很多,程序量很大,在这种情况下一般都需把程序分成若干个功能独立的模块,这也是软件设计中常用的方法,即俗称的化整为零的方法。对于复杂的多任务实时控制系统,一般要求采用实时任务操作系统,并要求这个系统具备优良的实时控制能力。单片机应用系统的研制与开发环境3.数学模型一个控制系统的研制,明确了各部分需要完成的任务后,设计人员必须进一步分析各输入输出变量的数学关系,即建立数学模型。这个步骤对一般较复杂的控制系统是必不可少的,而且不同的控制系统,它们的数学模型也不尽相同。4.程序流程较复杂的控制系统一般都需要绘制一份程序流程图,可以说它是程序编制的纲领性文件,可以有效地指导程序的编写。单片机应用系统的研制与开发环境5.编制程序上述的工作完成后,就可以开始编制程序了。过去单片机应用软件以汇编语言为主,因为它简洁、直观、紧凑,使设计人员乐于接受。而现在高级语言在单片机应用软件设计中发挥了越来越重要的角色,性能也越来越好,C语言已成为现代单片机应用系统开发中较常用的高级语言。但不管使用何种语言,最终还是需要翻译成机器语言,调试正常后,通过烧录器固化到单片机或片外程序存储器中。至此,程序编写即告完成。单片机应用系统的研制与开发环境3.2.1单片机应用系统开发的软硬件环境构成3.2单片机应用系统开发的软硬件环境当用户目标系统设计完成后,还需要应用软件支持,用户目标系统才能成为一个满足用户要求的单片机应用系统。但该用户目标系统不具备自开发能力,需要借助于单片机仿真器(也称单片机开发系统)完成该项工作。单片机应用系统的研制与开发环境一个典型的单片机系统开发环境组成如图所示。单片机系统开发环境组成单片机应用系统的研制与开发环境3.2.2单片机应用系统开发工具选择原则全地址空间的仿真。不占用任何用户目标系统的资源。必须实现硬断点,并且具有灵活的断点管理功能。硬件实现单步执行功能。可跟踪用户程序执行。可观察用户程序执行过程中的变量和表达式。可中止用户程序的运行或用户程序复位。系统硬件电路的诊断与检查。支持汇编和高级语言源程序级调试。单片机应用系统的研制与开发环境3.2.3使用JTAG界面单片机仿真开发环境JTAG仿真开发环境如图所示。在JTAG单片机仿真开发环境中,JTAG适配器提供了计算机通信口到单片机JTAG口的透明转换,并且不出借CPU和程序存储器给应用系统,使得仿真更加贴近实际目标系统。单片机内部已集成了基于JTAG协议调试和下载程序。单片机应用系统的研制与开发环境在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序对内部的FLASH存储器编程。3.2.4单片机的在线编程单片机应用系统的研制与开发环境3.3KeilC51高级语言集成开发环境-µVision3IDE单片机系统的编程语言有汇编语言和高级语言两种。每一种类型的单片机都有与其指令系统对应的汇编语言,汇编语言就是机器语言,优点是可直接操作硬件,可执行文件比较小,而且执行速度很快。汇编语言的缺点是软件的维护性和可移植性差。单片机应用系统的研制与开发环境单片机的高级语言包括:Basic语言、PL/M语言和C/C++语言。Basic语言主要应用在MCS-51系列单片机上,效果不是很理想,现在已经不再使用。PL/M语言对硬件的控制能力和代码效率都很好,但局限于Intel公司的单片机系列,移植性差。C/C++语言是目前单片机的主流编程语言。单片机应用系统的研制与开发环境KeilC51软件是目前最流行开发80C51系列单片机的软件工具,这从近年来各单片机仿真机厂商纷纷宣布全面支持KeilC51即可看出。KeilC51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision3IDE)将这些部份组合在一起。掌握这一软件的使用对于使用80C51系列单片机的爱好者来说是十分必要的,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令开发者事半功倍。单片机应用系统的研制与开发环境3.3.1µVision3IDE主要特性µVision3IDE基于Windows的开发平台,包含一个高效的编辑器、一个项目管理器和一个MAKE工具。μVision3IDE支持所有的KeilC51工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。µVision3IDE内嵌多种符合当前工业标准的开发工具,可以完成从工程建立、管理、编译连接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程。单片机应用系统的研制与开发环境●集成开发环境●C51编译器和A51汇编器●LIB51库管理器●BL51链接器/定位器●µVision3软件调试器●µVision3IDE硬件调试器●RTX51实时操作系统µVision3IDE主要特性如下:单片机应用系统的研制与开发环境3.3.2µVision3IDE集成开发环境µVision3IDE界面单片机应用系统的研制与开发环境μVision3IDE提供下拉菜单和工具条按钮两种操作方式。下拉菜单提供有多种选项,根据不同需要选用,工具条按钮实际上是下拉菜单中一些重要选项功能的快捷方式。μVision3IDE的菜单详细说明具体见主教材48页。“3.3.2µVision3IDE集成开发环境”单片机应用系统的研制与开发环境3.3.3μVision3IDE的使用μVision3IDE安装后自带了一些帮助文档,位于安装目录的\Keil\C51\HLP文件夹,包括A51.pdf、C51.pdf、C51lib.chm、DBG51.CHM、errors.chm、GS51.pdf等,你可以通过μVision3开发环境ProjectWindow的Books标签页中的连接来打开这些文档。单片机应用系统的研制与开发环境启动µVision3IDE,新建一个项目文件并从器件库中选择一个CPU器件。新建一个源文件并把它加入到项目中。增加并设置选择的器件的启动代码。针对目标硬件设置工具选项。编译项目并生成可以编程ROM的HEX文件。µVision3IDE包括一个项目管理器,它可以使8x51应用系统的设计变得简单。要创建一个应用,需要按下列步骤进行操作:单片机应用系统的研制与开发环境示例程序中定义一个加法计数器字节型变量ucTimer,每次加1后送到P2口显示,并使用打印printf函数输出相应指示信息,整个程
本文标题:单片机应用系统设计技术_张齐
链接地址:https://www.777doc.com/doc-4012401 .html