常量、变量及存储器类型

常量、变量及存储器类型

ID:29721885

大小:67.01 KB

页数:12页

时间:2018-12-22

常量、变量及存储器类型_第1页
常量、变量及存储器类型_第2页
常量、变量及存储器类型_第3页
常量、变量及存储器类型_第4页
常量、变量及存储器类型_第5页
资源描述:

《常量、变量及存储器类型》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第7章常量、变量及存储器类型7.1常量常量是在程序执行过程中其值不能改变的量。常量的数据类型有整型、浮点型、字符型和字符串型等,C51编译器还扩充了一种位(bit)标量。7.2在51MCUDEMO试验板上实现乘法运算:两个乘数分别为常量与变量,其积在数码管上显示(最大显示到50)。7.2.1实现方法先宏定义CONST为常量2,然后定义1个无符号字符型变量x并赋初值1,再定义1个无符号整型变量y用于存放结果,使x的值与CONST相乘,其积存于y中。然后将y的内容送试验板上右侧2个LED数码管进行显示。每0.5秒后x的值加1,直到26为止。7.2.2源程序文件在D盘建立一个文件目录(

2、CS7-1),然后建立CS7-1.uv2的工程项目,最后建立源程序文件(CS7-1.c)。输入下面的程序:#include//1unsignedcharcodeSEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//2#defineCONST2//3/*=====================4===============*/voiddelay(unsignedintk)//5{//6unsignedinti,j;//7for(i=0;i

3、++)//9{;}}//10}//11//=====================12===========voidmain(void)//13{//14unsignedcharx=1,y,i;//15while(1)//16{//17y=x*CONST;//18for(i=0;i<250;i++)//19{//20P0=SEG7[y%10];//21P2=0xfe;//22delay(1);//23P0=SEG7[y/10];//24P2=0xfd;//25delay(1);//26}//27if(x<25)x=x+1;//28}//29}//30编译通过后,51MCUDEM

4、O试验板接通5V稳压电源,将生成的CS7-1.hex文件下载到试验板上的单片机89S51中,注意,标示“LEDMOD_DATA”及“LEDMOD_COM”的双排针应插上短路块。我们看到右边2个LED数码管从“02”开始显示偶数,即“02”、“04”…,显示到“50”后不变。7.2.3程序分析解释序号1:包含头文件REG51.H。序号2:数码管0~9的字形码。序号3:定义CONST为常量2。该行的第一个非空白字符为#,表示该行是预处理器的伪指令语句行,它虽然处在源程序中,但并不产生程序代码,而是通知预处理器如何操作。这里的作用就是用CONST代替2。序号4:程序分隔。序号5~11:

5、定义函数名为delay的延时子函数。序号12:程序分隔。序号13:定义函数名为main的主函数。序号14:main的主函数开始。序号15:定义无符号字符型变量x并赋初值1。定义无符号字符型变量y、i。序号16:while循环语句,这里进行无限循环。序号17:while循环语句开始。序号18:将变量x与常量CONST相乘,其积放y中。序号19:for循环语句,用于点亮最右侧的2个数码管。序号20:for循环语句开始。序号21:取出y个位数的字形码送P0口。序号22:点亮个位数码管。序号23:延时1mS以便观察清楚。序号24:取出y十位数的字形码送P0口。序号25:点亮十位数码管。序

6、号26:延时1mS以便观察清楚。序号27:for循环语句结束。序号28:如果变量x小于25则加1。序号29:while循环语句结束。序号30:main的主函数结束。7.3变量变量是一种在程序执行过程中其值可以变化的量。C语言程序中的每一个变量都必须有一个标识符作为它的变量名。同样的,变量的数据类型也有整型、浮点型、字符型和字符串型以及位(bit)标量。7.4存储器类型在使用一个变量或常量之前,必须先对该变量或常量进行定义,指出它的数据类型和存储器类型,以便编译系统为它分配相应的存储单元。在C51中对变量进行定义的格式如下:[存储种类]数据类型[存储器类型]变量名表如:autoin

7、tdatax;charcodey=0x55;其中,“存储种类”和“存储器类型”是可选项。变量的存储种类有四种:自动(auto)、外部(extern)、静态(static)和寄存器(register)。在定义一个变量时如果省略存储种类选项,则该变量将为自动(auto)变量。定义一个变量时除了需要说明其数据类型之外,KeilC51编译器还允许说明变量的存储器类型。KeilC5l编译器完全支持8051系列单片机的硬件结构,可以访问其硬件系统的所有部分。对于每个变量可以准确地赋予其存储器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。