1、单片机原理与应用(樊明龙)(第二版),化学工业出版社 出版时间:2014-2 :9787122187161 高职高专教材,项目1 基础知识和工具软件的使用,任务1 熟悉计算机中的数制与编码 任务2 学会使用软件开发平台KEIL 任务3 学会使用硬件仿真平台PROTEUS,任务1 熟悉计算机中的数制与编码,计算机所处理的各式各样的信息,本质上可归为两类:一类是数码,另一类是代码。无论是数码还是代码,均以二进制数的形式表示 .1.1.1数制 计数体制简称为数制 。按进位的原则进行计数的方法称为进位计数制 。基是某种数制所使用的数码的个数 ;位权则表示多位数中每一位所具有的值的大小 。,1.十进制数
2、(Decimal Number) 十进制数的特点有:基为10;各位的权是以10为底的幂次10i(i =0,1,2,);遵守“逢十进一”的进位规则。按权展开式 :,例如,数4321可以展开为:,2.二进制数(Binary Number) 二进制数每位上只有0和1两个数字,基是2,使用“逢二进一”的计数规律,二进制数从小到大的计数顺序为:0,1,10,11,100,二进制数的位权是2i,一个任意二进制数B(n位整数)的按权展开式是:,例如,数00100011B可以展开为:100011B=125+024+023+022+121+120=35D,常把8位二进制数称为字节(Byte),16位二进制数称为
3、字(Word),32位二进制数称为双字(Double Word)。,3十六进制数(Hexadecimal Number),十六进制数有16个计数数字,它们分别是:09、A、B、C、D、E和F。这里的AF对应着十进制中的1015。,通常在一个数的后面加上一个英文字母来表明它的数制形式,二进制数后跟B,十进制数后跟D,十六进制数后跟H。十进制数的标志经常省略。十六进制数如果是字母打头,则需在前面加一个0 。,例:0A4H是一个十六进制数,它的按权展开式是:,1.1.2数制的转换,1二进制与十进制的相互转换,(1)二进制数转换为十进制数 将二进制数按权展开相加之和即是等值的十进制数。例如:,因此,1
4、101101B=109D。,(2)十进制数转换为二进制数 把十进制整数转换为二进制整数,采用“除2取余”法。例如,把21转化为二进制数的过程如下:,所以,21D=10101B。,2.二进制与十六进制的相互转换,(1)二进制数转换为十六进制数,转换的基本准则是4位二进制数对应着1位十六进制数。由右向左每4位分为一组,不足4位时,在前面补0。然后将每一组用对应的十六进制数代替即可。,例1-2 将二进制数110111000100010B转换成十六进制数。解:按每4位进行分组,结果:110 1110 0010 0010B=6E22H,(2)十六进制数转换为二进制数,将十六进制数转换为对应的二进制数时,
5、只要把十六进制的每一位用相应的4位二进制数代替即可。例如2CH=0010 1100B。,1.1.3原码、反码和补码,计算机中的二进制数根据其是否有符号位可以分为无符号数和有符号数。,无符号数所有的位都是数值位,每一位都有权值,8位二进制无符号数的数值范围是0255。,有符号数是用符号位和数值部分一起编码来表示,有符号数的最高位是符号位,通常正数的符号位用“0”表示,负数的符号位用“1”表示。,有符号数的表示方法有原码、反码和补码三种形式。,1.原码,最高位是符号位,数值部分表示这个数的绝对值,这种表示方法称为原码。 例如: +105原码0 1101001B-105原码1 1101001B 两个
6、数的数值位相同,而符号位相反。,2.反码,正数的反码和原码相同。负数的反码符号位不变,数值位为它的原码按位取反。例如:+105反码0 1101001B-105反码1 0010110B,3.补码,正数的补码和原码相同。负数的补码符号位不变,数值位为它的反码加1。例如: +105补码0 1101001B-105补码1 0010111B,8位二进制数的模是282561 000 0000B,如果两个8位数的和等于模28,我们称这两个数互为补数。 例如:两个数01101001B和10010111B就是一对补数。,8位二进制有符号数的原码与补码的对应关系如表1-2所示,1.1.4常用编码,在计算机中要用二
7、进制代码来表示各种信息(如数字、字母和标点符号等),我们把将这些信息转换成二进制代码的过程叫做编码。,编码有多种不同的方案,即有多种码制。,1.8421BCD码,将十进制数的每一位用四位二进制代码表示,通常称为二十进制编码,简称BCD(Binary Coded Decimal)码。,BCD码有多种编码方案,最常用的是8421BCD码。表1-3列出了8421BCD码与十进制数09之间的对应关系。,例如:13=(0001 0011)8421 (0100 1001 0110 0111)8421=4967,2.字符的编码ASCII码,ASCII(American Standard Code for I
8、nformation Interchange)码,美国标准信息交换码的简称,是计算机中应用最广泛的一种字符编码,用来识别数字、字母、通用符号、控制符等信息。ASCII码字符表参见附录A。,任务2 学会使用软件开发平台KEIL,KeiluVision4是德国KeilSoftware公司出品的51系列兼容单片机软件开发系统。集成开发环境包含:编译器、汇编器、实时操作系统、项目管理器、调试器。,先新建一个文件夹“D:mytest”,用来保存相关操作所产生的文件。,1.启动Keil Vision4,三个主要窗口:工程窗口、源程序编辑窗口(缺省文件名是Text1)和编译输出窗口。,2.新建工程项目及项目
9、设置,新建Vision4工程 保存新建的工程 选择Atmel公司的AT89C51单片机 项目设置,3.源程序文件的编译,文件扩展名必须输入,用汇编语言编写的源程序,扩展名是“.asm”,用C51编写的源程序,扩展名是“.c”。,4.添加源程序到项目。,5.编译、调试运行,编译源程序 ,生成HEX文件 调试运行 内部资源窗口,任务3 学会使用硬件仿真平台PROTEUS,PROTEUS软件是英国Labcenter electronics公司出版的EDA工具软件 .,1.启动PROTEUS ISIS 2.文件管理 3.建立仿真模型 建立元件库 、放置元件 、元件编辑 、电路连线 、添加程序代码到AT89C51 、启动仿真,