1、2本讲主要内容本讲主要内容1-1.课程介绍课程介绍1-2.单片机简介单片机简介1-3.国内单片机与电子设计相关大赛国内单片机与电子设计相关大赛1-4.单片机应用系统开发简介单片机应用系统开发简介1-5.89C51单片机简介单片机简介31.1 1.1 课程介绍课程介绍 教材与学时数 总学时48学时,其中课堂讲授学时40学时,实验学时8学时!4参考书籍参考书籍5考核方式考核方式平时成绩10%(包括出勤率、作业完成情况,课堂纪律等)实验成绩20%(实验完成情况、实验报告等)(以平时成绩总分(以平时成绩总分2020分计,旷课一次扣分计,旷课一次扣5 5分,早退一次扣分,早退一次扣6 6分,分,迟到一次
2、扣迟到一次扣2 2分,代答一次每人扣分,代答一次每人扣8 8分,作业未交一次扣分,作业未交一次扣4 4分)分)期末考试成绩(70%)6成都大学教学环节日常考核管理办法(节选)成都大学教学环节日常考核管理办法(节选)第十条:迟到或早退15分钟以上作一次旷课处理;累计3次迟到或者早退(15分钟以内)记为一次旷课。第十一条 理论教学环节:(三)有下列情形之一者,取消该生当前学期参加该课程考核的资格,成绩以0分计:1.旷课学时数达到或超过该课程当前学期周学时的。2.病假、事假学时数达到或超过该课程当前学期总学时数三分之一的。3.未完成的作业量达到或超过教室布置的作业量的三分之一的。4.扰乱课堂教学秩序
3、,不听劝导者。7课程基本要求课程基本要求l 了解单片机的概念及发展历程。了解单片机的概念及发展历程。l 熟悉熟悉89C5189C51单片机的主要性能、内部总体结构及引脚功能。单片机的主要性能、内部总体结构及引脚功能。l 掌握掌握89C5189C51单片机的四个单片机的四个8 8位并行输入、输出接口,并能位并行输入、输出接口,并能分清这四个并行口的特点及用途。分清这四个并行口的特点及用途。l 掌握掌握89C5189C51单片机存储器的配置;单片机存储器的配置;l 熟悉单片机熟悉单片机C C语言程序设计方法,会编写较简单的程序;语言程序设计方法,会编写较简单的程序;8课程基本要求课程基本要求掌握单
4、片机的内部定时器掌握单片机的内部定时器/计数器,学会其计数器,学会其4 4种工作种工作模式的编程方法;模式的编程方法;熟悉并掌握熟悉并掌握89C5189C51单片机的中断源、中断矢量、中断单片机的中断源、中断矢量、中断方式、中断允许、中断优先级及控制;方式、中断允许、中断优先级及控制;掌握单片机串行接口的使用方法。掌握单片机串行接口的使用方法。掌握单片机系统的扩展方法,能设计简单的单片机掌握单片机系统的扩展方法,能设计简单的单片机系统。系统。熟悉熟悉PROTEUSPROTEUS嵌入式系统仿真与开发平台,会利用此嵌入式系统仿真与开发平台,会利用此开发环境进行仿真。开发环境进行仿真。9单片机应用系
5、统开发主要仪器设备单片机应用系统开发主要仪器设备单片机仿真器编程器信号发生器数字万用表示波器10实验板实验板11本课程将要接触到的软件开发工具本课程将要接触到的软件开发工具 Keil软件是目前最流行开发51内核系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。12PROTEUSPROTEUS软件软件 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件它不仅具有其它EDA工具软
6、件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和D
7、SP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。13电路制版与仿真软件电路制版与仿真软件 PROTEUSPROTEUS14学习方法学习方法 学习单片机最有效的方法是理论与实践并重,边学边练。学习单片机要合理安排学习时间持之以恒。学习单片机有条件的话进行适当投资购买实验器材及书籍资料效果更佳。单片机技术是一门含金量高的技术,无论是应聘求职还是创业,其前景光明。151.2 1.2 单片机简介单片机简介u 第一代:电子管u 第二代:晶体管u 第三代:集成电路u 第四代:大规模、超大规模集成电路u 高速度、大容量、高性能的高档微机u 稳定可靠
8、、体积小、价格廉的单片机16电子计算机发展概述电子计算机发展概述 世界上第一台计算机1946年2月15日,第一台计算机ENIAC问世,这标志着计算机时代的到来。ENIAC是电子管计算机,时钟频率仅有100 KHz,但能在1秒钟的时间内完成5000次加法运算。与现代的计算机相比,有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。ENIAC的出现满足了人们计算的需要,但它的体积实在太大了。17电子计算机发展概述电子计算机发展概述 计算机的冯诺依曼结构1946年6月,匈牙利籍数学家冯诺依曼提出了“程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、
9、控制器、存储器、输入设备和输出设备组成这一计算机的经典结构18电子计算机发展概述电子计算机发展概述 计算机发展的两个主要方向要是计算机能放进我的口袋里多好啊!计算机能比现在的运算速度快10000倍吗?19单片机及其发展过程单片机及其发展过程 单片机是什么?单片机是单片微型计算机的简称,它是在一块半导体芯片上,集成了CPU、半导体存储器、I/O(Input/Output)接口、中断系统和定时器等计算机必备部件,所构成的一个完整的数字电子计算机。单片机主要应用于控制领域,用以实现各种测单片机主要应用于控制领域,用以实现各种测试和控制功能,故单片机又称试和控制功能,故单片机又称微控制器微控制器(MC
10、UMCU,MicroController Unit MicroController Unit)。)。单片机应用时通常是处于被控系统的核心地位单片机应用时通常是处于被控系统的核心地位并融入其中,即以嵌入的方式进行使用,故也并融入其中,即以嵌入的方式进行使用,故也常将单片机称为常将单片机称为嵌入式微控制器嵌入式微控制器(EMCUEMCU,Embedded MicroController Unit Embedded MicroController Unit)。)。20单片机与微处理器的区别单片机与微处理器的区别(CPU,Central Processing Unit)集成了运算器和控制器的芯片,是计
11、算机系统核心部件,但并不是一台完整的计算机。(CSMC,Single Chip MicroComputer)将CPU和其他接口电路集成于一个芯片之中,使其具有计算机的基本功能。其中包括以下主要微型机部件:l 随机存储器RAM(Random Access Memory)l 只读存储器ROM(Read Only Memory)l 中断系统l 定时器/计数器l I/O(Input/Output)口电路21单片机及其发展过程单片机及其发展过程 单片机的发展过程 原始阶段1971年1月,INTEL公司的特德霍夫在与日本商业通讯公司合作研制台式计算器时,将原始方案的十几个芯片压缩成三个集成电路芯片。其中的
12、两个芯片分别用于存储程序和数据,另一芯片集成了运算器和控制器及一些寄存器,称为微处理器(即Intel 4004)。22单片机及其展过程单片机及其展过程 单片机的发展过程 发展阶段1976年Intel公司推出了8位的MCS-48系列的单片机,以其体积小、重量轻、控制功能齐全和低价格的特点,得到了广泛的应用,为单片机的发展奠定了坚实的基础。80年代初,Intel公司推出了8位的MCS-51系列的单片机,随着单片机的应用的急剧增加,其它的单片机也随之大量涌现如:Motorola的68系列,Zilog的Z8系列等,从而掀开了单片机应用的历史新篇章23单片机及其展过程单片机及其展过程 单片机现状单片机经
13、过约30年的发展,已经形成有几千种型号上百种品牌的半导体产业,对电子信息技术、工业控制技术、军事技术的发展起到巨大的推动作用。目前主流的单片机:51内核的系列单片机(MCS51,AT89C51等)Microchip公司的PIC系列单片机 Motorola公司的68系列 Texas Instrument公司的MSP430,16bit系列单片机 ARM内核的32bit系列单片机24单片机的特点单片机的特点单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序、固定常数及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。片内集成了少量的RAM和ROM,必要时可片外扩展。采
14、用面向控制的指令系统。为满足控制的需要,单片机有更强的逻辑控制能力,特别是具有很强的位处理能力。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法。引脚处于何种功能,可由指令来设置或由机器状态来区分。25单片机的特点单片机的特点单片机的外部扩展能力强。在内部的各种功能部分不能满足单片机的外部扩展能力强。在内部的各种功能部分不能满足应用需求时,均可在外部进行扩展(如扩展应用需求时,均可在外部进行扩展(如扩展ROM、RAM,I/O接口,定时器接口,定时器/计数器,中断系统等),与许多通用的微机计数器,中断系统等),与许多通用的微机接口芯片兼容,给应用系统
15、设计带来极大的方便和灵活性接口芯片兼容,给应用系统设计带来极大的方便和灵活性。单片机的全部电路集成到一块芯片上,大大缩短了系统内信单片机的全部电路集成到一块芯片上,大大缩短了系统内信号传送距离,从而提高了抗干扰能力,应用于工业现场具有号传送距离,从而提高了抗干扰能力,应用于工业现场具有很好的可靠性。很好的可靠性。单片机大多采用单片机大多采用CHMOS工艺,且可以进入节电模式工作,因工艺,且可以进入节电模式工作,因而功耗较低,特别适合于电池供电的仪器仪表。而功耗较低,特别适合于电池供电的仪器仪表。26单片机的应用领域单片机的应用领域 单片机应用 汽车电子ASR牵引力控制系统 ABS防抱死制动系统
16、 ASR加速防滑控制系统 BA刹车辅助 BAS制动辅助系统 CBC制动力分配系统 多功能信息显示器 DSC动态稳定控制系统 大灯智能随动转向 定速巡航 EPS随速助力转向 EBA紧急制动辅助系统 ESP电子车身稳定装置 EBD电子制动力分配系统 空气悬挂 TRC牵引力控制系统 胎压监测装置 TCS牵引力控制系统 VSC车身稳定控制系统 无钥匙启动系统 遥控钥匙 27单片机的应用领域单片机的应用领域 单片机应用消费电子产品28单片机的应用领域单片机的应用领域 单片机应用机器人29单片机的应用领域单片机的应用领域 单片机应用 军事技术30单片机的应用领域单片机的应用领域 单片机应用 工业控制311
17、-3 1-3 国内大学生单片机与电子设计相关大赛国内大学生单片机与电子设计相关大赛 飞思卡尔智能车大赛 成电极速队 西工大飞豹 成都大学寻知二队 中国机器人大赛 全国大学生电子设计大赛 321-4.单片机应用系统开发简介单片机应用系统开发简介 硬件电路做成目标板运用PROTEL、POWERPCB、PROTEUS等软件331-4.单片机应用系统开发简介单片机应用系统开发简介 程序设计通常是C语言或者汇编语言,在特定的集成开发环境(IDE)中编程调试,比如应用最广泛的KEIL uVision334 开发系统的主要作用:(1)用户源程序的输入、修改。(2)应用系统硬件电路的检查和诊断。(3)程序的运
18、行、调试,具有单步运行、连续运行、断电设置、状态查询等功能。(4)将目标程序固化到ROM中。从软件系统来说,C语言已经成为当前举世公认的简洁、高效而又贴近硬件的高级编程语言。1-4.1-4.单片机应用系统开发简介单片机应用系统开发简介351-4.单片机应用系统开发简介单片机应用系统开发简介 调试硬件仿真器硬件仿真器目标系统开发软件361-4.单片机应用系统开发简介单片机应用系统开发简介 调试目标系统通信数据线开发软件371-4.单片机应用系统开发简介单片机应用系统开发简介 程序下载使用编程器编程器驱动软件单片机或单独存储器并行编程器381-4.单片机应用系统开发简介单片机应用系统开发简介 程序
19、下载使用ISP(In System Program在系统编程)ISP软件下载线目标系统391-5.89C51单片机简介单片机简介TQFP44 PDIP 薄四方扁平封装 双列直插式封装 401-5.89C51单片机简介单片机简介 MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51,支持ISP功能,在线更新程序、89
20、C51等)411-6.单片机中的数制、编码及数据单片机中的数制、编码及数据1.数制及数制间的转换数制及数制间的转换2.数据在计算机中的表示数据在计算机中的表示421.1.数据及数制间的转换数据及数制间的转换 二进制位:二进制位:在计算机中,二进制中的每个在计算机中,二进制中的每个0 0 或或1 1。它是表示。它是表示信息的最小单位。信息的最小单位。位(位(BitBit):):二进制代码只有二进制代码只有“0”0”和和“1”1”,在,在CPUCPU中占中占1 1位。位。字节(字节(ByteByte):):通常把通常把8 8位二进制数定义为一个字(位二进制数定义为一个字(ByteByte),),它
21、是数据处理的基本单位。它是数据处理的基本单位。字(字(WordWord):):1 1个字为个字为2 2个字节。个字节。字字 长:长:计算机一次可处理的二进制数的位数。计算机一次可处理的二进制数的位数。数据单位数据单位43进位计数制进位计数制 进位计数制是采用位置表示法,即处于不同位置的同一数字符号,所表示的数字不同。一般说来,如果数制只采用R个基本符号,则称为基R数制,R称为数制的“基数”或简称“基”;而数制中每一固定位置对应的单位值称为“权”。十进制数(十进制数(D D)Decimal System Decimal System 是人们习惯使用的进制。是人们习惯使用的进制。计算机只能计算机只
22、能“识别识别”二进制数二进制数(B)Binary System(B)Binary System。为了书写和识读方便,计算机程序需要用为了书写和识读方便,计算机程序需要用十六进制数十六进制数(H)(H)Hexadecimal SystemHexadecimal System表示。表示。十进制数、二进制数、十六进制数之间的十进制数、二进制数、十六进制数之间的关系关系、相互转换相互转换和和运算方法运算方法,是学习计算机必备的基础知识。,是学习计算机必备的基础知识。44计算机常用的进位计数制计算机常用的进位计数制 二进制 R=2 基本符号 0,1 八进制 R=8 基本符号 0,1,2,3,4,5,6,
23、7 十进制 R=10 基本符号 0,1,2,3,4,5,6,7,8,9 十六进制 R=16 基本符号 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 说明:在数后面加H标明该数是十六进制的数,同理,二进制数尾加B作标识,十进制数尾加D或省略,八进制数尾加Q,十六进制数尾则加H。使用四种进制必然产生各种数制间的相互转换问题。45计算机上采用二进制编码的好处计算机上采用二进制编码的好处(1 1)物理上容易实现(状态分明),可靠性强;)物理上容易实现(状态分明),可靠性强;(2 2)运算简单,通用性强;)运算简单,通用性强;(3 3)二进制的)二进制的0 0、1 1数码与逻辑量数码与
24、逻辑量“真真”和和“假假”的的0 0、1 1吻吻合。合。46二进制的逻辑运算二进制的逻辑运算1.逻辑与运算基本规则00=010=01=011=12.逻辑或运算基本规则0+0=01+0=0+1=11+1=13.逻辑非运算基本规则/0=1/1=04.逻辑异或运算基本规则0 0=1 1=01 0=0 1=11表示真,0表示假,三种基本运算:与、或、非47 方法:方法:除除2取余取余 余数余数 操作:操作:2 25 1 最低位最低位 2 12 0 2 6 0 2 3 1 2 1 1 最高位最高位 0 结果:结果:(25)D=(11001)B数制的转换(十进制转换为二进制)数制的转换(十进制转换为二进制
25、)整数部分:整数部分:48 小数部分:小数部分:方法:方法:乘乘2取整取整操作:操作:0.625 2 1.250 1 小数的高位小数的高位 2 0.500 0 2 1.000 1 小数的低位小数的低位 (0.625)D=(0.101)B说明说明:非纯小数的结果为整数和小数部分各自转换结果的组合。非纯小数的结果为整数和小数部分各自转换结果的组合。十进制向八进制和十六制的转换依此类推。十进制向八进制和十六制的转换依此类推。数制的转换(十进制转换为二进制)数制的转换(十进制转换为二进制)49数制的转换(十进制转换为二进制)数制的转换(十进制转换为二进制)(25.3125)D=(11001.0101)
26、B(116.84375)D=(74.D8)H50数制的转换数制的转换 (其它进制间的互换)(其它进制间的互换)1、二进制、十六进制转化成十进制:将二、十六进制数按权展开相加即为相应的十进制数。如:1101 B=123+122+021+120=13 D如:1F H=1161+15160=31 D2、十进制转换成十六进制数:将十进制数除16取余,商为0止余数倒置。如:如:100D=64H100D=64H3、二进制转换成十六进制数:将二进制数以小数点为界四位一分,不足补0,用一位十六进制数代替四位二进制数。如:1 0011 1100 B=0001 0011 1100 B=13C H4、十六进制转换成
27、二进制数:将十六进制数以小数点为界,用四位二进制数代替一位十六进制数。如:D4E H=1101 0100 1110 B16 100 余数余数 16 6 4 0 6 51计算机中的常用编码(计算机中的常用编码(BCDBCD码)码)BCD码是二进制形式的十进制码,也称为二码是二进制形式的十进制码,也称为二十进制码。十进制码。分压缩分压缩BCD码和非压缩码和非压缩BCD码:码:压缩压缩BCD码又称为码又称为8421码,它是用四位二进制编码来码,它是用四位二进制编码来表示一位十进制符号。表示一位十进制符号。例如:十进制数例如:十进制数124的压缩的压缩BCD码为码为0001 0010 0100。十进制
28、数十进制数4.56的压缩的压缩BCD码为码为0100.0101 0110。非压缩非压缩BCD码是用八位二进制来表示一位十进制符号,其码是用八位二进制来表示一位十进制符号,其中低四位二进制编码与压缩中低四位二进制编码与压缩BCD码相同,高四位任取。码相同,高四位任取。例如:十进制数例如:十进制数124的非压缩的非压缩BCD码为码为 0011 0001 0011 0010 0011 0100。52计算机中的常用编码(计算机中的常用编码(BCDBCD码)码)十进制8421BCD码二进制0 000000001 000100012 001000103 001100114 010001005 010101
29、016 011001107 011101118 100010009 1001100110 0001 0000101011 0001 0001101112 0001 0010110013 0001 0011110114 0001 0100111015 0001 0101111153计算机中的常用编码(计算机中的常用编码(ASCASC码)码)ASCASC(American Standard Code for Information Interchange)American Standard Code for Information Interchange)ASCIIASCII码用码用7 7位二进制
30、数表示:位二进制数表示:高高3 3位组位组 低低4 4位组位组 b7 b6 b5 b4 b3 b2 b154计算机中的常用编码(计算机中的常用编码(ASCASC码)码)b7b6b5 b7b6b5 b4b3b2b1 b4b3b2b1 00000000100101001001101110010010110111011011111100000000NULNULDLEDLESPSP0 0 P P、p p00010001SOHSOHDC1DC1!1 1A AQ Qa aq q00100010STXSTXDC2DC2“2 2B BR Rb br r00110011ETXETXDC3DC3#3 3C CS
31、Sc cs s01000100EOTEOTDC4DC4$4 4D DT Td dt t01010101ENQENQNAKNAK%5 5E EU Ue eu u01100110ACKACKSYNSYN&6 6F FV Vf fv v01110111BELBELETBETB7 7G GW Wg gw w10001000BSBSCANCAN(8 8H HX Xh hx x10011001HTHTEMEM)9 9I IY Yi iy y10101010LFLFSUBSUB*:J JZ Zj jz z10111011VTVTESCESC+;K K k k 11001100FFFFFSFS,N Nn n1
32、1111111SISIUSUS/?O Oo oDELDEL552.2.数据在计算机中的表示数据在计算机中的表示 在微机和单片机中,内部运算器通常只有一个补码加法器,n位寄存器/计算器组和移位控制电路等组成(部分单片机带硬件乘法器),但它恰能进行各种算数运算和逻辑操作。加法器既能做加法又能将减法运算变为加法来做,从而大大简化运算器内部的电路设计,这主要归功于人们长期来对计算机中码制的研究。56计算机中的数通常有两种:计算机中的数通常有两种:无符号数无符号数和和有符号数有符号数。无符号数由于不带符号,表示时比较简单,直接用它对应无符号数由于不带符号,表示时比较简单,直接用它对应的二进制形式表示,例
33、如:假设机器字长为的二进制形式表示,例如:假设机器字长为8位,位,123表示成表示成01111011B。有符号数带有正负号有符号数带有正负号,通常,在计算机中表示有符号数时,通常,在计算机中表示有符号数时,在数的前面加一位,作为符号位。在数的前面加一位,作为符号位。正数表示为正数表示为0,负数表示为,负数表示为1,其余的位用以表示数的大小。其余的位用以表示数的大小。这种连同一个符号位在一起作为这种连同一个符号位在一起作为一个数,称为机器数,它的数值称为机器数的真值。一个数,称为机器数,它的数值称为机器数的真值。符号位符号位数值位数值位机器数在计算机中有三种表示法:机器数在计算机中有三种表示法:
34、原码原码、反码反码和和补码补码。数据在计算机中的表示数据在计算机中的表示57 原码表示时,最高位为符号位,正数用原码表示时,最高位为符号位,正数用0表示,负数用表示,负数用1表示,表示,其余的位用于表示数的绝对值。其余的位用于表示数的绝对值。对于一个对于一个N位的二进制,它的原码表示范围为位的二进制,它的原码表示范围为-(2n-1-1)+(2n-1-1)。例如:如果用例如:如果用8位二进制表示原码,则数的范围为位二进制表示原码,则数的范围为-127+127。原码表示时,假设机器字长为原码表示时,假设机器字长为8位,位,-0的编码为的编码为10000000,+0的的编码为编码为00000000。
35、【例】【例】求求+67、-25的原码(机器字长的原码(机器字长8位)。位)。因为因为 +67=67=1000011B-25=25=11001B所以所以 +67原原=01000011B -25原原=10011001B符号位符号位数值位数值位原原 码码58原码小结:原码小结:用最高位表示符号位,数值部分为其真值的绝对值。用最高位表示符号位,数值部分为其真值的绝对值。若为若为“0”:代表正数;:代表正数;若为若为“1”:代表负数。:代表负数。二进制(真值):二进制(真值):+1110101 0000101 原原 码:码:01110101 10000101 原码可表示为:原码可表示为:X (2nX0)
36、X原原=2n+|X|(0X2n)n为二进制数的位数。为二进制数的位数。8位原码表示数的范围:位原码表示数的范围:127+127。优缺点:优缺点:简单、转换方便。但加减运算不便。简单、转换方便。但加减运算不便。原原 码码59 反码表示时,反码表示时,最高位为符号位,正数用最高位为符号位,正数用0表示,负数用表示,负数用1表示,表示,正数正数的反码与原码相同,而负数的反码可在原码的基础之上,符号位不变,的反码与原码相同,而负数的反码可在原码的基础之上,符号位不变,其余位取反得到。其余位取反得到。对于一个对于一个n位的二进制,它的反码表示范围为位的二进制,它的反码表示范围为-(2n-1-1)+(2n
37、-1-1),对,对于于0,假设机器字长为,假设机器字长为8位,位,-0的反码为的反码为11111111B,+0的反码为的反码为00000000B。【例】【例】求求+67、-25的反码(机器字长的反码(机器字长8位)。位)。因为因为+67原原=01000011B-25原原=10011001B所以所以+67反反=01000011B-25反反=11100110B反反 码码60反码小结:反码小结:对正数,为其原码本身;对正数,为其原码本身;对负数,其反码为:除符号位外,对负数,其反码为:除符号位外,逐位取反所得到的结果。逐位取反所得到的结果。二进制(真值):二进制(真值):+1011 1011 原码:
38、原码:01011 11011 反码:反码:01011 10100 反码可表示为:反码可表示为:X (2nX0)X反反=2n1|X|(0X2n)8位反码表示数的范围:位反码表示数的范围:127+127。优缺点:优缺点:运算也不方便。运算也不方便。反反 码码61 补码表示时,补码表示时,最高位为符号位,正数用最高位为符号位,正数用0表示,负数用表示,负数用1表示,正数的补码与原码相同,而负数的补码可在原码的基表示,正数的补码与原码相同,而负数的补码可在原码的基础之上,符号位不变,其余位取反,末位加础之上,符号位不变,其余位取反,末位加1得到。得到。对于一个对于一个负数负数X,X的补码也可用的补码也可用2n-X 得到,其中得到,其中n为计算机字长。为计算机字长。【例】【例】求求+67、-25的补码(机器字长的补码(机器字长8位)。位)。因为因为+67原原=01000011B-25原原=10011001B所以所以+67补补=01000011B-25补补=11100111B 另外,对于计算补码,也可用一种另外,对于计算补码,也可用一种求补运算方法求补运算方法求得。求得。补补 码码 结结 语语