网站大量收购独家精品文档,联系QQ:2885784924

单片机原理与C51基础 教学课件 作者 赵丽清 第10章.ppt

单片机原理与C51基础 教学课件 作者 赵丽清 第10章.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 单片机C51程序设计 第10章 目录 10.1 C51程序设计基础 10.1.1 C51中的基本数据类型 10.1.2 C51中扩充的数据类型 10.1.3 C51中的运算符 10.1.4 C51中的语句及程序结构 10.2 C51程序设计 10.2.1定时/计数器初始化程序设计举例 10.2.2点亮发光二极管实现流水灯程序 10.2.3单个中断系统设计举例 10.2.4定时器程序设计举例 10.2.5串行通信程序设计举例 10.1 C51程序设计基础 10.1.1 C51中的基本数据类型 C语言中的数据有常量和变量之分,当我们在编写单片机程序时,用到的相关变量在单片机的内存中都要占据一定的存储空间,变量大小不同,所占据的空间就不同,所以,“变量”数据的大小是有限制的,我们不能随意给一个变量赋任意大小的值。 为了合理利用内存空间,我们在编程时就要选择大小合适的数据,不同的数据类型也就代表了不同大小的数据,所以,我们在使用变量之前,首先要声明这个变量的类型,以便让编译器提前从内存中为其分配空间。 表10-1列出了C51的基本数据类型。 10.1 C51程序设计基础 10.1.1 C51中的基本数据类型 10.1 C51程序设计基础 10.1.1 C51中的基本数据类型 说明: (1)在单片机中,所有的数据都是以二进制的形式存储在存储器中的,其中,1个字节=8位二进制(即1Byte=8bit)。 (2)在C语言中:short int即为int,long int即为long。 (3)前面若无unsigned则一律认为是signed型。 (4)一般情况下,float型数据只能提供7位有效数字,double型数据能够提供15~16位有效数字,但是这个精度还和编译器有关系,并不是所有的编译器都遵守这条原则。 10.1 C51程序设计基础 10.1.1 C51中的基本数据类型 例如: float x; x=32 由于float类型的有效数字是7位,故x=32.45679,若将x改 成double类型的则能将32部存放在x中,所以, 在声明变量时应根据其使用情况来为其选择类型。 例如: int i=9; 在内存中占16位(即2个字节的存储单元) 。 10.1 C51程序设计基础 10.1.2 C51中扩充的数据类型 在C51中除以上基本数据类型外,为了适应单片机程序开发 的需要又扩充了如下的数据类型。 位变量声明bit:声明一个位变量。 8位寄存器声明sfr:声明一个8位寄存器。 16位寄存器声明sfr16:声明一个16位寄存器。 特殊功能位声明sbit:声明特殊功能寄存器中的某一位。 10.1 C51程序设计基础 10.1.2 C51中扩充的数据类型 bit flag; 说明:声明了一个变量名为flag的位变量。 sfr TCON = 0x88H; 说明: 单片机内部有很多特殊功能寄存器(sfr),每个sfr在单片机内部都分配有唯一的一个地址,当我们在程序中使用sfr时,我们一般通过声明将相应的地址编号赋给一个名称,以后通过该名称来使用相应sfr,其中这些声明绝大多数都包含在相应的头文件(如:reg51.h)中。 本例中TCON是单片机的定时器/计数器控制寄存器,它在单片机内存中的地址为0x88H,经过该语句声明以后,如在后面的程序中使用该寄存器则只需使用其名称TCON即可,当程序进行编译时,编译器也知道实际要操作的是单片机内部0x88地址处的这个寄存器,而TCON仅仅是这个地址的一个代号或名称而已,当然,我们也可以声明成其他的名称。 10.1 C51程序设计基础 10.1.2 C51中扩充的数据类型 sfr16 T1= 0x8BH; 说明: 声明了一个16位SFR,起始地址为0x8BH,道理与上例相同不再重复解释。 sbit TR0=TCON^4; 说明: 首先应该有sfr TCON = 0x88H;这句的声明后,我们才知道TCON是定时器/计数器控制寄存器的名称,它是一个8位的寄存器,其中,TCON^0为最低位,TCON^7为最高位,通过本例的声明,以后当我们使用TCON^4时,直接操作TR0即可,当然,我们也可以将TCON^4声明成其他的名称。 10.1 C51程序设计基础 10.1.3 C51中的运算符 绝大多数的程序都需要对数据进行加工处理,即进行运算,要进行运算就得规定可以使用的运算符,C51中的运算符与C语言基本相同,在单片机程序开发过程中最常用的主要有算术运算符、关系运算符、逻辑运算符和位运算符等。 10.1 C51程序设计基础 10.1.3 C51中的运算符 说明: (1)“==”表示测试两数是否相等,如

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档