《单片机原理及应用》课件第8章.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及应用 单片机 原理 应用 课件
- 资源描述:
-
1、第第8章单片机的章单片机的C语言应用程序设计语言应用程序设计8.1 C语言与语言与51单片机单片机8.2 C51数据类型及其在数据类型及其在51单片机中的存储方式单片机中的存储方式8.3 C51数据的存储类型与数据的存储类型与51单片机存储方式单片机存储方式8.4 51单片机特殊功能寄存器的单片机特殊功能寄存器的C51定义定义8.5 51单片机并行接口的单片机并行接口的C51定义定义8.6 位变量的位变量的C51定义定义8.7 C51的指针的指针8.8 模块化程序开发过程模块化程序开发过程8.9 51单片机内部资源的单片机内部资源的C语言编程语言编程8.10 51单片机片外扩展的单片机片外扩展
2、的C语言编程语言编程8.11 频率测量的频率测量的C语言编程语言编程8.12 51单片机间通信的单片机间通信的C语言编程语言编程8.13 键盘和数码显示人机交互的键盘和数码显示人机交互的C语言编程语言编程习题八习题八在单片机应用系统开发中,应用程序设计是整个系统设计的主要工作,直接决定着应用系统开发周期的长短。过去,单片机应用程序设计都采用汇编语言,采用汇编语言编写应用程序,可直接操纵系统的硬件资源,从而编写出高质量的程序代码。但是,采用汇编语言编写比较复杂的数值计算程序就感觉非常困难,又因汇编语言源程序的可读性远不如高级语言源程序,若要修改程序的功能,得花费心思重新阅读程序,是很费劲的。若从
3、系统开发的时间来看,采用汇编语言进行单片机应用程序设计的效率不是很高。随着计算机应用技术的发展,软件开发工具日益丰富,出现了众多支持高级语言编程的单片机开发工具。利用C语言设计单片机应用程序已成为单片机应用系统开发设计的一种趋势。使用C语言编程更符合人的思维方式和思考习惯,编写代码效率高、维护方便。采用C语言易于开发复杂的单片机应用程序,有利于单片机产品的重新选型和应用程序的移植,大大提高了单片机应用程序的开发速度。现在,单片机仿真器普遍支持C语言程序调试,为使用C语言进行单片机程序开发提供了便利。51单片机、PIC单片机等常见单片机产品的软件设计,一般都可以使用C语言实现。世界上许多软件公司
4、都致力于51系列单片机高级语言编译器的开发研究,使用户得以采用高级语言进行编程。本章从单片机应用特点的角度出发,结合Keil公司的C51编译器,介绍51 单片机C语言应用程序开发设计的技术方法。8.1C语言与语言与51单片机单片机8.1.151单片机单片机C语言编程简介语言编程简介C语言是高级程序设计语言。用高级语言编程时,不必太多考虑计算机的硬件特性和接口结构。事实上,任何高级语言程序最终必须要转换成计算机可识别、并能执行的机器指令代码,定位于存储器。程序中的数据也必须以一定的存储结构定位于存储器中。这种转换、定位是由高级语言编译器来实现的。在高级语言程序中,对不同类型数据的存储及引用是通过
5、不同类型的变量来实现的。也可以说,高级语言的变量就代表存储单元,变量的类型结构就表示了数据的存储、引用结构。用汇编语言设计51单片机应用程序时,必须考虑存储器结构,尤其要考虑其片内数据存储器与特殊功能寄存器的正确、合理使用以及按实际地址处理端口数据。尽管采用C语言编写51单片机应用程序时,不像用汇编语言那样具体地组织、分配存储器资源和处理端口数据,甚至可以在对单片机内部结构和存储器结构不太熟悉、对处理器的指令集没有深入了解的情况下编写应用程序,但要使编译器产生充分利用单片机资源、执行效率高、适合51单片机目标硬件的程序代码,对数据类型和变量的定义就必须与单片机的存储结构相关联,否则编译器就不能
6、正确地映射定位。同时,在C语言编程中,必须注意到单片机内部资源的宝贵性和控制实时性的应用特点,考虑产生的可执行代码运行时所占用的系统资源。因此,使用C语言编写单片机应用程序和编写标准的C语言程序的主要不同之处就在于它是根据单片机存储结构及内部资源定义相应的C语言数据和变量,而其他的语法规定、程序结构及程序设计方法都与标准的C语言程序相似。从这个角度来说,没有对单片机硬件资源、体系结构和指令系统的充分了解,就不能设计出非常实用、高质量的单片机应用程序。所以,在以后几节主要介绍使用C语言设计单片机应用程序时如何定义与单片机相对应的数据类型和变量,与标准C语言相同的部分就不再赘述。用C语言编写的应用
7、程序必须经过单片机C语言编译器(简称C51)转换成51 单片机可执行的代码程序。所以,C语言编译器是C语言应用程序开发设计中必不可少的开发工具,C语言编译器的好坏直接影响到生成代码的效率、大小和可靠性。8.1.2C51开发工具与单片机开发工具与单片机C语言编译器语言编译器针对51 单片机,从1985年开始就有C语言编译器,简称C51。为帮助读者了解常见C51编译器的特点,下面简要介绍各公司的C51开发工具。American Automation:该编译器通过#asm和endasm预处理选择支持汇编语言。此编译器连接速度慢,要求汇编中间环节支持。IAR:瑞典的IAR是支持分组切换(Bank Sw
8、itch)的编译器,它和ANSI兼容,只是需要一个复杂连接程序控制文件的支持,程序才能运行。Avocet:该软件包包括编译器、汇编器、连接器、库MAKE工具和编辑器,集成环境类似于Borland C和Turbo C。C编译器产生一个汇编语言文件,然后再用汇编器汇编,其编译速度较快。Bo/Tasking:这是一家专业开发和销售嵌入式系统软件工具的公司,一直为Intel、LSI Motorola、Philips、Simens和Texas Instruments编写嵌入式系统的配件软件工具。它生产基于Windows的集成开发环境软件、调试器和交叉模拟器,支持鼠标器,界面友好,软件格式符合Intel
展开阅读全文