第4章 51单片机C程序设计.ppt

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

第四章 单片机的C51语言编程 C51特点 C语言作为一种非常方便的结构化语言而得到广泛的支持,国内最通用的是Keil C51。 C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。 C提供了丰富的数据类型、很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。 与汇编语言相比,C语言的优点如下: 对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解; 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理; 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化; 具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性; 提供的库包含许多标准子程序,具有较强的数据处理能力; 由于具有方便的模块化编程技术,使已编好程序可容易地移植。 C语言编程的三大要素 数据 数据类型、数据结构、存储类型 运算 算术运算、关系运算、逻辑运算、位操作 控制 顺序结构、选择结构、循环结构、函数 4.1 C51的数据类型 C51数据类型 1.char 字符类型 char类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。 分无符号字符类型unsigned char和有符号字符类型signed char,默认值为signed char类型。 字符型变量分为:[signed] char和 unsigned char 编译系统为其分配 1 Byte(字节)的存储空间 表示的数值范围: [signed] char:-128~127 unsigned char: 0~255 2.int 整型 int整型长度为两个字节,用于存放一个双字节数据。 分有符号int整型数signed int和无符号整型数unsigned int,默认值为signed int类型 3.long 长整型 long长整型长度为四个字节,用于存放一个四字节数据。分有符号long长整型signed long和无符号长整型unsigned long,默认值为signed long类型。 4.float 浮点型 float浮点型在十进制中具有7位有效数字,是符合IEEE-754标准的单精度浮点型数据,占用四个字节。 5.指针型 指针型本身就是一个变量,在这个变量中存放的是另一个数据的地址。这个指针变量要占据一定的内存单元,对不同的处理器长度也不尽相同。 6.bit 位变量 bit类型定义1个位变量,值为0或1.其存储器类型只能是bdata、data、idata,严格讲只能是:bdata 所有的bit变量都放在80C51内部存储区的可位寻址区,而该区域只有16字节长,所以在某个范围内只能声明最多128个位变量。 8 .sfr16类型用于定义1个16位的特殊功能寄存器 定义形式: sfr16 标识符=16位特殊功能寄存器的低字节地址; 51子系列中只有DPTR为16位的特殊功能寄存器: 由DPH和DPL组成,其地址分别为0x82和0x83,地址连续。 sfr16 DPTR=0x82; /*地址为低字节单元的地址*/ 52子系列中T2可定义如下:sfr16 T2=0xCC; ★T0和T1不能用sfr16进行定义: sfr16 T0=0x8A; /*错误,TL0和TH0地址不连续*/ sfr16 T1=0x8B; /*错误,TL1和TH1地址不连续*/ 9.sbit 可寻址位 sbit是C51中的一种扩充数据类型,利用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。 sbit类型定义bdata区或可位寻址特殊功能寄存器(字节地址的末位为0或8)中的位,值也为0或1. 如:sfr P1=0x90; sbit P1_0=P1^0; 或sbit P1_0=0x90^0; 或sbit P1_0=0x90; sbit EA=0xAF; sbit IT0=0x88; sbit P=0xD0; 注:安装Keil软件后,在文件夹“C:\keil\c51\inc”中有一些头文件包含了有关特殊功能寄存器和相应位的定义。 reg51.h头文件内容: /* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; s

文档评论(0)

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

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

1亿VIP精品文档

相关文档