版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机基础知识第1章单片机基础知识本章主要内容1、单片机概述2、单片机中数的表示方法3、常用编码一、单片机的概念
单片机是近代计算机技术发展的一个分支——嵌入式计算机系统。它是将计算机的主要部件: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)(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进制数来表达比较方便十进制数十六进制数二进制数十进制数十六进制数二进制数00H0000B88H1000B11H0001B99H1001B22H0010B10AH1010B33H0011B11BH1011B44H0100B12CH1100B55H0101B13DH1101B66H0110B14EH1110B77H0111B15FH1111B十进制数、十六进制数、二进制数对应关系表
2、数制转换1)二进制数与十六进制数间的转换二进制→十六进制方法:以小数点为界分成左侧整数部分和右侧小数部分,整数部分从小数点开始,向左每4位一组,不足4位在数的前面补0,小数部分从小数点开始,向右每4位一组,不足4位在数的后面补0,然后每组用十六进制数码表示,并按序相连即可。[例1-1]把111010.011110B转换为十六进制数。00111010.01111000=3A.783A.78H前面加两个零后面加两个零练习:11100.01001=?H
十六进制→二进制方法:将每位十六进制数分别用4位二进制数码表示,然后把它们按序连在一起即为对应的二进制数。[例1-2]把2BD4H和20.5H转化为二进制数2BD4H=0010101111010100B20.5H=00100000.0101B练习:86.9H=?B2)二进制数与十进制数间的转换二进制→十进制方法:将二进制数按权展开后求和即得到十进制数。[例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|472|232|112|52|2余数111101除取余,先有低位,依次到高低位高位则:47=101111B2|10练习:33=?B[例1-5]将十进制数0.8125转换成二进制数。0.8125×21.62500.6250×21.25000.2500×20.5000×21.0000整数110则:0.8125=0.1101B高位低位1乘取整,先有高位,依次到低练习:0.125=?B3)十六进制数与十进制数间的转换十六进制→十进制方法:将十六进制数按权展开后求和即得到十进制数[例1-6]将十六进制数3DF2H转换成十进制数。3DF2H=3×163+13×162+15×161
+2×160
=15858练习:4AB9H=?十进制→十六进制方法:整数部分和小数部分分别转换成二进制数的整数和小数。整数部分转换通常采用“除16取余法”,小数部分转换通常采用“乘16取整法”。[例1-7]将十进制数47转换为十六进制数。余数16|4716|215(FH)低位02高位则47=2FH除取余,先有低位,依次到高练习:50=?H[例1-8]将十进制数0.48046875转换成十六进制数。整数0.48046875×167.687500007高位0.68750000×1611.0000000011(BH)低位则0.48046875=0.7BH乘取整,先有高位,依次到低
十进制数转换为二进制数,可先将其转换为十六进制数,再由十六进制数转换为二进制数,可以减少许多计算。如:
47=2FH=101111B1、加法运算运算规则:0+0=0,0+1=1+0=1,1+1=10(向高位进位)。[例1-9]01101010B
+00111011B三、二进制数运算
1B10100102、减法运算运算规则:0-0=0,1-0=1,1-1=0,0-1=1(向高位借1)。[例1-10]10110101B
-01001101B01101000B3、乘法运算运算规则:0×0=0,0×1=1×0=0,1×1=1。[例1-11]1010被乘数
×1001乘数101000000000
10101011010积4、除法运算
除法运算是乘法的逆运算。与十进制数类似,从被除数的最高位开始取出与除数相同的位数,减去除数,够减商记为1,不够减商记为0,然后将被除数的下一位移到余数上,重复前面的减除数操作,直到被除数的位都下移为止。
[例1-12]
100001商除数110)11001011被除数
110001011
110101余数则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。二进制数原码反码补码00000000+0+0000000001+1+1+100000010+2+2+2…………01111101+125+125+12501111110+126+126+12601111111+127+127+12710000000-0-127-12810000001-1-126-12710000010-2-125-126…………11111101-125-2-311111110-126-1-211111111-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码(BinaryCodedDecimalCode),用二进制数对每位的十进制数编码。最常用的是8421BCD码,它用4位二进制数对十进制数的数码进行编码,8421分别代表每位的权,用0000B~1001B分别代表十进制数的0~9。十进制数BCD码十进制数BCD码十进制数BCD码000005010110000100001000160110110001000120010701111200010010300118100013000100114010091001······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
+0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南科技职业学院单招职业适应性考试参考题库及答案解析
- 2026年包头职业技术学院单招职业适应性测试备考题库及答案解析
- 2026年南开大学滨海学院单招职业适应性考试模拟试题及答案解析
- 2025年云南省昆明市西山区中考数学一模试卷(含答案)
- 2026年江西经济管理干部学院单招职业适应性测试模拟试题及答案解析
- 2026年重庆移通学院单招职业适应性考试模拟试题及答案解析
- 2026年郑州医药健康职业学院单招职业适应性考试模拟试题及答案解析
- 2026年苏州信息职业技术学院单招职业适应性考试模拟试题及答案解析
- 2026年河南质量工程职业学院单招职业适应性测试模拟试题及答案解析
- 内分泌疾病护理与康复培训
- 速食食品行业相关投资计划提议
- 安全操作规程管理制度(完整版合同模板)
- 贾玲春晚搞笑公司年会小品《真假老师》台词剧本完整版
- 医院门诊病历本
- 涉诈风险账户审查表
- 测绘资质分级标准规定(2014版)
- 家谱序言经典范文(12篇)
- 学习弘扬枫桥精神与枫桥经验PPT枫桥经验蕴含的精神和内涵PPT课件(带内容)
- GA/T 1556-2019道路交通执法人体血液采集技术规范
- 以此为主GS-操作手册(中文简体) 含精度检验表200807
- 循证护理问题的提出
评论
0/150
提交评论