网站大量收购独家精品文档,联系QQ:2885784924

课件:MCS单片机程序设计.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高明者———了解他人的编程思想, 中庸者———学习他人的编程技巧, 蠢笨者———为了抄袭盗版, 无耻者———为了解密篡改。 THANK YOU SUCCESS * * 可编辑 表10-4 C51的变量的存贮类型 访问内部数据存贮器(idata)比访问外部数据存贮器(xdata)相对要快一些,因此,可将经常使用的变量置于内部数据存贮器中,而将较大及很少使用的数据变量置于外部数据存贮器中。例如定义变量x语句:data char x。如果用户不对变量的存贮类型定义,则编译器承认默认存贮类型,默认的存贮类型由编译控制命令的存贮的模式部分决定。 10.3.2 存贮器模式 存贮器模式决定了变量的默认存贮器类型、参数传递区和无明确存贮区类型的说明。C51的存贮器模式有SMALL、LARGE和COMPACT(见表10-5)。 在固定的存贮器地址进行变量参数传递是C51的一个标准特征,在SMALL模式下参数传递是在内部数据存贮区中完成的。LARGE和COMPACT模式允许参数在外部存贮器中传递。C51同时也支持混 合模式,例如在LARGE模式下生成的程序可将一些函数分页放入SMALL模式中从而加快执行速度。 例如设C语言源程序为PROR.C,若使程序中的变量类型和参数传递区限定 在外部数据存贮区 ,有两种方法: 方法1:用C51对PROR.C进行编译时,使用命令C51 PROR.C COMPACT。 方法2:在程序的第一句加预处理命令 #pragma compact 表10-5 存贮器模式 THANK YOU SUCCESS * * 可编辑 10.3.3 变量说明举例 data char var; /*字符变量var定位在片内数据存贮区*/ char code MSG[]=″PARAMETER:″; /*字符数组MSG[ ]定位在程序存 贮区*/ unsigned long xdata array[100]; /*无符号长型数组定位在片外RAM区, 每元素占4bytes*/ float idata x,y,z; /*实型变量x,y,z,定位在片内用间址访问的内部 RAM区*/ bit lock; /*位变量Lock定位在片内RAM可位寻址区*/ unsigned int pdata sion; /*无符号整型变量sion定位在分页的外部RAM*/ unsigned char xdata vector[10][4][4] /*无符号字符型三维数组, 定 位在片外RAM区*/ sfr P0=0x80; /*定义P0口,地址为80H*/ char bdata flags; /*字符变量flags定位在可位寻址内部RAM区*/ sbit flag0=flags^0; /*定义flag0为flags.0 */ 如果在变量说明时略去存贮器类型标志符,编译器会自动选择默认的存贮器类型。默认的存贮器类型由控制指令SMALL、COMPACT和LARGE限制。例如如果声明char var,则默认的存贮器模式为SMALL,var放在data存贮区;如果使用COMPACT模式,var放入idata存贮区 ;在使用LARGE模式的情况下,var被放入外部数据存贮区(xdata存贮区)。 ? 10.3.4指针变量说明举例 long xdata *px; /*指针px指向long型xdata区(每个数据占四个单元,指针自身在默认存贮器(如不指定编译模式在data区),指针长度为2个字节*/ char xdata *data pd;/*指针pd指向字符型xdata区,自身在data区,长度2字 节*/ data char xdata *pd; /*与上例等效*/ data int *pn;(和int *data pn及intr*pn等效) /*定义一个类型为int型的通 用型指针,指针自身在data区长度为3字节*/ 在上例的指针声明中包含如下几个内容:

文档评论(0)

iuad + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档