单片机原理与接口技术(第3版)[李晓林]-第4章ppt课件.ppt
上传人:天马****23 上传时间:2024-09-15 格式:PPT 页数:126 大小:1.1MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 116 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机原理与接口技术(1)熟悉C51语法基础和程序结构。(2)掌握C51结构化程序设计。(3)掌握C51对单片机硬件的访问方法。(4)掌握C51函数定义与调用。(5)了解汇编语言和C51的混合编程。4.1C51概述4.2C51语法基础4.2.1标识符和关键字4.2.2数据类型4.2.3运算符和表达式4.2.4程序结构4.4C51结构化程序设计4.4.1顺序结构程序4.4.2选择结构程序4.4.3循环结构程序4.1C51概述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语言程序可用KeilC51编译器。注意,使用C51编程可以取代繁琐的汇编语言编程,但仍需要了解MCS-51单片机的硬件结构。所以对于单片机系统的开发应采用汇编语言与C51混合编程的方法更为有效。4.2C51语法基础C51中有些库函数的标识符是以下划线开头的,所以一般不要以下划线开头命名用户自定义标识符。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。关键字则是编程语言保留的特殊标识符,它们具有固定的名称和含义,在程序编写中不允许将关键字另做他用。C51中的关键字除了有ANSIC标准的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,通常用于定义处理字符数据的变量或常量。unsignedchar类型用字节中所有的位表示数值,可以表达的数值范围是0~255。signedchar类型用字节中最高位表示数据的符号,0表示正数,1表示负数,负数用补码表示,能表示的数值范围是-128~+127。unsignedchar常用于处理ASCII字符或用于处理小于或等于255的整型数。2.int整型long长整型长度为4B,用于存放一个四字节数据。分有符号long长整型signedlong和无符号long长整型unsignedlong,默认值为signedlong类型。signedint表示的数值范围是-2147483648~+2147483647,字节中最高位表示数据的符号,0表示正数,1表示负数。unsignedlong表示的数值范围是0~4294967295。4.float浮点型5.*指针型bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量。它的值是一个二进制位,不是0,就是1,类似一些高级语言中的boolean型数据的True和False。7.sfr特殊功能寄存器8.sfr1616位特殊功能寄存器sbit也是一种C51扩充数据类型,利用它可以访问芯片内部RAM中的可寻址位或特殊功能寄存器中的可寻址位。定义方法有如下三种:(1)sbit位变量名=位地址将位的绝对地址赋给位变量,位地址必须位于80H~FFH(特殊功能寄存器的位地址)之间。(2)sbit位变量名=特殊功能寄存器名^位位置当可寻址位位于特殊功能寄存器中时,可采用这种方法。位位置是一个0~7之间的常数。(3)sbit位变量名=字节地址^位位置这种方法是以一个常数(字节地址)作为基地址,该常数必须在80H~FFH(特殊功能寄存器的字节地址)之间。位位置是一个0~7之间的常数。MCS-51单片机中的特殊功能寄存器及其可寻址位,已被预先定义放在文件reg51.h中,在程序的开头只需加上#include<reg51.h>或#include<reg52.h