单片机原理与应用设计张毅刚等编著电子教案第8章

上传人:kfc****89 文档编号:243379608 上传时间:2024-09-22 格式:PPT 页数:61 大小:1,016KB
返回 下载 相关 举报
单片机原理与应用设计张毅刚等编著电子教案第8章_第1页
第1页 / 共61页
单片机原理与应用设计张毅刚等编著电子教案第8章_第2页
第2页 / 共61页
单片机原理与应用设计张毅刚等编著电子教案第8章_第3页
第3页 / 共61页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单片机原理与应用设计张毅刚等编著电子教案第8章,第8章 89C51单片机扩展存储器的设计,8.1 系统扩展结构,89C51系统扩展结构如,图8-1,所示。,图,8-1,由图8-1可以看出,系统扩展主要包括,存储器扩展,和,I/O接口部件扩展,。,外部存储器扩展,又包括,程序存储器扩展,和,数据存储器扩展,。89C51采用的是,哈佛结构,。,扩展后,系统形成了,两个并行的外部存储器空间,。,89C51单片机采用并行总线结构,大大增加了系统的灵活性,使扩展易于实现,各扩展部件只要符合总线规范,就能很方便地接入系统。,由于系统扩展是以89C51单片机为核心,通过总线把89C51与各扩展部件连接起来。因此,要进行系统扩展,首先要构造系统总线,。,8.2 系统总线及总线构造,按功能通常把系统总线分为三组,如,图8-1,所示。,1地址总线(Adress Bus,AB),地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器选择。地址总线是,单向传输,的。,2数据总线(Data Bus,DB),数据总线用于在单片机与存储器之间或与I/O端口之间传送数据。数据总线是双向的,可以进行两个方向的传送。,3控制总线(Control Bus,CB),控制总线实际上就是单片机发出的各种控制信号线。,8.2.1 构造系统总线,系统扩展的首要问题:,构造系统总线。,系统总线上,“挂”,存储器芯片或I/O接口芯片,,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。,1以P0口作为低8位地址/数据总线,89C51由于受引脚数目的限制,数据线和低8位地址线复用。,为了将它们分离出来,需要,外加地址锁存器,,从而构成与一般CPU相类似的片外三总线,见,图8-2,。,图,8-2,2. 以P2口的口线作为高位地址线,P2口的全部8位口线用作高位地址线,再加上P0口经地址锁存器提供的低8位地址,便形成了,完整的16位地址总线,(见图8-2),使,寻址范围达到64KB,。,3控制信号线,除了地址线和数据线之外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。其中包括:,(1),PSEN*,信号作为外扩程序存储器的读选通控制信号。,(2),RD*,和,WR*,信号作为外扩数据存储器和I/O接口的读、写选通控制信号。,(3),ALE,信号作为低8位地址的锁存控制信号。,(4),EA*,信号作为内、外程序存储器的选择控制信号。,可看出,尽管89C51单片机有4个并行的I/O口,共32条口线,但由于系统扩展的需要,,真正作为数字I/O使用的,就剩下P1口和P3口的部分口线了。,8.2 地址空间分配和外部地址锁存器,8.2.1 存储器地址空间分配,如何把外部各自的64KB空间分配给各个程序存储器、数据存储器芯片,并且使程序存储器的各个芯片之间,数据存储器各芯片之间,为避免发生数据冲突,,一个存储器单元对应一个地址,,这就是存储器的地址空间的分配问题。,在外扩的多片存储器芯片中,89C51要完成这种功能,必须进行,两种选择,:,一是必须选中该存储器芯片,(或I/O接口芯片),这称为,“片选”,,只有被“选中”的存储器芯片才能被89C51读出或写入数据。为了片选的需要,每个存储器芯片都有片选信号引脚,,二是在“片选”的基础上再选择该芯片的某一单元,称为,“单元选择”。,常用的存储器地址空间分配方法有两种:,线性选择法,(简称线选法)和,地址译码法,(简称译码法),下面分别介绍。,1线选法,直接利用系统的,高位地址线,作为存储器芯片(或I/O接口芯片)的“片选”控制信号,。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连接即可。,线选法的,优点,是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。,缺点,是可寻址的芯片数目受到限制。,另外,,地址空间不连续,每个存储单元的地址不唯一,不,能充分有效地利用存储空间,这会给程序设计带来一些不便,,只适用于外扩芯片数目不多的单片机系统的存储器扩展。,2译码法,使用译码器对89C51的高位地址进行译码,将,译码器的译码输出作为存储器芯片的片选信号。,是最常用的地址空间分配的方法,它能有效地利用存储器空间,适用于多芯片的存储器扩展。,常用的译码器芯片,有,74LS138,(3-8译码器),74LS139,(双2-4译码器),74LS154,(4-16译码器)。若全部高位地址线都参加译码,称为,全译码,;若仅部分高位地址线参加译码,称,为,部分译码,。部分译码存在着部分存储器地址空间相重叠的情况。,两种常用的译码器芯片。,(1)74LS138,74LS138是,3-8译码器,,有3个数据输入端,经译码产生8种状态。其引脚如,图8-3,所示,真值表如,表8-1,所示。,由,表8-1,可见,当译码器的输入为某一固定编码时,其,输出仅有一个固定的引脚输出为低电平,,,其余的为高电平,。而输出为低电平的引脚就作为某一存储器芯片的片选端的控制信号。,图,8-3,表8-1,74LS138译码器真值表,输 入 输 出,G1 G2A,*,G2B,*,C B A Y7,*,Y6,*,Y5,*,Y4,*,Y3,*,Y2,*,Y1,*,Y0,*,(2)74LS139,74LS139是,双2-4译码器,。两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端。其引脚如,图8-4,所示,真值表如,表8-2,所示(见P138)。,图,8-4,下面,以74LS138为例,介绍如何进行地址分配。,例,要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给各个芯片?,64KB地址空间的分配如,图8-5,所示。,图,8-5,采用,全地址译码方式,,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。,如果,用74LS138把64K空间全部划分为每块4KB,,如何划分呢?由于4KB空间需要12条地址线进行,“单元选择”,,而译码器的输入有3条地址线(P2.6P2.4),P2.7没有参加译码,P2.7发出的0或1决定了选择64KB存储器空间的前32KB还是后32KB,由于P2.7没有参加译码,就,不是全译码方式,,这样前后两个32KB空间就重叠了。,那么,,这32KB空间利用74LS138译码器可划分为8个4KB空间,。如果把P2.7通过一个非门与74LS138译码器的G1端连接起来,如,图8-6,所示,就不会发生两个32KB空间重叠的问题了。,8.2.2 外部地址锁存器,地址锁存器芯片: 74LS373、8282、74LS573等。,1. 锁存器74LS373,带有三态门的8D锁存器,其引脚及内部结构如,图8-7,和,图8-8,。 89C51与74LS373的连接如,图8-9,所示。,图,8-6,引脚说明如下:,D7D0:,8位数据输入线。,Q7Q0:,8位数据输出线。,G:,数据输入锁存选通信号,图,8-7,图,8-8,OE,*,:,数据输出允许信号,图,8-9,74LS373,功能如,表,8-3,所示。,表,8-3 74LS373,功能表,OE*,GDQ,0111,0100,00,不变,1,高阻态,2锁存器74LS573,输入的D端和输出的Q端依次排在芯片的两侧,,为绘制印刷电路板时的布线提供了方便。,图,8-10,74LS573的各,引脚说明,如下:,D7D0:,8位数据输入线。,Q7Q0,:8位数据输出线。,G:,数据输入锁存选通信号,该引脚与74LS373的G端功能相同。,OE*:,数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。,8.3 程序存储器EPROM的扩展,采用只读存储器,非易失性。,(1)掩膜ROM,在制造过程中编程。成本较高,因此只适合于大批量生产。,(2)可编程ROM(PROM),用独立的编程器写入。但PROM只能写入一次,且不能再修改。,(3)EPROM,电信号编程,紫外线擦除的只读存储器芯片。,(4)E,2,PROM( EEPROM),电信号编程,电信号擦除的ROM芯片。读写操作与RAM几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。,(5)Flash ROM,又称闪烁存储器,简称闪存。,大有取代E,2,PROM,的趋势。,目前许多公司生产的以8051为内核的单片机,在芯片内部大多集成了数量不等的Flash ROM。,例如,,,美国ATMEL公司,生产的与51系列单片机兼容的产品,89C2051/89C51/89C52/89C55,,片内分别有,2KB/4KB/8KB/20KB,的Flash ROM,来作为EPROM使用。,对于这类单片机,在片内的Flash ROM满足要求的情况下,扩展外部程序存储器的工作就可省去。,8.3.1 常用EPROM芯片介绍,典型芯片是27系,列,产品,例如,,2764,(8KB8)、,27128,(16KB8)、,27256,(32KB8)、,27512,(64KB8)。,“27”后面的数字表示其位存储容量。,随着大规模集成电路技术的发展,大容量存储器芯片的产量剧增,售价不断下降,其性价比明显增高,而且由于有些厂家已停止生产小容量的芯片,使市场上某些小容量芯片的价格反而比大容量芯片还贵。,所以,,在扩展程序存储器设计时,应尽量采用,大容量,芯片。,27系列EPROM芯片的引脚如,图8-11,所示,参数见,表8-4,(P143,略)。,图8-11中的,引脚功能如下:,A0A15:,地址线引脚。数目决定存储容量来定,用来进行单元选择。,D7D0:,数据线引脚,CE,*,:,片选输入端,OE*,:输出允许控制端,PGM*:,编程时,加编程脉冲的输入端,Vpp:,编程时,编程电压(+12V或+25V)输入端,Vcc:,+5V,芯片的,工作,电压。,GND:,数字地。,NC:,无用端,图,8-11,2. EPROM芯片的工作方式,5种工作方式如,表8-5,所示。,(1)读出方式,片选控制线为低,同时输出允许控制线为低,Vpp为+5V,指定地址单元的内容从D7D0上读出。,(2)未选中方式,片选控制线为高电平。,(3)编程方式,Vpp端加上规定高压, CE,*,和OE,*,端加合适电平(不同的芯片要求不同),就能将数据线上的数据写入到指定的地址单元。,(4)编程校验方式,(5)编程禁止方式,输出呈高阻状态,不写入程序。,8.3.2 程序存储器的操作时序,1. 访问程序存储器的控制信号,(1)ALE,(2)PSEN,*,(3)EA,*,如果指令是从片外EPROM中读取,ALE用于低8位地址锁存,PSEN,*,接外扩EPROM的OE,*,脚。,P0口:,分时低8位地址总线和数据总线,,P2口:,高8位地址线。,2. 操作时序,(1) 应用系统中无片外RAM,图,8-12(a),(2) 应用系统中接有片外RAM,图,8-12(b),由图8-12(b)可看出:,(1)将ALE用作定时脉冲输出时,,执行一次MOVX指令就会丢失一个脉冲,。,(2)只有在执行MOVX指令时的第二个机器周期期间,地址总线才由数据存储器使用。,8.3.3 89C51与EPROM的接口电路设计,1. 硬件接口电路,设计时,由于EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制脚,只有读出控制脚,记为,OE*,,它与89C51单片机的,PSEN*,相连,地址线、数据线分别与89C51的地址线、数据线相连,片选端的控制可采用线选法或译码法。,图8-13,为,外扩一片27128,的接口电路图 。,图,8-13,3. 使用多片EPROM的扩展电路,89C51,扩展4片27128,。,图,8-14,图8-14,中的片选控制信号由译码器产生。4片27128各自所占的地址空间,请读者自己分析。,8.4 静态数据存储器的扩展,在单片机应用系统中,外扩的数据存储器都采用静态数据存储器(SRAM),所以,只讨论SRAM与89C51的接口,。,所扩展的数据存储器空间地址由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。片外数据存储器RAM的,读,和,写,由89C51的,RD*,(P3.7)和,WR*,(P3.6)信号控制,而片外程序存储器EPROM的输出允许端(OE*)由89C51的程序存储器读选通信号PSEN*控制。,尽管与EPROM的地址空间范围都是相同的,但由于控制信号不同,故不会发生总线冲突。,8.4.1 常用的静态RAM(SRAM)芯片,典型型号有:,6116、6264、62128、62256。+5V电源供电,双列直插封装,6116为24引脚封装,6264、62128、62256为28引脚封装,引脚如,图8-15,。,各引脚功能:,A0A14:,地址输入线。,D0D7:,双向三态数据线。,CE,*,:,片选信号输入。对于6264芯片,当26脚(CS)为高电平时,且CE,*,为低电平时才选中该片。,OE,*,:读选通信号输入线。,WE,*,:写允许信号输入线,低电平有效。,图,8-15,Vcc,:,工作电源+5V,GND,:,地,工作方式有,读出、写入、维持,三种,这些工作方式的操作控制如,表8-6,(P148)。,8.4.2 外扩数据存储器的读写操作时序,图,8-16,2. 写片外RAM操作时序,写是CPU主动把数据送上P0口总线。故在时序上,CPU先向P0口总线上送完8位地址后,在S3状态就将数据送到P0口总线。,图,8-17,8.4.3 89C51与RAM的接口电路设计,图8-18,为线选法扩展外部数据存储器的电路,。,图,8-18,地址线为A0A12,故8031剩余地址线为三根。用线选法可扩展3片6264。3片6264对应的存储器空间如,表8-7,。,表8-7,译码选通法扩展,如,图,8-19,所示。,图,8-19,各62128芯片的地址分配见,表8-9,。,表8-9 各片62128地址分配,P2.6 P2.7 译码输出 选中芯片 地址范围 存储容量,0 0 YO* IC1 0000H-3FFFH 16K,0 1 Y1* IC2 4000H-7FFFH 16K,1 0 Y2* IC3 8000H-BFFFH 16K,1 1 Y3* IC4 C000H-FFFFH 16K,例8-1,编写程序将片外数据存储器中5000H50FFH单元全部清零,方法1:,用DPTR作为数据区地址指针,同时,使用字节计数器,。,MOV DPTR,#5000H;设置数据块指针的初值,MOV R7,#00H ;设置块长度计数器初值,CLR A,LOOP: MOVX DPTR,A ;把某一单元清零,INC DPTR ;地址指针加1,DJNZ R7,LOOP ;数据块长度减1,若不为,;0则继续清零,HERE: SJMP HERE ;执行完毕,原地踏步,方法2:,用DPTR作为数据区地址指针,但不使用字节计数器,而是,比较特征地址,。,MOV DPTR,#5000H,CLR A,LOOP:MOVX DPTR,A,INC DPTR,MOV R7,DPL,CJNE R7,#0,LOOP,;与末地址+1比较,HERE:SJMP HERE,8.6 EPROM和RAM的综合扩展,8.6.1 综合扩展的硬件接口电路,例8-2,采用,线选法,扩展2片8KB的RAM和2片8KB的EPROM。RAM选6264,EPROM选2764。扩展接口电路见,图8-20,。,图,8-20,(1)控制信号及片选信号,IC2和IC4占用地址空间为2000H3FFFH共8KB。同理IC1、IC3地址范围4000H5FFFH(P2.6=1、P2.5=0、P2.7=0)。线选法地址不连续,地址空间利用不充分。,(2)各芯片地址空间分配,IC2,和,IC4,占用的地址空间为,A000H,BFFFH,共,8KB,。,同理,IC1,、,IC3,的地址范围为,C000H,DFFFH,。,4,片存储器各自所占的地址空间如,表,8-9,所示。,例8-3,采用,译码器法,扩展,2片8KB EPROM,2片8KB RAM。EPROM选用2764,RAM选用6264,。共扩展4片芯片。扩展接口电路见,图8-21,。,图,8-21,各存储器地址范围如下:,表8-9,可见译码法进行地址分配,各芯片地址空间是连续的。,8.5.2 外扩存储器电路的工作原理及软件设计,1. 单片机片外程序区读指令过程,2. 单片机片外数据区读/写数据过程,例如,,把片外6000H单元的数送到片内RAM 50H单元,程序如下:,MOV DPTR,#6000H,MOVX A,DPTR,MOV 50H,A,例如,,把片内50H单元的数据送到片外4000H单元中,程序如下:,MOV A,50H,MOV DPTR,#4000H,MOVX,DPTR,A,89C51单片机读写片外数据存储器中的内容,除用,MOVX A,DPTR和MOVX DPTR,A,外,还可使用,MOVX A,Ri和MOVX Ri,A。,这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。,例8-4,将程序存储器中以TAB为首址的32个单元的内容依次传送到外部RAM以7000H为首地址的区域去。,DPTR,指向标号TAB的首地址。,R0,既指示外部RAM的地址,又表示数据标号TAB的位移量。本程序的循环次数为32,R0的值:031,R0的值达到32就结束循环。程序如下:,MOVP2,#70H,MOVDPTR,#TAB,MOVR0,#0,AGIN:MOVA,R0,MOVCA,A+DPTR,MOVXR0,A,INCR0,CJNER0,#32,AGIN,HERE:SJMPHERE,TAB:DB ,8.6 ATMEL89C51/89C55单片机的片内闪烁存储器,AT89C51/89C52/89C55,是低功耗、高性能的,片内含有4KB/8KB/20KB,闪烁可编程/擦除只读存储器,芯片内的闪存允许在线编程或采用通用的编程器对其重复编程。,8.6.1 89C51的性能及片内闪烁存储器,89C51的主要性能,(1)与MCS-51微控制器系列产品兼容。,(2)片内有4KB可在线重复编程的闪烁存储器,(Flash Memory),(3)存储器可循环写入/擦除,10000次,。,(4)存储器,数据保存时间,为,10年,。,(5)宽工作电压范围:Vcc可为+2.76V。,(6)全静态工作:可从0Hz16MHz。,(7)程序存储器具有3级加密保护。,(8)空闲状态维持低功耗和掉电状态保存存储器,内容。,2. 片内闪烁存储器(Flash Memory),目前,美国ATMEL公司生产的带有片内Flash存储器的AT89C51/89C52/89C55单片机,由于,价格便宜,且与MCS-51系列单片机兼容,,受到了我国广大工程技术人员的欢迎。,使用该系列单片机,可,省去外扩程序存储器,的工作,,设计者只需了解片内闪烁存储器的,特性,以及,如何对其编程,。,8.6.2 片内闪烁存储器的编程,89C51的I/O口P0、P1、P2和P3除具有与8031相同的一些性能和用途外,在对Flash编程时,P0口还可接收代码字节,但在程序校验时需要外加上拉负载电阻。,在Flash,编程和程序校验期间,,,P1口,接收低位地址字节,,P2口,接收高位地址位和一些控制信号,,P3口,也接收Flash编程和校验用的控制信号。此时,,ALE/PROG*引脚,是编程脉冲输入(PROG* )端。,该芯片内有,三个加密位,,其状态可以是编程(P)或不编程(U),各状态提供的功能见,表8-11,。,如果加密位LB1被编程,则EA*脚的电平在复位时被采样并锁存。若器件在加电时不进行复位,那么该锁存器初始化为一随机值,并在复位有效前始终保持该值。,为使器件工作正常,EA*的锁存值必须与引脚的当前逻辑电平一致。,89C51的,三个加密位,可以不被编程(U)或被编程(P),以获得,表8-11,所示的特性。,表8-11,对89C51片内的Flash存储器编程,设计者只需在市场上购买相应的编程器。,一种,是购买单片机仿真开发系统时就带有编程器,,另一种,是单独购买编程器。,开发者可按照编程器的说明进行操作,,如想对写入的内容,加密,,只需按照编程器的菜单,选择加密功能选项即可。,编程器,人有了知识,就会具备各种分析能力,,明辨是非的能力。,所以我们要勤恳读书,广泛阅读,,古人说“书中自有黄金屋。,”通过阅读科技书籍,我们能丰富知识,,培养逻辑思维能力;,通过阅读文学作品,我们能提高文学鉴赏水平,,培养文学情趣;,通过阅读报刊,我们能增长见识,扩大自己的知识面。,有许多书籍还能培养我们的道德情操,,给我们巨大的精神力量,,鼓舞我们前进,。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!