学习情境1单片机控制LED彩灯的亮灭-项目1-5C语言基础2-常量变量和类型_第1页
学习情境1单片机控制LED彩灯的亮灭-项目1-5C语言基础2-常量变量和类型_第2页
学习情境1单片机控制LED彩灯的亮灭-项目1-5C语言基础2-常量变量和类型_第3页
学习情境1单片机控制LED彩灯的亮灭-项目1-5C语言基础2-常量变量和类型_第4页
学习情境1单片机控制LED彩灯的亮灭-项目1-5C语言基础2-常量变量和类型_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目-1单片机控制LED彩灯的亮灭4C语言基础-常量变量和类型学习情境1-单片机控制LED灯的显示常量整型常量:如1000,12345,0,-345实型常量十进制小数形式:如0.34-56.790.0指数形式:如12.34e3(代表12.34103)字符常量:如’?’转义字符:如’\n’字符串常量:如”boy”符号常量:#definePI3.1416常量:在程序运行过程中,其值不能被改变的量变量变量必须先定义,后使用定义变量时指定该变量的名字和类型变量名和变量值是两个不同的概念变量名实际上是以一个名字代表的一个存储地址从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据变量:在程序运行期间,变量的值是可以改变的定义变量时要指定变量名和数据类型,方式如下:

数据类型说明符变量名;变量的命名C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线合法的标识符:如sum,average,_total,Class,day,BASIC,li_ling不合法的标识符:M.D.John,¥123,#33,3D64,a>b引导问题24以下变量名称错误的有哪些:i、a、3com、a*b、count、number_of_book、BOOK_NUMBER、char、sum100、_total?数据类型所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式;不同的类型分配不同的长度和存储形。类型所占位数数的范围说明int16-32768~32767整型short[int]16-32768~32767短整型long[int]322147483648~2147483647长整型unsignedint160~65535无符号整型unsignedshort160~65535无符号短整型unsignedlong320~4294967295无符号长整型float3210-38~1038单精度实型double6410-308~10308双精度实型char8-128~+127字符型unsignedchar80~255无符号字符型51单片机的数据类型标准C语言存在六种基本数据类型:1、char:字符型;2、short=shortint:短整型3、int:整型4、long=longint:长整型5、float:单精度浮点型6、double:双精度浮点型标准C和51单片机C语言的类型对比面向51单片机的KeiluVision对此进行了简化,因此,可以理解为只存在如下四种基本数据类型:1、char:字符型2、int=short=shortint:整型3、long=longint:长整型4、float=double:单精度浮点型1、bit:声明一个普通的位变量。例如:“bitflag;”。2、sbit:声明特殊功能寄存器中的某一位。例如,使用“sbitT1=SCON^0;”,就声明了T1为特殊功能寄存器SCON的第0位。3、sfr:声明一个8位寄存器为特殊功能寄存器。例如,将51单片机内存地址0x98处的存储单元声明为8位特殊功能寄存器SCON,可以使用“sfrSCON=0x98;”语句。4、sfr16:声明一个16位的寄存器为特殊功能寄存器。为了将51单片机内存地址0xCC处开始的连续两个存储单元声明为一个统一的16位特殊功能寄存器T2,可以使用“sfr16T2=0xCC;”语句。应对51单片机硬件的一些特点,KeiluVision还扩展了bit、sbit、sfr、sfr16等四种特殊基本数据类型,它们都是标准C中所没有的。其中:在KeiluVision中,用sbit、sfr、sfr16声明特殊功能寄存器变量或特殊功能寄存器位变量时,其声明语句都只能放在函数外,而不能放在函数内,否则出现语法错误;而用bit声明普通位变量时,声明语句既可放在函数外,也可放在函数内。此外,bit、sbit、sfr、sfr16都不支持指针和数组扩展,因此,不能定义bit、sbit、sfr、sfr16型指针和数组。对于初学者来说,其实没有必要深究sbit、sfr、sfr16的用法,它们通常用在51单片机的系统自带头文件中,一般情况下无需用户关心。bit型:用于定义一个位变量。语法规则:bitbit_name[=0或1];例如:bitdoor=0;//定义一个叫door的位变量且初值为0sfr或sfr16型:用于定义SFR字节地址变量。语法规则:sfrsfr_name=字节地址常数;

sfr16sfr_name=字节地址常数;例如:sfrP0=0x80;//定义P0口地址80H

sfrPCON=0x87;//定义PCON地址87Hsfr16DPTR=0x82;//定义DPTR的低地址82Hsbit型:用于定义SFR位地址变量。sbit型可用三种定义形式:1)将SFR的绝对位地址定义为位变量名

sbitbit_name=位地址常数;例如,sbitCY=0xD7;2)将SFR的绝对位地址定义为位变量名

sbitbit_name=

位地址常数;例如,sbitCY=0xD7;3)将SFR的相对位位置定义位变量名

sbitbit_name=sfr_name^

位位置;例如,sbitCY=PSW^7;C51编译器在头文件“REG51.H”中定义了全部sfr/sfr16和sbit变量。引导问题22查阅REG51.H头文件,写出P0,P1,P2,P3口的定义地址。存储类型体现了变量的存放区域。51系列单片机共有6个存储类型(分布在3个逻辑存储空间中)。字符型数据大多数系统采用ASCII字符集ASCII((AmericanStandardCodeforInformationInterchange):美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。字符’1’和整数1字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节标准C和51单片机C语言的类型对比整数1是以整数存储方式(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论