《单片机原理及应用》ch05 单片机的C语言程序设计.pptxVIP

  • 3
  • 0
  • 约6.76千字
  • 约 45页
  • 2025-08-17 发布于广东
  • 举报

《单片机原理及应用》ch05 单片机的C语言程序设计.pptx

单片机原理及应用单片机的C语言程序设计第五章

01C51语言概述

C51语言概述01与汇编语言相比,用C51语言编写MCS-51单片机应用程序具有以下特点。(1)不用了解MCS-51单片机的硬件及指令系统,只要初步了解MCS-51单片机的存储器结构。(2)C51语言能解决内部寄存器的分配、不同存储器的寻址和数据类型等细节问题,但对硬件控制有限,而汇编语言可以完全控制资源。(3)C51语言在小应用程序中产生的代码量大且执行速度慢,但在较大的程序中产生的代码执行速度快。(4)C51语言程序由若干函数组成,具有良好的模块化结构,便于改进和扩充。一、C51语言与汇编语言的比较

C51语言概述01(5)C51语言程序具有良好的可读性和可维护性;汇编语言在应用程序开发中,开发难度增加,可读性差。(6)C51语言有丰富的库函数,可大大减少程序员的编程量,显著缩短程序的编程与调试时间,大大提高软件开发效率。(7)使用汇编语言编制的程序,当单片机的机型改变时,无法被直接移植使用;C51语言程序是面向用户的程序设计语言程序,能在不同机型的单片机上运行,可移植性好。一、C51语言与汇编语言的比较

C51语言概述01C51语言与标准C语言的一些差别如下。(1)库函数的不同。(2)数据类型有一定区别。(3)C51语言中的变量存储模式与标准C语言中的变量存储模式不一样。标准C语言最初是为通用计算机设计的。(4)数据存储类型不同。二、C51语言与标准C语言的比较

C51语言概述01C51语言与标准C语言的一些差别如下。(5)标准C语言中没有处理单片机中断的函数,而C51语言中有专门的中断函数。(6)头文件不同。(7)程序结构的差异。从数据运算操作、程序控制语句及函数的使用上来说,C51语言与标准C语言几乎没有什么明显的差别。二、C51语言与标准C语言的比较

C51语言概述01(1)使用通用的文字编辑软件,如用EDIT、仿真器开发商提供的集成开发软件等编写C51语言的源程序。(2)可用支持C51语言的仿真器对编好的源程序进行调试、纠错和优化。(3)对调试好的源程序进行编译。用C51编译器对源程序进行编译后,可生成后缀为HEX的目标程序文件。(4)将生成的目标程序文件,用编程器写入单片机的程序存储器,就完成了程序编制的全过程。三、使用C51语言编制程序的步骤

02C51语言对标准C语言的扩展

C51语言对标准C语言的扩展02C51语言的特色主要体现在以下几个方面。(1)C51语言虽然继承了标准C语言的绝大部分特性,而且它们的基本语法相同,但其本身又在特定的硬件结构上有所扩展。(2)应用C51语言更要注重对系统资源的理解。(3)C51语言程序引用的各种算法要精简,不要对系统构成过重的负担。C51语言相对于标准C语言的扩展是直接针对51系列单片机CPU硬件的。

C51语言对标准C语言的扩展02C51语言具有标准C语言的所有标准数据类型。除此之外,为了更加有效地利用8051单片机结构,还扩展了以下特殊的数据类型。(1)位变量bit。bit的值可以是1(True),也可以是0(False)。(2)特殊功能寄存器sfr。8051单片机的特殊功能寄存器分布在片内数据存储区的80H~FFH之间,sfr数据占用一个存储单元。利用它可以访问8051单片机内部的所有特殊功能寄存器。(3)特殊功能寄存器sfr16。sfr16数据占用两个存储单元。(4)特殊功能位sbit。sbit是指8051片内特殊功能寄存器的可寻址位。一、数据类型

C51语言对标准C语言的扩展02[例5.1]用sfr数据类型定义特殊功能寄存器。程序如下:说明:sfr之后的寄存器名称必须大写,并可以直接对这些定义之后的寄存器赋值。一、数据类型

C51语言对标准C语言的扩展021.存储类型及存储区描述片内数据存储区又可分为3个不同的存储类型:data、idata、bdata。片外数据存储区也是可读/写的。程序存储区可能在8051单片机片内或片外,具体要根据设计时选择的CPU型号来决定程序存储区在8051单片机片内、片外的分布情况,以及根据程序容量来决定是否扩展程序存储区。二、存储类型及存储区

C51语言对标准C语言的扩展022.存储类型及存储区使用举例(1)data区。data区声明中的存储类型标识符为data。data区是指低128B的片内数据存储区。data区可被直接寻址。data区的存储空间是有限的。data区除了包含程序变量外,还包括了堆栈和存储器组。举例如下:二、存储类型及存储区

C51语言对标准C语言的扩展022.存储类型及存储区使用举例(2)bdata区。bdata区声明中的存储类型标识符为bdata。bdata区是指内部可位寻址的16B存储区(20H~2F

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档