《单片机原理与接口技术》 课件 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数据类型单片机原理与接口技术关键字数据类型长

度值

域字符型unsigned

char单字节0~255(signed)char单字节-128~+127整型unsigned

int双字节0~65535(signed)int双字节-32768~+32767unsigned

long四字节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.字符型char51单片机是8位单片机,其存储单元和寄存器均为一字节,因此,在

51单片机程序设计中,常用unsigned

char类型来定义0~255的整数。2.整

型int在程序设计中,如果估计变量的取值范围超过字符型表示的范围,可将变量定义为整型。3.长整型long分为带有符号长整型signedlong和无符号长整型unsignedlong,占4字节存储容量。4.

位类型bit格式:bit

bit_name=[0或1];位类型bit

是C51扩充的数据类型,利用它可定义一个位标量。位地址(00H~7FH)定位在51单片机片内RAM的可位寻址区,具

值由编译器分配。5.

特殊功能寄存器定义格式:sfr/sfr16

sfr_name=字节地址常数;如

;sfr

PO=0x80;//PO口的地址为0x80sfr16DPTR=0x0082;//指定DPTR的

址DPL=0x82,DPH=0x83。D7D6D5D4D3D2D1D0CYACFORS1RSOOVF1P部分SFR具有位地址,如何定义与这些位地址相关变量?位地址0xD70xD60xD50xD40xD30xD20xD10xD0一相对地址<

绝对地址PSW0xDO6.可寻址位型◆方法1:将SFR的绝对地址定义为位变量名。sbitbit_name=位地址常数;如

:sbitCY=0XD7;◆方法2:将SFR的相对地址定义为位变量名。sbitbit_name=sfr字节地址^位位置;如:sbit

CY=0XD0^7;◆方法3:将SFR的相对位位置定义为位变量名。sbit

bit_name

=sfr_name^位

;如:sbitCY=PSW^7;此种定义的位地址或字节地址必须在80H~FFH

之间。甲{P2=(P2&0x1F|0xA0);P0=0x00;P04=

0

;P06=0;P2&=

0x1F;}void

delay(

void

)//延时函数

{unsignedchar

i,j,k;_nop_();_nop_();i=

9;j

=

10

;do白

{C51

编译器在头文件“STC15F2K60S2.h

”中定义了全部sfr/sfr16和sbit变量。用预处理命令#include"STC15F2K60S2.h"

把该头文件包含到C51程序中。while(1){P2

=((P2

&0x1f)|0x80);//P210011111delay();}dowhile

(--k);

}while

(--j);

}

while

(--i);void

main(void)甲{unsigned

char

i;cls_buzz();#include"STC15F2K60S2.h"//定义STC15单片机特殊功能寄存器

#include

"intrins.h"void

cls_buzz(void

)//关闭轰鸣器和继电器P0

=

0xfe<<i;

//左移i

/

/P011111110for(i=0;i<8;i++)

{k

=

10

;白

P2&=

0x1f;中

{7.存储器类型C51变量定义的四要素:[存储种类]

数据类型

[存储器类型]

变量名表;(标准C)(标准C+C51)

(C51

特有)(标准C)*括号项

可以缺省(但需有缺省值)(1)存储种类●auto

(自动型)—变量的作用范围在定义它的函数体或语句块内。执行结束后,变

量所占内存即被释放。●

extern

(外部型)—在

一个源文件中被定义为外部型的变量,在其它源文件中需要

通过ext

er

n说明方可使用。●

static

(静态型)—利用static

可使变量定义所在的函数或语句块执行结束后,其分

配的内存单元继续保留。●register(寄存器型)—将变量对应的储存单元指定为通用寄存器,以提高程序运

行速度。取值范围默认存储器类型,低128字节内部RAM(

00H~7FH地址空间)可位寻址内部RAM,

BDATA区(20H~2FH地址空间),允许位和

字节混合访问。256字节内部RAM

,间接寻址IDATA

区(

0

0H~FFH

地址空间),

允许访问全部内部单元。分页寻址外部RAM,PDATA区(256字节XRAM,位于0000H~FFFFH

地址空间)。外部RAM,

XDATA区(0000H~FFFFH地址空间)。程序存储区,CODE

区(0000H~FFFFH

地址空间指令访问)。编译模式SMALL模

式COMPACT

式LARGE

式char

data

buffer;data

buffer;unsigned

char

code

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

char

xdata

arr[10][4][4];存储器类型data最快bdata快idata快pdata慢xdata较慢code一般(2)存储器类型变

量或函数参数存储类型可由存储模式(Small,large,Compact

)(Options

for

Target'Target1...选项)指定缺省存储类型;◆

在small模式下,函数参数和局部变量位于

由data定义的单片机片内数据RAM(00~7FH)中;◆

在compa

温馨提示

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

评论

0/150

提交评论