资源预览内容
第1页 / 共243页
第2页 / 共243页
第3页 / 共243页
第4页 / 共243页
第5页 / 共243页
第6页 / 共243页
第7页 / 共243页
第8页 / 共243页
第9页 / 共243页
第10页 / 共243页
亲,该文档总共243页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4章 MCS-51系列单片机 C语言程序设计,4.1 MCS-51系列单片机的C编译器 4.2 IAR EW8051的集成开发环境 4.3 IAR EW8051的C语言流程控制语句 4.4 IAR EW8051的C语言数据类型 4.5 函数和模块化程序设计 习题四,1Tasking Crossview51 Tasking公司原名为BSO/Tasking,是一家专业开发和销售嵌入式系统软件工具的公司,于1974年创建于荷兰。Tasking公司一直为Intel、LSI、Motorola、Philips、Siemens、Texas Instruments等著名半导体厂商的微处理器、数字信号处理器(DSP)以及单片机编写高级语言编译器等配套软件开发工具,先后开发过8 bit、16 bit、32 bit、64 bit的MCU/DSP/RISC交叉编译程序。该公司生产多种单片机的交叉模拟程序(Simulators),可在无目标机的情况下模拟单片机的运行以及I/O口的行为。,4.1 MCS-51系列单片机的C编译器,Tasking公司还生产基于Windows下的嵌入式系统集成开发环境软件(EDE),使用高级连接定位器。EDE是面向工程(Project)的集成开发环境,能够完成从Edit、Make到Debug的“一条龙”服务。环境可以扩展和配置,支持鼠标,界面友好。EDE除开发工具一条龙服务外,还配套有辅助服务,如Setup集成化、在线屏幕手册(Manual)集成化、出错管理(Error Handling)集成化、操作记录(Log)集成化。,EDE支持第三方软件的运行,如Intel的Apbuilding,Aisys的DriveWay,INFOM的fuzzyTE、CK和MCU-51逻辑编译器等。Tasking公司具有10年生产Intel 80C51软件开发工具的经验,其主要产品有:ASM51(包括Intel兼容宏汇编,Intel兼容Linker、Make、Converter及PL/M51)和C51 Crossview51调试器(早期名XRAY51,包括ROM Debugger、Ice Debuggs及Simulator)。其软件工具生成的代码可以在大多数著名的仿真器(如Nohau、Metalink、Ashling等公司的相关产品)上使用,软件格式符合IEEE-695、Intel DMF-51、Intel HEX、Motorola S-records等国际标准。Tasking公司的最新产品为Philips 16位80C51XA 应用软件工具套件,包括C编译器、宏汇编、连接器、定位器、Crossview模拟调试器等。,2Keil/ Franklin C51 Franklin的鼻祖是Keil,该编译器在代码生成方面比较有优势,可产生最少的代码。它支持浮点和长整数、重入和递归,不提供库源代码,不能生成能编译的汇编代码,仅产生混合代码,只有修改后才能作为汇编程序编译。若使用汇编语言,必须分开编译程序,然后用手工方式连接。,Keil C51标准C编译器为MCS-51系列单片机的软件开发提供了C语言环境,同时保留了汇编代码高效、快速的特点。Keil C51编译器的功能不断增强,使程序设计者可以更加贴近MCS-51系列单片机本身以及其他的MCS-51单片机衍生产品。Keil C51已被完全集成到uVision2的集成开发环境(IDE)中,这个集成开发环境包含C51编译器、汇编和连接,以及Tiny51实时操作系统(Real-time OS)、项目管理器和调试器。Keil C51是一种高效、灵活的MCS-51系列单片机的C语言开发平台。它可以支持的8051及其衍生产品有上百种之多,也可以支持所有兼容的仿真器,同时支持其他第三方开发工具。Keil C51及相关工具的优点是优化后生成的代码效率可接近汇编,提供对所有硬件功能单元的操作。Keil C51支持Atmel, Dallas,Infineon,Philips,Winbond和Temic等公司生产的8051及其衍生产品。Keil C51指派寄存器变量,在整个应用程序中执行全局寄存器优化,所有工具均可产生详细的警告信息和错误信息,以帮助程序开发者快速查找、排除错误。它支持可重入函数和寄存器区的独立代码,以便于中断服务程序和多任务应用程序的执行。,3IAR EW8051 IAR System 公司是世界著名的软件生产厂家之一,其总部设在瑞典。IAR System公司生产的IAR Embedded Workbench(简称IAR EW)是一整套集成开发环境(IDE),适用于MCS-51系列单片机的IAR Embedded Workbench简称EW8051,EW8051集成开发环境包括嵌入式C/C+编译器、汇编器、连接定位器、库管理、项目管理及调试器等。IAR EW早期主要是为8051、80196系列单片机提供的重要开发、调试工具,今天IAR EW已经可以支持35种以上的832位处理器,它以卓越的性能价格比受到用户的普遍欢迎。IAR公司针对不同的体系结构,只需一个解决方案,旨在为用户提供一套通用的支持多种处理器的IDE。IAR EW当前除了支持8051及其衍生的微处理器外, 还支持Atmel、ARM、Hitachi、Infineon、Intel、Microchip、Mitsubishi、Motorola、National Semiconductor、NEC、OKI、Philips、Samsung、Sharp、TI、Toshiba、Triscend、Western Design Center、Zilog等半导体厂商生产的多种微处理器。可支持的工作平台包括Windows 95/98/2000、NT、UNIX等。,上面提到的这些C51编译器都非常相似,特别是Keil C51和IAR EW8051编译器的集成开发环境的外观和使用方法甚至与可视化C/C+的开发环境相似。它们都支持用户采用模块化结构开发和设计大的、复杂的应用程序,在视窗操作系统中使用集成开发环境编译、汇编、连接多模块结构程序都可以由IDE代理一次性完成。 在开发嵌入式系统应用软件时提倡模块化结构的好处是: 方便分工协作方式完成复杂项目的开发; 开发阶段对部分代码进行单独仿真和跟踪调试; 可更好地发挥C语言的可移植性(Portable),减少不同项目中重复代码的开发; 系统软件功能具有可裁减性(Scalable)。,这些C51的集成开发环境都提供无需硬件仿真器(Hardware Debugger)的模拟仿真器(Simulator),在单片机应用系统的软件中,有些代码与单片机的硬件无关,开发这部分代码时可以利用模拟仿真器实现快速仿真。 本书中的C语言程序源码都是在IAR EW8051集成开发环境下编写的,有关IAR EW8051集成开发环境(IDE)的使用说明请参考下一节的内容,或者直接到IAR System公司的主页(www.iar.com)下载IAR EW8051集成开发环境学习版及其用户手册或IAR EW8051 C编译器用户手册。,4.2 IAR EW8051的集成开发环境 4.2.1 IAR Embedded Workbench开发平台的使用方法 IAR Embedded Workbench开发平台能够支持数百种832位微控制器,针对各种不同的微控制器需要不同的编译器,这个平台是一种通用的平台。 IAR Embedded Workbench开发平台的工作窗口如图4-1所示。它在外观上看起来与可视化编程的Visual C/C+非常相似。它包括项目管理器窗口(Project window)、源文件编辑器窗口(Editor window)、信息窗口(Messages window)、二进制编辑器窗口(Binary Editor window)等4个窗口,以及菜单栏(Menu bar)、编辑栏(Edit bar)、项目栏(Project bar)和状态栏(Status bar),其中编辑栏和项目栏组成了快捷工具栏。,图4-1 IAR Embedded Workbench开发平台的工作窗口,1菜单栏 菜单栏包括IAR Embedded Workbench开发平台的所有操作按钮。所有操作被分为8类: (1) File(文件操作类):包括新创建、打开、保存、另存、打印文件以及打印设置和关闭开发平台等操作。 (2) Edit(编辑操作类):包括剪贴、拷贝、查找、替换等操作。 (3) View(视图控制操作类):包括打开或关闭编辑栏、项目栏和状态栏的控制操作。 (4) Project(项目管理类):提供给项目添加文件、创建工作组、编译和连接当前项目以及在当前项目下运行IAR工具等操作。 (5) Tools(工具类):提供在IAR Embedded Workbench开发平台上增加或删除用户自定义的辅助开发工具的操作,IAR允许用户在IAR EW平台上使用自己更习惯的编辑器等辅助开发工具。,(6) Options(选项类):提供IAR Embedded Workbench开发平台的个性化风格界面的设置操作,允许用户设置自己更习惯的字体、关键字颜色等。 (7) Window(窗口控制类):提供子界面的位置、排列、分割等操作,以及正在被放置在后台的已经打开的文件列表。 (8) Help(帮助类):提供IAR Embedded Workbench开发平台的所有帮助操作。,2快捷工具栏 快捷工具栏包括文件编辑器常用操作的快捷按钮和项目管理器常用的操作按钮。文件编辑器常用的快捷工具按钮如图4-2所示。 项目管理器常用的快捷按钮和窗口位置、排列控制的快捷按钮如图4-3所示。,图4-2 文件编辑器常用的快捷工具栏,图4-3 项目管理器和窗口排列的快捷按钮,其中编译器常用的快捷按钮包括: (1) “编译”当前被激活的源文件编辑窗口中的程序。注意,如果当前打开的项目由多个源文件(模块)构成,“编译”按钮仅编译当前被激活的源文件编辑窗口中的一个源文件,项目中的其他源文件不会被编译。 (2) “编译和连接”重新将当前项目中所有被修改过的源文件(模块)进行编译,然后连接,产生项目输出目标文件(如列表文件、MCS-51单片机可执行文件)。 (3) “停止编译”停止当前正在执行的单个源文件或项目编译操作。 (4) “打开C-SPY模拟器”首先编译、连接产生项目输出的目标文件和模拟器文件,然后自动打开IAR EW平台的C-SPY软件模拟器,并自动将当前项目的模拟器文件加载到模拟器,这个过程会因为当前的项目编译或连接失败而停止,用户可以通过信息窗口看到出错的信息。,3项目管理器窗口 项目管理器窗口包括当前项目的名称、工作组子目录结构和项目包含的所有源文件(模块)名称列表。所有列表项前面有“+”的项可以被展开,能够看到该项的子目录项,譬如展开源文件项,可以看到该源文件包含的所有头文件(Head Files),如图4-4所示。 IAR EW为用户提供方便使用的项目管理器快捷菜单功能,在项目管理器窗口的任何地方点击鼠标右键便弹出快捷菜单,如图4-5所示。,图4-4 项目管理器窗口,图4-5 项目管理器快捷菜单,4编辑器窗口 在编辑器窗口中,用户可以修改或编辑源文件(包括*.C、*.h等)。IAR EW开发平台默认的语言为C语言,编辑窗口的源文件中所有C语法关键字、注释等特殊内容都使用不同的字体或颜色以高亮显示(见图4-6),这个特点与其他C语言编辑器非常相似,符合C语言程序员的习惯。,图4-6 源文件编辑窗口,当前的项目如果是一个多模块结构的,IAR EW允许用户在源文件编辑器中打开项目所属的所有源文件,每个源文件使用一个编辑器窗口。但是,任何时刻仅有一个窗口被激活,允许用户在该编辑器窗口修改和编辑某一个源文件,其他源文件被放置在后台。 源文件编辑器需要切换到放置在后台的其他源文件,激活另一个编辑器窗口,可以通过菜单栏的“Window”下拉菜单选择
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号