《单片机原理与接口技术》 课件 2.2 C51数据类型_第1页
《单片机原理与接口技术》 课件 2.2 C51数据类型_第2页
《单片机原理与接口技术》 课件 2.2 C51数据类型_第3页
《单片机原理与接口技术》 课件 2.2 C51数据类型_第4页
《单片机原理与接口技术》 课件 2.2 C51数据类型_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

第二章

C51程序设计基础

单片机原理与接口技术2.2

C51数据类型

关键字数据类型长度值域字符型unsignedchar单字节0~255(signed)char单字节-128~+127

整型unsignedint双字节0~65535(signed)int

双字节-32768~+32767unsignedlong四字节0~4294967295(signed)long四字节-2147483648~+2147483647实型float四字节±1.175494E-38~±3.402823E+38指针型*1~3字节对象的地址位型bit位0或1访问SFR数据类型sfr单字节0~255sfr16双字节0~65535sbit位0或1在C51中,每个变量在使用之前必须定义其数据类型。1.字符型char

51单片机是8位单片机,其存储单元和寄存器均为一字节,因此,在51单片机程序设计中,常用unsignedchar类型来定义0~255的整数。2.整型int

在程序设计中,如果估计变量的取值范围超过字符型表示的范围,可将变量定义为整型。3.长整型long

分为带有符号长整型signedlong和无符号长整型unsignedlong,占4字节存储容量。4.位类型bit

格式:bitbit_name=[0或1];位类型bit是C51扩充的数据类型,利用它可定义一个位标量。位地址(00H~7FH)定位在51单片机片内RAM的可位寻址区,具体值由编译器分配。格式:sfr/sfr16sfr_name=字节地址常数;如;sfrP0=0x80;//P0口的地址为0x80sfr16

DPTR=0x0082;//指定DPTR的地址DPL=0x82,DPH=0x83。5.特殊功能寄存器定义部分SFR具有位地址,如何定义与这些位地址相关变量?PSWD7D6D5D4D3D2D1D00xD0CYACF0RS1RS0OVF1P位地址0xD70xD60xD50xD40xD30xD20xD10xD0相对地址绝对地址方法1:将SFR的绝对地址定义为位变量名。

sbitbit_name=位地址常数;如:sbitCY=0XD7;

方法2:将SFR的相对地址定义为位变量名。

sbitbit_name=sfr字节地址^位位置;如:sbitCY=0XD0^7;

方法3:将SFR的相对位位置定义为位变量名。

sbitbit_name=sfr_name^位位置;如:sbitCY=PSW^7;

6.可寻址位型

此种定义的位地址或字节地址必须在80H~FFH之间。

用预处理命令#include"STC15F2K60S2.h"把该头文件包含到C51程序中。

C51编译器在头文件“STC15F2K60S2.h”中定义了全部sfr/sfr16和sbit变量。

(标准C)(标准C)*括号项——可以缺省(但需有缺省值)C51变量定义的四要素:(C51特有)(标准C+C51)7.存储器类型[存储种类]数据类型[存储器类型]变量名表;

(1)存储种类

auto(自动型)—变量的作用范围在定义它的函数体或语句块内。执行结束后,变量所占内存即被释放。extern(外部型)—在一个源文件中被定义为外部型的变量,在其它源文件中需要通过extern说明方可使用。static(静态型)—利用static可使变量定义所在的函数或语句块执行结束后,其分配的内存单元继续保留。register(寄存器型)—将变量对应的储存单元指定为通用寄存器,以提高程序运行速度。存储器类型取值范围data最快默认存储器类型,低128字节内部RAM(00H~7FH地址空间)bdata快可位寻址内部RAM,BDATA区(20H~2FH地址空间),允许位和字节混合访问。idata快256字节内部RAM,间接寻址IDATA区(00H~FFH地址空间),允许访问全部内部单元。pdata慢分页寻址外部RAM,PDATA区(256字节XRAM,位于0000H~FFFFH地址空间)。xdata较慢外部RAM,XDATA区(0000H~FFFFH地址空间)。code一般程序存储区,CODE区(0000H~FFFFH地址空间指令访问)。SMALL模式COMPACT模式LARGE模式编译模式char

databuffer;databuffer;unsigned

char

code

numtab[3]={0xC0,0xF9,0xA4};

char

xdata

arr[10][4][4];

(2)存储器类型变量或函数参数存储类型可由存储模式

(Small,large,Compact)(OptionsforTarget‘Target1’...选项)指定缺省存储类型;在此选择Small,Large,Compact在small模式下,函数参数和局部变量位于由

温馨提示

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

评论

0/150

提交评论