单片机原理与接口技术(第3版)[李晓林]第4章概论.ppt

单片机原理与接口技术(第3版)[李晓林]第4章概论.ppt

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

单片机原理与接口技术;(1) 熟悉C51语法基础和程序结构。 (2) 掌握C51结构化程序设计。 (3) 掌握C51对单片机硬件的访问方法。 (4) 掌握C51函数定义与调用。 (5) 了解汇编语言和C51的混合编程。;4.1 C51概述 4.2 C51语法基础 4.2.1 标识符和关键字 4.2.2 数据类型 4.2.3 运算符和表达式 4.2.4 程序结构 ;4.4 C51结构化程序设计 4.4.1 顺序结构程序 4.4.2 选择结构程序 4.4.3 循环结构程序;4.1 C51概述;1) 扩展了专门访问MCS-51单片机硬件的数据类型; 2) 存储类型按MCS-51单片机存储空间分类; 3) 存储模式遵循存储空间选定编译器模式; 4) 指针分为通用指针和存储器指针; 5) 函数增加了中断函数和再入函数。;使用具有C51编译扩展功能的C语言进行MCS-51单片机应用系统的开发编程,简称C51编程。C51编程具有以下特点。 1) 可管理内部寄存器和存储器的分配,编程时,无需考虑不同存储器的寻址和数据类型等细节问题; 2) 程序由若干函数组成,具有良好的模块化结构、可移植性好、便于项目维护管理; 3) 有丰富的子程序库可直接引用,从而大大减少用户编程工作量,提高编程效率; 4) 与汇编语言交叉编程。用汇编语言编写与硬件有关的程序,用C51编写与硬件无关的运算程序,充分发挥两种语言的长处,提高开发效率。;C51编程和汇编语言编程过程一样。单片机C语言源程序经过编辑、编译、连接后生成目标程序(.BIN和.HEX)文件,然后运行即可。调试51单片机C语言程序可用Keil C51编译器。 注意,使用C51编程可以取代繁琐的汇编语言编程,但仍需要了解MCS-51单片机的硬件结构。所以对于单片机系统的开发应采用汇编语言与C51混合编程的方法更为有效。;4.2 C51 语法基础;C51中有些库函数的标识符是以下划线开头的,所以一般不要以下划线开头命名用户自定义标识符。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。 关键字则是编程语言保留的特殊标识符,它们具有固定的名称和含义,在程序编写中不允许将关键字另做他用。C51中的关键字除了有ANSI C标准的32个关键字外,还根据MCS-51单片机的特点扩展了相关的关键字。C51关键字如表5-1所示。 在C51的文本编辑器中编写C程序,系统可以把保留关键字以不同颜色显示,如int关键字的默认颜色为天蓝色。;4.2.1 标识符和关键字;4.2.1 标识符和关键字;4.2.1 标识符和关键字;4.2.2 数据类型;除此之外,为了更加有利地利用MCS-51的结构,C51还增加了一些特殊的数据类型,包括bit、sbit、sfr、sfr16。数据类型如表4-2所示。;char类型的长度是1B,通常用于定义处理字符数据的变量或常量。 unsigned char类型用字节中所有的位表示数值,可以表达的数值范围是0~255。 signed char类型用字节中最高位表示数据的符号,0表示正数,1表示负数,负数用补码表示,能表示的数值范围是-128~+127。unsigned char常用于处理ASCII字符或用于处理小于或等于255的整型数。;2.int整型;long长整型长度为4B,用于存放一个四字节数据。 分有符号long长整型signed long和无符号long长整型unsigned long,默认值为signed long类型。 signed int表示的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,0表示正数,1表示负数。 unsigned long表示的数值范围是0~4294967295。;4.float浮点型;5.*指针型;bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量。它的值是一个二进制位,不是0,就是1,类似一些高级语言中的boolean型数据的True和False。;7.sfr特殊功能寄存器;8. sfr16 16位特殊功能寄存器;sbit也是一种C51扩充数据类型,利用它可以访问芯片内部RAM中的可寻址位或特殊功能寄存器中的可寻址位。定义方法有如下三种: (1)sbit 位变量名 = 位地址 将位的绝对地址赋给位变量,位地址必须位于80H~FFH(特殊功能寄存器的位地址)之间。 (2)sbit 位变量名 = 特殊功能寄存器名^位位置 当可寻址位位于特殊功能寄存器中时,可采用这种方法。位位置是一个0~7之间的常数。 (3)sbit 位变量名 = 字节地址^位位置 这种方法是以一个常数(字节地址)作为基地址,该常数必须在80H~FFH(特殊功能寄存器的字节地址)之间。位位置是一个0~7之间的

文档评论(0)

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

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

1亿VIP精品文档

相关文档