青岛科技大学 单片机课件 第3章 MCS-51的指令系统解析.pptVIP

青岛科技大学 单片机课件 第3章 MCS-51的指令系统解析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
long 长整型长度为4个字节,用于存放一个四字节的数据,分为signed long 和unsigned long. 4. float 浮点型 占用四个字节,具有7位有效数字。 5. * 指针型 指针型数据本身就是一个变量,这个变量中存放指向另一个数据的地址,长度为1~3个字节,例如:“char *point1”. 6. bit 位标量 bit 位标量C51编译器的一种扩充数据类型,“0”或者“1”. 7. sfr 特殊功能寄存器 sfr “0~255”,利用它可以访问mcs-51所有内部特殊功能寄存器。 8. sfr16 16位特殊功能寄存器 用于操作占两个字节的寄存器,T0和T1. 9. sbit 可位寻址 sbit 用于访问mcs-51内部RAM中可寻址位。 变量存储类型 mcs-51 单片机存储区分为内部数据存储区,外部数据存储区和程序存储区,各自的寻址方式不同。定义一个变量格式如下: [存储种类] 数据类型[ 存储器类型] 变量名表; 在定义格式中,数据类型和变量名表是必要的,其他是可选的。 存储器类型与对应的存储区域 存储器类型 对应的存储区域 data 直接寻址内部RAM(128B),访问速度快 bdata 可位寻址内部RAM(16B),允许位与字节混合访问 idata 间接寻址内部RAM(256B),允许访问全部地址 pdata 分页寻址外部RAM(256B),用 MOVX @Ri 指令访问 xdata 片外RAM (64KB),用MOVX @DPTR 指令访问 code ROM (64KB), 用 MOVC @A+DPTR 指令访问 特殊功能寄存器及C51定义 1. sfr 和 sfr16 能直接对MCS-51 的sfr 定义 例如:AT89C51的P1口 sfrP1=0x90;//定义P1 I/O口地址为90H 8052 的T2定时器定义为: sfr16 T2=0xCC;// 定义8052定时器T2 ,T2L= CCH, T2H=CDH 2. sbit 定义可位寻址的sfr 例如 : sbit P1_1=P1^1; 运算符与表达式 1 赋值运算: “变量=表达式” 2 算术运算:+, -, *, /, % 3 增量与减量运算:i++, i--, ++i, --I 4 关系运算符:,,=,=,==,!= 5 逻辑运算:,||, ! 6 位运算:~,, , C51 语句 1 表达式语句 :x=y+z; i++ 2 符合语句: { 局部变量定义; 语句1 语句2 … 语句n } 3 流程控制语句 if,else,while ,for C51 函数 1 函数定义 :函数类型 函数名 (形式参数表) 形式说明; { 局部变量定义; 函数具体语句; } 2 中断服务函数与寄存器组定义 函数类型 函数名 (形式参数表)[interrupt n] [using n] interrupt 后面n是中断号,范围0~31; using 后面n为0~3的长整数,分别选中4个不同的工作寄存器 C51 构造数据类型 1 数组 , 数组和普通变量一样,要求先定义后使用。 数组方式 : 数据类型 数组名 [常量表达式] 例如:unsigned int xcount [10]; char inputstring [5]; 有时我们需要把一些数据表放在数组中,这些数据不用在程序中改变数值,因此需要赋值,赋值方式为:数据类型 [存储器类型] 数组名[常量表达式]={常量表达式} unsiged char LEDNUM[2]={12,35}; int ket[2][3]={{1,2,4},{2,2,1}}; 2 指针: 指针就是指变量或者数据所在的存储 区地址。如果一个字符变量STR存放在内存单元DATA区的51H地址中,那么DATA的51H地址就是STR的指针。 一般形式

文档评论(0)

2299972 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档