数字电子技术基础(第五版)清华大学电子学教研组编阎石主编2006年9月说明本学期讲述数字电路与逻辑设计,所用的教材为阎石编写的《数字电子技术基础》(第五版),所讲授的内容为逻辑函数及其化简、集成逻辑门电路、组合逻辑电路和时序逻辑电路的分析、半导体存储器、脉冲单元电路及数模转换技术。与低频模拟电路不同的是其电路输入输出为数字信号,即电压和电流信号随时间是离散的。这门课授课为72学时,实验课18学时,一共90学时,共5个学分,为必修课。考试形式同低频模拟电路。期末总评成绩为:期末考试成绩(笔试,70%)+平时成绩(实验、作业及考勤,30%),加油啦!!!参考书:《数字电子技术基础》阎石主编,高等教育出版社第一章数码和码制内容提要本章首先介绍有关数制和码制的一些基本概念和术语,然后给出数字电路中常用的数制和编码。此外,还将具体讲述不同数制之间的转化方法和二进制数算术运算的原理和方法。本章内容1.1概述1.2几种常用的数制1.3不同数制间的转换1.4二进制算数运算1.5几种常用的编码数字技术是一门应用学科,它的发展可分为5个阶段①产生:20世纪30年代在通讯技术(电报、电话)首先引入二进制的信息存储技术。而在1847年由英国科学家乔治.布尔(GeorgeBoole)创立布尔代数,并在电子电路中的得到应用,形成开关代数,并有一套完整的数字逻辑电路的分析和设计方法1.数字技术的发展过程1.1概述②初级阶段:20世纪40年代电子计算机中的应用,此时以电子管(真空管)作为基本器件。另外在电话交换和数字通讯方面也有应用电子管(真空管)③第二阶段:20世纪60年代晶体管的出现,使得数字技术有一个飞跃发展,除了计算机、通讯领域应用外,在其它如测量领域得到应用晶体管图片⑤第四阶段:20世纪70年代中期到80年代中期,微电子技术的发展,使得数字技术得到迅猛的发展,产生了大规模和超大规模的集成数字芯片,应用在各行各业和我们的日常生活④第三阶段:20世纪70年代中期集成电路的出现,使得数字技术有了更广泛的应用,在各行各业医疗、雷达、卫星等领域都得到应用⑥20世纪80年代中期以后,产生一些专用和通用的集成芯片,以及一些可编程的数字芯片,并且制作技术日益成熟,使得数字电路的设计模块化和可编程的特点,提高了设备的性能、适用性,并降低成本,这是数字电路今后发展的趋势。2.脉冲信号与数字信号信号可分为模拟信号和数字信号。模拟信号是表示模拟量的信号,模拟量是在时间和数值上都是连续的的物理量。模拟信号包括正弦波信号和脉冲信号,脉冲信号如方波、矩形波、尖脉冲锯齿波、梯形波等。图1-1所示的为各种模拟信号数字信号是表示数字量的信号,数字量实在时间和数值上都是离散的。实现数字信号的产生、传输和处理的电路称为数字电路。数字信号包括脉冲型(归0型)和电平型(不归0型)。如图0-2-2所示(a)正弦波(b)矩形波(方波)(c)尖脉冲(d)锯齿冲图1-1几种模拟信号的波形111111(a)电平型数字信号01111100000(b)脉冲型数字信号图1-2两种数字信号波形数字信号是用数码表示的,其数码中只有“1”和“0”两个数字,而“1”和“0”没有数量的意义,表示事物的两个对立面。数码可以表示数字信号的大小和状态,如1001可表示数量“10”,也可以表示某个事物的代号,如运动员的编号,这时将这些数码称为代码。数码的编写形式是多样的,其遵循的原则称为码制。码制的编写不受限制,但有一些通用的码制,如十进制、二进制、八进制和十六进制等等。下面就介绍这几种常用的码制。1.2几种常用的数制数制:就是数的表示方法,把多位数码中每一位的构成方法以及按从低位到高位的进位规则进行计数称为进位计数制,简称数制最常用的是十进制,除此之外在数字电路和计算机中常用的是二进制、八进制和十六进制一、十进制进位规则是“逢十进一”。任意一个n位整数、m位小数的十进制可表示为1110111021101010101010)(nmiiimmonnmnnkkkkkkkkkkD其中:ki-称为数制的系数,表示第i位的系数,十进制ki的取值为0~9十个数,i取值从(n-1)~0的所有正整数到-1~-m的所有负整数10i-表示第i位的权值,10为基数,即采用数码的个数n、m-为正整数,n为整数部分的位数,m为小数部分的位数1110111021101010101010)(nmiiimmonnmnnkkkkkkkkkkD例如:(249.56)10=2×102+4×101+9×100+5×10–1+2×10-2其中n=3,m=2若用N表示任意进制(称为N进制)的基数,则展成十进制数的通式为1110111021nmiiimmonnmnnNNkNkNkNkNkkkkkkD)(如N=10为十进制,N=2为二进制,N=8为八进制,N=16为十六进制。其中N为基数,ki为第i位的系数,Ni表示第i位的权值二、二进制:其中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)101110111021222222nmiiimmonnmnnkkkkkkkkkkD)(进位规则是“逢二进一”,任意一个n位整数、m位小数的二进制可表示为一个数码的进制表示,可用下标,如(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位小数的八进制可表示为1110111021888888nmiiimmonnmnnkkkkkkkkkkN)(ki-取值有8个数码:0~78i-为八进制的权,基数为8n、m-为正整数如(13.74)8=1×81+3×80+7×8-1+4×8-2=(11.9375)10其中1110111021888888nmiiimmonnmnnkkkkkkkkkkN)(四、十六进制进位规则是“逢十六进一”,其基数为16。任意一个n位整数、m位小数的十六进制可表示为1110111021161616161616nmiiimmonnmnnkkkkkkkkkkN)(1110111021161616161616nmiiimmonnmnnkkkkkkkkkkN)(ki-取值有16个数码:0~9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)16i-为十六进制的权,基数为16n、m-为正整数如(F9.1A)16=15×161+9×160+1×16-1+10×16-2=(249.1015625)10其中目前在计算机上常用的是8位、16位和32位二进制数表示和计算,由于8位、16位和32位二进制数都可以用2位、4位和8位十六进制数表示,故在编程时用十六进制书写非常方便DBOHDBOH000000008100010810001011910011192001002210101012A3001103311101113B4010004412110014C5010105513110115D6011006614111016E7011107715111117F表1.2.1表1.2.1为0~15个数码的不同进制表示。1.3不同数制间的转换一、二进制数、八进制数和十六进制数转换成十进制数数制转换:不同进制的数码之间的转换叫做数制转换1110111021nmiiimmonnmnnNNkNkNkNkNkkkkkkD)(例如:DB).(..).(752725050128162121212120212111110112101234即将二进制数、八进制数和十六进制数转换成十进制数,方法是将二进制数、八进制数和十六进制数按下列公式进行展开即可a.十进制的整数转换:DO).(..).(64126015625062506566481858687815117621012二、十进制数转换成二进制数:D).(..)EC.AF(2H816880546875075015160512161416121615161016221012将十进制的整数部分用基数2去除,保留余数,再用商除2,依次下去,直到商为0为止,其余数即为对应的二进制数的整数部分即将十进制数转换成二进制数,原则是“整数除2,小数乘2”b.十进制的小数转换将小数用基数2去乘,保留积的整数,再用积的小数继续乘2,依次下去,直到乘积是0为或达到要求的精度,其积的整数部分即为对应的二进制数的小数部分例1.3.1将(173.39)D转化成二进制数,要求精度为1%。a.整数部分1732286102431211210202522111020)(0k)(1k)(2k)(3k)(4k)(5k)(6k)(7k解:其过程如下即(173)D=(10101101)Bb.小数部分由于精度要求为1%,故应该令%12m取对数,可得210%12m1002m2100lg2lg1010m6.6m取m=7满足精度要求,过程如下0.39×2=0.780.78×2=1.56010.56×2=1.1210.12×2=0.2400.24×2=0.4800.48×2=0.9600.96×2=1.921)(1k)(2k)(3k)(4k)(5k)(6k)(7k即(0.39)D=(0.0110001)B故(173.39)D=(10101101.0110001)B三、二进制转换成八进制和十六进制方法:由于3位二进制数可以有8个状态,000~111,正好是8进制,而4位二进制数可以有16个状态,0000~1111,正好是16进制,故可以把二进制数进行分组。八进制三位分为一组,不够补零,十六进制四位分为一组。依此类推,对于十进制转换成其它进制,只要把基数2换成其它进制的基数即可。注:若将八进制或十六进制转换成二进制,即按三位或四位转成二进制数展开即可。解:(1011110.1011001)B=(001011110.101100100)2=(136.544)O(1011110.1011001)B=(01011110.10110010)2=(5E.B2)H例1.3.2将(1011110.1011001)2转换成八进制和十六进制。解:例1.3.3将(703.65)O和(9F12.04A)H转换成二进制数(703.65)O=(111000011.110101)B(9F12.04A)H=(1001111100010010.00000100101)B例1.3.4将(87)D转换成八进制数和十六进制数解:先将87转化成二进制,过程如图,则28712431211210202522111020)(0k)(1k)(2k)(3k)(4k)(5k)(6k(87)D=(1010111)B=(001010111)B=(01010111)B=(127)O=(57)H提醒:若要将十进制转换成八进制或16进