




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路
课程介绍张延军北京理工大学
课程介绍课程名称:数字电路教材:《数字电路与系统设计(修订版)》 丁志杰、赵宏图、梁淼, 北京理工大学出版社授课教师:张延军办公地点:4号楼406邮箱:March2,20232
教学内容数制与编码逻辑代数基础逻辑门电路组合电路的分析与设计触发器常用时序电路时序电路的分析与设计脉冲波形的产生与整形数模、模数变换器可编程器件概述March2,20233
作业与成绩评定作业:最好用作业纸做,方便装订留存成绩评定:期末考试决定最终成绩March2,20234
数字电路
第1章数制与编码张延军北京理工大学
本章内容1.1数制1.2数制转换1.3二进制符号数的表示方法1.4二-十进制编码(BCD码)1.5格雷(Gray)码1.6ASCII字符集1.7检错码和纠错码March2,20236
数制与编码人类在日常生活中如何表示数字?计算机中如何表示数字?March2,20237
二进制和十进制之间的关系是什么?还有别的常用的表示方法吗?十进制二进制
八进制、十六进制数制数制即记数法,人们用一组规定的符号和规则来表示数的方法March2,20238
数制的两个基本要素基数位权符号
规则数制基数:计数制中每一位数所用到的数码的个数。基数为N的计数制中,含有0、1、…、N-1,共N个数码,进位规律是“逢N进一”March2,20239
位权:数制中每一固定位置对应的单位值,即每一固定位置上数值“1”代表的值。例如:十进制中第二位的位权是10,第一位的位权是1。数制任意一个数均可写为多项式形式
(345.67)10=3×102+4×101+5×100+6×10-1+7×10-2
March2,202310
符号位权十进制数的基数为10,用到的10个符号为
0123456789数制其中R为R进制数的基数,Ki为0,1,……R-1范围内取值的数字。March2,202311
对于任意R进制数N,假设整数位数为n、小数位数为m二、八、十、十六进制数对于十进制有:(N)10=∑di·10i
其中,di的取值范围:0,1,2…9对于二进制有:(N)2=∑bi·2i
其中,bi的取值范围:0,1对于八进制有:(N)8=∑qi·8i
其中,qi的取值范围:0,1,2…7对于十六进制有:(N)16=∑hi·16i
其中,hi的取值范围:0,1,2…9,A,B,C,D,E,FMarch2,202312
二、八、十、十六进制数二进制:Binary,B八进制:Octal,O(Q)十进制:Decimal,D十六进制:Hexadecimal,HMarch2,202313
二、八、十六进制到十进制的转换March2,202314
转换方法:直接按加权相加即可例1
(101.001)2=1·22+0·21+1·20+0·2-1+0·2-2+1·2-3=(5.125)10例2
(32.56)8=3·81+2·80+5·8-1+6·8-2
=(26.71875)10例3
(ED.A)16=14·161+13·160+10·16-1
=(237.625)10十、二、八、十六进制对照表十进制二进制八进制十六进制0000000010001011200100223001103340100044501010556011006670111077810001089100111910101012A11101113B12110014C13110115D14111016E15111117F二八进制之间的转换March2,202316
转换方法:每三位二进制数对应一位八进制数。转换时从小数点向左、向右每3位为一组,直接写出对应的八进制数即可。小数点后最后一组要补足3位。
(10010111.1101)2=(010
010
111.110
100)2=(227.64)8(227.64)Q=(010
010
111.110
100)B
=(10010111.1101)B二十六进制之间的转换March2,202317
转换方法:四位二进制数对应一位十六进制数。转换时从小数点向左、向右每4位为一组,直接写出对应的十六进制数即可。小数点后最后一组要补足4位。。
(110110111.011)2=(0001
1011
0111.0110)2=(1B7.6)16(1C7.6)H=(0001
1100
0111.0110)B=(111000111.011)B八十六进制之间的转换March2,202318
转换方法:八进制数与十六进制数之间的转换可以通过转换为二进制数作为中间过程。
(1C7.6)16=(0001
1100
0111.0110)2=(111
000
111.011)2 =(707.3)8(707.3)8=(111
000
111.011)2 =(0001
1100
0111.0110)2=(1C7.6)161)整数部分用连除法,用2除所要转换的数,所得余数即为b0;再用2除上一步所得的商,所得余数为b1,……,直到商为0为止整数部分和小数部分分别进行转换十进制到二进制的转换March2,202319
例:(59)10=(?)2解: 所以(59)10=(111011)2
5929
0
1
3
7
14
1
1
1
0
1
1
b5
b4
b3
b2
b1
b0
/2
/2
/2
/2
/2
/2
十进制到二进制的转换202)小数部分用连乘法,将小数部分乘以2,所得积的整数部分即为b-1;积的小数部分再乘以2,所得积的整数部分为b-2……,一直乘到所要求的的精度为止例:(0.8125)10=(?)2解: 所以(0.8125)10=(0.1101)2精度问题:转换后小数位数的确定0.8125
0.625
0.25
0.5
0
1
1
0
1
b-1
b-2
b-3
b-4X2
X2
X2
X2
整数部分和小数部分分别进行转换十进制到二进制的转换21整数、小数分别进行转换,转换完成后,合到一起即可。(59.8125)10=(111011.1101)2
小数转换的精度转换后小数位数的确定给定位数根据精度确定March2,202322
(0.2)10=(0.……)2如果取8位小数,则为0.00110011如果要求精度为1%,则应满足[(0.2)10-(N)2]/(0.2)10<=0.01或这样估算位数:0.2*1%=0.0022-9=0.001953125<0.002,所以需要9位(0.001100110)2=(0.19921875)10十进制到八、十六进制的转换March2,202323
方法一:与十进制数转换成二进制数类似,整数部分连除以8(16),小数部分连乘以8(16)。例:(0.8125)10=(?)8解:0.81250.50 64 q-1q-2
所以(0.8125)10=(0.64)8例:(59)10=(?)8解:0759 73q1q0
所以(59)10=(73)8(59.08125)10=(73.64)8十进制到八、十六进制的转换(续)
March2,202324
方法一:与十进制数转换成二进制数类似,整数部分连除以8(16),小数部分连乘以8(16)。例:(0.8125)10=(?)16解:0.81250 D(13) h-1
所以(0.8125)10=(0.D)16例:(59)10=(?)16解:0759 3B(11)h1h0
所以(59)10=(3B)16(59.08125)10=(3B.D)16十进制到八、十六进制的转换March2,202325
方法二:现将十进制数转换为二进制数,再将二进制数转换为八进制数或十六进制数。两种方法的比较:转换为二进制数算式较长,但运算简单;反之,算式较短,但运算较繁应该非常熟悉的数字2i,2i-1,i=0,1,…10,应该非常熟悉:29=51229-1=511210=1024210-1=1023210=1024≈1000210=1K64K=216=26*210220=1M230=1G232=4GMarch2,202326
二进制符号数的表示方法所谓符号数就是带正、负号的数在数字系统中所有信息均由二进制码表示数的正、负也由二进制码表示常用的符号数表示法有三种:原码表示法反码表示法补码表示法March2,202327
原码表示法用1位二进制数表示符号:0表示正数,1表示负数数的大小以该数的绝对值表示符号位通常放在最高位如某数字系统中用8位存储器存放数据,其中最高位为符号位,其余7位为数的绝对值March2,202328
原码表示法十进制表示二进制原码表示法(+37)10
00100101(-37)10-010010110100101(+0)10
00000000(-0)10-000000010000000(+127)10
01111111(-127)10-111111111111111March2,202329
例:数据位宽n=8,最高位为符号位n位数字采用原码可表示的数据范围:-(2n-1-1)~+(2n-1-1)0有两种表示方式:+0和-0反码0的反码为11的反码为0如:N=10011011则N反
=01100100March2,202330
反码:将二进制数的每一位分别求反而得到的二进制码符号数的反码表示法用1位二进制数表示符号:0表示正数,1表示负数正数的大小用原码表示,而负数的大小则以该数的反码表示符号位通常放在最高位如某数字系统中用八位存储器存放数据,其中最高位为符号位,其余7位存放该数的反码March2,202331
反码表示法十进制表示二进制反码表示法(+37)10
00100101(-37)10-010010111011010(+0)10
00000000(-0)10-000000011111111(+127)10
01111111(-127)10-111111110000000March2,202332
例:数据位宽n=8,最高位为符号位n位数字采用反码可表示的数据范围:-(2n-1-1)~+(2n-1-1)0有两种表示方式:+0和-0补码March2,202333
补码:设数N为有n位整数、m位小数的二进制数,则N的补码定义为:N的补码与N的大小有关,还与整数位数n有关,与小数位数m无关设n=8,则(11001)补.8=28-11001=11100111(11001.0101)补.8=28-11001.0101 =11100110.1011补码的求法方法一利用补码的定义可以求一个数的补码方法二将原码补足n位后求反加1即得其补码March2,202334
如:求(11001)在n=8时的补码
1)补齐8位:00011001
2)求反:11100110
3)加1:11100111较为繁琐,一般不用常用方法补码的求法方法二的证明根据定义:N的补码为2n-N=(2n-1-N)+12n-1为n位全为1的二进制数因此2n-1-N为N的反码得证:二进制数按位取反加1即得补码March2,202335
1000000001——————
11111111
1111111101101001
——————
10010110补码的求法方法三将原码补足n位后,从右往左第一个1及其右边的0不变,其余各位求反即得N的补码March2,202336
N=00100100=00100
100 (N)补.8=11011
100依据:100求反加1仍为100,其它位求反不变补码的求法小数的补码的求法:设整数部分位数n=8,求N=10010.01的补码整数部分补齐8位00010010.01求反:11101101.10加1:11101101.11March2,202337
补充概念反码又称为1的补码(1’scomplement)2n-1-N补码又称为2的补码(2’scomplement)2n-NN+(N)补=N+2n-N=2n
((N)补)补=N符号数的补码表示法用1位二进制数表示符号:0表示正数,1表示负数正数的大小用原码表示,而负数的大小则以该数绝对值的补码表示符号位通常放在最高位如某数字系统中用八位存储器存放数据,其中最高位为符号位,其余7位存放该数的补码March2,202339
符号数的补码表示法March2,202340
十进制表示二进制补码表示法(+37)10
00100101(-37)10-010010111011011(+0)10
00000000(-0)10-000000000000000(+127)10
01111111(-127)10-111111110000001(-128)10-1000000010000000例:数据位宽n=8,最高位为符号位n位数字采用补码可表示的数据范围:-(2n-1)~+(2n-1-1)+0和-0的表示方法相同A=(3)10=(0011)2问题1:如何求有符号数的相反数?March2,202341
原码表示法:只需将符号位取反,其余位不变A-A?-A=(-3)10=(1011)20B=(-2)10=(1010)2-B=(2)10=(0010)21A=(3)10=(0011)2反码表示法:将整个数值连同符号位一起取反(求反码)-A=(-3)10=(1100)2B=(-2)10=(1101)2-B=(2)10=(0010)2A=(3)10=(0011)2补码表示法:将整个数值连同符号位一起取反加1(求补码)-A=(-3)10=(1101)2B=(-2)10=(1110)2-B=(2)10=(0010)2A=(3)10=(0011)2问题2:如何扩展数据的宽度March2,202342
原码表示法:在符号位和数据位之间填充04位8位?A=(3)10=(00000011)2B=(-2)10=(1010)2B=(-2)10=(10000010)2A=(3)10=(0011)2反码表示法:直接进行符号扩展A=(3)10=(00000011)2B=(-2)10=(1101)2B=(-2)10=(11111101)2A=(3)10=(0011)2补码表示法:直接进行符号扩展A=(3)10=(00000011)2B=(-2)10=(1110)2B=(-2)10=(11111110)200000000利用补码求符号数的加减运算如果将加数和被加数均以其补码表示,则只用加法运算器就可完成加减运算这样做可以节省硬件,降低生产成本运算时符号位与其它位一样参与运算若符号位产生进位,则在结果中忽略该进位,不予考虑运算结果仍以补码形式表示March2,202343
利用补码求符号数的加减运算March2,202344
解:(A)补.8=00010011,(B)补.8=00001101 (-A)补.8=11101101,(-B)补.8=11110011A+B=10000000010011+0000110100100000-A+B=1111101011101101+0000110111111010A-B=11000010011+11110011100000110-A-B=1110000011101101+11110011111100000设n=8,有两个正数A=10011,B=1101。试用补码求A+B,A-B,B-A,-A-B利用补码求符号数的加减运算(证明)设有两个n位正数N1、N2,则-N1、-N2的补码表示分别为2n-N1和2n-N2。分四种情况讨论:
March2,202345
情况一:N1+N2两个正数相加,结果为正数情况二:N1-N2N1-N2=N1+2n-N2=2n-(N2-N1),若N2>N1,则结果为负,2n-(N2-N1)就是-(N2-N1)的补码表示形式;若N1>N2,则结果为2n+(N1-N2),2n位于第n位,为第n-1位的进位,位于n位运算器之外,舍去,故结果正确。利用补码求符号数的加减运算(证明)March2,202346
情况三:N2-N1与N1-N2类似情况四:-N1-N2-N1-N2=(2n-N1)+(2n-N2)=2n+[2n-(N1+N2)]其中第1个2n为第n-1位的进位,位于在第n位上,在n位运算器之外,舍去不管而[2n-(N1+N2)]就是负数-(N1+N2)的补码表示利用补码求符号数的加减运算_溢出March2,202347
设n=8,有两个正数A=110011,B=1101101。试用补码求A+B,A-B,B-A,-A-B解:(A)补.8=00110011,(B)补.8=01101101
(-A)补.8=11001101,(-B)补.8=10010011
A+B=10100000
00110011+0110110110100000A-B=11000110
00110011+10010011
11000110-A-B=01100000
11001101+10010011101100000-A+B=00111010
11001101+01101101
100111010利用补码求符号数的加减运算A+B(正数加正数)的结果为负数,而-A-B(负数加负数)的结果为正数,显然结果是错误的;而-A+B和A-B结果正确。两个符号相异的数相加,结果的绝对值小于任一加数的绝对值,因此运算结果不会超出n位符号数的表示范围,即不会发生溢出错误。March2,202348
利用补码求符号数的加减运算两个正数相加由于两个数的符号位均为0,所以符号位肯定不会产生进位如果此时两个数的绝对值之和不大于(2n-1-1),则第n-2位(即最高数字位)就不会产生进位,运算结果就正确如果此时两个数的绝对值之和大于(2n-1-1),则第n-2位就会产生进位,这个进位使第n-1位(即符号位)为1,结果成了负数,显然错了。两个负数相加由于两个数的符号位均为1,所以此时符号位(第n-1位)肯定有进位如果此时第n-2位有进位,则运算结果为负数,结果正确如果此时第n-2位无进位,则运算结果为正数,结果显然错了March2,202349
利用补码求符号数的加减运算利用符号数的补码进行加减运算时,如果两个加数的绝对值之和大于n位符号数的表示范围,则A+B和-A-B的运算结果就会发生错误这类错误称为溢出
(Overflow)溢出只发生在两个加数的符号位相同时在设计加法器时必须考虑溢出问题,并在溢出时给出报警信号,以提示运算结果出错March2,202350
利用补码求符号数的加减运算当第n-1位(符号位)和第n-2位(最高数字位)不同时有进位(两个负数相加时)或不同时无进位(两个正数相加时)时有溢出发生利用这个原则,就可以设计出逻辑电路,判断有无溢出发生March2,202351
二-十进制编码(BCD码)BinaryCodedDecimal数字系统中使用的是二进制数,而在许多场合特别是在输入(如键盘等)输出(如显示、打印等)时需要处理十进制数表示0~9十个十进制数字,需要十种组合三位二进制码只有8种组合,不够用四位二进制码有16种组合,可用位数大于四的任意多位二进制数均可用,但那样会造成资源浪费故一般情况下均用四位二进制数对一位十进制数进行编码March2,202352
二-十进制编码(BCD码)用以表示十进制数字的二进制编码称为BCD码从四位二进制码的16种组合中取10种去表示10个十进制数字,共有C1610=16!/(10!·(16-10)!)种取法;而每种取法又有10!种分配方案;故共有16!/6!种可能的BCD编码方法可供选择!不可能全用!March2,202353
常用BCD码十进制数8421BCD5421BCD2421BCD余3码余3循环码000000000000000110010100010001000101000110200100010001001010111300110011001101100101401000100010001110100501011000101110001100601101001110010011101701111010110110101111810001011111010111110910011100111111001010--10100101010100000000--10110110011000010001--11000111011100100011--11011101100011011011--11101110100111101001--11111111101011111000
无效码
有权码自然码
无权码余3码=8421码+3第一位自反,其它位轴对称,逻辑相邻自反自反第一位自反;其它位上下对应二-十进制编码(BCD码)有权码:每一位都有固定的权值的编码8421、5421和2421均为有权码8421码每位的权值分别为8、4、2、1有权码所表示十进制数的大小就是各位加权相加的值余3码和余3循环码则是无权码,因为它的各位没有固定的权值March2,202355
二-十进制编码(BCD码)有效编码:用以表示一位十进制数的码组无效编码:无任何意义的码组自反Selfcomplement逻辑相邻:只有一位不同的两组编码March2,202356
二-十进制编码(BCD码)用BCD码表示十进制数时,每一位十进制数均需四位二进码表示(216)10=(001000010110)8421
=(001000011001)5421
=(010101001001)余3
March2,202357
“0”不能省略二-十进制编码(BCD码)两个BCD码相加,结果必须还是BCD码,并且还必须是合法的BCD码(001000010110)8421+(001110010011)8421
=(010110101001)8421其中和的第2位BCD码为1010,是非法的8421BCD码,要对其进行调整:本位加6(10的补码),并向高位进1调整后结果应为(0110
00001001)8421。格雷(Gray)码在组合电路中,为避免译码噪声(毛刺)的产生,常使用格雷码在控制系统中,为使系统可靠,常常使用格雷码格雷码的特点:相邻两个编码中只有一位不同,其它各位均相同,即相邻码组逻辑相邻March2,202359
March2,202360
序号 二进制码格雷码
0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000
第一位自反,其它各位关于中间轴对称余3码余3循环码格雷(Gray)码的特点位置相邻的格雷码逻辑相邻最高位自反,其它位关于中间轴反对称根据此特点可方便地写出格雷码March2,202361
格雷码的写法March2,202362
01000100011110
000000一位二位三位二进制码与格雷码转换异或运算:逻辑变量A、B的取值范围为0、1,则它们的异或运算定义为
1 当A≠B时
F=A⊕B=0当A=B时March2,202363
二进制码与格雷码转换由二进制码生成格雷码:Gn-1=Bn-1,Gi=Bi+1⊕Bi
式中i=n-2,n-3,…,2,1,0例如:求二进制码1011 的格雷码March2,202364
11101011二进制码与格雷码转换由格雷码生成二进制码:Bn-1=Gn-1,Bi=Bi+1⊕Gi
式中i=n-2,n-3,…,2,1,0例如:求格雷码1011 的二进制码March2,202365
11011011ASCII符除了需要表示十进制数外,还经常要表示人机交流用的其它一些信息,如大小写字母、+、-、×、÷、=、&、%…等字符,DEL、ESC、CR…等控制符使用最广泛的是所谓ASCII(AmericanStandardCodesforInformationInterchange)字符集,又称为ASCII码每个ASCII符号是一个7位码33个控制符,95个字符,共128个March2,202366
列号(b6b5b4)B000001010011100101110111
BH01234567行号(b3b2b1b0)00000NULDLESP0@P‘p00011SOHDC1!1AQaq00102STXD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CGCC 54.2-2021网络平台环境下数据交易规范
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- T/CFDCC 0205-2018铝制定制家居产品
- T/CERDS 2-2022企业ESG披露指南
- T/CEMIA 036-2023半导体显示用高碱浓度负胶显影液
- T/CEMIA 004-2018光伏单晶硅生长用石英坩埚
- T/CECS 10368-2024建筑外围护结构风洞测试方法
- T/CECS 10345-2023装配式矩形塑料雨水口
- T/CECS 10050-2019绿色建材评价水嘴
- T/CECS 10006-2018污泥隔膜压滤机
- 广东省广州市天河区2023-2024学年学年高一下学期期末考试数学试卷(解析版)
- 2024年江苏省高考生物试卷(真题+答案)
- 电梯安装修理维护程序文件及表格(符合TSG 07-2019特种设备质量保证管理体系)
- 上海市2023-2024学年八年级下学期期末数学练习卷(原卷版)
- 2024年荆州客运从业资格考试题库
- 10kV-500kV输变电设备交接试验规程
- 2024年四川省凉山“千名英才智汇凉山”行动第二批引才675人历年(高频重点提升专题训练)共500题附带答案详解
- 股权质押贷款合同案例
- 美容卫生管理制度打印版
- 2024年杭州良渚文化城集团有限公司招聘笔试冲刺题(带答案解析)
- 2024年湖南吉利汽车职业技术学院单招职业适应性测试题库汇编
评论
0/150
提交评论