单片机课件第十二章教程.pptx

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

第12章 单片机C语言应用设计;【知识目标】 1.了解单片机C语言基本知识。 2.理解C51对单片机硬件的访问方法。 3.理解C51函数的定义与调用。 【技能目标】 1.掌握C51程序的设计及调试。 2.熟悉C51的结构化程序设计。 ;12.1 概述 12.2 C51入门 12.3 C51的函数 ;C语言作为一门兼容性较好的高级语言,在硬件开发中得到广泛的应用,如各种单片机、DSP、ARM等。C语言程序本身不依赖于机器硬件系统,仅做简单的修改就可将程序从不同的系统移植过来直接使用。C语言提供了很多数学函数并支持浮点运算,开发效率高,可极大地缩短了开发时间,增加程序可读性和可维护性。应用C51语言编写程序具有以下优势: (1)对单片机的指令系统不要求有太深入的了解,就可以用C语言编程操作单片机。 (2)寄存器分配和寻址方式由编译器管理,编程时不必考虑存储器的寻址。 (3)可使用C51语言库文件的许多标准函数。 (4)通过C语言的模块化编程技术,可以将已编制好的程序加到新的程序中。 (5)程序有规范的结构,可分成不同的函数,可使程序结构化。 (6)C51语言编译器几乎适用于所有的目标系统,已完成的软件项目可以很容易地转移到其 它微处理器和环境中。 ;12.2.1 标识符和关键字 1.标识符 标识符是用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、数组等。 标识符的命名应符合以下规则: 1)有效字符。只能由字母、数字和下划线组成,且以字母或下划线开头。 2)有效长度。在C51编译器中,支持32个字符,如果超长,则超长部分被舍弃。 3)C51的关键字不能用作变量名。 ; 标识符在命名时,应当简单,含义清晰,尽量为每个标识符取一个有意义的名字,这样有助于阅读理解程序。 C51区分大小写,例如Delay与DELAY是两个不同的标识符。 2.关键字 关键字则是C51编译器已定义保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键字相同。C51采用了ANSI C标准规定了32个关键字。;C51数据类型可分为基本类型、构造类型、指针类型和空类型4类,具体分类情况如图12 -1所示。 ;;1.char字符类型 char类型的长度是1字节,通常用于定义处理字符数据的变量或常量。分为无符号字符类型unsigned char和有符号字符类型signed char,默认值为signed char类型。unsigned char常用于处理ASCII字符或用于处理小于或等于255的整型数。 2.int整型 int整型长度为2字节,用于存放一个双字节数据。分为有符号整型数signed int和无符号整型数unsigned int,默认值为signed int类型。 3. long长整型 long长整型长度为4字节,用于存放一个4字节数据。分有符号长整型signed long和无符号长整型unsigned long,默认值为signed long类型。 ;4.float浮点型 float浮点型用于表示包含小数点的数据类型,占用4字节。AT89S51单片机是8位机,编程时,尽量不要用浮点型数据,这样会降低程序的运行速度和增加程序的长度。 5.* 指针型 指针型本身就是一个变量,在这个变量中存放的是指向另一个数据的地址。这个指针变量要占据一定的内存单元,在C51中,它的长度一般为1~3字节。 ;兼容ANSI标准的数据类型可通过指针访问,但扩展的bit、sbit、sfr、sfr16数据类型专用于访问MCS-51的特殊功能寄存器,故不能通过指针进行访问。 1.位类型bit 所有的位类型变量放在AT89S51单片机内部存储区的位寻址区,因为该区域只有16个字节,所以最多只能声明128个位变量。可位寻址的特殊功能寄存器的位变量定义用关键字sbit。 ;AT89S51单片机有26个特殊功能寄存器,它们在片内RAM安排了绝对地址。地址范围为0x80~0xFF,可以对字节和字访问。C51编译器没有预先定义srf名称,但是在包含的文件中有srf的声明。可以用srf与srfl6两种说明符。特殊功能寄存器用sfr声明,地址范围为0~255。而sfr16用来定义16位的特殊功能寄存器(如DPTR),地址范围为0~65535。 ;例12-1下面是sbit和sfr的应用示例。 sfr PSW= 0xD0; //声明PSW为特殊功能寄存器,地址为D0H sbit CY= PSW^7; //指定PSW.7为CY sfr TMOD= 0x89; //声明TMOD为定时器/计数器的模式寄存器,地址为89H 在sbit声明中,“^”号右边

文档评论(0)

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

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

1亿VIP精品文档

相关文档