c51语言头文件包括的内容有8051单片机

如题所述

3章 C51编程语言基础
【内容概要】本章介绍有关C51语言编程的基础知识,对C51语言与8051汇编语言编程进行比较,了解C51语言与标准C语言的差别,并对C51语言的数据类型与存储类型,C51语言的基本运算,分支与循环结构,数组、指针、函数等也做以介绍。

随着单片机应用系统的日趋复杂,对程序的可读性、升级与维护以及模块化的要求越来越高,对软件编程的要求也越来越高,这就要求编程人员在短时间内编写出执行效率高、运行可靠的程序代码。同时,也要方便多个编程人员来进行协同开发。

C51语言是目前的8051单片机应用开发中,普遍使用的程序设计语言。C51语言能直接对8051单片机硬件进行操作,它既有高级语言的特点,又有汇编语言的特点,因此在8051单片机程序设计中,C51语言得到非常广泛的使用。

3.1 C51编程语言简介

C51语言是在标准C语言的基础上针对8051单片机的硬件特点进行了扩展,并向8051单片机上移植,经过多年努力,C51语言已成为公认的高效、简洁的8051单片机的实用高级编程语言。与8051汇编语言相比,C51语言在功能上、结构性、可读性、可维护性上有明显优势,且易学易用。

3.1.1 C51语言与8051汇编语言的比较

与8051单片机汇编语言相比, C51语言具有如下优点。

(1)可读性好。C51语言程序比汇编语言程序的可读性好,编程效率高,程序便于修改、维护以及升级。

(2)模块化开发与资源共享。用C51语言开发的程序模块可以不经修改,直接被其他工程所用,使得开发者能够很好地利用已有的大量标准C程序资源与丰富的库函数,从而减少重复劳动,同时也有利于多个程序设计者协同开发。

(3)可移植性好。为某种型号单片机开发的C语言程序,只需将与硬件相关的头文件和编译链接的参数进行适当修改,就可方便地移植到其他型号的单片机上。例如,为8051单片机编写的程序通过改写头文件以及少量的程序行,就可方便地移植到PIC单片机上。

(4)生成的代码效率高。当前较好的C51语言编译系统编译出来的代码,效率只比直接使用汇编语言低20%左右,如果使用优化编译选项,最高效率可达到90%。

3.1.2 C51语言与标准C语言的比较

C51语言与标准C语言有许多相同之处,但也有其自身的一些特点。不同的嵌入式C语言编译系统之所以与标准C语言有不同的地方,主要是由于它们所针对的硬件系统不同。对于8051单片机,目前广泛使用的是C51语言。

C51语言的基本语法与标准C语言相同,只是在标准C语言的基础上进行了适合于8051内核单片机硬件的扩展。深入理解C51语言对标准C语言的扩展部分以及它们的不同之处,是掌握C51语言的关键之一。

C51语言与标准C语言的一些差别如下。

(1)库函数的不同。标准C语言中的,不适合于嵌入式控制器系统的库函数,被排除在C51语言之外,如字符屏幕和图形函数,而有些库函数必须针对8051单片机的硬件特点来做出相应的开发。例如,库函数printf和scanf,在标准C语言中,这两个函数通常用于屏幕打印和接收字符,而在C51语言中,主要用于串行口数据的收发。

(2)数据类型有一定区别。在C51语言中增加了几种针对8051单片机特有的数据类型,在标准C语言的基础上又扩展了4种类型。例如,8051单片机包含位操作空间和丰富的位操作指令,因此,C51语言与标准C语言相比增加了位类型。

(3)C51语言的变量存储模式与标准C语言中的变量存储模式数据不一样。标准C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而C51语言中变量的存储模式与8051单片机的各种存储器区紧密相关。

(4)数据存储类型的不同。8051单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。内部数据存储区可分为3个不同的C51存储类型:data、idata和bdata。外部数据存储区分为2个不同的C51存储类型:xdata和pdata。程序存储区只能读不能写,可能在8051单片机片内或在片外,C51语言提供的code存储类型用来访问程序存储区。
温馨提示:答案为网友推荐,仅供参考