单片机原理及接口技术第八章教程.pptx

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术第八章教程

单片机原理及接口技术;第8章 单片机高级语言 Keil C51应用程序设计基础;C51语言中的标识符是用来标识程序中某个对象名称的是程序设计人员用自己定义的字符序列,来命名需要辨识的对象。 ;2.关键字;MCS-51系统的扩展关键字,主要有: _at_、alien、bdata、bit、code、compact、data、idata、 interrupt、large、pdata、reentrant、sbit、sfr、sfr16、 small、using、xdata等。 ; ;表8-1 C51的数据类型;1)bit的用法 bit可以定义一个位标量、位变量、位类型的函数和位函数参 数等它的值是一个二进制位0或1,或布尔类型的True和False。 例如: bit Va_max; // 将Va_max定义为一个位变量 bit fun1( //将fun1定义为bit类型函数 bit redled, //将redled定义为bit类型函数参数 bit greenled) //将greenled定义为bit类型函数参数;2)sbit的用法 sbit可以声明一个可位寻址的位变量。常用来定义特殊功能寄 存器中的一些特定位,对于80C51单片机,它可以定义的有效 范围为80H~F7H。它主要有以下几种使用方法。 (1)sbit 位变量名=位地址;例如: sbit selectkey=0x90; //定义位地址90H为位变量selectkey (2)sbit 位变量名=特殊功能寄存器名^位位置;例如: sbit selectkey=P1^0; (3)sbit 位变量名=字节地址^位位置;例如: sbit selectkey=0x90^0;;3)sfr的用法 sfr的作用是声明一个8位的特殊功能寄存器,sfr16的作用是声 明一个16位的特殊功能寄存器。 sfr和sfr16可以实现对SFR的直接寻址 。 其使用形式分别为: sfr特殊功能寄存器名=地址常数; sfr16特殊功能寄存器名=地址常数; 例如:sfr P1=0x90; //定义80C51片内地址90H单元是特殊功 能寄存器P1;8.1.3 C语言的数据存储类型;8.1.4 Keil C51数据存储类型对ANSI C语言数据存储类型的扩展 ;表8-2 Keil C51存储器类型含义;bdata区是可位寻址的片内数据存储器,该区也允许按字节访 问,共包括20H~2FH地址单元16字节。;xdata区是指片外数据存储器XRAM,共64K字节。 使用MOVX @DPTR,A或者MOVX A,@DPTR指令对xdata区的数 据访问。;2. Keil C51编译器在不同编译模式下的存储器类型的选择;在定义变量时如果省略了存储类型,则按默认项auto处理。 按编译时使用的默认存储器模式small、compact或large的来 自动确定默认存储器类型,以确定变量的存储空间。 ;8.1.5 Keil C51运算符;3.自增自减运算符 ;5.关系运算符;413;8.逗号运算符;10.指针和地址运算符;C51中一般指针的定义形式为: 类型标识符 * 存储器类型 标识符; 基于存储器指针的定义形式为: 类型标识符 存储器类型1 * 存储器类型2 标识符;; ;8.2.2 条件类语句;3.形式3 if (表达式1) 语句1; else if (表达式2) 语句2; …        … else if (表达式n) 语句n; else 语句n+1; 这种结构从上到下逐个对条件进行判断,一旦发现条件满足就执行相对应的语句,并跳过本结构中其它剩余部分,如果没有一个条件满足,则执行最后一个else对应的语句。 ;switch (表达式) {case 常量表达式1:语句1; case 常量表达式2:语句2; …        … case 常量表达式n:语句n; default :语句n+1; } 其含义为:将switch后面表达式的值与每个case后面的常量表达式的值逐个进行比较,若与其中一个相等,则执行该常量表达式后面的语句,若没有相等的值,则执行default后面的语句。;8.2.3 循环类语句;3.形式3 for(表达式1;表达式2;表达式3)语句;或 for(循环变量赋初值;循环条件;循环变量增值)语句; 实际使用该语句时,常按“for(循环变量赋初值表达式;循环条件表达式;循环变量增值表达式)语句;”的形式使用。“()”内的3部分之间一定要用“;”分开,且“;”不能省略,而“()”内的3项是选择项,可以根据实际使用情况省略。例如省略了

文档评论(0)

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

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

1亿VIP精品文档

相关文档