资源预览内容
第1页 / 共169页
第2页 / 共169页
第3页 / 共169页
第4页 / 共169页
第5页 / 共169页
第6页 / 共169页
第7页 / 共169页
第8页 / 共169页
第9页 / 共169页
第10页 / 共169页
亲,该文档总共169页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 7章 单片机的 第 7章 单片机的 51定义 位变量的 模块化程序开发过程 语言编程 语言编程 频率量测量的 语言编程 键盘和数码显示人机交互的 第 7章 单片机的 1 用汇编程序设计 1系列单片机应用程序时,必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器正确、合理的使用以及按实际地址处理端口数据。用 1单片机的应用程序,虽然不像用汇编语言那样具体地组织、分配存储器资源和处理端口数据,但在 数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。用 语言中的数据类型和变量,其它的语法规定、程序结构及程序设计方法都与标准的 第 7章 单片机的 用 语言编译器 (简称 转换生成单片机可执行的代码程序。支持 1系列单片机的 中 章是针对这种编译器介绍 1单片机 第 7章 单片机的 51编译器具体支持的数据类型有:位型 (无符号字符 (有符号字符 (无符号整型(、有符号整型 (、无符号长整型 (、有符号长整型 (、浮点型 (指针类型等。 第 7章 单片机的 表 51的数据类型 数据类型 长度 (长度 (值域 1 0,1 1 0255 1 128127 16 2 065535 16 2 3276832767 2 4 04294967295 32 4 21474836482147483647 32 4 8 8(6位数字 ) 4 8 8 8(10位数字 ) 一般指针 24 3 存储空间 065535 第 7章 单片机的 位变量 (与 变量必须定位在 字符变量 (字符变量的长度为 1 位。这很合适为 位数据。对于无符号变量 (值域范围是 0255。对于有符号字符变量(最具有重要意义的位是最高位上的符号标志位 (此位为 1代表 负 ,为 0代表 正 。有符号字符变量和无符号字符变量在表示 0127的数值时,其含义是一样的,都是 00数一般用补码表示,即用 11111111表示 用 11111110表示 。当进行乘除法运算时,符号问题就变得十分复杂,而 第 7章 单片机的 整型变量 ( 整型变量的长度为 16位。与 8080和 8086 位字节数存放在高地址字节中。有符号整型变量 (使用 使用二进制补码表示数值。可直接使用几种专用的机器指令来完成多字节的加、减、乘、除运算。整型变量值 0 第 7章 单片机的 图 整型数的存储结构 0 +0 +1 地址 0. +0 +1 +2 +3 地址 图 长整型变量的存储结构 第 7章 单片机的 浮点型变量 ( 浮点型变量为 32位,占 4个字节,许多复杂的数学表达式都采用浮点变量数据类型。应用符号位表示数的符号,用阶码和尾数表示数的大小。 用它们进行任何数学运算都需要使用由编译器决定的各种不同效率等级的库函数。 51的浮点变量数据类型的使用格式与 有 24位精度,尾数的高位始终为 1,因而不保存,位的分布如下: 1位符号位。 8位指数位。 23位尾数。 第 7章 单片机的 符号位是最高位,尾数为低 23位,内存中按字节存储顺序如下: 地址 +0 +1 +2 +3 内容 中, 1表示负, 0表示正; 3位尾数,最高位为 1。 浮点变量值 0按图 第 7章 单片机的 0. +0 +1 +2 +3 地址 图 浮点数的存储结构 第 7章 单片机的 在编程时,如果只强调运算速度而不进行负数运算时,最好采用无符号 (式。 无符号字符类型的使用:无论何时,应尽可能使用无符号字符变量,因为它能直接被 于同样的原因,也应尽量使用位变量。有符号字符变量虽然也只占用一个字节,但需要进行额外的操作来进行测试代码的符号位。这无疑会降低代码效率。 第 7章 单片机的 使用简化形式定义数据类型。其方法是在源程序开头使用#如: #这样,在编程中,就可以用 第 7章 单片机的 表 存储类型 与存储空间的对应关系 直接寻址片内数据存储区,访问速度快 (128字节 ) 可位寻址片内数据存储区,允许位与字节混合访问 (16字节 ) 间接寻址片内数据存储区,可访问片内全部 256字节 ) 分页寻址片外数据存储区 (256字节 )由 i=0,1) 片外数据存储区 (64 程序存储器 64 第 7章 单片机的 表 存储类型 长度 (长度 (值域范围 1 0255 1 0255 1 0255 6 2 065 535 6 2 065 535 第 7章 单片机的 带存储类型的变量的定义的一般格式为 数据类型 存储类型 变量名 带存储类型的变量定义举例: x,y,z; 4; 第 7章 单片机的 表 存储模式说明 存储模式 说 明 认的存储类型是 参数及局部变量放入可直接寻址片内最大 128字节 )。 另外所有对象 (包括堆栈 ),都必须嵌入片内 栈长很关键 , 因为实际栈长依赖于函数嵌套调用层数 认的存储类型是 参数及局部变量放入分页的外部数据存储区 , 通过 栈空间位于片内数据存储区中 认的存储类型是 参数及局部变量直接放入片外数据存储区 , 使用数据指针 用此数据指针进行访问效率较低 , 尤其对两个或多个字节的变量 , 这种数据类型的访问机制直接影响代码的长度 第 7章 单片机的 了程序计数器 组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器 (分散在片内28字节中,地址范围为 80H01个寄存器具有位寻址能力,它们的字节地址都能被 8整除,即字节地址是以 8或 0为尾数的。 为了能直接访问这些 51提供了一种自主形式的定义方法,这种定义方法与标准 适用于对语言编程。特殊功能寄存器 第 7章 单片机的 定义语句的关键字,其后必须跟一个 =后面必须是一个整型常数,不允许带有运算符的表达式,是特殊功能寄存器 字节地址,这个常数值的范围必须在
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号