




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章MCS-51单片机硬件与系统扩展2.1MCS-51外部引脚2.2P0、P1、P2、P3口的内部结构及使用2.3单片机内部硬件资源2.4时钟与复位电路2.5单片机系统扩展2.6习题
对于硬件系统设计人员来说,掌握单片机硬件资源是十分重要的,只有熟悉了单片机的硬件“家底”,才能合理安排、正确使用现有资源,并做到物尽其用。MCS-51单片机是美国Intel公司的产品,但在实际应用时常常选用美国ATMEL公司的产品,如AT89C51/52(40脚)和AT89C2051(20脚)。ATMEL公司AT系列单片机相当于Intel公司单片机的Flash版本,两者硬件结构相同,指令兼容,但Flash版本可以使程序的修改、调整更加方便,所以ATMEL公司的产品几乎成了MSC-51系列单片机的主流。2.1MCS-51外部引脚AT89C51/52的外部有40个脚(与8051/8751相同,如图2-1所示),这些管脚根据功能可以将它们分成三大组:2.与外部电路联络的脚(32个脚)P0:在扩展时作为数据总线/地址低8位线,扩展不用时可以作为用户I/O线。P1:仅作用户I/O口。P2:在扩展时作为地址高8位线,扩展不用时作为用户I/O线。P3:首先保证第二功能(如表2-1所示),若第二功能不用,则可作为用户I/O线。
3.控制脚(3个脚)(1)/VPP(31脚):为片内、片外ROM选择控制脚,具体如图2-2所示,早期的8031等内部没有ROM,故使用时接地,目前AT89C51/52内部均有ROM(Flash),所以使用时直接接VCC。对于EPROM型单片机(如8751),在编程期间该脚用于提供编程电压(VPP)。图2-2MCS-51程序存储器结构(3)(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。要注意的是该脚与外部数据存储器的读、写无关。用于控制的脚其实还有P3口的、,它们用于外部数据存储器及I/O的读、写控制。尽管控制线数量不多,但在应用系统中担当着十分重要的角色,在系统扩展部分我们可以体会这一点。2.2P0、P1、P2、P3口的内部结构及使用2.2.1P0口的内部结构及使用特点由图2-3可见,电路中包含一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。图2-3P0口一位结构图在P0口的内部有一个多路转接电路MUX,在控制信号的作用下,多路转接电路可以分别接通锁存器输出或地址/数据线,使P0口作为外部扩展时的数据总线/兼地址低8位线。另外,P0口结构的一大特点(不同于P1、P2、P3口)为输出电路是漏极开路电路,当P0口进行一般的I/O输出时必须外接上拉电阻才能有高电平输出。当P0口进行一般的I/O输入时,必须先向电路中的锁存器写入“1”,使场效应管V2截止,以避免V2导通对引脚读入的影响。2.2.3P2口的内部结构及使用特点如图2-5所示,P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用I/O口使用,这时多路转接电路开关倒向锁存器Q端,同时又可作为高位地址线使用,此时多路转接电路开关应倒向“地址”位置。图2-5P2口一位结构图2.2.4P3口的内部结构及使用特点P3口的特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。由于第二功能信号有输入和输出两类,因此分两种情况说明,结构如图2-6所示。对于第二功能为输出的信号引脚,当作为I/O使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。图2-6P3口一位结构图对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输出端取得。而作为I/O使用的数据输入,仍取自三态缓冲器的输出端。不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线都应保持高电平。P3口作为输入使用时,也必须先写“1”,让输出电路的场效应管截止。
图2-7驱动LED电路
图2-7驱动LED电路(续)2.驱动继电器实例继电器的驱动,从电平角度来说也有高电平驱动和低电平驱动两种,但实际使用的继电器的工作电压都是9V、12V甚至更高,所以除了考虑驱动电流是否足够(继电器所需的驱动电流可用继电器的标称工作电压除以标称电阻来估算,常见的大约在40mA~60mA,所以不管哪种结构都需要三极管等电流放大电路)外,还要考虑低电平、高电平哪种驱动更容易实现。
(a)(b)
(c)图2-8驱动继电器电路3.光耦器件的接口电路单片机应用在强电系统时,为提高抗干扰能力,隔离输出级带来的干扰和不安全性,常常使用光耦器件作为接口,常用光耦器件的内部结构如图2-9所示。图2-9常用光耦内部结构2.3单片机内部硬件资源图2-11是MCS-51单片机的内部结构框图,从图中可以看出,单片机内部主要包括:图2-11单片机内部结构框图(1)一个8位CPU(含运算器、控制器)。(2)一个片内振荡器及时钟电路。(3)片内存储器(RAM和ROM,AT89C系列是Flash)。(4)特殊功能寄存器(SFR)。(5)4个8位并行I/O口(P0、P1、P2、P3)。(6)一个全双工可编程串行口。(7)定时器/计数器中断系统。2.3.1片内程序存储器在MCS-51单片机系列中,8031、8032内部没有程序存储器,8051/8751/AT89C51内部有4K的程序存储器,8052/8752/AT89C52内部有8K的程序存储器。程序存储器有不同版本,有些是ROM,如8051/8052等;有些是EPROM,如8751/8752等;有些是Flash,如AT89C51/AT89C52等。程序存储器主要用来存放程序,同时也常常用来存放数据表格(通过DB指令建立数码管字型表等),在具体存放程序和建立数据表格时应该注意,程序存储器的部分空间的使用是有规定的,主要如下。在上述入口地址区域不能放置用户的程序和建立数据表格,原因是:由于两个中断入口地址间仅有8个单元(如0003H到000BH),用来存放中断发生后的用户程序(一般称中断服务程序)显然是不够的,我们将中断服务程序放在程序存储器的其他“自由”空间,在这些入口地址放一条跳转指令(如:LJMPXXXX,其中“XXXX”就是实际中断服务程序的起始地址或标号),由这条跳转指令去“找到”实际的中断服务程序。2.3.2片内部数据存储器图2-12是单片机内部数据存储器结构框图,对于8031/8051/8751/AT89C51,内部有128B(00H~7FH)的数据存储器,80H地址以上的空间离散分布着SFR(特殊功能寄存器),没有用户可用的RAM;对于8032/8052/8752/AT89C52,内部有256B数据存储器,00H~7FH的单元与8051等相同,但在80H地址以上的空间则既有SFR(采用寄存器或直接寻址),同时也有用户可用的RAM(采用寄存器间接寻址)。
图2-12内部数据存储器结构1.通用工作寄存器区地址00H~1FH的空间为通用工作寄存器区,32个单元又可以分成4个组,分别如下。(1)00H~07H:工作寄存器0组,符号为R0~R7。(2)08H~0FH:工作寄存器1组,符号为R0~R7。(3)10H~17H:工作寄存器2组,符号为R0~R7。(4)18H~1FH:工作寄存器3组,符号为R0~R7。上述4个组的寄存器符号都为R0~R7,也就是说,一个符号(如R0)可以对应4个单元(如00H、08H、10H、18H),使用时是否会混淆呢?当然不会,因为在使用的任何时候只能选中一个组,到底使用哪个组,由特殊功能寄存器PSW来指定(见SFR部分介绍)。2.位寻址区什么是位寻址区呢?可以这么来理解,这些区除了每个单元都有确定的单元地址外,单元内的8位数的每个位置也有地址。要理解这点我们不妨打个比方:一个单元好像一间宿舍,单元的地址对应宿舍的房间号,而位则对应宿舍内的床,位地址正好对应床铺号,位寻址区的地址如表2-2所示。单元地址MSB位地址LSB2FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H0706050403020100位寻址区比普通用户RAM相比具有的优点是,它具有位寻址功能,常常用来做标记,同时利用位操作功能可以使程序更加简单,除了位寻址区有位地址之外,特殊功能寄存(SFR)中地址末位是0H或8H的12个单元也有位地址。在使用位地址时,容易与单元地址混淆,如地址“20H”,既可以理解成单元的地址,也可以理解成24H单元中的一个位地址(见表2-2倒数第5行),具体是指单元地址还是位地址,除了看文字表述外,在指令中看指令的类型和含义就可知道了。3.用户RAM区30H~7FH之间是普通的用户RAM。对于8032/8052/8752/AT89C52还包括80H~FFH空间,这里的单元没有通用寄存器中的符号(即具有寄存器寻址功能),也没有位寻址区中的位地址,每个单元只有一个特定的地址与之相对应。需要强调的是,30H~7FH可以采用直接寻址和寄存器间接寻址,而80H~FFH只能通过寄存器间接寻址,不能采用直接寻址。4.特殊功能寄存器区特殊功能寄存器简称SFR(SpecialFunctionRegister),在单片机中扮演着十分重要的角色。它们离散地分布在地址为80H~FFH的空间中,特殊功能寄存器地址表如表2-3所示,这里先介绍几个常用的特殊功能寄存器,其余的在相关章节应用时介绍。
(1)累加器ACC(E0H):累加器ACC(Accumulator)为8位寄存器,助记符记作A,是最常用、最繁忙的专用寄存器,所有的运算结果最终都放在ACC中,许多功能的实现必须由A来完成,如与外部RAM的数据传送等。(2)寄存器B(F0H):寄存器B是一个专门为乘法、除法运算设置的,在乘法、除法运算中由A和B来完成,所以寄存器B又称为乘法除法寄存器。(3)程序状态寄存器PSW(D0H):PSW(ProgramStatusWord)用来存放程序运行后的各种标志或状态,供程序查询或判断用。内部8位的具体定义如下:D7HD6HD5HD4HD3HD2HD1HD0HCyACF0RS1RS0OVF1PCy(PSW.7)——进位标志位。Cy是PSW中最常用的标志位。其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,Cy由硬件置“1”,否则被清“0”;二是在位操作中,作累加位使用。AC(PSW.6)——辅助进位标志位。在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。在BCD码调整中也要用到AC位状态。F0(PSW.5)——用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)——寄存器组选择位。它们被用于选择CPU当前使用的通用寄存器组号,其对应关系如表2-4所示。RS1RS0寄存器组片内RAM地址00第0组00H~07H01第1组08H~0FH10第2组10H~17H11第3组18H~1FH表2-4寄存器组选择表OV:做加法或减法时,由硬件置位或清零,以指示运算结果是否溢出。OV=1反映运算结果超出了累加器的数值范围(无符号数的范围为0~255,以补码形式表示一个有符号数的范围为-128~+127)。进行无符号数的加法或减法时,OV的值与进位位C的值相同;进行有符号数的加法时,如最高位、次高位之一有进位,或做减法时,如最高位、次高位之一有借位,OV被置位,即OV的值为最高位和次高位的异或(C7⊕C6)。P(PSW.0)——奇偶标志位。表明累加器A中内容的奇偶性,如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。此标志位对串行通信中的数据传输有重要的意义,在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。(4)数据指针DPTR(83H、82H):数据指针是单片机中唯一一个用户可操作的16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以将两个8位寄存器分开使用,即:DPH(83H) 代表DPTR高位字节DPL(82H) 代表DPTR低位字节DPTR通常在访问外部数据存储器、外部I/O端口时作地址指针使用(把地址赋值给DPTR),也在程序存储器进行查表时作基址,DPTR的寻址范围为64KB(216)。(5)堆栈指针SP(81H):堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,主要用于子程序调用及返回、中断处理断点的保护及返回,它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回,进入栈区的“断点”数据应遵循“先进后出”的原则。SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后,SP的值也自动随之变化。MCS-51单片机系统复位后,SP初始化为07H(在通用寄存器区0组R7),实际编程时,最好先将SP设置到RAM地址的高端,如对于8031/8051/8751/AT89C51等,设置在60H以上。对于8032/8052/8752/AT89C52则设置成A0H等。如SP不在RAM地址的高端,则很容易破坏用户放在RAM中的临时数据,程序调试时,这种错误相对比较隐蔽,不太容易被发现。综上所述,片内数据存储器可以用表2-5表示。表2-5MCS-51片内RAM结构地址范围功能或名称80H~FFHSFR、数据缓冲区30H~7FH数据缓冲区20H~2FH位寻址区18H~1FH工作寄存器3组,R0~R710H~17H工作寄存器2组,R0~R708H~0FH工作寄存器1组,R0~R700H~07H工作寄存器0组,R0~R7(6)程序计数器PC:PC(ProgramCounter)是一个16位专用寄存器,可寻址范围是0000H~0FFFFH,共64KB。PC用于存放CPU下一条要执行的指令地址,CPU要执行哪条指令时,就把该条指令所在的单元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后会自动加1,即(PC)←(PC)+1,又指向CPU下一条要执行的指令地址。需要注意的是用户无法通过指令改变PC中的数值,也即PC是不可操作的。2.4.1时钟与时序1.时钟单片机内部每个部件要想协调一致地工作,必须在统一口令——时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。图2-13(a)是内部时钟方式:单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。在该图中,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2MHz~12MHz(AT89C51/52最高工作频率达24MHz),晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。在通常应用情况下,MCS-51单片机使用振荡频率为6MHz或12MHz,在通信系统中则常用11.0592MHz,这样可使误差最小。
图2-13(b)是外部时钟方式:时钟信号来自外部的振荡电路(大多数情况是来自另外单片机的时钟信号,以保持多片CPU工作同步),外接的TTL门电路和上拉电阻对波形进行波整形。需要说明的是,对于CHMOS的单片机(如80C51),外部时钟的引入方法有些不同,即信号引到XTAL1,而XTAL2则悬空(NC)。(a)内部时钟方式(b)外部时钟方式图2-13时钟信号的产生方式2.时序每执行一条指令,CPU的控制器就要发出一系列特定的控制信号,这些信号在时间上有严格的顺序,我们称之为时序。在此我们先来讲述几个与时钟信号有关的周期的概念。(1)时钟周期:所谓时钟周期,就是时钟频率的倒数,即1/fosc,如选用6MHz晶振时,时钟周期为1/6μs。(2)状态周期:是振荡频率经过片内二分频后的信号周期,也即等于2倍的时钟周期,表示为2/fosc。(3)机器周期:是机器完成一个基本操作所需的时间,一个机器周期由6个状态周期组成,从数量上等于12/fosc。机器周期是非常重要的概念,在以后与时间有关的计算中,我们可以看到都是以机器周期为基本单位的。(4)指令周期:是指机器完成一条指令所需的时间,由于指令功能的不同,完成所需要的时间也就不同,指令周期在1~4倍的机器周期内,如选用12MHz晶振时,最快的指令只需要1μs时间(12/fosc)。图2-14、图2-15给出了单片机在部分操作时的时序。图2-14MCS-51的取指/执行时序图2-15读ROM时的时序2.4.2复位单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,例如复位后PC=0000H,使单片机从0000H单元取指令开始运行。单片机复位的条件是:必须使RST/VPD(9脚)加上持续两个机器周期(即24个振荡周期)的高电平。复位包括上电复位(相当于计算机的冷启动)、手动复位(相当于计算机的热启动)和自动复位。在无人值守的系统中往往需要死机后的自动复位,即采用看门狗技术的自动复位。在PIC等单片机中,芯片已经内置看门狗,MCS-51则需要外接看门狗专用芯片来实现自动复位。图2-16、图2-17分别给出了上述三种复位电路,对于看门狗复位电路,必须由软件配合才能正常工作。在MCS-51单片机系列中,8031、8032内部没有程序存储器,8051/8751/AT89C51内部有4K的程序存储器,8052/8752/AT89C52内部有8K的程序存储器。(a)上电复位(b)手动复位图2-16上电复位、手动复位图2-17看门狗(自动)复位2.3.1片内程序存储器复位后机器将从初始状态开始工作,各主要寄存器状态也被复位,具体如下。其中:*表示无关位。RAM中的数据,若是上电复位则是随机的,若是手动复位或看门狗复位,则保持不变。2.5单片机系统扩展单片机本身已经包含了RAM、ROM(部分8031/8032没有)和I/O端口等,因此从某种意义上说,单个芯片加上振荡、复位就可以构成一个应用系统。然而在很多时候,仅有这些资源还不能满足实际要求,比如,在一个数据采集系统中,128B的RAM(除了寄存器实际能用的不到128B)是远远不能满足要求的,这样,在单片机的外部需要另外构建新的RAM系统,所做的这些工作称为系统扩展。系统扩展一般包括RAM、ROM、I/O的扩展,当选用AT89C51/52等时,ROM的扩展往往可以省却。在一个实际的单片机应用系统中,其硬件部分可以包括两大部分:基本部分(又称最小系统)和扩展部分。基本部分是任何一个系统所必需的,电路结构上没多少变化;扩展部分是根据具体要实现的功能来设计的,目前这方面的资料很多,只要掌握其基本原理和方法,结合现有资料,经过分析、取舍、修改,硬件系统的设计也就变得简单了。2.5.1基本部分的组成图2-18最小系统(1)电源电路:因为单片机是比较复杂的数字系统,要求电源电压稳定、纹波系数小,在有电机控制的系统中一定要消除电机工作时对电源的干扰,以免系统不稳,如电机单独供电。目前大多数单片机工作电压都是5V,所以电源部分设计常用7805稳压,并配以充足的滤波电容。(2)复位电路:如前所述,根据不同场合及要求进行选择。(3)晶振电路:如前所述,可以用内部时钟方式和外部时钟方式,一般独立系统都采用内部时钟方式。(4)带ROM的CPU:MCS-51单片机系统常选用ATMEL公司的产品,如AT89C51/52/2051等。基本部分的框图如图2-18所示。图2-18最小系统2.5.2系统的扩展当单片机自身的硬件资源不够用时,必须采用扩展的办法来满足实际要求,系统扩展的任务实际是用三组总线(数据总线、地址总线、控制总线)将外部的芯片或电路与CPU连起来构成一个整体,在程序的控制下完成CPU与外部芯片或电路之间的数据传送、信息的获取和行为控制等。系统扩展主要依靠CPU的P0、P1、P2、P3及其他控制线,具体方法如下。(1)数据总线的连接方法:CPURAMROMI/OP0.0~P0.7<——————>对应的数据线(2)地址总线的连接:分为低8位和高8位(高8位很多时候没有全部用掉)。锁存器CPURAMROM低8位P0.0~P0.7——>对应的地址低8位线高8位P2.0~2.7——————>对应的地址高8位线(3)控制线的连接方法:CPURAMROM——————>——————>——————————————>ALE——————>锁存器的控制脚注:I/O的地址线和控制线在后面的I/O扩展例子中说明。上面的规则可以用图2-19来表示:图2-19系统扩展示意图图2-20RAM6116管脚图2.RAM扩展在很多场合,芯片内部的RAM往往是不够用的,所以扩展RAM是我们常常要做的工作,下面介绍两个例子。【例2-1】6116的扩展:在RAM、ROM的型号中隐含了重要的信息,后面二位或三位除以8就可得到它们的容量(单位是KB),如RAM6116,16/8KB=2KB=2×210B=211B,同时可以知道共有11(从211B而知)根地址线,可以记作A0、A1、…、A10。图2-20是6116的管脚图,I/On是数据总线。根据上述扩展思想,可以画出RAM6116与CPU的连接图,如图2-21所示。图2-20RAM6116管脚图图2-21RAM6116扩展图芯片扩展完后,我们用地址表来分析RAM6116存储器的地址,地址表的第1行是CPU提供的所有地址线:高8位地址(P2口提供)和低8位地址(P0口提供);第2行是RAM6116对应的地址线连接情况,其中没连的用“x”表示;第3行是地址线变量取最小值(全部取“0”)的地址,也就是初始地址;第4行是地址线变量取最大值(全部取“1”)的地址,即末地址。由于“x”代表无关项,在取值时可以取“0”,也可以取“1”,所以理论上RAM6116的地址是非常多的,但尽管如此,在取值时,水平方向的“x”可以取不同值,而垂直方向必须取一致的值。为便于计算,常常将“x”全部取“0”或者全部取“1”。在表2-6中,我们将“x”全部取“1”,形成的地址范围是:7800H~7FFFH。表2-66116地址表P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0xxxxA10A9A8A7A6A5A4A3A2A1A00xxxx000000000000xxxx11111111111在小上面例子中,是芯片的片选端,对多数芯片是低电平选中(看符号上有没有一横,有就说明是低电平选中)。在系统扩展过程中,片选端的处理是相对较难的,我们可以按照下面的方法处理:(1)同种芯片(RAM与I/O属于同种)只有单个时,片选端直接接地或者接P2口多余的地址线。(2)同种芯片(RAM与I/O属于同种)有多个时,片选端分别接到P2口多余的地址线,这种方法称为“线选法”,也可以用剩余P2口的线进行译码后分别接到芯片片选端,即“采用译码法”。(3)不同种(RAM与ROM属于不同种)芯片的片选信号可以共用。【例2-2】两片6264的扩展:根据以上所述,RAM6264的容量为64/8KB=8KB=213B,地址线为A12、A13、…、A0,其管脚如图2-22所示。按照扩展基本思想,两片6264与CPU的连接图如图2-23所示。6264(1)、(2)片选端CS2都直接接VCC(+5V),6264(1)的接空余地址线P2.7,6264(2)的接空余地址线P2.6,采用的是线选法。从图中可以分别列出它们的地址表格,如表2-7、表2-8所示。图2-22RAM6264管脚图图2-23两片RAM6264扩展图表2-76264(1)地址表表2-86264(2)地址表注意:在线选法计算地址的时候,尽管对于6264(1)来说,P2.6是与其无关的,但必须恒取“1”,见表2-7,因为在选中芯片6264(1)时,6264(2)不能被选中,否则造成地址重叠,读、写时数据出错。同样地,在表2-8中,P2.7必须恒取“1”。所以:芯片6264(1)的地址范围为:7800H~7FFFH(x取“1”)。芯片6264(2)的地址范围为:B800H~BFFFH(x取“1”)。线选法的优点是不用增加额外器件,电路简单,但芯片之间地址可能不连续(如例2-2,地址不连续会大大增加程序的难度),存储空间也得不到充分利用。3.ROM扩展由于目前的CPUAT89C51/52内部已经有了4KB/8KB的程序存储器,所以实际应用时,ROM的扩展很少碰到了,下面举一个例子,主要为了说明片选端的“译码法”用法和地址计算,如图2-24所示。图2-24两片ROM2764译码法扩展图芯片2764(1)的片选来自,片选为“0”时必须满足“P2.7P2.6P2.5”=“000”(参考有关74LS138的功能表),所以地址表如表2-9所示。表2-92764(1)地址表所以:芯片2764(1)的地址为:0000H~1FFFH。芯片2764(2)的片选来自,片选为“0”时必须满足“P2.7P2.6P2.5”=“001”(参考有关74LS138的功能表),所以地址表如表2-10所示。表2-102764(2)地址表所以芯片2764(2)的地址为:2000H~3FFFH。译码法硬件线路稍复杂,但可以充分利用地址空间,使地址能够连续,采用全译码(指没有空余的地址线,如例2-2)还可避免地址重叠现象,当然部分译码因为还有其他线未参加译码,也会产生地址重叠现象。4.I/O端口扩展单片机本身有P0、P1、P2、P3四个I/O端口,但在上面RAM、ROM的扩展中发现,P0口已经全部作为数据线/地址低8位,P2口做地址的高位使用了,P3口也用掉了部分线(、),所以在有RAM等扩展的系统中,真正的I/O线已经所剩无几了,因此I/O扩展也几乎成了必做的工作。在实际I/O扩展中,根据系统要求,可以将I/O扩展分为简单数字电路芯片(TTL、CMOS锁存器、缓冲器电路)的I/O扩展和相对复杂的可编程芯片(8255、8155)的扩展,另外一种是比较特殊的利用单片机串行口的扩展方法,将在第6章介绍。除了用串行口扩展I/O外,其余两种I/O扩展都将占用外部数据存储器的地址,因为它们与外部RAM使用相同的地址线和相同的读、写控制线。(1)用简单数字电路芯片的I/O扩展可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 与同学们谈地理教学设计 -2024-2025学年地理人教版七年级上册
- 《第7课 开关量的生成》教学设计教学反思-2023-2024学年小学信息技术浙教版23六年级下册
- ERCP病人的护理课件
- 2024-2025学年人教版初中美术九年级下册教案
- 2024年高中物理 第二章 第3节 匀变速直线运动的位移与时间的关系教学设计 新人教版必修1
- 2024年五年级数学上册 五 分数的意义第5课时 分数与除法(2)配套教学设计 北师大版
- 2024-2025学年高中历史 第五单元 经济全球化的趋势 第26课 经济全球化的趋势教学教学设计 岳麓版必修2
- 2024秋八年级英语上册 Unit 2 How often do you exercise Section B(1a-2e)教学设计 (新版)人教新目标版
- 药品验收养护操作规程
- 2024-2025学年高中物理 第九章 固体、液体和物态变化 4 物态变化中的能量交换教学设计1 新人教版选修3-3
- 中学生春季传染病预防知识
- 住院透析患者操作流程
- 云仓合同标准文本
- (一模)南京市、盐城市2025届高三年级第一次模拟考试历史试卷(含官方答案)
- 2025年焦作工贸职业学院单招职业技能考试题库附答案
- 2025年塔里木职业技术学院单招职业技能测试题库完美版
- 清明节假期安全教育主题班会 课件
- 倒闸操作考试试题及答案
- 2025年小学生安全知识竞赛考试指导题库300题(含答案)
- 专题5 压强 2021年和2022年四川省成都市中考物理模拟试题汇编
- 春季预防传染病课件
评论
0/150
提交评论