第2章单片机系统电路基础本章简要地阐述最主要的数学知识及计算机中最基本的单元电路。本章的内容是必要的入门知识,是以后各章的基础。对于已掌握这些知识的读者,本章将起到复习和系统化的作用。第2章单片机系统电路基础2.1数制与编码2.2单片机系统常用数字集成电路2.3单片机系统中的常用存储器电路本章小结2.1数制与编码2.1.1进位计数制2.1.2进位计数制的相互转换2.1.3数码和字符的代码表示2.1.1进位计数制1.十进制计数制十进制的基为10,它所使用的数码为0~9,共10个数字。计数规律:逢10进1任意一个十进制数(S)10,可以表示为(S)10=kn-110n-1+kn-210n-2+…+k0100+k-110-1+k-210-2+…+k-m-110-m-1(2001.9)10=2×103+0×102+0×101+1×100+9×10-1例:2.二进制计数制2.1.1进位计数制二进制的基为2,它所使用的数码为0、1,共2个数字。计数规律:逢2进1。任意一个二进制数(S)2可以表示成(S)2=kn-12n-1+kn-22n-2+…+k020+k-12-1+k-22-2+…+k-m-12-m-1例:(1101.101)2=l×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-32.1.1进位计数制3.十六进制计数制十六进制的基为16,其使用的数码为0~9、A~F,共16个数字计数规律:逢16进1任意一个十六进制数(S)16可以表示成(S)16=kn-116n-1+kn-216n-2+…+k0160+k-116-1+k-216-2+…+k-m-116-m-1例:(8AE6)16=8×163+A×162+E×161+6×160用A~F表示10~15(8AE6)16也可表示为8AE6H2.1.2进位计数制的相互转换1.十进制转换成十六进制一个十进制整数转换成十六进制数时,按除16取余的方法进行。例:(725)10=(?)16(725)10=(?)1616725余数51645余数13,即16进制数D162余数2转换结果,得到(725)10=(2D5)16。一个十进制小数转换成十六进制小数时,可按乘16取整的方法进行。例:(0.7875)10=(?)160.7875×1612.6取整数12,即16进制数C0.6×169.6取整数90.6×169.6取整数91.十进制转换成十六进制转换结果,可得(0.7875)10=(0.C99)162.十六进制转换成十进制数十六进制数转换成等值的十进制数时,可用按权相加的方法进行。(1C4.68)16=1×162+C×161十4×160+6×16-1+8×16-2=256+192+4+0.375+0.03125=(452.40625)10例:3.十六进制与二进制数的转换一位十六进制数表示的数值恰好相当于4位二进制数能表示的数值。因此彼此之间的转换极为方便,只要从小数点开始分别向左右展开即可。(3AB4)16=(0011101010110100)2(11111101.01001111)2=(FD.4F)162.1.3数码和字符的代码表示一、三个术语数码:代表一个确切的数字代码:特定的二进制数码组,是不同信号的代号,不一定有数的意义编码:n位二进制数可以组合成2n个不同的信息,给每个信息规定一个具体码组,这个过程叫作编码。二、二进制码:自然码:有权码,每位代码都有固定权值,结构形式与二进制数完全相同循环码:无权码,每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同。详细见主教材第12页表2.1两种4位二进制编码三、二-十进制码(BCD码)BCD码用二进制代码对十进制数进行编码,它既具有二进制码的形式(4位二进制码),又有十进制数的特点(每4位二进制码是1位十进制数)。(6840)10=(0110100001000000)BCD例:四、字母与字符的编码由于计算机中采用二进制数码表示。要在计算机中表示字母、字符等都要用特定的二进制数码表示。字母与字符用二进制码表示的方法很多,目前在计算机中普遍采用的是ASCII码(AmericanStandardCodeforInformationInterchange,美国标准信息交换码)。它采用8位二进制编码,故可以表示256个字符。其中包括数码0~9、英文字母以及打印和不可打印的字符。详细见主教材第13页表2.2ASCII码字符表2.2单片机系统常用数字集成电路2.2.1常用的逻辑门电路2.2.2集电极开路门输出电路2.2.3常用组合逻辑电路2.2.4常用时序逻辑电路1、与门2.2.1常用的逻辑门电路与运算符,也有用“∧”、“∩”、“&”表示与运算表达式Y=A·B=AB与门逻辑符号&AYBYABABY000010100111与运算真值表与逻辑功能口诀:有“0”出“0”;全“1”出“1”。或运算符,也可用“∨”、“∪”表示或运算表达式Y=A+B或门逻辑符号≥1ABYYAB2、或门或逻辑功能口诀:有“1”出“1”;全“0”出“0”。ABY000011101111或运算真值表“-”非逻辑运算符非运算表达式Y=A非门逻辑符号1AYYA3、非门AY0110非运算真值表4、恒等门运算表达式Y=A恒等门逻辑符号1AYYAAY0011恒等门运算真值表5、与非门ABY001011101110与非逻辑真值表与非逻辑表达式ABY与非逻辑功能口诀:有“0”出“1”;全“1”出“0”。&AYBYAB与非门逻辑符号或非逻辑功能口诀:有“1”出“0”;全“0”出“1”。ABY001010100110或非逻辑真值表6、或非门BAY或非逻辑表达式或非门逻辑符号≥1ABYYAB异或逻辑功能口诀:同为“0”;异为“1”。7、异或门ABY000011101110异或逻辑真值表异或逻辑表达式BABABAY异或门逻辑符号YAB=1AYBAYB⊕逻辑代数中的逻辑运算TTL门电路中,因为输出级采用了推拉式电路,无论输出高电平还是低电平,它的输出电阻都很低,从而有效地降低了输出级的静态功耗并提高了驱动负载的能力。2.2.2集电极开路门输出电路但推拉式输出结构有其局限性:1)它们的输出端不能并联使用,2)无法满足对不同输出高低电平的需要;3)不能满足驱动较大电流、较高电压的负载的要求。克服上述局限的方法就是,门电路的输出级采用集电极开路的三极管结构,制成集电极开路门电路(OC门,OpenCollectorGate)。OC与非门逻辑符号应用时输出端要接一上拉负载电阻RL1、线与OC门在单片机系统中主要作用:2、作为驱动器。利用OC门可以控制一些较大电流的执行机构,如控制电动机。OC与非门驱动发光二极管2.2.3常用组合逻辑电路1.编码器(ENC)1)普通编码器在普通编码器中,任何时刻只允许输入一个编码信号,否则输出将发生混乱。普通编码器是多输入、多输出的组合逻辑电路:有多个输入端N,1为有信号,0为无信号(或相反);多个输出端n。两者关系满足2n=N。某一输入与它的编码输出是唯一对应关系。4-2编码器看作计算机配有的4个外部设备:声卡(A0)、硬盘驱动器(A1)、鼠标(A2)、网卡(A3)作为输入信号,B0、B1作为编码输出。逻辑表达式为:B0A2A0A3A1B1A1A0A3A24-2编码器真值表A3A2A1A0B1B00001000010010100101000112)优先编码器在优先编码器电路中,允许同时输入两个以上的信号。不过在设计优先编码器时将所有的输入信号按优先顺序排队,当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。A3优先权最高,A0优先权最低。优先排队电路的逻辑表达式为:AA0A1A2A3CA2A3DA3BA1A2A34-2优先编码器真值表A3A2A1A0B1B0000100001x0101xx101xxx11单片机系统中常用的优先编码器电路功能型号说明10-4优先编码器74HC147十进制-二进制编码器8-3优先编码器74HC148八进制-二进制编码器3状态8-3优先编码器74LS348八进制-二进制编码器,三态输出,可接单片机数据总线优先编码器74HC148演示2.译码器(DEC)译码器是编码器的逆过程,编码器和译码器成对存在,译码器也是多输入、多输出的组合逻辑电路,多个输入端数为N,则输出端数为n=2N。1)2-4线译码器B0A0A1B1A0A1B2A0A1B3A0A1对于任意组输入编码,仅有与该编码相对应的一个输出端输出为0,称为译中;其余所有输出都为1,称为未译中。逻辑表达式为:2-4线译码器真值表A0A1B0B1B2B3000111011011101101111110当编码输入A0=0,A1=0时,B0=0(有译码输出),B1=B2=B3=1(无译码输出)B0A0A1B1A0A1B2A0A1B3A0A12)3-8线译码器(74HC138)3个地址输入端:A1、A2、A3;3个使能输入端:G1、G2、G3;8个输出端:Y0~Y7Y0ENA0A1A2Y1ENA0A1A2Y2ENA0A1A2Y3ENA0A1A2Y4ENA0A1A2Y5ENA0A1A2Y6ENA0A1A274HC138译码器输出逻辑表达式为:使能输入逻辑表达式为:当EN=1时译码器工作,3-8线译码器有输出(0表示有译码输出,1表示无译码输出)ENG1G2G374HC138译码器演示单片机系统中常用的译码(驱动)器电路功能型号说明2-4译码器74HC139双重3-8译码器74HC1384-16译码器74HC154BCD十进制译码驱动器74LS145OC门输出7段显示译码驱动器74LS48二-十进制3.数据选择器和数据分配器1)4选1数据选择器在数字系统的传输过程中,有时需要从多路输入数据中选中某一路输出,这时就要用到称为数据选择器(MUX)的逻辑电路。4路输入信号是D0、D1、D2和D3,地址选择端是A和B,输出端是YYABD0ABD1ABD2ABD3输入信号中的哪一路送到输出端,决定于A和B的状态:AB=00,Y=D0,信号D0到输出端;AB=10,Y=D1,信号D1送到输出端;AB=01,Y=D2,信号D2送到输出端;AB=11,Y=D3,信号D3送到输出端。2)数据分配器数据分配器也称多路分配器,是一路输入、多路输出的组合逻辑器件。1-4数据分配器是指1路输入、4路输出的组合逻辑电路译码器也可以作为数据分配器使用,只要将译码器的使能端连接数据输入端即可实现数据分配器的功能。用3-8译码器实现数据1-8分配器单片机系统中常用数据选择器和数据分配器功能型号说明16-1数据选择器74HC1508-1数据选择器74HC151有反相输出8-1数据选择器74HC1524-1数据选择器74HC153双重4选12-1数据选择器74HC257三态输出2-4数据分配器74HC1552-4数据分配器74LS156OC门输出4.三态门与传输门1)总线:总线(BUS)是一组导线,是数据传送的公共通路。在总线结构的计算机中,多个部件挂在总线上,共享总线,多个部件分时使用总线,进行部件间的数据传送。所谓分时使用总线,就是在某一时刻,只允许一组数据发送到总线上,使相应的部件接收总线上的数据。2)特殊控制开关——三态门:三态门是一种扩展逻辑功能的输出级,也是一种控制开关。恒等门和非门真值表恒等门非门ENAFENAF0000010110101x高阻1x高阻2.2.4常用时序逻辑电路1.锁存器由若干个电平触发的D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫作锁存器。锁存器的工作特点为,数据信号有效滞后于时钟信号有效。这意味着时钟信号先到,数据信号后到。74HC373/74HC573功能表输出控制GD输出01110000xQn1xx高阻8位锁存器74HC373/74HC573(图中只画出4位)2.寄存器由若干个正沿D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫作寄