单片机原理与应用_第1页
单片机原理与应用_第2页
单片机原理与应用_第3页
单片机原理与应用_第4页
单片机原理与应用_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用,单片机原理与应用(续),第一章计算机基础第二章存储器第三章MCS-51单片机的组成原理第四章指令系统第五章汇编语言程序设计第六章单片机的开发与使用第七章模拟通道技术第八章单片机应用系统的设计第九章8098单片机的组成与指令系统特点第十章16位DSP单片机的组成与特点,第1章计算机基础,1.1概 述 1.2计算机中的数制、码制及运算 1.3逻辑代数与数字电路 1.4计算机的基本组成与工作过程,1.1概 述,自1971年11月,美国Intel公司推出4位微处理器Intel4004以后,微处理器迅速发展,按其集程度、体系结构、字长及综合性能,大致经历了四个发展时期,也称为四代。现在的Pentium微处理器堪称为Intel公司的第五代微处理器。 在微处理器的发展过程中,人们试图在其芯片中增加存储器、I/O接口电路、定时器/计数器、UART,甚至A/D、D/A转换器等,以提高其功能,并赋予专门的用途,比如数据采集、通信、信号传送与控制等。因此也就产生了各种具有不同功能的微处理器,称之为微控制器(Microcontroller),亦称为单片机(Single chip computer)。自1976年Intel公司推出MCS-48系列单片机以后,相继涌现出不少的生产厂家、公司及系列产品。例如Intel公司的MCS-51系列,Motorola公司的MC6801、6805,Zilog公司的Z8,Rockwell公司的6500/1系列等。,1.1概 述(续1),由于单片机结构紧凑,体积小,功能强,大量用于智能仪器仪表、前端控制设备、家用电器之中,因此也称为“嵌入式”芯片。自上世纪90年代以后,随着自动控制、网络通信、家用电器以及多媒体技术的发展,尤其是手机的大量使用,猛烈地撞击着单片机市场,使“嵌入式”芯片作为一种新的技术迅速发展。可归结为以下几个方面:(1) 增加字长,提高数据精度和处理的速度。早期字长是8位,以后发展为16位、24位和32位。但在多数应用场合,8位数据可以满足需要。因此,8位单片机与16/24/32位单片机一样,竟相发展。,1.1概 述(续2),(2) 改进制作工艺,提高单片机的整体性能,由MOS型发展成CMOS、HCMOS型,提高了芯片的集程度和器件的速度,降低了电压和功耗;内部采用大容量FLASH快闪存储器,实现在系统中烧录程序(ISP)和在应用中烧录程序(IAP)等技术。比如,Philips的P89C51RC2/RD2具有32/64KB的FLASH快闪存储器,集成有引导和擦除/烧录程序,支持ISP和IAP技术;外部时钟频率提高到33 MHz40MHz,运算速度达到50 MIPS100MIPS。,1.1概 述(续3),(3)由复杂指令集CISC(Complex instruction set computer)技术转向简单指令集RISC(Reduced instruction set computer)技术。早期的MCS-51单片机采用的是CISC技术,以后采用RISC技术,简化了体系结构,提高CPU的速度,比如Microchip的PIC12/16/17/18Fxxx微控制器等。,(4) 采用多功能模块集成技术,使一块“嵌入式”芯片具有多种功能,除了RAM/ROM、寄存器文件、定时器/计数器、并/串行接口电路、V/F变换器、A/D与D/A电路之外,已有许多单片机采用双CPU或者多CPU结构,增加锁相环路、USB、CAN、ISSC、I2C等总线接口,提供支持TCP/IP协议的通信接口。比如美国Echelon公司的Neuron3150,内置3个CPU,一个用于介质访问,一个用于数据处理器,另一个作为网络处理器。又如Philips的P89C66x,提供I2C总线传送方式。,1.1概 述(续4),(5) 将微处理器与DSP(Digital signal processor)技术结合,适时解决网络与多媒体技术所需的高速实时处理能力。比如我国台湾凌阳科技公司推出的nsp系列单片机,其16位机中增添了DSP功能,具有语音编码与解码器,内置在线仿真电路ICE(In circuit emulator)。(6) 在内部融入高级语言的编译程序,支持应用程序接口API 的使用,支持C及硬件描述语言VHDL等高级语言的使用;内置在线仿真电路ICE(In circuit emulator),支持在线编程写入,即ISP和IAP技术等。,1.1概 述(续5),1.1概 述(续6),(7) 追求低电压、宽电压、低功耗和少引脚。改进制作工艺,降低内部电压和功耗,提供宽电压使用方式,以支持不同场合的需要。比如瑞典Xemic公司的XE8301,使用电压为1.2V5.5V,当运算速度为1MIPS时电流为200A,在待机状态下仅为1A;DSP56852外部仅有81个引脚。,1.1概 述(续7),如今,“嵌入式”单片机已广泛用于数值计算与处理、自动化控制、智能仪器仪表、空间探测、导弹制导、机器人、网络通信、视频电话、家用电器以及各种多媒体技术领域。以DSP单片机为内核的产品已经难以尽数,比如Web可视电话、Web电视游戏机、数字摄象机、数码相机、移动电话、手持挂网影碟机、DVD以及电视会议设备等。,1.2计算机中的数制、码制及运算,1.2.1进位计数制1.2.2二进制数的表示与基本运算1.2.3八进制与十六进制数的表示1.2.4不同进位计数制之间的转换1.2.5十进制数与字符的二进制数表示法1.2.6原码、补码、反码及运算法则1.2.7定点数与浮点数,1.2.1进位计数制,早在远古时期,人们就已经有了数的概念,并且随着生产的发展创造出许多计数的方法。其中应用最广泛、最科学的方法就是“进位计数制”。所谓进位计数制是取有序数符中的任意个,按位置排列,其相邻两位之比是一个固定的常数,这个常数称为基数。取不同的基数,则可得到不同的进位计数制。若以R表示基数,则为R进制的数,在进位时,逢R进一。,1.2.1进位计数制(续1),例如人们所熟悉的十进制数2002,就是取有序数符0,1,2,9中的2,0,0,2,按位置排列。其中两位是2,但由于所处的位置不同,所表示数值的大小也就不同。一个表示2,另一个表示2000。这就是人们常说的“个,十,百,千”,在数学上称为“权”。这样的数通常称为“加权数”或“权码”。显然,基数不同,各位的权也就不同。对于R进制的数,各位的权分别为: R3,R2,R1,R0,R-1,R-2 在计算机中,常用的进位计数制有二进制、八进制、十进制和十六进制。也就是说,R分别为2,8,10,和16。,对于十进制数,其基数为十,逢十进一,各位的权分别是: 103,102,101,100,10-1,10-2 例如:256.7,各位的权分别为102,101,100和10-1。按权展开,形式如下:256.7=2(10)2+5(10)1+6(10)0+7(10)-1一般来说,一个任意的十位制数可以表示为:(N)10=(Dn-1Dn-2D1D0.D-1D-m)10 在书写时,其后用字母D(Decimal)说明,亦称为后缀,比如23.52D。由于十进制数是人们最常用的计数方式,因此后缀D可以缺省。,=Dn-1(10)n-1+Dn-2(10)n-2+D1(10)1+D0(10)0+D-1(10)-1+D-2(10)-2+D-m(10)-m,1.2.1进位计数制(续2),1.2.2二进制数的表示与基本运算,1二进制数的表示二进制是基数为2的进位计数制,它所使用的数符为0,1和小数点“.”,各位的权如表1.1所示。例如二进制数1111.11各位的权分别为:23,22,21,20,2-1,2-2可表示为:,这里10对于任何R进制数来说,形式上一样,但表示数值的大小随着R的不同而不同。对于二进制数,10表示2,读作“么零”。在书写时,其后用字母B说明,比如101.011B。,1.2.2二进制数的表示与基本运算(续1),1.2.2二进制数的表示与基本运算(续2),1101,1001110,0110,0000,(4) 除法运算例如 11011101=101余10,00=001=010=011=1,1101,1101,+,00=001=011=1,-,11011,),101,101,101,111,10,(3) 乘法运算例如 1101110=1001110,1.2.2二进制数的表示与基本运算(续3),1.2.3八进制与十六进制数的表示,一般来说,对于任意进制的数都可以写成多项式的形式:(N)R=(Nn-1Nn-2N1N0.N-1N-m)R 其中n是整数位数,m是小数位数,Ni表示其中的一个数符。括号中的10,对于任何R进制数来说,只是形式上一样,所表示数值的大小随着R的不同而不同。,=Nn-1(10)n-1+Nn-2(10)n-2+N1(10)1+N0(10)0+N-1(10)-1+N-2(10)-2+N-m(10)-m,1八进制数的表示在进位计数制中,若令基数R=8,即得八进制数。使用的数符有0,1,7,可以O(Octal)作为后缀进行说明。但是由于O与数字0在书写时难以区分,因此常以字母Q作为后缀,比如247.52Q。2十六进制数的表示在进位计数制中,若令基数R=16,即得十六进制数,使用的数符有0,1,2,9,A(10),B(11),C(12),D(13),E(14),F(15),常用字母H(Hexadecimal)作为后缀进行说明,比如1E.5BH。,1.2.3八进制与十六进制数的表示(续),1.2.4不同进位计数制之间的转换,同一个数在不同的进位制中,其形式不同,但数值却是一样的。常用的转换方法有多项式替代法和基数乘除法。1多项式替代法是将欲转换的数展开为多项式,再将多项式中的数符和基数换成要转换的进位计数制的相应数符,然后按所要转换的进位计数制计算此多项式,其值即为转换结果。,【例1.1】二-十转换,(1001.11)2=(?)10解:(1001.11)2=(11011+01010+0101+1100+110-1+110-10)2=(123+022+021+120+12-1+12-2)10=(8+1+0.5+0.25)10=(9.75)10【例1.2】 八-十转换,(372.01)8=(?)10解:(372.01)8=(3102+7101+2100+010-1+110-2)8=(382+781+280+08-1+18-2)10=(250.015625)10,1.2.4不同进位计数制之间的转换(续1),【例1.3】 十六-十转换, (B5.8)16=(?)10解:(B5.8)16=(B101+5100+810-1)16=(11161+5160+816-1)10=(181.5)10由于人们最熟悉的是十进制运算,因此这种转换方法尤其适合于任何进制数到十进制数的转换。而且在转换过程中整数部分和小数部分一并进行。,1.2.4不同进位计数制之间的转换(续2),2基数乘除法(1) 基数除法-整数转换若将R1进制的整数转换为R2进制的数,可在R1进制中用基数R2去除该数,所得到的余数即是R2进制的最低整数位。然后对除得的商再用R2去除,于是又得一余数,这个余数就是R2进制数的次低位。如此不断进行下去,直到商为0。再将所得到余数的数符换成R2进制中相应的数符,按先后顺序由低位到高位排列起来,即得转换结果。,1.2.4不同进位计数制之间的转换(续3),【例1.4】 十-二转换,(17)10=(?)2所以(17)10=(10001)2【例1.5】十-八转换,(127)10=(?)8所以(127)10=(177)8,1.2.4不同进位计数制之间的转换(续4),【例1.6】十-十六转换,(258)10=(?)16所以(258)10=(102)16,(2)基数乘法-小数转换若将R1进制的小数转换为R2进制的数,可在R1进制中用基数R2去乘该数,所得到的整数就是R2进制数的最高小数位。然后将乘积的小数部分再用R2去乘。于是又得一整数,是R2进制数的次高小数位。如此不断进行下去,直到乘积的小数部分为0或达到转换精度为止,即得R2进制的小数。,1.2.4不同进位计数制之间的转换(续5),【例1.7】 十-二转换,(0.275)10=(?)2,1.2.4不同进位计数制之间的转换(续6),【例1.8】 十-八转换,(0.275)10=(?)8 所以(0.275)10(0.21463)8,1.2.4不同进位计数制之间的转换(续7),【例1.9】 十-十六转换(0.90)10=(?)16,所以(0.90)10(0.E6)16,1.2.4不同进位计数制之间的转换(续8),对于混小数,在转换时可把整数部分和小数部分分别转换,然后并起来。在小数转换时可能出现无限循环的情况,因此需要根据精度要求进行取舍。3二-八与二-十六转换通过上述讨论可知,任何进制数的转换总可以用多项式替代法或基数乘除法来实现。但是,对于二-八与二-十六转换来说,由于8和16都是2的整数次幂,因而转换。(1)二-八进制转换由于23=8,因此1位八进制数可用3位二进制数来表示,或者3位二进制数可用1位八进制数表示。在转换时,可直接按位进行。,1.2.4不同进位计数制之间的转换(续9),【例1.10】将二进制数1100101.0101B转换成八进制数,过程如下:从小数点开始向左和向右每3位一组,高位和低位不够3位时补0,即 即 1100101.0101B=145.24Q【例1.11】将八进制数72.46Q转换成二进制数,过程如下: 即 72.46Q=111010.100110B,2二-十六进制转换由于24=16,因此1位十六进制数可用4位二进制数表示,或者4位二进制数用1位十六进制数表示。在进行二进制数与十六进制数之间的转换时,可直接按位进行。,1.2.4不同进位计数制之间的转换(续10),【例1.12】将二进制数101101110.1001001B转换成十六进制数,过程如下: 从小数点开始向左和向右每4位一组,高位和低位不够4位时补0,即 即 101101110.1001001B=16E.92H【例1.13】将十六进制数2B8.A5H转换成二进制数,过程如下: 即 2B8.A5H=1010111000.10100101B,1.2.4不同进位计数制之间的转换(续11),1.2.5十进制数与字符的二进制数表示法,由于计算机只能识别二进制数的1和0,因此十进制数和一些字符必须用一组二进制数来表示,这组二进制数称为这个十进制数或字符的二进制编码或代码。最常用的有BCD和ASCII码。1BCD码BCD码也称二-十进制编码,选用四位二进制数顺序表示的前十个状态来表示十进制数的,对应关系如表1.2所示。,1.2.5十进制数与字符的二进制数表示法(续1),不难看出,一位十进制数的二进制编码与一般四位二进制数完全一样,各位的权从左向右依次为8,4,2,1,因此也称为8421码,是一种“加权码”或“权码”。,表1-2 BCD码,2ASCII码ASCII码是美国国家标准信息交换代码(American National Standard Code for Information Interchange),后被国际标准化组织定为国际标准编码,是目前普遍使用的一种字符编码,采用7位二进制数进行编码,可表示128种数符和命令,如表1.3所示。,1.2.5十进制数与字符的二进制数表示法(续2),表1.3ASCII码表,1.2.5十进制数与字符的二进制数表示法(续3),在实际使用时,ASCII码常以二进制数或十六进制数的形式书写。二进制写成b6b5b4b3b2b1b0,例如英文字母W的ASCII码为1010111B,数符4的ASCII码为0110100B。若用十六进制数表示,W的ASCII码为57H,4的ASCII码为34H。由于在计算机中,数据常以字节为单位存储或传送,ASCII码只占低7位,因此最高位补0,或者在传送时用作奇/偶校验位。与ASCII码类似的还有我国自己颁布的“信息处理交换用的七位编字符集”。,1.2.5十进制数与字符的二进制数表示法(续4),1.2.6原码、补码、反码及运算法则,这种用“0”和“1”作为符号,表示的数称为机器数,它所表示的实际数值称为真值。机器数有一定的长度,即字长,因此所表示数的范围就有一定的限制。比如8位可表示: 最大无符号数为255(11111111)最大带符号正数为127(01111111)当无符号数的值超过255或者带符号正数的值超过127时,称为溢出。,1.2.6原码、补码、反码及运算法则(续1),3补码与运算(1) 补码的概念人们在对表时,可以向前旋转,也可以向后倒转。比如现在是下午2点,而你的表指示的是上午10点。这时,可向前旋转4个小时;也可以向后倒转8个小时。对于12小时计时制来说,+4和-8是等价的。因此可以说,+4是-8相对于12的“补码”,12称为“模”;或者说,+4和-8相对于模12互为“补数”。早期的计算机常把减法(负数)运算转换成相应补码的加法运算,因此引入“补码”的概念。设机器字长为n,则补码的定义为:,1.2.6原码、补码、反码及运算法则(续2),其中2n称为模。例如:X=+1001101则X补=01001101Y=-0101011则Y补=10101100当机器字长n=8时,+1补=00000001 -1补=11111111+127补=01111111 -127补=10000001+0补=-0补=00000000补码的求法可概括为:正数的补码与原码相同,负数的补码是将其原码除符号位外,各位变反,末位加1。,1.2.6原码、补码、反码及运算法则(续3),(2) 补码运算在计算机设计的初期,减法运算主要是通过补码的加法运算来实现。运算法则如下: 补码加法X补+Y补=X+Y补 (mod 2n)其中|X|、|Y|以及|X+Y|都小于2n-1(以免溢出)。设有两个数X和Y,则X补=2n+X,Y补=2n+YX补+Y补=2n+X+2n+Y=2n+1+(X+Y)=X+Y补因此,不管带符号的两数是正数还是负数,其和的补码等于两数补码之和。,1.2.6原码、补码、反码及运算法则(续4),1.2.6原码、补码、反码及运算法则(续5),1.2.6原码、补码、反码及运算法则(续6), 补码减法补码减法法则可由补码加法推出X-Y=X+(-Y),因此:X-Y补=X+(-Y)补=X补+-Y补这就是说,求X-Y补实际上就是求X补与-Y补的和。只要求出-Y补,则X-Y补就可以按补码加法的法则进行。不难证明-Y补等于Y补的每一位(包括符号位)按位变反,末尾加1。,1.2.6原码、补码、反码及运算法则(续7),其中2n1称为模。例如:X1=+1001101则X1反=01001101X2=-0101011则X2反=11010100当机器字长n=8时,+1反=00000001-1反=11111110+127反=01111111 -127反=10000000+0反=00000000 -0原=11111111反码的求法可概括为:正数的反码与原码相同,负数的反码是将其原码除符号位外,各位变反。,1.2.6原码、补码、反码及运算法则(续8),1.2.6原码、补码、反码及运算法则(续9),(2) 反码运算与补码加减法类似,反码运算规则为:X+Y反=X反+Y反X-Y反=X反+-Y反其中-Y反等于Y反按位变反。由于反码以2n-1为模,所以相加时如果最高符号位有进位,则该进位要加到最低位去,即循环进位。,5溢出判断无论哪一种数,当它的绝对值超出计算装置的范围时,即发生溢出。假如运算装置有n位,除去符号位,还有n-1位表示数量,这样它能表示的最大值为2n-1-1。当运算结果大于2n-1-1时就要溢出一个2n-1。它进位后,占据符号位,从而使运算结果发生错误。前面所述符号位的进位不是真正的溢出,而是将模丢掉,真正的溢出是指数值最高位的进位。溢出一般发生在两个正数或两个负数相加时。溢出的判断表达式为:溢出=SXSYSS +SXSYSS另一种表达式为:溢出=CSCP,1.2.6原码、补码、反码及运算法则(续10),1.2.7定点数与浮点数,一个十进制数1234.56可写成0.123456104。同样,二进制数也写成一个小数和一个以2为底的整数次幂的乘积形式。例如:1101.011可写成0.11010112100。对于一般形式,则有:N=2JSN为任意二进制数,S是二进制纯小数,称为尾数;J是二进制整数,称为阶码。尾数S表示二进制数N的全部有效数字,阶码J表明小数点的位置。,如果阶码固定不变,则称为定点表示法,这样的数称为定点数。如果阶码可取不同的值,则称为浮点表示法,这样的数称为浮点数。(1) 定点数的表示在定点表示法中,由于阶码固定不变,因此可以省去。通常阶码取0(即纯小数),或者阶码取n-1(即整数)。例如定点数N=1010111的表示格式如图1.1所示。,1.2.7定点数与浮点数(续1),1.2.7定点数与浮点数(续2),(2) 浮点数的表示在浮点表示法中,阶码可取不同的值,但在一个计算装置中往往有固定的格式。若设阶码2位,尾数4位,比如N=2100.1010,其表示格式如图1.2所示。,1.3逻辑代数与数字电路,1.3.1逻辑代数 1.3.2门电路 1.3.3触发器 1.3.4组合逻辑电路 1.3.5时序逻辑电路,逻辑代数是在1849年由英国著名数学家乔治.布尔(Geroge Boole)创立,所以也称为布尔代数,是进行逻辑电路分析与设计的重要数学工具。它有自己的变量和运算规则,其变量用英文字母表示,取值只有0和1,因此称为逻辑变量或布尔变量。逻辑运算只有“与”、“或”、“非”三种;以后,人们又增添了“异或”和“同或”;各逻辑变量之间的关系,称为逻辑关系。逻辑运算可用专门的运算符表示,用这些运算符把各个逻辑变量连接起来的数学式称为逻辑表达式。逻辑代数也被称为开关代数。数字电路则是用来实现某种逻辑功能的电路,也是构成计算机所必不可少的基本电路。,1.3逻辑代数与数字电路(续),1“与”运算(AND) “与”运算也称为逻辑乘或逻辑积,运算符有“”或“”或“”,均读为“与”。关系式F=AB、F=AB、F=AB均表示F等于A“与”B。运算如下: 01=0例如 11001011=100000=010=0 11=1如图1.3所示,只有两个开关都闭合时电灯才亮;若有一个或两个都断开时,电灯熄灭。象这种电灯与开关之间就是逻辑“与”的关系,即F=AB,如表1.4所示,这种表称为真值表。,1.3.1逻辑代数,对于三变量的逻辑“与”运算,表达式为F=ABC。2“或”运算(OR) “或”运算也称为逻辑加或逻辑和,运算符有“+”或“”或“”,均读为“或”。关系式F=A+B、F=AB、F=AB均表示F等于A“或”B。运算如下:00=0例如 11001011=1000 01=1 10=1 11=1,表1.4 逻辑“与”真值表,表1.4(2),1.3.1逻辑代数(续1),如图1.4所示,只要两个开关中有一个闭合,或者两个都闭合时,电灯就亮;只有两个都断开时,电灯熄灭。象这种电灯与开关之间就是逻辑“或”的关系,即F=A+B,其真值表如表1.5所示。,1.3.1逻辑代数(续2),表1.5逻辑“或 ”真值表,对于三变量的逻辑 “或”运算,表达式为F=A+B+C。 3“非”运算(NOT) “非”运算也称为“反相”运算或“求反”,运算符为“”,称为“非”号。它是参加运算的数为1时,结果为0;参加运算的数为0时,结果为1。关系式F= A 表示F等于A的“非”,或者对A“求反”。运算如下: =1=0例如 设X=1001,则=0110如图1.5所示,只有开关A断开时电灯才亮,若A闭合、电灯熄灭。象这样电灯与开关之间就是逻辑“非”的关系,F=,真值表如表1.6所示。,1.3.1逻辑代数(续3),4“异或”运算(XOR)逻辑“异或”亦称为按位加或者模2加,使用的运算符为。它是两个逻辑数位的值相同时,结果为0,否则为1。关系式F=AB表示F等于A“异或”B。运算如下:00=0例如 11001010=0110 01=110=1 11=0,表1.6逻辑“非 ”真值表,表1.6(2),1.3.1逻辑代数(续4),1.3.2门电路,1“与”门“与”门反映的是逻辑“与”的运算关系,输入端可有2、4、8个,而输出端只有一个,其表示符号如图1.6所示,逻辑表达式为F=AB。若以高电平表示1,低电平表示0时,称为正逻辑,反之为负逻辑。对于当前广泛使用的TTL门电路,高电平大于3.6V,低电平小于0.3V。“与”门的真值表与逻辑“与”相同,如表1.4(2)所示。当A和B都是1时,输出F为1;否则为0。,2“或”门“或”门反映的是逻辑“或”的运算关系,输入端可有2、4、8个,而输出端只有一个,其表示符号如图1.7所示,逻辑表达为F=A+B,真值表与逻辑“或”相同,如表1.5所示。当A和B中有一个是1,或者两个都是1时,输出F为1;否则为0。,1.3.2门电路(续1),1.3.2门电路(续2),4“与非”门 “与非”门是在“与”门的后面再串接一级“非”门,如图1.9所示,表达式为F=,真值表如表1.7所示。当A和B都是1时,输出F为0;否则为1。,1.3.2门电路(续3),5“或非”门“或非”门是在“或”门的后面再串接一级“非”门,如图1.10所示,表达式的F=,真值表如表1.8所示。当A和B有一个是1,或者两个都是1时,输出F为0;否则为1。,1.3.2门电路(续4),6“与或”门 “与或”门是将“与”门和“或”门串接起来,如图1.11(a)所示,逻辑表达式为F=AB+CD,真值表如表1.9中的F所示。当A、B同时为1,或者C、D同时为1,或者4个输入端都为1时,输出端F为1;否则0。,1.3.2门电路(续5),1.3.2门电路(续6),7“与或非”门“与或非”门是在“与或”门的后面再串接一个“非”门,以实现“与”、“或” “非”功能,输出正好与“与或”门相反,如图1.11(b)所示,逻辑表达式为F=AB+CD,真值表如表1.9中的F所示。,表1.9 “与或/与或非”门真值表,8“异或”门“异或”门是当两个输入端的状态相反时,输出为1,否则为0,如图1.12所示,表达式为F=AB=AB+AB,真值表如表1.10所示。在“异或”门的后面再串接一级反相器,就构成“异或非”门,其输出状态与“异或”门相反。,1.3.2门电路(续7),9三态门三态门有三种输出状态,即高电平(1)、低电平(0)和高阻态。高阻态也称为浮空状态,可使输出端与输入端在逻辑上“分离”。三态门有输出端、输入端和控制端,输出端可与输入端同相或者反相。控制端可以是高电平控制,也可以是低电平控制。其逻辑符号如图1.13所示。图(a)、(b)为同相输出,图(c)、(d)为反相输出,图(a)、(c)为高电平控制,图(b)、(d)为低电平控制。,1.3.2门电路(续8),只有控制信号有效时,输出端与输入端接通,即起到缓冲作用,因此三态门也称为三态缓冲器。控制信号无效时,输出高阻态,即与输入端“分离”,信息不能输出。除了以上门电路之外,还有一种集电路极开路的门电路,称为功率门或OC门路。在使用时,通过外接电阻与电源联接,以提高输出驱动能力或者获得高电压输出。,1.3.2门电路(续9),触发器是一种具有记忆功能的器件,有两种稳定状态,分别表示1和0。在数字电路中,常用来构成寄存器、计数器等部件。触发器有多种组成形式,比如R-S触发器、D触发器、J-R触发器及T触发器等,这儿仅介绍常用的两种。1R-S触发器 R-S触发器是一种最基本的触发器,其组成与逻辑符号如图1.14所示,由两个“与非”门电路构成。它有两个输入端,分别表示为R和S,有两个输出端,分别表示为Q和Q。当Q端为高电平,Q端为低电平时,表示“1”状态,也称为存“1”;当Q端为低电平,Q为高电平时,表示“0”状态,也称为存“0”。但在实际使用时往往只用一个输出端Q。因此,当Q端为高电平时表示“1”,Q端为低电平时表示“0”。,1.3.3触发器,Q0 表示上一次状态Q* 表示状态不定,表1.11逻辑“异或”真值表,表1.12 D触发器状态表,1.3.3触发器(续1),触发器的状态由输入端R和S决定。其状态如表1.11所示。除了基本R-S触发器之外,还有一种由时钟信号触发的R-S触发器,如图1.15所示。它是在基本R-S触发器的下面增添了一级输入控制门。当时钟信号到来时,R和S端的数值输入给基本R-S触发器,并由基本R-S触发器保存。当时钟信号没有到来时,R和S端的信息不能输入,使基本R-S触发器所存储的数据信息不受输入端信号变化的影响。,1.3.3触发器(续2),2D触发器 D触发器是计算机中最常用的一种触发器,如图1.16所示,由6个“与非”门构成。其中“与非”门1和2构成基本R-S触发器,其它“与非”门构成维持-阻塞触发方式的引导电路。D为数据信号输入端,CP为时钟信号输入端,正脉冲触发。RD和SD分别为复位端和置位端,低电平有效。在CP脉冲未到来时,“与非”门3和4输出高电平,其本R-S触发器原状态保持;同时,“与非”门4输出的高电平送到“与非”门6的输入端,使之送往“与非”门5的输入为D 。对于D触发器,其输出与输入端的状态相同,如表1.12所示。除了上述正脉冲触发外,也有负脉冲触发的触发器。,1.3.3触发器(续3),组合逻辑电路是指由基本逻辑门电路构成的具有一定功能的电路,其输出值取决于输入状态,比如算术逻辑部件和译码器等。1半加器 半加器可由多种形式的门电路构成,但简单的方式是由“异或”门和“与”门构成,如图1.17所示。“异或”门产生“和”S,“与”门产生“进位”C。由于只有两个输入端,不能考虑进位,因此称为半加。S称为“半加和”,C称为“半进位”。真值表如表1.13所示。逻辑表达式如下: S=AB=A B + A BC=AB,1.3.4组合逻辑电路,2全加器 全加器是在半加器的基础上增加了一个低位的进位输入端。最简单的方式是由“异或”门和“与非”门构成,如图1.18所示,真值表如表1.14所示。其中Ai、Bi表示第i位的两个加数,Si表示第i位的“和”,Ci表示第i位的进位,Ci-1表示低位的进位。,1.3.4组合逻辑电路(续1),全加器可实现两个多位二进制数中任一位的加法运算,其逻辑表达式如下:Si=AiBiCi-1Ci=(AiBi)Ci-1+AiBi几个全加器联接起来,就构成n位的加法器,如图1.19所示。3译码器 译码器是把一种代码或数值转换成另一种代码或者控制信号。图1.20是3-8译码器,由“与”门构成,常用作地址译码器,其真值表如表1.15所示。这种译码器也可用“与非”门或二极管构成,还可排列成阵列,图1.21所示。,1.3.4组合逻辑电路(续2),1.3.4组合逻辑电路(续3),表1.15全加器真值表,1.3.4组合逻辑电路(续4),1.3.5时序逻辑电路,时序逻辑电路简称为时序电路,常用的有寄存器、计数器等。1寄存器寄存器可用来暂存数据、指令和地址,每位有一个触发器。若使用N个触发器,可构成N位寄存器。若配以适当的控制电路,还可实现左移位或者右移位功能。图1.22是由4个D触发器构成的4位寄存器,当时钟脉冲到来时,由D3D0端输入的数据/地址送相应的D触发器。脉冲结束,数据/地址输入锁存。 图1.23所示是4个D触发器构成的左移位寄存器。它由移位脉冲控制,每来一个脉冲信号,其内容左移一位。除了左移位之外,还有右移位及左右均可移位的寄存器。,2计数器计数器用来对输入信号计数。它是在寄存器的每一位触发器的输入端增添计数信号输入电路。根据输入电路的联接方式,可实现增量计数和减量计数。图1.24是由4个D触发器构成的4位加1计数器,计数范围为015(24-1)。上述电路采用串行进位方式,因而速度慢。为了提高计数器的速度,可采用并行进位方式,即高速进位链,如图1.25所示。其过程请读者自己分析。,1.3.5时序逻辑电路 (续1),加1计数器除对脉冲信号(CP)计数外,还起分频作用,输出波形如图1.26所示,其中Q0相对于CP为2分频,Q1为4分频,Q2为8分频,Q3为16分频。计数器的种类很多,有二进制计数器、十进制计数器、加1计数器、减1计数器,加1/减1计数器以及可预置初值的计数器等。,1.3.5时序逻辑电路 (续2),图1.26加1计数器输出波形,1.3.5时序逻辑电路 (续3),1.4计算机的基本组成与工作过程,1.4.1计算机的基本组成原理 1.4.2指令与程序 1.4.3程序执行过程 1.4.4中断与中断处理过程 1.4.5微型计算机系统组成,1.4.1计算机的基本组成原理,1概述(1)计算机的基本工作过程电子数字计算机是用电子器件构成的,可进行加、减、乘、除等算术运算,又能进行各种逻辑运算和程序存储。当人们把任务交给它后,它便按人们的意志,一步一步地工作。下面通过算式Y=ab+cd的求解步骤,来看计算机的工作过程。在用计算机求解时,首先要把原始数据和解题步骤输入到计算机中存储起来,然后再由计算机按照解题步骤一步一步地进行。在求出结果后,可赋给某一变量保存,或者通过输出设备显示或者打印出来。其过程可用图1.27来表示,首先输入原始数据和解题步聚,然后执行第12步,取出a、b,求ab,并存中间结果;第34步取出c、d,求cd;第5步取中间结果ab,并求ab+cd。第6步把结果赋给变量Y,然后停机。 这种用来表示求解步骤的框图称为“流程图”。,通常,计算机的每一动作或所做的每一件事情称为操作。参加运算的数称为操作数,操作数的位数就是前面所说的字长。为了便于存取,常以8位为一组,称为一个字节。解题步骤由专门的命令来表示,这些命令在计算机中称为指令。指令用二进制数表示,这种二进制数称为指令码或指令字,其位数称为指令的字长。指令有一定的格式,一般而言,如图1.28所示,包括两个部分,即操作码和地址码(操作数域)。 类型有单地址指令、双地址指令和多地址指令。也分为单字节、双字节和三字节指令。在上述求解过程中,需用6条指令,按先后顺序排列,成为一个有序的集合,称为程序。计算机运行时,其指令逐条取出,执行。,1.4.1计算机的基本组成原理(续1),图1.27流程图,1.4.1计算机的基本组成原理(续2),(2)计算机的基本组成计算机的基本组成如图1.29所示,主要包括存储器、运算器、控制器、输入设备和输出设备。这五个部分统称为计算机的硬件组成。各部分之间通过共用的线路连接,进行数据信息的传送。这种连接各设备之间的线路统称为总线BUS。,1.4.1计算机的基本组成原理(续3),2存储器(1)内存储器内存储器简称为内存或者主存,如图1.30 (a)所示由存储体、地址寄存器、地址译码器、三态输入/输出缓冲器和读/写控制逻辑电路组成。存储体如图1.30 (b)所示,由许多存储单元组成,每一个单元各有自己的编号,称为地址。每一个地址单元仅存放8位的二进制数,即一个字节。在图(a)中,存储器地址由8位二进制数表示,经译码可产生28=256个地址编号,称为8位地址的最大寻址范围。10位地址可寻址210=1024,称为1KB;20位地址可寻址1024KB,称为1MB(兆);30位地址可寻址1KMB,也称为1GB(吉)。,1.4.1计算机的基本组成原理(续4),1.4.1计算机的基本组成原理(续5),1.4.1计算机的基本组成原理(续6),另外,存储器按使用的方式可分为两大类型,即随机存取存储器,即RAM(Random access memory)和只读存储器,即ROM(Read only memory)。只读存储器包括ROM、PROM和EPROM。另外,还有电擦除E2PROM和Flash快闪ROM。(2)外存储器外存储器也称为辅助存储器,一般容量很大,设置在计算机的外部,用来存放暂不执行的程序和不参加运算的数据,常用的有磁盘、磁带,以及光盘等。,3运算器运器算如图1.31所示,也称为算术逻辑部件,由累加器、暂存寄存器、状态标志寄存器和加法器ALU组成。 加法器包括全加器、加1、减1电路以及BCD码修正电路等。其功能主要有:(1)算术运算:加、减、乘、除、加1、减1;(2)逻辑运算:与、或、异或;(3)比较;(4)移位:算术移位、逻辑移位、循环移位;(5)位操作:位测试、位置1、位清0; (6)BCD码修正等。,1.4.1计算机的基本组成原理(续7),1.4.1计算机的基本组成原理(续8),1.4.1计算机的基本组成原理(续9),累加器常用A表示,用来存放参加运算的数和结果,它与加法器配合完成运算器的所有功能。寄存器1和2用来暂时存放参加运算的操作数,因此称为暂存寄存器。在一般情况下,数据总线的条数与运算器的位数相同。工作时,暂存寄存器中的数据送入加法器,进行运算。运算结果由输出端经内部数据线送入累加器或存储器中,或者输出打印。在运算器中还设有一个状态标志寄存器,其位数由机器特定,每一位表示一种状态特征,如图1.32所示,各位的作用如下:,D0:奇/偶标志,用P表示。若运算结果中1的个数为奇数,P置1(奇标志),否则清0;也可以是运算结果中1的个数为偶数时,P置1(偶标志)。D2:溢出标志,用OV表示。带符号数运算时,若运算结果的最高位发生溢出,OV置1,否则清0。D6:辅助进位标志,用AC表示。BCD码运算时,由低位产生的进位称为辅助进位。当产生辅助进位时,AC置1,否则清0。由于是D3的进位,因此也称为半进位标志。D7:最高进位标志,用C表示。当运算结果的最高位产生进位时,C置1,否则清0。,1.4.1计算机的基本组成原理(续10),4控制器 控制器如图1.33所示,由程序计数器、指令寄存器、指令译码器、微操作控制电路和时序电路组成。程序计数器也称为指令指针,常用PC或IP表示,用来提供指令在存储器中的地址。程序计数器具有自动加1功能,每取出一条指令(一个字节)后,自动加1,然后指示下一条指令的地址。指令寄存器用来存放从存储器中取出的指令,其操作码送指令译码器,地址码送地址总线。指令译码器对指令中的操作码进行译码,以确定指令的性质,然后送微操作控制电路,以产生控制运算器、控制器、存储器或输入/输出设备进行某一微操作的命令,即微命令。,1.4.1计算机的基本组成原理(续11),1.4.1计算机的基本组成原理(续12),1.4.1计算机的基本组成原理(续13),微操作控制部件可采用硬件逻辑电路,也可采用微程序控制方式。复杂指令集计算机CISC采用微程序控制方式;简单指令集计算机RISC采用硬件逻辑电路。时序电路包括时钟和节拍发生器,用来产生计算机的时钟脉冲和节拍电位,控制计算机一拍一拍地工作。通常把运算器、控制器合称为中央处理器CPU,中央处理器、存储器合称为主机。,5输入输出设备输入设备是用来把参加运算的数据、程序或命令转换为二进制数输入给计算机的设备,常用的有键盘、鼠标、数传机、扫描仪、摄象机等。输出设备是用来把运算结果或中间数据转换成人们容易识别的形式输出的设备,常用的有打印机、显示器、绘图机、数传机等。另外,磁盘、磁带机、光盘等外存储器在读写过程中也可视为计算机的输入输出设备。这些设备通过专门的接口电路与主机连接。6.总线结构微型机一般采用总线结构,如图1.34所示。所谓总线结构,是指构成计算机的各种功能部件通过专门的接口电路,平等地连接在总线上,通过总线进行各种信息的传送。,1.4.1计算机的基本组成原理(续14),按照使用功能,总线可分为三种,即数据总线DB、地址总线AB和控制总线CB。,1.4.1计算机的基本组成原理(续15),1.4.2指令与程序,1指令指令是指示计算机进行某一工作的命令。在计算机内部,用二进制代码表示的。例如代码11101000,表示寄存器R0中的数传送到累加器A中,00101001表示寄存器R1中的数与累加器A中的数相加,结果仍留在累加器A中。

温馨提示

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

评论

0/150

提交评论