第4章MCS-51系列单片机 C语言程序设计.ppt
《第4章MCS-51系列单片机 C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章MCS-51系列单片机 C语言程序设计.ppt(243页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第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等著名半导体厂商的微处理器、数字信号处理器(DS
2、P)以及单片机编写高级语言编译器等配套软件开发工具,先后开发过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除开发工具一条龙服务外,还配
3、套有辅助性服务,如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 D
4、ebuggs及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,该编译器在代码生成方面比较有优势,可产生最少的代码。它支持浮点和长整数、重入和递归,不提供库
5、源代码,不能生成能编译的汇编代码,仅产生混合代码,只有修改后才能作为汇编程序编译。若使用汇编语言,必须分开编译程序,然后用手工方式连接。,Keil C51标准C编译器为MCS-51系列单片机的软件开发提供了C语言环境,同时保留了汇编代码高效、快速的特点。Keil C51编译器的功能不断增强,使程序设计者可以更加贴近MCS-51系列单片机本身以及其他的MCS-51单片机衍生产品。Keil C51已被完全集成到uVision2的集成开发环境(IDE)中,这个集成开发环境包含C51编译器、汇编和连接,以及Tiny51实时操作系统(Real-time OS)、项目管理器和调试器。Keil C51是一种
6、高效、灵活的MCS-51系列单片机的C语言开发平台。它可以支持的8051及其衍生产品有上百种之多,也可以支持所有兼容的仿真器,同时支持其他第三方开发工具。Keil C51及相关工具的优点是优化后生成的代码效率可接近汇编,提供对所有硬件功能单元的操作。Keil C51支持Atmel, Dallas,Infineon,Philips,Winbond和Temic等公司生产的8051及其衍生产品。Keil C51指派寄存器变量,在整个应用程序中执行全局寄存器优化,所有工具均可产生详细的警告信息和错误信息,以帮助程序开发者快速查找、排除错误。它支持可重入函数和寄存器区的独立代码,以便于中断服务程序和多任
7、务应用程序的执行。,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位处理器,它以卓越的性能价格比受到用户的普
8、遍欢迎。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等。
9、,上面提到的这些C51编译器都非常相似,特别是Keil C51和IAR EW8051编译器的集成开发环境的外观和使用方法甚至与可视化C/C+的开发环境相似。它们都支持用户采用模块化结构开发和设计大的、复杂的应用程序,在视窗操作系统中使用集成开发环境编译、汇编、连接多模块结构程序都可以由IDE代理一次性完成。 在开发嵌入式系统应用软件时提倡模块化结构的好处是: 方便分工协作方式完成复杂项目的开发; 开发阶段对部分代码进行单独仿真和跟踪调试; 可更好地发挥C语言的可移植性(Portable),减少不同项目中重复代码的开发; 系统软件功能具有可裁减性(Scalable)。,这些C51的集成开发环境都
10、提供无需硬件仿真器(Hardware Debugger)的模拟仿真器(Simulator),在单片机应用系统的软件中,有些代码与单片机的硬件无关,开发这部分代码时可以利用模拟仿真器实现快速仿真。 本书中的C语言程序源码都是在IAR EW8051集成开发环境下编写的,有关IAR EW8051集成开发环境(IDE)的使用说明请参考下一节的内容,或者直接到IAR System公司的主页()下载IAR EW8051集成开发环境学习版及其用户手册或IAR EW8051 C编译器用户手册。,4.2 IAR EW8051的集成开发环境 4.2.1 IAR Embedded Workbench开发平台的使用方
11、法 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 b
12、ar)和状态栏(Status bar),其中编辑栏和项目栏组成了快捷工具栏。,图4-1 IAR Embedded Workbench开发平台的工作窗口,1菜单栏 菜单栏包括IAR Embedded Workbench开发平台的所有操作按钮。所有操作被分为8类: (1) File(文件操作类):包括新创建、打开、保存、另存、打印文件以及打印设置和关闭开发平台等操作。 (2) Edit(编辑操作类):包括剪贴、拷贝、查找、替换等操作。 (3) View(视图控制操作类):包括打开或关闭编辑栏、项目栏和状态栏的控制操作。 (4) Project(项目管理类):提供给项目添加文件、创建工作组、编译和连
13、接当前项目以及在当前项目下运行IAR工具等操作。 (5) Tools(工具类):提供在IAR Embedded Workbench开发平台上增加或删除用户自定义的辅助开发工具的操作,IAR允许用户在IAR EW平台上使用自己更习惯的编辑器等辅助开发工具。,(6) Options(选项类):提供IAR Embedded Workbench开发平台的个性化风格界面的设置操作,允许用户设置自己更习惯的字体、关键字颜色等。 (7) Window(窗口控制类):提供子界面的位置、排列、分割等操作,以及正在被放置在后台的已经打开的文件列表。 (8) Help(帮助类):提供IAR Embedded Wor
14、kbench开发平台的所有帮助操作。,2快捷工具栏 快捷工具栏包括文件编辑器常用操作的快捷按钮和项目管理器常用的操作按钮。文件编辑器常用的快捷工具按钮如图4-2所示。 项目管理器常用的快捷按钮和窗口位置、排列控制的快捷按钮如图4-3所示。,图4-2 文件编辑器常用的快捷工具栏,图4-3 项目管理器和窗口排列的快捷按钮,其中编译器常用的快捷按钮包括: (1) “编译”当前被激活的源文件编辑窗口中的程序。注意,如果当前打开的项目由多个源文件(模块)构成,“编译”按钮仅编译当前被激活的源文件编辑窗口中的一个源文件,项目中的其他源文件不会被编译。 (2) “编译和连接”重新将当前项目中所有被修改过的源
15、文件(模块)进行编译,然后连接,产生项目输出目标文件(如列表文件、MCS-51单片机可执行文件)。 (3) “停止编译”停止当前正在执行的单个源文件或项目编译操作。 (4) “打开C-SPY模拟器”首先编译、连接产生项目输出的目标文件和模拟器文件,然后自动打开IAR EW平台的C-SPY软件模拟器,并自动将当前项目的模拟器文件加载到模拟器,这个过程会因为当前的项目编译或连接失败而停止,用户可以通过信息窗口看到出错的信息。,3项目管理器窗口 项目管理器窗口包括当前项目的名称、工作组子目录结构和项目包含的所有源文件(模块)名称列表。所有列表项前面有“+”的项可以被展开,能够看到该项的子目录项,譬如
16、展开源文件项,可以看到该源文件包含的所有头文件(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 源文件编辑窗口,当前的项目如果是一个
17、多模块结构的,IAR EW允许用户在源文件编辑器中打开项目所属的所有源文件,每个源文件使用一个编辑器窗口。但是,任何时刻仅有一个窗口被激活,允许用户在该编辑器窗口修改和编辑某一个源文件,其他源文件被放置在后台。 源文件编辑器需要切换到放置在后台的其他源文件,激活另一个编辑器窗口,可以通过菜单栏的“Window”下拉菜单选择另一个放置在后台的源文件,该源文件编辑窗口被激活并推到编辑器窗口的最上层。,5信息窗口 信息窗口显示IAR EW开发平台对用户各项命令的运行结果。信息窗口包括多个页面,如图4-7所示。 “Build”信息窗口给出用户执行单源文件编译或当前项目编译、连接项目的结果,包括出错信息
18、(Error Message)、警告信息(Warning Message)等,每条信息为1行。如果出错或警告的信息是在编译时产生的,用户可以用鼠标双击某一条Error或Warning信息,IAR EW将自动跳到源文件出错或警告的行位置,IAR EW可以通过这种方法帮助用户快速查找、排除错误或警告。“Find in Files”信息窗口给出编辑菜单下执行“Find in Files”命令查找的结果,给出符合查找条件的所有项,每项1行。用户可以用鼠标双击某一项,IAR EW将自动跳到对应的行位置。“Tool Output” 显示用户在工具菜单中定义的工具给出的输出信息。,图4-7 信息窗口,6二进
19、制编辑窗口 在二进制编辑窗口中将所有被打开的文件以二进制方式码方式显示,并允许用户在该窗口修改和编辑二进制码,显示时按照每8个二进制位组成一个十六进制字节数的方式。该窗口分为两个区域,一个区域是十六进制码显示区,另一个区域是对应的ASCII码显示区,如图4-8所示。对二进制方式打开的文件的修改和编辑可以直接在十六进制显示区进行,也可以在ASCII码显示区进行。 可以在“Tools(工具)”菜单下选择“Binary Editor”来打开二进制编辑窗口,见图4-8。 利用二进制编辑窗口可以打开并查看IAR EW编译、连接产生的项目输出文件,MCS-51单片机能够执行的文件为二进制文件,用户只能通过
20、二进制编辑窗口查看它的内容。,图4-8 二进制编辑窗口,7File(文件操作类)菜单 文件菜单提供了打开和保存各种文件以及退出IAR EW开发平台等操作。点击File的下拉菜单可以看到的具体操作命令如图4-9所示。,图4-9 文件操作类命令菜单,8Edit(编辑操作类)菜单 编辑菜单提供编辑器窗口常用的操作,点击Edit的下拉菜单可以看到图4-10所示的命令菜单。,图4-10 编辑操作类命令菜单,9View(视图类)菜单 视图菜单下的命令可以让用户依据需要打开或关闭快捷工具栏操作按钮。点击View的下拉菜单可以看到图4-11所示的命令菜单。,图4-11 视图类命令菜单,10Project(项目
21、操作类)菜单 项目菜单下的命令可以帮助用户给项目添加文件、创建文件组、确立项目选项,以及在当前项目下运行IAR EW系统高级工具。点击Project的下拉菜单可以看到图4-12所示的命令菜单。,图4-12 项目管理器操作类命令菜单,(1) 利用“Project Files”命令可以为当前的项目添加源文件或将源文件从当前项目中删除。打开的Project Files窗口如图 4-13所示。 用户利用项目管理器的文件管理功能将当前的项目包含的所有源文件添加到项目中,或从项目中删除源文件,在执行项目编译(产生目标文件)、汇编(产生列表文件)和连接(产生二进制可执行文件)操作时,用户不需要干预项目编译、
22、汇编和连接过程,IAR EW开发平台会将项目管理器包含的所有源文件按模块结构分别进行编译和汇编,然后将各模块产生的目标文件连接产生项目的输出文件。譬如在图4-13中显示的这个例子项目至少由7个源文件组成。如果一个项目的源程序代码有数万行之多,把数万行源程序代码放在一个源文件中的做法是蹩脚程序员才使用的方法,而且这种方法不方便调试和维护。根据功能把数万行的源程序分割成多个源文件的做法是聪明的选择。,图4-13 项目管理器的文件管理窗口,(2) 利用“ProjectNew Group”命令可以将多模块结构的项目中的源文件按文件组方式来管理。打开“New Group”窗口可以为当前项目创建新的文件组
23、标识,如图4-14所示。 一旦为当前的项目创建了一个新的文件组标识后,在项目管理窗口就可以看到这个新的文件组标识,然后用户可以利用“Project Files”命令为新创建的文件组添加源文件。,图4-14 创建新的文件组对话框,(3) 利用“Project Targets”命令可以为当前项目添加一个新的目标输出。IAR EW开发平台允许一个项目产生多组输出文件,打开维护当前项目的Targets 对话框,如图4-15所示。,图4-15 项目输出目标维护的对话框,(4) 利用“Project Option”命令可以选择确定当前项目的编译、汇编、连接控制选项。IAR EW允许用户对当前项目的不同“T
24、argets”选择使用不同的编译、汇编、连接选项,图4-16是确定“Release”目标的编译、汇编、连接选择的对话框。,图4-16 输出目标编译、汇编、连接控制选项的维护对话框,用户对当前项目目标的编译、汇编、连接控制选项进行维护操作时,IAR EW开发平台编译、汇编、连接当前项目的所有控制选项都在这里设置。选择不同的选项,编译、汇编、连接当前项目时,可以产生所要求的列表文件、目标文件、输出文件等,包括各源文件对应的汇编文件、MCS-51单片机硬件资源使用的列表文件、出错和警告列表文件、目标文件等,以及产生的项目输出文件名称和格式。IAR EW开发平台允许用户把项目输出文件按照用户的习惯(或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章MCS-51系列单片机 C语言程序设计 MCS 51 系列 单片机 语言程序设计
限制150内