c51程序设计基础.PPT

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5、常量 2)浮点型常量: 可分为十进制和指数表示形式。 十进制由数字和小数点组成,如0.888,3345.345,0.0等,整数或小数部分为0,可以省略但必须有小数点。 常量可用在不必改变值的场合,如固定的数据表,字库等。常量的定义方式有几种: #difine False 0x0; //用预定义语句可以定义常量 #difine True 0x1; //这里定义False为0,True为1          //在程序中用到False编译时自动用0替换,同理True替换为1 unsigned int code a=100; //这一句用code把a定义在程序存储器中并赋值 const unsigned int c=100; //用const定义c为无符号int常量并赋值 以上两句它们的值都保存在程序存储器中,而程序存储器在运行中是不允许被修改的,所以如果在这两句后面用了类似a=110,a++这样的赋值语句,编译时将会出错。 6、变量 变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。 6、变量 定义一个变量的格式如下: [存储种类] 数据类型 [存储器类型] 变量名表 在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。 存储种类是指变量在程序执行过程中的作用范围。存储种类有四种: 自动(auto),外部(extern),静态(static)和寄存器(register),缺省类型为自动(auto) 6、变量 存储器类型的说明就是指定该变量在C51硬件系统中所使用的存储区域,并在编译时准确的定位。 KEIL 所能认别的存储器类型 存储器 类型 说 明 地 址 data 直接访问内部数据存储器(128字节),访问速度最快 00H-7FH bdata 可位寻址内部数据存储器(16字节),允许位与字节混合访问 20H-2FH idata 间接访问内部数据存储器(256 字节),允许访问全部内部地址 00H-FFH pdata 分页访问外部数据存储器(256 字节),用MOVX @Ri 指令访问 00H-FFH xdata 外部数据存储器(64KB),用MOVX @DPTR 指令访问 0000H-FFFFH code 程序存储器(64KB),用 MOVC @A+DPTR 指令访问 0000H-FFFFH 如果省略存储器类型,系统则会按编译模式SMALL,COMPACT或LARGE所规定的默认存储器类型去指定变量的存储区域。 无论什么存储模式都可以声明变量在任何的8051存储区范围,然而把最常用的命令如循环计数器和队列索引放在内部数据区可以显著的提高系统性能。 还有要指出的就是变量的存储种类与存储器类型是完全无关的。 例: 数据类型 存储类型 变量 Char data var1; bit bdata flags; unsigned char xdata vextor[10]; 7、数组 数组是同一类型变量的有序集合。先定义后使用,一维的定义格式: 数据类型 数组名 [常量表达式]; unsigned int xcount [10]; //定义无符号整形数组,有10 个数据单元 char inputstring [5]; //定义字符形数组,有5 个数据单元 8、运算符 与C语言基本相同: 1)算术运算: + - * / % : (加 减 乘 除 取余运算符) 2)关系运算 = = : (大于 大于等于 小于 小于等于) == != :(测试等于 测试不等于) 8、运算符 3)逻辑运算 || ! :(逻辑与 逻辑或 逻辑非 ) 4)位运算 : (位右移 位左移) | : (按位与 按位或) ^ ~ : (按位异或 按位取反) 9、C51绝对地址访问 1)绝对宏: 在程序中,用“#include absacc.h”即可使用其中定义的宏来访问绝对地址,包括: CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD 具体使用可参看附录中“absacc.h”内容便知。 9、C51绝对地址访问 例如: #include “absacc.h” #define PA XBYTE[0xffec] main() { PA=0x3A; /*将数据3AH写入地址为0xffec的存储单元或I/O端口*/ } 10、C51的基本语句 与标准C语言基本相同: if

文档评论(0)

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

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

1亿VIP精品文档

相关文档