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

下载本文档

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

文档简介

单片机实用教程 单片机基础知识 本章主要内容 1、单片机概述 2、单片机中数的表示方法 3、常用编码 单片机实用教程单片机基础知识 一、单片机的概念 单片机是近代计算机技术发展的一个分支嵌入 式计算机系统。它是将计算机的主要部件:cpu、 ram、rom、定时器/计数器、输入/输出接口电路等 集成在一块大规模的集成电路中,形成芯片级的微型计 算机称为单片微型计算机(single chip microcomputer) 简称单片机 。 单片机自从问世以来,就在控制领域得到广泛应用 ,特别是近年来,许多功能电路都被集成在单片机内部 ,如a/d、d/a、pwm、wdt、i2 c总线接口等,极大 提高了单片机的测量和控制能力,我们现在所说的单片 机已突破了微型计算机(microcomputer)的传统内容 ,更准确的名称应为微控制器(microcontroller)。 英文简写为:mcu/mpu 单片机实用教程单片机基础知识 单片机发展的起步阶段 最早期的单片机只有4位,功能简单, 只能用于简单的控制。1974年出现了8位单片 机,由美国仙童公司首先推出典型的产品有 intel公司的mcs48系列,zilog公司的z8 系列,motorola公司的mc6800等,单片机的 性能有了较大提高,并正式命名为single chip microcomputer。 二、单片机的发展概况 单片机实用教程单片机基础知识 单片机发展的成熟阶段 19791982年单片机发展进入成熟阶段, 单片机内部的体系结构得到进一步完善,面 向对象、突出了控制功能,寻址的空间范围 扩大,规范了数据线、地址线的总线结构, 有了多功能的异步串行接口uart,设置位 地址空间,提供位寻址和位操作和大量的控 制转移指令等。形成了单片机标准结构。这 时期最典型的产品就是intel公司的mcs51 系列单片机。 单片机实用教程单片机基础知识 微控制器形成阶段 19821990年单片机完成向微控制 器的转换,为进一步满足测控要求,将 许多测控对象的接口电路集成到单片机 内部,如a/d、d/a、pwm、dma等。 形成了不同于single chip microcomputer特点的微控制器 mcu 。 单片机实用教程单片机基础知识 微控制器百花齐放 进入20世纪90年代,随着半导体集 成电路技术微电子技术的发展,以及电 气制造商和半导体厂商的广泛参与,微 控制器进入百花齐放的发展时期 。 单片机实用教程单片机基础知识 小巧灵活、成本低,易于产品化,有优异 的性能价格比 。 集成度高,有很高的可靠性,能在恶劣的 环境下工作。 控制功能强,面向对象操作指令,可以直 接对功能部件操作,易于实现从简单到复杂 的各类控制任务。 低功耗、低电压,便于生产便携式产品。 三、单片机的特点 单片机实用教程单片机基础知识 工业自动化控制 办公自动化设备 智能仪器仪表 家用电器 医疗仪器设备 通信产品 航空航天等 单片机应用已经深入到人类生活的各个领域。 四、单片机的应用领域 单片机实用教程单片机基础知识 五、单片机应用的环节 硬件电路设计 程序编写、编译 程序下载(编程) 通电运行观察 硬件设计软件设计 编程环境 编写程序 编译 目标文件 仿真 编程器 芯片内部 (1) (2) (3) (4) 单片机实用教程单片机基础知识 五、单片机应用的环节 硬件电路设计 程序编写、编译 程序下载(编程) 通电运行观察 硬件设计软件设计 编程环境 编写程序 编译 目标文件 仿真 编程器 芯片内部 (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进制 数来表达比较方便 单片机实用教程单片机基础知识 十进制 数 十六进制数二进制数 十进制 数 十六进制数二进制数 00h0000b88h1000b 11h0001b99h1001b 22h0010b10ah1010b 33h0011b11bh1011b 44h0100b12ch1100b 55h0101b13dh1101b 66h0110b14eh1110b 77h0111b15fh1111b 十进制数、十六进制数、二进制数对应关系表 单片机实用教程单片机基础知识 2、数制转换 1)二进制数与十六进制数间的转换 二进制十六进制 方法:以小数点为界分成左侧整数部分和右侧小数 部分,整数部分从小数点开始,向左每4位一组,不足 4位在数的前面补0,小数部分从小数点开始,向右每4 位一组,不足4位在数的后面补0,然后每组用十六进 制数码表示,并按序相连即可 。 例1-1 把111010.011110b转换为十六进制数。 0011 1010.0111 1000= 3a. 78 3a.78h 前面加 两个零 后面加 两个零 练习: 11100.01001 =?h 单片机实用教程单片机基础知识 十六进制二进制 方法:将每位十六进制数分别用4位 二进制数码表示,然后把它们按序连在 一起即为对应的二进制数。 例1-2 把2bd4h和20.5h转化为二进制 数 2bd4h=0010 1011 1101 0100b 20.5h=0010 0000.0101b 练习: 86.9h=?b 单片机实用教程单片机基础知识 2)二进制数与十进制数间的转换 二进制十进制 方法:将二进制数按权展开后求和即得到十 进制数 。 例1-3 把1001.01b转换成十进制数。 1001.01b=123+022+021+120 +02-1+12-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=3163+13162+15161 +2160 =15858 练习: 4ab9h=? 单片机实用教程单片机基础知识 十进制十六进制 方法:整数部分和小数部分分别转换成二进 制数的整数和小数。整数部分转换通常采用“ 除16取余法” ,小数部分转换通常采用“乘16 取整法” 。 例1-7 将十进制数47转换为十六进制数。 余数 16| 47 16| 2 15(fh)低位 02 高位 则47=2fh 除取余,先有低位 ,依次到高 练习: 50=?h 单片机实用教程单片机基础知识 例1-8将十进制数0.48046875转换成十六进 制数 。 整数 0.48046875 16 7.687500007 高位 0.68750000 16 11.0000000011 (bh) 低位 则0.48046875=0.7bh 乘取整,先 有高位,依 次到低 单片机实用教程单片机基础知识 十进制数转换为二进制数,可先将其 转换为十六进制数,再由十六进制数转换 为二进制数,可以减少许多计算。如: 47 =2fh =101111b 单片机实用教程单片机基础知识 1、加法运算 运算规则:0+0=0,0+1=1+0=1, 1+1=10(向高位进位)。 例1-9 0 1 1 0 1 0 1 0 b + 0 0 1 1 1 0 1 1 b 三、二进制数运算 1b1010010 单片机实用教程单片机基础知识 2、减法运算 运算规则:0-0=0,1-0=1,1-1=0, 0-1=1(向高位借1)。 例1-10 1 0 1 1 0 1 0 1 b - 0 1 0 0 1 1 0 1 b 0 1 1 0 1 0 0 0 b 单片机实用教程单片机基础知识 3、乘法运算 运算规则:00=0,01=10=0, 11=1。 例1-11 1010 被乘数 1001 乘数 1010 0000 0000 1010 1011010 积 单片机实用教程单片机基础知识 4、除法运算 除法运算是乘法的逆运算。与十进制数类似,从 被除数的最高位开始取出与除数相同的位数,减去除 数,够减商记为1,不够减商记为0,然后将被除数的 下一位移到余数上,重复前面的减除数操作,直到被 除数的位都下移为止。 例1-12 100001 商 除数 110 )11001011 被除数 110 001011 110 101 余数 则 11001011b110b=100001b,余数101b。 单片机实用教程单片机基础知识 二进制数的加、减、乘、除运算,可 以归纳为加、减、移位三种操作。单片机 都有相应的操作指令。 二进制数逻辑运算将在后面的章节中 ,结合单片机的逻辑运算指令讲解。 单片机实用教程单片机基础知识 1、无符号数、有符号数 无符号数:8位单片机中数是以字节为单位,即8 位二进制数的形式存在,一个字节存放数的范围为 0255。 有符号 数:最高位表示数的符号,并且规定0表 示“+”,1表示“-”。其余位为数值位,表示数的大小 。 d7 d6 d5 d4 d3 d2 d1 d0 四、单片机中数的表示 符号位 数值位 思考:大于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的补码 只有一种表示方法。 单字节补码范围:-128127 。 单片机实用教程单片机基础知识 二进制数原 码反 码补 码 00000000+0+00 00000001+1+1+1 00000010+2+2+2 01111101+125+125+125 01111110+126+126+126 01111111+127+127+127 10000000-0-127-128 10000001-1-126-127 10000010-2-125-126 11111101-125-2-3 11111110-126-1-2 11111111-127-0-1 单字节二进制数原码、反码、补码对应关系 单片机实用教程单片机基础知识 例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码(binary coded decimal code),用二 进制数对每位的十进制数编码。最常用的是8421 bcd码,它用4位二进制数对十进制数的数码进行编 码,8421分别代表每位的权,用0000b1001b分别 代表十进制数的09 。 十进制数 bcd码十进制数bcd码十进制数bcd码 0000050101100001 0000 1000160110110001 0001 2001070111120001 0010 3001181000130001 0011 4010091001 bcd码常用于数码 显示场合比较方便 单片机实用教程单片机基础知识 2、bcd码的加法运算 8421 bcd码是用4位二进制数表示,4位二进制 数是“逢十六进一”,而bcd码高位和低位之间是“逢 十进一”,单片机在运算是把其作为二进制数处理的 ,两个bcd码相加时,当低4位向高4位进位,或高4 位向更高位进位时,需要对该4位加6调整。或者结果 某4位出现非法码(即10101111),对应4位也要加 6调整 。 例1-15 bcd码x=23,y=49,求x+y 0010 0011 =23 + 0100 1001

温馨提示

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

评论

0/150

提交评论