位置:51电子网 » 技术资料 » IC/元器件

变量主要由两个部分构成

发布时间:2014/6/5 21:42:53 访问次数:6124

   变量主要由两个部分构成:一个是变量名,一个是变量值。每个变量都有一个变量名, AD7656BSTZ-1在内存中占有一定的内存单元(地址),并在该内存单元中存放该变量的值。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译器才能为变量分配相应的存储空间。在C语言中,要求对所有用到的变量做强制定义,也就是“先定义,后使用”。

   定义一个变量的格式如下:

   [存储种类】数据类型[存储器类型]变量名表

   在定义格式中,除了数据类型和变量名表是必要的,其他都是可选项。存储种类包括自动( auto)、外部(extern)、静态(static)和寄存器(register)4种,默认类型为自动(auto)。存储器类型的说明就是指定该变量在51单片机硬件系统中所使用的存储区域,在编译时根据存储种类可以准确地定位。C51中共有data、bdata、idata、pdata、xdata以及code 6种存储器类型,如表5-4所示。

      

   如果省略存储器类型,编译系统则会按编译模式SMALL、COMPACT或LARAG所规定的默认存储器类型区指定变量的存储区域。无论什么存储模式都呵以声明变量在任何的8051存储区范围,但是将最常用的命令,如循环计数器和队列索引放在内部数据区可以显著提高系统的性能。变量的存储种类与存储类型是完全无关的。

   SMALL存储模式将所有变量都放在单片机的内部RAM区,这使得访问数据非常快,但SMALL存储模式的地址空间受限。在写小型应用程序时,变量和数据放在data内部数据存储器中是很好的,因为访问速度快,但在较大的应用程序中data区最好只存放小的变

量、数据或常用的变量(如循环计数、数据索引),而大的数据则放置在别的存储区域。

   COMPACT存储模式可以使用一页(256字节)外部扩展RAM。

   LARAG存储模式可以使用全部的外部扩展RAM,外部数据区最多可有64KB,这要求用DPTR数据指针访问数据。

   下面再来仔细看看51单片机C语言程序中sfr、sfr16和sbit定义变量的方法。

   sfr和sfr16可以直接对51单片机的特殊寄存器进行定义,定义方法如下:

   sfr特殊功能寄存器名=特殊功能寄存器地址常数;

   sfr16特殊功能寄存器名=特殊功能寄存器地址常数;

   如可以这样定义89C51单片机的Pl端口:



   变量主要由两个部分构成:一个是变量名,一个是变量值。每个变量都有一个变量名, AD7656BSTZ-1在内存中占有一定的内存单元(地址),并在该内存单元中存放该变量的值。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译器才能为变量分配相应的存储空间。在C语言中,要求对所有用到的变量做强制定义,也就是“先定义,后使用”。

   定义一个变量的格式如下:

   [存储种类】数据类型[存储器类型]变量名表

   在定义格式中,除了数据类型和变量名表是必要的,其他都是可选项。存储种类包括自动( auto)、外部(extern)、静态(static)和寄存器(register)4种,默认类型为自动(auto)。存储器类型的说明就是指定该变量在51单片机硬件系统中所使用的存储区域,在编译时根据存储种类可以准确地定位。C51中共有data、bdata、idata、pdata、xdata以及code 6种存储器类型,如表5-4所示。

      

   如果省略存储器类型,编译系统则会按编译模式SMALL、COMPACT或LARAG所规定的默认存储器类型区指定变量的存储区域。无论什么存储模式都呵以声明变量在任何的8051存储区范围,但是将最常用的命令,如循环计数器和队列索引放在内部数据区可以显著提高系统的性能。变量的存储种类与存储类型是完全无关的。

   SMALL存储模式将所有变量都放在单片机的内部RAM区,这使得访问数据非常快,但SMALL存储模式的地址空间受限。在写小型应用程序时,变量和数据放在data内部数据存储器中是很好的,因为访问速度快,但在较大的应用程序中data区最好只存放小的变

量、数据或常用的变量(如循环计数、数据索引),而大的数据则放置在别的存储区域。

   COMPACT存储模式可以使用一页(256字节)外部扩展RAM。

   LARAG存储模式可以使用全部的外部扩展RAM,外部数据区最多可有64KB,这要求用DPTR数据指针访问数据。

   下面再来仔细看看51单片机C语言程序中sfr、sfr16和sbit定义变量的方法。

   sfr和sfr16可以直接对51单片机的特殊寄存器进行定义,定义方法如下:

   sfr特殊功能寄存器名=特殊功能寄存器地址常数;

   sfr16特殊功能寄存器名=特殊功能寄存器地址常数;

   如可以这样定义89C51单片机的Pl端口:



热门点击

 

推荐技术资料

单片机版光立方的制作
    N视频: http://v.youku.comN_sh... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式