第一章绪论1.1数字信号与数字电路1.2数制转换和常用编码前一页下一页退出1.1数字信号与数字电路前一页下一页退出1.1概述数字 技术的发展过程数字技术是一门应用学科,它的发展可分为5个阶段①产生:20世纪30年代在通讯技术(电报、电话)首先引入二进制的信息 存储技术。而在1847年由英国科学家乔治.布尔(GeorgeBoole)创立布尔代数,并在电子电路中的得到应用,形成开关代数,并 有一套完整的数字逻辑电路的分析和设计方法电子管(真空管)②初级阶段:20世纪40年代电子计算机中的应用,此时以电子管(真空管)作为 基本器件。另外在电话交换和数字通讯方面也有应用晶体管图片③第二阶段:20世纪60年代晶体管的出现,使得数字技术有一个飞跃发展,除了 计算机、通讯领域应用外,在其它如测量领域得到应用④第三阶段:20世纪70年代中期集成电路的出现,使得数字技术有了更广泛的应用,在各 行各业医疗、雷达、卫星等领域都得到应用⑤第四阶段:20世纪70年代中期到80年代中期,微电子技术的发展,使得数字技术得到迅猛的发展 ,产生了大规模和超大规模的集成数字芯片,应用在各行各业和我们的日常生活⑥20世纪80年代中期以后,产生一些专用和通用的集成芯片,以 及一些可编程的数字芯片,并且制作技术日益成熟,使得数字电路的设计模块化和可编程的特点,提高了设备的性能、适用性,并降低成本,这是数 字电路今后发展的趋势。一、模拟信号与数字信号数字信号:幅度的取值是离散的,幅值表示被限制在有限个数值之内模拟信号:幅值的取值是连 续的。uutt模拟信号波形数字信号波形对模拟信号进行传输、处理的电子线路称为模拟电路。对数字信号进行传输、处理的电子线路称为数字电 路。二、数字电路1、数字电路的特点(1)工作信号是二进制的数字信号,反映在电路上就是低电平和高电平两种状态(即0和1两个逻辑值)。 (2)在数字电路中,研究的主要问题是电路的逻辑功能,即输入信号的状态和输出信号的状态之间的关系。(3)对组成数字电路的元器件的精 度要求不高,只要在工作时能够可靠地区分0和1两种状态即可。2、数字电路的分类(1)按集成度分类:数字电路可分为小规模(SSI,每片 数十器件)、中规模(MSI,每片数百器件)、大规模(LSI,每片数千器件)和超大规模(VLSI,每片器件数目大于1万)数字集成电路 。集成电路从应用的角度又可分为通用型和专用型两大类型。(2)按所用器件制作工艺的不同:数字电路可分为双极型(TTL型)和单极型(M OS型)两类。(3)按照电路的结构和工作原理的不同:数字电路可分为组合逻辑电路和时序逻辑电路两类。组合逻辑电路没有记忆功能,其输出 信号只与当时的输入信号有关,而与电路以前的状态无关。时序逻辑电路具有记忆功能,其输出信号不仅和当时的输入信号有关,而且与电路以前的 状态有关。1.2数制转换和编码数字信号是用数码表示的,其数码中只有“1”和“0”两个数字,而“1”和“0”没有数量的意义,表 示事物的两个对立面。数码可以表示数字信号的大小和状态,如1010可表示数量“10”,也可以表示某个事物的代号,如运动员的编号,这 时将这些数码称为代码。数码的编写形式是多样的,其遵循的原则称为码制。码制的编写不受限制,但有一些通用的码制,如十进制、二进制、八 进制和十六进制等等。下面就介绍这几种常用的码制。1.1几种常用的数制数制:就是数的表示方法,把多位数码中每一位的构成方法以及按从低 位到高位的进位规则进行计数称为进位计数制,简称数制最常用的是十进制,除此之外在数字电路和计算机中常用的是二进制、八进制和十六进制 一、十进制进位规则是“逢十进一”。任意一个n位整数、m位小数的十进制可表示为其中:ki-称为数制的系数,表示第i位的系数,十进 制ki的取值为0~9十个数,i取值从(n-1)~0的所有正整数到-1~-m的所有负整数10i-表示第i位的权值,10为 基数,即采用数码的个数n、m-为正整数,n为整数部分的位数,m为小数部分的位数例如:(249.56)10=2×102+4×1 01+9×100+5×10–1+2×10-2其中n=3,m=2若用N表示任意进制(称为N进制)的基数,则展成十进制数的通 式为如N=10为十进制,N=2为二进制,N=8为八进制,N=16为十六进制。其中N为基数,ki为第i位的系数,Ni表示第i 位的权值二、二进制:进位规则是“逢二进一”,任意一个n位整数、m位小数的二进制可表示为ki-取值只有两个数码:0和12i-为二进 制的权,基数为2n、m-为正整数其中如(11011.101)2=1×24+1×23+0×22+1×21+1×20+1×2 -1+0×2-2+1×2-3=(27.625)10一个数码的进制表示,可用下标,如(N)2表示二进制;(N)10表示十进制 ;(N)8表示八进制,(N)16表示十六进制有时也用字母做下标,如(N)B表示二进制,B-Binary;(N)D表示十进制, D-Decimal;(N)O表示八进制,O-Octal;(N)H表示十六进制,H-Hexadecimal;三、八进制进位规则是 “逢八进一”,其基数为8。任意一个n位整数、m位小数的八进制可表示为ki-取值有8个数码:0~78i-为八进制的权,基数为8n、m -为正整数其中如(13.74)8=1×81+3×80+7×8-1+4×8-2=(11.9375)10四、十六进制进位规则是“ 逢十六进一”,其基数为16。任意一个n位整数、m位小数的十六进制可表示为其中ki-取值有16个数码:0~9、A(10)、B(1 1)、C(12)、D(13)、E(14)、F(15)16i-为十六进制的权,基数为16n、m-为正整数如(F9.1A)1 6=15×161+9×160+1×16-1+10×16-2=(249.1015625)10目前在计算机上常用的是8位、16位 和32位二进制数表示和计算,由于8位、16位和32位二进制数都可以用2位、4位和8位十六进制数表示,故在编程时用十六进制书写非常方 便表1.1为0~15个数码的不同进制表示。DBOHDBOH000000008100010810001011910011192001 002210101012A3001103311101113B4010004412110014C5010105513110115D6 011006614111016E7011107715111117F1.2不同数制间的转换数制转换:不同进制的数码之间的转换叫做数制 转换一、二进制数、八进制数和十六进制数转换成十进制数即将二进制数、八进制数和十六进制数转换成十进制数,方法是将二进制数、八进制 数和十六进制数按下列公式进行展开即可例如:二、十进制数转换成二进制数:即将十进制数转换成二进制数,原则是“整数除2,小数乘2”a .十进制的整数转换:将十进制的整数部分用基数2去除,保留余数,再用商除2,依次下去,直到商为0为止,其余数即为对应的二进制数的 整数部分b.十进制的小数转换将小数用基数2去乘,保留积的整数,再用积的小数继续乘2,依次下去,直到乘积是0为或达到要求的精度, 其积的整数部分即为对应的二进制数的小数部分例1.3.1将(173.39)D转化成二进制数,要求精度为2-7。解:其过程如下a. 整数部分即(173)D=(10101101)Bb.小数部分由于精度要求为2-7,故应该令m=7满足精度要求,过程如下即(0 .39)D=(0.0110001)B故(173.39)D=(10101101.0110001)B依此类推,对于十进制转换成其它 进制,只要把基数2换成其它进制的基数即可。三、二进制转换成八进制和十六进制方法:由于3位二进制数可以有8个状态,000~111, 正好是8进制,而4位二进制数可以有16个状态,0000~1111,正好是16进制,故可以把二进制数进行分组。八进制三位分为一组,不 够补零,十六进制四位分为一组。注:若将八进制或十六进制转换成二进制,即按三位或四位转成二进制数展开即可。例1.2.2将(1011 110.1011001)2转换成八进制和十六进制。解:(1011110.1011001)B=(001011110.10 1100100)2=(136.544)O(1011110.1011001)B=(01011110.1011 0010)2=(5E.B2)H例1.2.3将(703.65)O和(9F12.04A)H转换成二进制数解:(703.65 )O=(111000011.110101)B(9F12.04A)H=(1001111100010010.00000100101)B ?提醒:若要将十进制转换成八进制或16进制,可先转换成二进制,再分组,转换成八进制或十六进制。例1.2.4将(87)D转换成八进 制数和十六进制数解:先将87转化成二进制,过程如图,则(87)D=(1010111)B=(001010111)B=(0101 0111)B=(127)O=(57)H1.3二进制的算术运算1.3.1.二进制算术运算的特点当两个二进制数码表示两个数量 的大小,并且这两个数进行数值运算,这种运算称为算术运算。其规则是“逢二进一”、“借一当二”。算术运算包括“加减乘除”,但减、乘、除 最终都可以化为带符号的加法运算。如两个数1001和0101的算术运算如下1.3.2反码、补码和补码运算一、原码:在用二进制数 码表示一个数值时,其正负是怎么区别的呢?二进制数的正负数值的表述是在二进制数码前加一位符号位,用“0”表示正数,用“1”表示负数, 这种带符号位的二进制数码称为原码。例如:+17的原码为010001,-17的原码为110001二、反码反码是为了在求补码时不做减 法运算。二进制的反码求法是:正数的反码与原码相同,负数的原码除了符号位外的数值部分按位取反,即“1”改为“0”,“0”改为“1”, 例如+7和-7的原码和反码为:+7的原码为0111,反码为0111-7的原码为1111,反码为1000注:0的反码有 两种表示,+0的反码为0000,-0的反码为1111三、补码:计算机电路只会做加法运算,当做二进制减法时,可利用补码将减法运 算转换成加法运算。在将补码之前先介绍模(或模数)的概念1.模(模数)的概念:把一个事物的循环周期的长度,叫做这个事件的模或模数。 如一年365天,其模数为365;钟表是以12为一循环计数的,故模数为12。十进制计数就是10个数码0~9,的循环,故模为10。以表 为例来介绍补码运算的原理:对于图1.4.1所示的钟表当在5点时发现表停在10点,若想拨回有两种方法:a.逆时针拨5个格,即10- 5=5,这是做减法。b.顺时针拨七个格,即10+7=17,由于模是12,故1相当于进位12,1溢出,故为7格,也是17-12=5, 这是做加法。反码补码原码[+7]011101110111[-7]111110001001由此可见10+7 和10-5的效果是一样的,而5+7=12,将故7称为-5的补数,即补码,也可以说减法可以由补码的加法来代替2.补码的表示正数的补 码和原码相同,负数的补码是符号位为“1”,数值位按位取反加“1”,即“反码加1”例如:1.采用补码后,可以方便地将减法运算转换成加 法运算,而乘法和除法通过移位和相加也可实现,这样可以使运算电路结构得到简化;注意:2.正数的补码既是它所表示的数的真值,负数的补码 部分不是它所示的数的真值。3.0的原码和补码各有两个0,与原码和反码不同,“0”的补码只有一个,即(00000000)B,而补码 (10000000)B=-1284.已知原码,求补码和反码:正数的原码和补码、反码相同;负数的反码是符号位不变,数值位取反,而补 码是符号位不变,数值位取反加“1”。如:原码为10110100,其反码为11001011,补码为1100100。5.已知补码,求原 码:正数的补码和原码相同;负数的补码应该是数值位减“1”再取反,但对于二进制数来说,先减“1”取反和先取反再加“1”的结果是一样的 。故由负数的补码求原码就是数值位取反加“1”。如已知某数的补码为(11101110)B,其原码为(10010010)B6.如果二进 制的位数为n,则可用补码表示的有符号位数的范围为(-2n-1~2n-1-1),如n=8,则可表示(-128~127),故在做加法 时,注意两个数的绝对值不要超出它所表示数的范围。0100101175+00011100+28011001111 03例1.3.1用二进制补码计算:75+28、75-28、-75+28、-75-28解:先求两个数 的二进制原码和补码(用8位代码)(+75)D=(01001011)B(+28)D=(00011100)B(-75)D=( 11001011)B(-28)D=(10011100)B原码(-75)D=(10110101)B;(-28)D=(11 100100)B;补码01001011+11100100100101111-75-7510110 101+-2828+00011100-103-47补码补码1101000175-2810110101 47+11100100110011001溢出溢出表4-1为4位带符号位二进制代码的原码、反码和补码对照表十进制数原 码反码补码十进制数原码反码补码+7011101110111-1100111101111+6011001100110-2101011 011110+5010101010101-3101111001101+4010001000100-4110010111100+30 01100110011-5110110101011+2001000100010-6111010011010+10001000100 01-71111100010010000000000000-81000111110001.4二进制编码1.4.1编码编码n位二 进制数可以组合成2n个不同的信息,给每个信息规定一个具体码组,这种过程叫编码。数字系统中常用的编码有两类,一类是二进制编码,另 一类是二-十进制编码。另外无论二进制编码还是二-十进制编码,都可分成有权码(每位数码代表的权值固定)和无权码1.4.2二- -十进制编码用4位二进制代码表示十进制的0~9个数码,即二-十进制的编码。4位二进制代码可以有0000~1111十六个状态,则 表示0~9十个状态可以有多种编码形式,其中常用的有8421码、余3码、2421码、5211码、余3循环码等,其中8421码、242 1码、5211码为有权码,即每一位的1都代表固定的值。表1.5.1为几种编码形式表1.5.11.8421码:又称BCD码,是最常 用的十进制编码。其每位的权为8、4、2、1,按公式展开,即可得对应的十进制数,如(0101)2 =1×24+1×20=5说明:2.余3码不是有权码,由于它按二进制展开后十进制数比所表示的对应的十进制数大3。如0101表示的 是2,其展开十进制数为5,故称为余3码。采用余3码的好处是:利用余3码做加法时,如果所得之和为10,恰好对应二进制16,可以自动产 生进位信号。如0110(3)+1010(7)=1111(10);另外0和9、1和8、2和7…是互为反码,这对于求补很方便。3.2 421码是有权码,其每位的权为2、4、2、1,如(1100)2=1×2+1×4=6,与余3码相同0和9、1和8、2和7…是互为反码 。另外当任何两个这样的编码值相加等于9时,结果的4个二进制码一定都是1111。链接B4.5211码也是有权码,其每位的权为5、2 、1、1,如(0111)2=1×2+1×1+1×1=4,主要用在分频器上5.余3循环码是无权码,它的特点是相邻的两个代码之间只有 一位状态不同。这在译码时不会出错(竞争-冒险)十进制数自然二进制码循环二进制码十进制数自然二进制码循环二进制码0000000008 10001100100010001910011101200100011101010111130011001011101111104 01000110121100101050101011113110110116011001011411101001701110100 15111110001.4.3二进制编码:它包括自然码和循环码,如表1.5.2所示表1.1两种4位二进制编码返回自然码:有权码 ,每位代码都有固定权值,结构形式与二进制数完全相同,最大计数为2n-1,n为二进制数的位数链接循环码:也叫格雷码,它是无权码,每位 代码无固定权值,其组成是格雷码的最低位是0110循环;第二位是00111100循环;第三位是0000111111110000循环, 以此类推可以得到多位数的格雷码。格雷码的特点是任何相邻的两个码组中,仅有一位代码不同,抗干扰能力强,主要用在计数器中。可靠性代码 代码在产生和传输的过程中,难免发生错误。为减少错误的发生,或者在发生错误时能迅速地发现或纠正,广泛采用了可靠性编码技术。利用该技 术编制出来的代码叫可靠性代码,最常用的有格雷码和奇偶校验码。(1)格雷(Gray)码具有如下特点的代码叫格雷码:任何相邻的两 个码组(包括首、尾两个码组)中,只有一个码元不同。在编码技术中,把两个码组中不同的码元的个数叫做这两个码组的距离,简称码距。由于 格雷码的任意相邻的两个码组的距离均为1,故又称之为单位距离码。另外,由于首尾两个码组也具有单位距离特性,因而格雷码也叫循环码。格 雷码属于无权码。格雷码的编码方案很多,典型的四位格雷码下表所示,表中同时给出了四位自然二进制码。典型的四位Gray码十进 制数二进制码Gray码B3B2B1B0G3G2G1G00123456789101112131415000000 0100100011010001010110011110001001101 01011110011011110111100000001001100100 1100111010101001100110111111110101010 1110011000…一位反射对称轴…二位反射对称轴…三位反射对称轴…四位反射对称轴格雷码的单位距离特性 可以降低其产生错误的概率,并且能提高其运行速度。例如,为完成十进制数7加1的运算,当采用四位自然二进制码时,计数器应由0111变为 1000,由于计数器中各元件特性不可能完全相同,因而各位数码不可能同时发生变化,可能会瞬间出现过程性的错码。变化过程可能为0111 →1111→1011→1001→1000。虽然最终结果是正确的,但在运算过程中出现了错码1111,1011,1001,这会造成数字 系统的逻辑错误,而且使运算速度降低。若采用格雷码,由7变成8,只有一位发生变化,就不会出现上述错码,而且运算速度会明显提高。表 中给出的格雷码,还具有反射特性,即按表中所示的对称轴,除最高位互补反射外,其余低位码元以对称轴镜像反射。利用这一特性,可以方便地构 成位数不同的格雷码。(2)奇偶校验码奇偶校验码是一种可以检测一位错误的代码。它由信息位和校验位两部分组成。 信息位可以是任何一种二进制代码。它代表着要传输的原始信息。校验位仅有一位,它可以放在信息位的前面,也可以放在信息位的后面。其编码 方式有两种:(I)使每一个码组中信息位和校验位的“1”的个数之和为奇数,称为奇校验。(II)使每一个码组中信息位和校验位的 “1”的个数之和为偶数,称为偶校验。下表给出了8421BCD奇偶校验码。带奇偶校验的8421BCD码8421BCD奇校验码偶校 验码000000010010001101000101011001111000100110010110010110100110接 收方对接收到的奇偶校验码要进行检测。看每个码组中“1”的个数是否与约定相符。若不相符,则为错码。奇偶校验码只能检测一位错码,但 不能测定哪一位出错,也不能自行纠正错误。若代码中同时出现多位错误,则奇偶校验码无法检测。但是,由于多位同时出错的概率要比一位出错的 概率小得多,并且奇偶校验码容易实现,因而该码被广泛采用。1.5.4美国信息交换标准代码(ASCⅡ)(自学)字符代码对各个 字母和符号编制的代码叫字符代码。字符代码的种类繁多,目前在计算机和数字通信系统中被广泛采用的是ASCII码(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码),其编码表如下表所示。B4B3B2B1B7B6B50000010100111001011101110000000100100011010001010110011110001001101010111100110111101111NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSP!“#$%&‘()+’-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]∧-、abcdefghijklmnopqrstuvwxyz{|}~DEL最全ASCII码对照表.htmASCII最全ASCII码对照表.htm码最全ASCII码对照表.htm(美国信息交换标准代码)读码时,先读列码B7B6B5,再读行码B4B3B2B1,则B7B6B5B4B3B2B1即为某字符的七位ASCII码。例如字母K的列码是100,行码是1011,所以K的七位ASCII码是1001011。注意,表中最左边一列的A、B、……、F是十六进制数的六个数码。 |
|