单片机基础知识(ppt 41页).ppt_第1页
单片机基础知识(ppt 41页).ppt_第2页
单片机基础知识(ppt 41页).ppt_第3页
单片机基础知识(ppt 41页).ppt_第4页
单片机基础知识(ppt 41页).ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章单片机基础知识 本章主要内容 一 单片机的概念 单片机是近代计算机技术发展的一个分支 嵌入式计算机系统 它是将计算机的主要部件 CPU RAM ROM 定时器 计数器 输入 输出接口电路等集成在一块大规模的集成电路中 形成芯片级的微型计算机称为单片微型计算机 SingleChipMicrocomputer 简称单片机 单片机自从问世以来 就在控制领域得到广泛应用 特别是近年来 许多功能电路都被集成在单片机内部 如A D D A PWM WDT I2C总线接口等 极大提高了单片机的测量和控制能力 我们现在所说的单片机已突破了微型计算机 Microcomputer 的传统内容 更准确的名称应为微控制器 Microcontroller 英文简写为 MCU MPU 单片机发展的起步阶段最早期的单片机只有4位 功能简单 只能用于简单的控制 1974年出现了8位单片机 由美国仙童公司首先推出典型的产品有Intel公司的MCS 48系列 Zilog公司的Z 8系列 Motorola公司的MC6800等 单片机的性能有了较大提高 并正式命名为SingleChipMicrocomputer 二 单片机的发展概况 单片机发展的成熟阶段1979 1982年单片机发展进入成熟阶段 单片机内部的体系结构得到进一步完善 面向对象 突出了控制功能 寻址的空间范围扩大 规范了数据线 地址线的总线结构 有了多功能的异步串行接口UART 设置位地址空间 提供位寻址和位操作和大量的控制转移指令等 形成了单片机标准结构 这时期最典型的产品就是Intel公司的MCS 51系列单片机 微控制器形成阶段1982 1990年单片机完成向微控制器的转换 为进一步满足测控要求 将许多测控对象的接口电路集成到单片机内部 如A D D A PWM DMA等 形成了不同于SingleChipMicrocomputer特点的微控制器 MCU 微控制器百花齐放进入20世纪90年代 随着半导体集成电路技术微电子技术的发展 以及电气制造商和半导体厂商的广泛参与 微控制器进入百花齐放的发展时期 小巧灵活 成本低 易于产品化 有优异的性能价格比 集成度高 有很高的可靠性 能在恶劣的环境下工作 控制功能强 面向对象操作指令 可以直接对功能部件操作 易于实现从简单到复杂的各类控制任务 低功耗 低电压 便于生产便携式产品 三 单片机的特点 工业自动化控制办公自动化设备智能仪器仪表家用电器医疗仪器设备通信产品航空航天等单片机应用已经深入到人类生活的各个领域 四 单片机的应用领域 五 单片机应用的环节 硬件电路设计程序编写 编译程序下载 编程 通电运行观察 五 单片机应用的环节 硬件电路设计程序编写 编译程序下载 编程 通电运行观察 1 2 3 4 位 就是一位的二进制数 其只能存放 1 或 0 可以用来表示两种不同状态信息 如开关的 通 和 断 电平的 高 和 低 等 字节 8位二进制数组成一个字节 既可以表示实际的数 也可以表示多个状态的组合信息 8位单片机中数是以字节为基本单位 字 两个字节组成一个字 也即16位的二进制数 一 位 字节 字的概念 1 数制1 十进制数 Decimal 特点 基数为10 由0 1 2 3 4 5 6 7 8 9十个数码构成 进位规则是 逢十进一 二 数制与数制转换 2 二进制数 Binary 特点 基数为2 由0和1两个数码构成 进位规则是 逢二进一 3 十六进制数 Hexadecimal 特点 基数为16 由0 1 2 3 4 5 6 7 8 9 A B C D E F十六个数码构成 其中A B C D E F分别表示10 11 12 13 14 15进位规则是 逢十六进一 在单片机编程应用中 可以用上面的任一种数制来表示数 但要在数的后面加表示数制的符号 二进制数为 B 十六进制数为 H 十进制数为 D 十进制数的符号 D 可以省略 十六进制数本质上就是二进制数 4位二进制数构成1位十六进制数 实际应用中一般用十六进制数 注 存储器的地址一般都采用16进制数来表达比较方便 十进制数 十六进制数 二进制数对应关系表 2 数制转换1 二进制数与十六进制数间的转换二进制 十六进制方法 以小数点为界分成左侧整数部分和右侧小数部分 整数部分从小数点开始 向左每4位一组 不足4位在数的前面补0 小数部分从小数点开始 向右每4位一组 不足4位在数的后面补0 然后每组用十六进制数码表示 并按序相连即可 例1 1 把111010 011110B转换为十六进制数 00111010 01111000 3 A 7 8 3A 78H 前面加两个零 后面加两个零 练习 11100 01001 H 十六进制 二进制方法 将每位十六进制数分别用4位二进制数码表示 然后把它们按序连在一起即为对应的二进制数 例1 2 把2BD4H和20 5H转化为二进制数2BD4H 0010101111010100B20 5H 00100000 0101B 练习 86 9H B 2 二进制数与十进制数间的转换二进制 十进制方法 将二进制数按权展开后求和即得到十进制数 例1 3 把1001 01B转换成十进制数 1001 01B 1 23 0 22 0 21 1 20 0 2 1 1 2 2 9 25 练习 11010 01B 十进制 二进制方法 整数部分和小数部分分别转换成二进制数的整数和小数 整数部分转换通常采用 除2取余法 小数部分转换通常采用 乘2取整法 例1 4 将十进制数47转换为二进制数 2 47 2 23 2 11 2 5 2 2 余数 1 1 1 1 0 1 除取余 先有低位 依次到高 低位 高位 则 47 101111B 2 1 0 练习 33 B 例1 5 将十进制数0 8125转换成二进制数 0 8125 2 1 6250 0 6250 2 1 2500 0 2500 2 0 5000 2 1 0000 整数 1 1 0 则 0 8125 0 1101B 高位 低位 1 乘取整 先有高位 依次到低 练习 0 125 B 3 十六进制数与十进制数间的转换十六进制 十进制方法 将十六进制数按权展开后求和即得到十进制数 例1 6 将十六进制数3DF2H转换成十进制数 3DF2H 3 163 13 162 15 161 2 160 15858 练习 4AB9H 十进制 十六进制方法 整数部分和小数部分分别转换成二进制数的整数和小数 整数部分转换通常采用 除16取余法 小数部分转换通常采用 乘16取整法 例1 7 将十进制数47转换为十六进制数 余数 16 47 16 2 15 FH 低位 0 2 高位 则47 2FH 除取余 先有低位 依次到高 练习 50 H 例1 8 将十进制数0 48046875转换成十六进制数 整数 0 48046875 16 7 68750000 7 高位 0 68750000 16 11 00000000 11 BH 低位 则0 48046875 0 7BH 乘取整 先有高位 依次到低 十进制数转换为二进制数 可先将其转换为十六进制数 再由十六进制数转换为二进制数 可以减少许多计算 如 47 2FH 101111B 1 加法运算运算规则 0 0 0 0 1 1 0 1 1 1 10 向高位进位 例1 9 01101010B 00111011B 三 二进制数运算 1 B 1 0 1 0 0 1 0 2 减法运算运算规则 0 0 0 1 0 1 1 1 0 0 1 1 向高位借1 例1 10 10110101B 01001101B01101000B 3 乘法运算运算规则 0 0 0 0 1 1 0 0 1 1 1 例1 11 1010被乘数 1001乘数10100000000010101011010积 4 除法运算除法运算是乘法的逆运算 与十进制数类似 从被除数的最高位开始取出与除数相同的位数 减去除数 够减商记为1 不够减商记为0 然后将被除数的下一位移到余数上 重复前面的减除数操作 直到被除数的位都下移为止 例1 12 100001商除数110 11001011被除数110001011110101余数则11001011B 110B 100001B 余数101B 二进制数的加 减 乘 除运算 可以归纳为加 减 移位三种操作 单片机都有相应的操作指令 二进制数逻辑运算将在后面的章节中 结合单片机的逻辑运算指令讲解 1 无符号数 有符号数无符号数 8位单片机中数是以字节为单位 即8位二进制数的形式存在 一个字节存放数的范围为0 255 有符号数 最高位表示数的符号 并且规定0表示 1表示 其余位为数值位 表示数的大小 D7D6D5D4D3D2D1D0 四 单片机中数的表示 符号位 数值位 思考 大于256的数如何表示 机器数 数码化了的带符号位的数称为机器数 真值 机器数所代表的实际的数称为机器数的真值 例如 00000001B和10000001B为机器数 1和 1分别为它们的真值 机器数的表示方法有三种形式 原码 反码和补码 2 原码0表示 用1表示 数值位与该数的绝对值一致 正数的原码与原来的数相同 负数的原码符号位为1 数值位与对应的正数数值位相同 例 1 原 00000001B 1 原 10000001B 0 原 00000000B 0 原 10000000B单字节原码表示的范围为 127 127 0的原码有两种表示方法 0和 0 思考 双字节原码表示的范围是多少 3 反码一个数的反码可以由它的原码求得 正数的反码与正数原码相同 负数的反码符号位为1 数值位为对应原码的数值位按位取反 1 反 1 原 00000001B 1 反 11111110B 0 反 0 原 00000000B 0 反 11111111B单字节反码表示的范围为 127 127 4 补码数学关系 X 补 模 X一个数的补码可由该数的反码求得 正数的补码与正数的反码和原码一致 负数的补码等于该数的反码加1 1 补 1 原 1 反 00000001B 1 补 11111111B 0 反 11111111B 加1得00000000B 所以 0 补 00000000B 0 补 0的补码只有一种表示方法 单字节补码范围 128 127 单字节二进制数原码 反码 补码对应关系 例1 13 单片机处理1 2 的过程方法一 00000001 1的补码 00000010 2的补码 11111111 1的补码 方法二 00000001 1的补码 11111110 2的补码 11111111 1的补码 从该例可以看出 对于加减运算 数据是补码表示的 运算的结果也是补码表示的数 单片机 微机也是一样的 处理数据时 加减法用补码 乘除法用原码 例1 14 求 5的补码 再将结果作为原码 求其补码 10000101 5的原码 11111010 5的反码 11111011 5的补码 11111011 原码 10000100 反码 10000101 补码 一次求补 二次求补 可以看出 对一个负数进行两次求补过程 又得到这个数本身 正数的原码和补码又是一致的 因此 原码和补码是互补的 相互转换的方法和步骤也是一样的 一 8421BCD码 1 BCD码 BinaryCodedDecimalCode 用二进制数对每位的十进制数编码 最常用的是8421BCD码 它用4位二进制数对十进制数的数码进行编码 8421分别代表每位的权 用0000B 1001B分别代表十进制数的0 9 BCD码常用于数码显示场合比较方便 2 BCD码的加法运算8421BCD码是用4位二进制数表示 4位二进制数是 逢十六进一 而BCD码高位和低位之间是 逢十进一 单片机在运算是把其作为二进制数处理的 两个BCD码相加时 当低4位向高4位进位 或高4位向更高位进位时 需要对该4位加6调整 或者结果某4位出现非法码 即1010 1111 对应4位也要加6调整 例1 15 BCD码X 23 Y 49 求X Y00100011 23 01001001 4901101100低4位出现非法码 011001110010 72 例1 16 BCD码X 28 Y 49 求X Y00101000 28 01001001 4901110001低4位向高4位进位 011001110111 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论