第1章 绪 论 ● 教学目标: 介绍计算机的发展历史和单片机发展趋势 介绍计算机数的表示方法及运算 第1章 绪 论 ● 教学目标: 介绍计算机的发展历史和单片机发展趋势 介绍计算机数的表示方法及运算 介绍计算机中常用数制与编码 介绍微型计算机基本概念和软硬件结构 ● 学习要求: 熟悉计算机和单片机的发展历史; 掌握各进制数之间的转换和原码、反码、补码的表示及BCD码、ASCII码的表示; 掌握微型计算机常用基本概念;了解微型计算机的硬件结构和软件系统。
1.1计算机和单片机的发展 1.1.1计算机的发展历史 1946年2月,第一台数字式电子计算机诞生。 到今天为止,计算机的发展已经历了四代。 1946~1957年,第一代计算机是电子管计算机。 计算机的逻辑元件采用的是电子管;主存储器采用磁鼓、磁芯;外存储器开始采用磁带。 软件主要用机器语言编写程序,后期发展为 采用汇编语言编写程序。 这时的计算机主要用于科学计算。
1957~1965年,第二代计算机是晶体管计算机。 计算机的逻辑元件为晶体管;主存储器仍用磁芯;外存储器已开始使用磁盘。软件有了很大发展,出现了各种高级语言及编译程序。 用于各种事务的数据处理,并开始用于工业控制。 1965~1971年,第三代计算机是集成电路计算机 。 计算机逻辑元件已开始采用小规模和中规模的集成电路(SSI和MSI),主存储器仍以磁芯为主。 软件方面已出现了分时操作系统,会话式的高级语言也有相当的发展。计算机的应用范围也日益扩大,小型计算机已开始用于企事业管理与工业控制。
从1971年以后,出现了第四代计算机。 计算机逻辑元件采用大规模、超大规模集成电路为主要部件。内存储器逻辑元件开始采用半导体存储器,外存储器采用磁盘和光盘。在软件方法上产生了结构化程序设计和面向对象程序设计的思想。另外,网络操作系统、数据库管理系统得到广泛应用。微处理器(Microprocessor)和微型计算机(Microcomputer)也在这一阶段诞生,并获得飞速发展。 从以上可以看出,每—次计算机逻辑元件的改变,硬件结构和软件技术的改进,都会使计算机得到一次质的飞跃发展。这主要体现在与以前相比:在速度方面,提高了千万倍;在存储容量方面,提高了千万倍;在体积方面,缩小了千万倍;在软件性能方面,提高了百万倍;而在价格方面,降为万分之几。
计算机的发展趋势主要有两方面: 一方面向着高速、智能化的超级巨型机的方向发展;另一方面向着微型机的方向发展。 巨型计算机主要用于大型科学研究和实验以及超高速数学计算。它的研制水平标志着整个国家的科学技术和工业发展的程度,象征着一个国家的实力。 微型机的诞生揭开了计算机神秘的面纱。微型计算机与巨、大、中、小型机的区别主要是,其中央处理器CPU(Central Processing Unit)是集成在一个小硅片上,而巨、大、中、小型计算机的CPU则是由相当多的电路组成的。 在微机的大家族中,单片微型计算机(以下简称单片机)异军突起,发展极为迅速。 单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初来源于“Single Chip Microcomputer",简称SCM。
1.1.2单片机的发展历史 单片机的发展过程: (1)第一阶段(1976一1978) 以Intel公司首先推出的MCS-48系列单片微型计算机为代表。它以体积小、功能全、价格低等特点,赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展过程中的一个重要阶段。
(2)第二阶段(1978—1982) Intel公司在MCS-48基础上推出了完善的、典型的MCS-51单片机系列。它在以下几个方面完善了单片机体系。 ① MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。 ② CPU外围功能单元的集中管理模式。 ③ 体现工控特性的位地址空间及位操作方式。 ④ 指令系统趋于丰富和完善,增加了许多突出控制功能的指令。 Intel公司在MCS-48基础上推出了完善的、典型的MCS-51单片机系列。
(3)第三阶段(1982—1990) 在8位单片机的基础上,推出了16位单片机 ,也是单片机向微控制器发展的阶段。 随着MCS—5l系列的广泛应用,许多电气厂商竞相使用80C51的内核技术,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路功能,强化了智能控制器的特征。
(4)第四阶段(1990之后) 在此阶段,随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。 单片机的种类很多,到目前为止,世界各国厂商已研制出大约50个系列、30多个品种的单片机的产品。 最具典型代表的应属Intel公司的MCS-51系列单片机。 虽然它仍然是8位的单片机,但其功能强,具有品种全、兼容性强、软硬件资料丰富等特点。因此,MCS-51应用非常广泛,直到现在MCS-51仍不失为单片机中的主流机型。这主要由于在工业控制、智能仪表、家用电器、IC卡等诸多应用领域,8位单片机系列在性能、价格两方面都做到了较好的兼顾。 估计在未来十年内,8位单片机仍将是单片机中的主流机型。故而本书仍以MCS-51系列单片机为主线来进行讲授。
1.1.3单片机的发展趋势 发展趋势主要有以下几个方面 1.多功能 在单片机中尽可能多地把应用所需的存储器、各种功能的I/O口都集成在一块芯片内,使单片机的功能更加强大。如把LED、LCD或VFD显示驱动器也开始集成在8位单片机中。
2.高性能 进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性,采用精简指令系统计算机RISC(Reduced Instruction Set Computer)结构和流水线技术,大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能,使单片机的性能明显地优于同类型的微处理器。单片机集成度进—步提高,有的单片机的寻址能力已突破64 KB的限制,8位、16位的单片机有的寻址能力已达到1 MB和16 MB。片内ROM的容量可达64 KB,RAM的容量可达2 KB。
3.低电压、低功耗 允许使用的电压范围越来越宽,一般在36V范围内工作,有的已能在1. 2V或0 3.低电压、低功耗 允许使用的电压范围越来越宽,一般在36V范围内工作,有的已能在1.2V或0.9V电压下工作。。几乎所有的单片机都具有省电运行方式。单片机的功耗已从mA级降到μA级,甚至1μA以下,在一粒钮扣电池下就可长期工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。 4.低价格 现在,市面上8031,89c51单片机12元~15元左右。
1.2计算机中数的表示方法及运算 1.2.1 机器数和真值 概念: 机器数——一个数在计算机中的表示形式。 真值——即为该机器数的实际算术值。 字——在计算机中,作为数据传送、存贮和运算基本单位的一组二进制字符称为一个字(Word)。 字长—— 一个字中的二进制的位数称为字长(Word Length)。
机器数有以下几个特点: 1.机器数所能表示的数的范围受到计算机字长的限制 如对于8位字长的计算机来说,机器数的范围为(0000 0000)2(1111 1111)2,即对应于十进制数为0~255。 为了扩大机器数表示的范围,有时可以用两个字甚至多个字表示一个数,例如对于8位机来说,若用两个字来表示一个正数,其数值范围为065535。
2.机器数只用来表示正数,这时称为无符号数 当用来既表示正数也可以表示负数时,这时称为带符号数。此时,数的符号在机器中就数码化了,即将一个字的最高位定为符号位,其余各位为数值位。 最高位为0表示正数,最高位为1表示负数。 例如:N1=(+101 1001)2的机器数可表示为:N1=(0101 1001)2 N2=(-110 1011)2的机器数可表示为N2=(1110 101l)2。 带符号数也可以用两个字来表示一个数,此时,符号位仍定为两个字的最高一位。
3.机器数可以用来表示带小数点的数。 有两种表示方法:定点表示法和浮点表示法。 对于任意一个二进制数N总可以表示为纯整数(或纯小数)和一个2的整数次幂的乘积:N=2pS。其中S称为N的尾数,P称为N的阶码,2称为阶码的底。 在定点表示法中,小数点在数中的位置是固定不变的,一般固定在数值部分的最高位之前或最低位之后。通常定点表示法中P=0,定点数只有符号位和数值部分。
浮点数表示的数的范围远远超过定点数,但是浮点数的算术运算也要复杂得多。微型计算机中这两种表示法都用,但用得较多的是定点表示法. 计算机中的定点数格式为: 在浮点表示法中,小数点在数中的位置是浮动的,因而阶码P是一个可变的数值,它可为正数,也可为负数。同样,尾数S可为正数,也可为负数。故在浮点表示法中阶码和尾数要分别表示,并且各自都有自己的符号位。 计算机中浮点数格式为: 浮点数表示的数的范围远远超过定点数,但是浮点数的算术运算也要复杂得多。微型计算机中这两种表示法都用,但用得较多的是定点表示法. 符号 .数值部分 符号 数值部分 . 或 阶 符 阶 码 尾 符 尾 数
1.2.2 原码、反码和补码 在计算机里,带符号数的机器数有原码、反码和补码三种表示方法。 1.原码 正数的符号位用“0”表示,负数的符号位用“1”表示,其余各位表示数值,这种表示法称为原码。 例如:Xl=[+100 0001]2= +65 [X1]原=0100 0001 X2=[-100 0001]2= -65 [X2]原=1100 0001 左边表示的数称为真值,即为某数的实际算术值。右边为用原码表示的数,两者的最高位分别用“0”、“l”代替符号位的“+”、“-”。 在原码表示法中,0有两种表示法,即: [+0]原=0000 0000,[-0]原=1000 0000
2.反码 一个数的反码可由原码求得。如果是正数,则其反码与原码相同;如果是负数,则其反码除符号位为1外,其它各数位均按位取反,即1转换为0,0转换为1。 例如:Xl=+100 000l [X1]反=0100 0001 X2=-100 0001 [X2]反=1011 1110 如果已知一个数的反码,要求它所表示的真值,若是正数则可直接求得,若是负数则可将符号位除外的数值部分各位取反得到负数的原码,然后再求真值。 例如:[X1]反=0100 0001 [X1]原=0100 0001 X1= +65 [X2]反=1011 1110 [X2]原=1100 0001 X2=-65 在反码表示法中,零也有两种表示形式,即: [+0]反=0000 0000 [-0]反=1111 1111。
3.补码 一个数的补码亦很容易由反码求得。如果是正数,则其补码与反码相同;如果是负数,则其补码为反码加1,即“求反加1”。 例如:Xl=+100 0001 [X1]补=0100 0001 X2=-100 0001 [X2]补=[X2]反+1=1011 1110 +1=1011 1111 “求反加1”需要作两步运算,这个过程也可以简化为一步,即符号位不变,只对原码各位中最低一位1以左的各位求反,而最低一位1和右边各位都不变,即可得到负数的补码。 已知X的补码,求X的原码时,可以将X的补码当作X原码形式,再求一次X的补码得到,即[[X]补]补=[X ]原。
例如:已知[X]补= 1011 1111,[Y]补=0001 0110,求X、Y的真值。 解:(1)[X ]原= [[X]补]补=[1011 1111] 补 = 1100 0000+1=1100 0001 因为X为负数,所以X的真值为: X= -100 0001B= -65 (2)[Y]原= [[Y]补]补=[0001 0110] 补=0001 0110 因为Y为正数,所以Y的真值为: Y= 0001 0110B= +22 在补码表示法中,0只有一种表示形式,即: [0]补=0000 0000 对于8位二进制数来说,用补码所表示的数的范围为:-128 +127
1.2.3 补码的运算 一般而言,两个数的补码运算可按以下步骤进行: 1.把参与运算的两数连同其前面的正负号,变成补码; 2.对补码做加法,得到两数运算结果的补码,若最高位上有进位则舍弃不要; 3.若要求运算结果的真值,则按补码数求真值的办法进行。
例1-1 用补码运算求23-11 解:[23]补=0001 0111 , [-11]补=1111 0101,用二进制运算如下: 例1-1 用补码运算求23-11 解:[23]补=0001 0111 , [-11]补=1111 0101,用二进制运算如下: 0 0 0 l 0 1 1 1 +)1 1 1 l 0 1 0 1 1 0 0 0 0 1 1 0 0 因为在8位机中,最高位D7的进位已超出计算机字长的范围,所以是自然丢失的。由上面运算可知: [23]补+[-11]补=0000 1100 由此可见,在不考虑最高位产生进位的情况下,作减法运算与补码相加的结果完全相同。
例1-2 用补码运算求(-5)+(-6) 解:[-5]补=1111 1011,[-6]补=1111 1010 用二进制运算如下: 1 1 1 1 1 0 1 1 +)1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 [-5]补+[-6]补=1111 1011+1111 1010 = 1 1 1 1 0 1 0 1 对补码运算的结果仍为补码。本例所求和数符号位为1,即和为负数的补码。
例1-3 用补码运算求64 –10,并对运算结果求真值。 例1-3 用补码运算求64 –10,并对运算结果求真值。 解:64 –10=64+(-10) (1)对两数求补码: [64]补=0100 0000 [-10]补=1111 0110 (2)做加法: 0100 0000+1111 0110 = 0011 0110 (3)求真值。由于是正数,可直接求: (0011 0110)2=54
例1-4 用补码运算求64-65,并对运算结果求真值。 例1-4 用补码运算求64-65,并对运算结果求真值。 解:64-65=64+(-65) (1)对两数求补码 [64]补=0100 0000 [-65]补=1011 1111 (2) 做加法: 0100 0000+1011 1111=1111 1111
例1-4 用补码运算求64-65,并对运算结果求真值。 例1-4 用补码运算求64-65,并对运算结果求真值。 (3)求真值。由于是负数,把结果再求一次补码,得原码,再求 真值。 [1111 1111]补= [1000 0001] 原= -1 若参加运算的两个补码数相加的结果,超过了机器所允许表示的范围,得出了错误的结果,这种情况称为溢出。如两正数相加符号位为1,变为负数;两负数相加符号位为0,变为正数。
例1-5 用补码运算求64+65。 解:(1)对两数求补码 [64]补=0100 0000 [65]补=0100 000l (2)做加法: 例1-5 用补码运算求64+65。 解:(1)对两数求补码 [64]补=0100 0000 [65]补=0100 000l (2)做加法: 0100 0000+0100 0001=1000 0001 此时两个正数相加,其结果的符号位为1,表明出现了溢出。也就是说,在字长8位的情况下,64+65不可能通过单字表示的补码运算得出正确的结果。为了得到正确结果,可采用双字表示(16位)的补码来运算:
例1-5 用补码运算求64+65。 [64]补=0000 0000 0100 0000 [65]补=0000 0000 0100 000l [64+65]补=0000 0000 1000 0001 ,真值为129 此时,和的16位补码数的最高位仍为0,因此没有出现溢出,结果是正确的。 由以上例子可见,当数用补码表示时,无论是加法还是减法都可采用加法运算,而且是连同符号位一起进行的,只要不溢出,就能得到正确结果。
1.3 计算机中常用数制与编码 1.3.1 数制及数制间的转换 一、进位计数制 进位计数制有以下两个特点: (1)有一个固定的基数r,数的每一位只能取r个不同的数字,即所使用的数码为0,1,2,……,r-1。 (2)逢r进位,它的第i个数位对应于一个固定的值ri,ri称为该位的“权”。小数点左面各位的权是基数r的正次幂,依次为0,1,2,…,m次幂,小数点右面各位的权是基数r的负次幂,依次为 -1,-2,…,-n次幂。
1.十进制 十进制的基数为10,它所使用的数码为0~9,共l0个数字。十进制各位的权是以10为底的幂,即每个数所处的位置不同,它的值是不同的,每一位数是其右边相邻那位数的10倍。 例如,数435.32就是下列多项式的缩写 435.32D=4102+3101+5100+310-1+210-2 上式中的后缀D(Decimal)表示该数为十进制数,通常对十进制数可不加后缀。
2.二进制 二进制的基数为2,它所使用的数码为0、1,共2个。二进制各位的权是以2为底的幂,即…,22,21,20,2-1,2-2,…。 例如,二进制数1011.101相当于十进制的数是: 1011.101B=123+022+121+120+12-1+02-2+12-3 二进制数的运算规则类似于十进制,加法为逢二进一,减法为借一为二。利用加法和减法就可以进行乘法、除法以及其它数值运算。 上式中的后缀B(Binary)表示该数为二进制数。
3.十六进制 十六进制的基数为16,它所使用的数码共有16个:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A~F相当于十进制数的l0~15。十六进制的权是以16为底的幂,即…,162,161,160,16-1,16-2,…。 例如,十六进制数A3E.8F相当于十进制的数是: A3E.8FH= 10162+3161+14160+8161+1516-2 上式中的后缀H(Hexadecimal)表示该数为十六进制数。十六进制数如是字母打头,则在使用汇编指令时前面需加一个0。
二、数制的转换 1.二进制数、十六进制数转换成十进制数 根据定义,只需将二、十六进制数按权展开后相加即可。 例如: 1011B=123+022+121+120=1l A4H=10161+4160=164
2.十进制数转换成二进制数、十六进制数 一个十进制整数转换成二进制数(或十六进制数)时,通常采用“除二取余”(或除十六取余)法,即用“2”(或16)连续除十进制数至商为0,逆序排列余数即可得到。 十进制小数部分转换成二进制数(或十六进制数)时,通常采用“乘2取整” (或乘十六取整)的方法得到。即:将小数部分十进制数一次一次地纯小数部分乘2(或16),把每次得到的整数按顺序排列,就得到用二进制数(或十六进制数)表示的小数。
例1-6 将62.875转换成二进制数。 解:(1)十进制整数62转换为二进制数,采用 “除二取余”法。 例1-6 将62.875转换成二进制数。 解:(1)十进制整数62转换为二进制数,采用 “除二取余”法。 2 62 …… 余数= 0 低位 2 31 …… 余数= 1 2 15 …… 余数= 1 2 7 …… 余数= 1 2 3 …… 余数= 1 1 …… 余数= 1 高位 按余数的逆序排列,即得结果: 62D=111110B
(2)十进制小数0.6875转换为二进制数,采用“乘二取整”法。 × 2 1.3750 整数部分=1 高位 0.3750 0.7500 整数部分=0 0.7500 × 2 1.5000 整数部分=1 0.5000 1.0000 整数部分=1 低位 按整数的顺序排列,即得结果:0.6875 = 0.1011B
3.二进制数与十六进制数的相互转换 表1-1 十进制、二进制和十六进制数转换 二进制数与十六进制数的相互转换比较简单,见表1-1十进制、二进制和十六进制数转换表。 表1-1 十进制、二进制和十六进制数转换 十进制数(D) 二进制数(B) 十六进制数(H) 0000 8 1000 1 0001 9 1001 2 0010 10 1010 A 3 0011 11 1011 B 4 0100 12 1100 C 5 0101 13 1101 D 6 0110 14 1110 E 7 0111 15 1111 F
(1)二进制数转换成十六进制数 (2)十六进制数转换成二进制数 转换时,将二进制数整数部分由右向左每4位一分段,最后不足部分左面补零;小数部分由左向右每4位一分段,最后不足部分右面补零,然后,每4位二进制数用1位十六进制数代替,便转换成了十六进制。 例如: 1011110101.110 = 0010 1111 0101.1100 = 2F5.CH 2 F 5 C (2)十六进制数转换成二进制数 转换时,只要将每一位十六进制数用对应的4位二进制数代替,便转换成了二进制数。 例如:BD5.6H = 1011 1101 0101.0110B B D 5 6
1.3.2 计算机中常用编码 1.BCD编码 BCD(Binary Coded Decimal)编码就是用二进制代码表示的十进制数,即二—十进制编码。在BCD码中是用四位二进制数0000~1001给0~9这10个数字编码。 BCD码与十进制数的相互转换见表1-2。 表1-2 BCD码与十进制数的相互转换 BCD码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 十进制 1 2 3 4 5 6 7 8 9
BCD码与二进制之间的转换不是直接的,要先经过十进制,然后再转换为二进制,反之过程类似。 按照BCD的十位编码与十进制的关系,可以很容易地实现BCD码与十进制数之间的转换。 例如:(0100 1001 0111)BCD=497 BCD码与二进制之间的转换不是直接的,要先经过十进制,然后再转换为二进制,反之过程类似。
2.ASCII编码 字母与字符用二进制码表示的方法很多。目前在计算机中最普遍采用的是ASCII码(American Standard Code for Information Interchange)。 ASCII码是一种8位代码,一般最高位可用于奇偶效验,它采用七位(b0~b6)二进制编码代表字符信息,共有128个字符,其中32个是控制字符,96个是图形字符。编码表如表1—3所示。表中最高一位未列出,在不考虑奇偶效验时,一般最高一位都以0来代替。 例如:数字0~9的ASCII码可表示为十六进制数为30H~39H,字母A~Z的ASCII码可表示为十六进制数为41H~5AH等。
表1—3 ASCII码表(美国标准信息交换码)
1.4 微型计算机的结构 1.4.1微处理器、微型计算机和单片机的概念 微处理器——也称中央处理器CPU(Central Processing Unit),它是采用大规模集成电路技术做成的芯片,芯片内集成了运算器、控制器和若干高速存储单元(寄存器)。 微型计算机(Microcomputer)——是计算机的微型化,微型计算机又简称微机。它的基本结构同样也是由输入设备、输出设备、运算器,控制器和存储器五个部分组成。
微型计算机的CPU一定是微处理器,或者说采用微处理器作CPU的计算机就是微型计算机。但它还必须配有一定容量的半导体存储器,输入输出设备的接口电路,以及系统总线,才能组成一台计算机.
微型计算机系统(Microcomputer system)——由硬件和软件两大部分组成。 所谓“硬件”,指的是构成计算机的“硬”设备; 所谓“软件”,指的是能在计算机上运行的程序,广义的软件还包括由计算机管理的数据以及有关的文档资料。 具体讲,微型计算机系统就是指以微型计算机为中心,再配上所需的外部设备(如键盘、打印机、屏幕显示器、磁盘驱动器等)、电源以及足够的软件而构成的系统。 单片微型计算机(Single chip microcomputer)——是指把CPU,内存贮器和某些I/O接口电路集成在一块大规模芯片上的微型计算机,简称为单片机。它主要用于工业控制,故又叫单片微控制器。
1.4.2 微型计算机硬件结构 ① 采用了集成在LSI(大规模集成电路)或VLSI(超大规模集成电路)芯片上的微处理器。 一般微型计算机的结构组成框图如图1—1所示。它有以下两个特点: ① 采用了集成在LSI(大规模集成电路)或VLSI(超大规模集成电路)芯片上的微处理器。 ② 整个计算机采用总线结构,所有的部件都与三条总线相连,各部件之间的数据和信号传送均通过总线传送。
图1-1中,从微处理器(CPU)引出了若干信号线,即系统总线。CPU通过它们与存储器、I/O接口和I/O设备进行信息交换。
1.系统总线(System Bus) 总线(Bus)——就是将多个装置或部件连接起来并传送信息的公共通道。总线实际上是一组传输信号的线路。 系统总线一般分为三种类型,即地址总线、数据总线和控制总线,有时也称为三大总线。 (1)地址总线(Address Bus简称AB) 传输CPU发出的地址信息,选择需要访问的存贮单元和I/O接口电路。 地址总线是单向的,只能由CPU向外传送地址信息。地址总线的位数决定了可以直接访问的内存贮器的单元数目。
(2)数据总线(Data Bus简称DB) 用来在微处理器和存贮器以及输入/输出(I/O)接口之间传送数据,如从存贮器中取数据到CPU,把运算结果从CPU送到外部输出设备等。微处理器的位数和外部数据总线的位数一致。 数据总线是双向的,即数据可从CPU传出,也可以从外部送入CPU。
(3)控制总线(Control Bus简称CB) 可以是CPU的控制信号或状态信号送往外界,也可以是外部设备的请求信号或联络信号输入到CPU。对于每一条具体的控制线,信号的传送方向则是固定的,个别信号线还兼有双向功能。 系统总线是传送信息的通道,非常繁忙。其使用特点如下: ① 在某一时刻,只能由一个总线主控设备控制总线,其它总线主控设备必须放弃总线的控制权。 ② 在连接系统总线的各个设备中,同时只能有一个发送者向总线发送信号,但可以从总线上同时获取信号。
2.存储器(Memory) 微机上的存储器分为“主存”和“辅存”两类,当前它们主要由半导体存储器和磁盘、光盘存储器等分别构成。 比较: 存储器就是存放程序和数据的部件。有了存储器,计算机才能进行程序的运行和数据的处理。 微机上的存储器分为“主存”和“辅存”两类,当前它们主要由半导体存储器和磁盘、光盘存储器等分别构成。 比较: (1)半导体存储器造价高、速度快、但容量小,主要用来存放当前正在运行的程序和正在待处理的数据;磁盘、光盘造价低、容量大、信息可长期保存,但速度慢,主要用来存放暂不运行的程序和暂不处理的数据。 (2)半导体存储器被安排在机内的电路板上,CPU可以通过总线直接存取,因而也称“内存”; 磁盘、光盘被安装在主机箱内或主机箱外,CPU通过I/O接口进行存取,所以也称“外存”。
ROM只允许只读操作,即在正常工作时只能读取其中的信息;RAM可进行读写操作,除读出外也可写入,所以又称为“读写存储器”。 半导体存储器分为“只读存储器”ROM (Read Only Memory)和“随机存取存储器”RAM(Random Access Memory)。 ROM只允许只读操作,即在正常工作时只能读取其中的信息;RAM可进行读写操作,除读出外也可写入,所以又称为“读写存储器”。 一般的RAM在断电后原存放信息将会丢失,而ROM中的信息可在断电后长期保存。
3. I/O设备和I/O接口 微机配置的常见I/O设备: 键盘、显示器、鼠标器、打印机、绘图仪、扫描仪磁盘驱动器等。 I/O接口:匹配外设与CPU的工作速度、完成信号变换、数据缓冲和CPU联络等工作。 在微机系统中,较复杂的I/O接口电路一般都被做在电路插板上,这种电路插板又被称为“卡”(Card),只要将它们插入总线插槽(I/O通道)就等于将它们连到了系统总线。
微机的软件系统由系统软件和应用软件组成: 1.系统软件 系统软件通常包括:操作系统、语言处理程序、诊断调试程序、设备驱动程序、以及为提高机器效率而设计的各种程序。 在系统软件中,最重要的软件是操作系统、即OS (Operating system)。所有的应用程序、包括系统软件中的一些程序,都要在操作系统构筑的平台上运行。
操作系统的基本功能是: ① 负责管理、调度整个系统的软硬件资源,包括:CPU、存储器、各I/O设备等硬件资源,以及文件、目录、进程、任务等软件资源。 ② 向用户提供最基本的交互界面,以方便用户的使用、提高系统的工作效率。当前,新型操作系统还向用户提供了更多可利用的软件资源,如各种实用程序和函数库等。 对于单片机控制系统开发完成后,其系统里的监控程序,也相当一个小的操作系统的功能,它完成管理和协调各控制源的要求任务。
2.应用软件 应用软件是围绕某项应用、面向某些对象而编制的一类软件。从大的方面来讲,它可以是面向数据库管理、面向计算机辅助设计和制造、面向文字处理的软件或软件包;从小的方面来说,它可以是为某个单位、某项工作的具体需要,或按某项控制的要求,而开发的软件。例如,单片机控制系统,根据实时控制的要求开发完成的控制程序,就是一个应用软件。
本章主要介绍了计算机和单片机的发展历史及单片机的发展趋势,对计算机的一些基础知识和概念做了阐述。要求掌握的内容有:各进制数之间的转换;原码、反码和补码的表示;BCD码、ASCII码的表示;微处理器、微型计算机、单片机、三大总线即地址总线、数据总线、控制总线等概念的解释;微型计算机硬件结构和软件系统的基本框架内容。 小 结
思考题与习题一 1.将下列二进制数转换为十进制数和十六进制数。 (1) 0001 1010 B (2) 0011 0100 B (3) 1010 1011 B 2.将下列十进制数转换成BCD码和十六进制数。 (1)29 (2)53 (3)35.75 (4)47.5 3.将下列BCD码转换为十进制数。 (1)(0100 0011)BCD (2)(0010 1001)BCD 4.什么叫原码、反码和补码? 5.已知原码如下,写出其反码和补码。 (1) [X]原=0101 1001 (3) [X]原=1101 1011 (2) [X]原=0011 1110 (4) [X]原=1111 1100 6.当微机把下列数看成无符号数时,它们相应的十进制数为多少? 若把它们看成是补码,最高位为符号位,求其真值? (1)1000 1110 (2)1011 0000 (3)0001 0001 (4)0111 0101 7.何谓微处理器、微型计算机、单片机? 8.什么叫总线?系统总线分为哪三大总线,各有什么作用? 9.什么叫系统软件?什么叫应用软件?