1)C51变量定义
变量就是一种在程序执行过程中其值能不断变化的量。C语言采用先定义后使用的规则来使用变量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下:
[存储种类] 变量类型 [存储器类型] 变量名表;
例如:
在定义格式中除了变量类型和变量名表是必要的,其他都是可选项。
8051系列单片机的存储种类有四种:自动(auto),外部(extern),静态(static)和寄存器(register),缺省类型为自动(auto)。存储器类型有六种:data,idata,xdata,pdata,code,bdata。
常量通常定义到code存储器:
2)C51函数参数传递
C51函数参数不是通过堆栈传递的,这个和C90语言有较大不同。C51语言中,当参数少于3个时,通过寄存器传递;当参数多于3个时,通过存储区传递;可重入函数通过堆栈传递参数。各种类型数据的传递情况如表1-1所示。
表1-1 函数参数传递数据类型
(www.xing528.com)
C51允许函数返回1个值,各种类型数据返回情况如表1-2所示。
表1-2 返回值数据类型
3)C51中断服务函数
8051系列单片机采用固定地址向量方式执行程序,中断服务函数编写时也有特殊关键词。C51函数定义格式如下:
[alience][返回值类型]函数名[参数][编译属性][重入属性][寄存器组]
例如:
4)C51函数存储器模式
C51编译器支持三种存储器模式:SMALL,COMPACT和LARGE。一个函数的存储器模式确定了函数参数的局部变量在内存中的地址空间。处于SMALL模式下的函数参数和局部变量位于8051单片机的内部RAM中,内存空间少,访问速度快,适用于小程序设计;处于COMPACT和LARGE模式下的函数参数和局部变量则使用8051单片机外部XRAM,内存空间大,访问速度慢,适用于复杂程序设计。在定义一个函数时可以明确指定该函数存储器模式的方法有两种。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。