首页 理论教育C51基础数据类型-单片机基础及应用

C51基础数据类型-单片机基础及应用

【摘要】:C51支持的数据类型分为基本数据类型、构造数据类型和指针类型。C51的基本数据类型如表5-1所示,表中下面的5种数据类型是C51有的而标准C没有的。在MCS-51系列单片机中选择合适的数据类型,对提高运行效率具有特殊的意义。如果在编写C51程序时使用大量的、不必要的数据类型变量,就会导致C51编译器相应地增加了所调用的库函数的数量,以处理大量增加的数据类型变量,会使编译后的程序变得过于庞大。

不论是变量还是常量都有自己的数据类型。在程序运行过程中,其值可以改变的量称为变量。每个变量都有一个变量名,在单片机片内或片外RAM中占据一定字节数(根据数据类型的不同)的存储单元,并在该RAM单元中存放该变量的值。

在程序运行过程中,其值不能改变的量称为常量。与变量一样,常量也有不同的数据类型,如0、1、3、-5等为整型常量,3.6、-6.39等为实型常量,‘A’、‘b’等为字符型常量。

可以用一个标识符代表一个常量,如用标识符PI代表圆周率3.14。

通常,将标识符代表的符号常量名用大写字母表示,变量用小写字母表示,以便区别。这是程序员的习惯,并非语法限定。

C51同C语言一样对标识符是区分大小写的,即abc与ABC是两个不同的变量。C51支持的数据类型分为基本数据类型、构造数据类型和指针类型。(www.chuimin.cn)

C51的基本数据类型比标准C(ISO C 1990)的基本数据类型多。例如,bit类型、sbit类型、sfr类型等是C51有而标准C没有的。

C51的基本数据类型如表5-1所示,表中下面的5种数据类型是C51有的而标准C没有的。在MCS-51系列单片机中选择合适的数据类型,对提高运行效率具有特殊的意义。表5-1列出的数据类型中,只有bit和unsigned char两种数据类型可以直接支持MCS-51系列单片机的机器指令。对C51这样的高级语言,不管使用何种数据类型,虽然某一行C51程序从字面上看,其操作十分简单,而实际上C51需要经过编译器用一系列机器指令对每一行C51程序进行复杂的数据类型处理后,才能在单片机中执行。特别是使用浮点变量时,编译后的程序长度明显增加,单片机的运算时间也明显增加。例如,程序中使用了浮点变量时,C51编译器将调用相应的函数库,把它们加到程序中去。如果在编写C51程序时使用大量的、不必要的数据类型变量,就会导致C51编译器相应地增加了所调用的库函数的数量,以处理大量增加的数据类型变量,会使编译后的程序变得过于庞大。所以,如果对运算速度要求较高或者代码空间有限,就要尽可能使用bit和unsigned char两种数据类型,其他数据类型尽可能少用或者不用。

表5-1 C51的基本数据类型