收藏 分销(赏)

第9章-系统并行扩展.ppt

上传人:天**** 文档编号:5479868 上传时间:2024-11-11 格式:PPT 页数:114 大小:1.26MB 下载积分:20 金币
下载 相关 举报
第9章-系统并行扩展.ppt_第1页
第1页 / 共114页
第9章-系统并行扩展.ppt_第2页
第2页 / 共114页


点击查看更多>>
资源描述
第第9章章单片机系统的并行单片机系统的并行扩展扩展1 AT89S51AT89S51单单片片机机片片内内存存储储器器和和I/OI/O资资源源还还不不能能满满足足需需要要,需需外外扩扩存存储储器器芯芯片和片和I/OI/O接口芯片,即单片机的系统扩展。接口芯片,即单片机的系统扩展。系系统统扩扩展展分分为为并并行行扩扩展展和和串串行行扩扩展展,本本章章介介绍绍应应用用系系统统的的并并行行扩扩展展,第第1212章介绍串行扩展。章介绍串行扩展。首首先先介介绍绍AT89S51AT89S51片片外外两两个个存存储储器器空空间间地地址址分分配配,然然后后介介绍绍如如何何扩扩展展外外部部数据存储器和外部程序存储器以及扩展数据存储器和外部程序存储器以及扩展I/OI/O接口芯片具体设计。接口芯片具体设计。29.1系统并行扩展技术系统并行扩展技术9.1.1系统并行扩展结构系统并行扩展结构单片机系统并行扩展结构见单片机系统并行扩展结构见图图9-1。图图9-1 单片机系统扩展结构单片机系统扩展结构由由图图9-1可看出,系统并行扩展主要包括数据存储器扩展、程序存储器扩可看出,系统并行扩展主要包括数据存储器扩展、程序存储器扩展和展和I/O接口的扩展。由于目前接口的扩展。由于目前AT89S5x系列单片机片内都集成了不同容量系列单片机片内都集成了不同容量的串行下载可编程的的串行下载可编程的Flash存储器与一定数量的存储器与一定数量的RAM,如,如表表9-1所示,如果所示,如果片内存储器资源能够满足系统设计需求,扩展存储器的工作可以省去。片内存储器资源能够满足系统设计需求,扩展存储器的工作可以省去。AT89S51单片机采用程序存储器空间和数据存储器空间截然分开的哈佛单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构,因此形成了两个并行的外部存储器空间。在结构,因此形成了两个并行的外部存储器空间。在AT89S51系统中,系统中,I/O端端口与数据存储器采用统一编址方式,即口与数据存储器采用统一编址方式,即I/O接口芯片的每一个端口寄存器就接口芯片的每一个端口寄存器就相当于一个相当于一个RAM存储单元。存储单元。由于由于AT89S51单片机采用并行总线结构,扩展的各种外围接口器件只要单片机采用并行总线结构,扩展的各种外围接口器件只要符合总线规范,就可方便地接入系统。并行扩展是通过系统总线把符合总线规范,就可方便地接入系统。并行扩展是通过系统总线把AT89S51单片机与各扩展器件连接起来。因此,要并行扩展首先要构造系单片机与各扩展器件连接起来。因此,要并行扩展首先要构造系统总线。统总线。4系统总线按功能通常分为系统总线按功能通常分为3组,见组,见图图9-1。(1)地址总线()地址总线(AddressBus,AB):传送传送单片机单向发出的地址单片机单向发出的地址信号信号,以便进行存储单元和,以便进行存储单元和I/O接口芯片中的寄存器单元选择。接口芯片中的寄存器单元选择。(2)数据总线()数据总线(DataBus,DB):用于单片机与外部存储器之间或:用于单片机与外部存储器之间或与与I/O接口之间双向传送数据。接口之间双向传送数据。(3)控制总线()控制总线(ControlBus,CB):是单片机发出的各种控制信号:是单片机发出的各种控制信号线。线。下面介绍如何构造系统的三总线。下面介绍如何构造系统的三总线。1P0口作为低口作为低8位地址位地址/数据总线数据总线AT89S51受引脚数目限制,受引脚数目限制,P0口既用作低口既用作低8位地址总线,又用作数据位地址总线,又用作数据总线(分时复用),因此需增加总线(分时复用),因此需增加1个个8位地址锁存器。位地址锁存器。AT89S51单片机对外单片机对外部扩展的存储器单元或部扩展的存储器单元或I/O接口寄存器进行访问时,先发出低接口寄存器进行访问时,先发出低8位地址送地位地址送地址锁存器锁存,锁存器输出作为系统的低址锁存器锁存,锁存器输出作为系统的低8位地址(位地址(A7A0)。随后,)。随后,P0口又作为数据总线口(口又作为数据总线口(D7D0),见),见图图9-2。7图图9-2 AT89C51单片机扩展的片外三总线单片机扩展的片外三总线2 2P2P2口的口线作为高位地址口的口线作为高位地址P2P2口的全部口的全部8 8位口线用作系统高位口线用作系统高8 8位地址线,再加上地址锁存器输出提位地址线,再加上地址锁存器输出提供的低供的低8 8位地址,便形成了系统的位地址,便形成了系统的1616位地址总线(见图位地址总线(见图9-29-2),从而使单片),从而使单片机系统的寻址范围达到机系统的寻址范围达到64KB64KB。3 3控制信号线控制信号线除了地址线和数据线外,还要有控制总线。这些信号有的就是除了地址线和数据线外,还要有控制总线。这些信号有的就是单片机单片机引脚的第一功能信号,有的则是引脚的第一功能信号,有的则是P3P3口第二功能信号。其中包括:口第二功能信号。其中包括:9 (1 1)PSEN*PSEN*信号作为外部扩展的程序存储器的读选通控制信号;信号作为外部扩展的程序存储器的读选通控制信号;(2 2)RD*RD*和和WR*WR*信号作为外部扩展的数据存储器和信号作为外部扩展的数据存储器和I/OI/O接口寄存器的读、接口寄存器的读、写选通控制信号;写选通控制信号;(3 3)ALEALE信号作为信号作为P0P0口发出的低口发出的低8 8位地址的锁存控制信号。位地址的锁存控制信号。(4 4)EA*EA*信号为片内、片外程序存储器访问允许控制端。信号为片内、片外程序存储器访问允许控制端。由上看出,尽管由上看出,尽管AT89S51AT89S51有有4 4个并行个并行I/OI/O口,共口,共3232条口线,但由于系统扩条口线,但由于系统扩展的需要,真正给用户作为通用展的需要,真正给用户作为通用I/OI/O使用,就剩下使用,就剩下P1P1口和口和P3P3口的部分口线口的部分口线了。了。10119.1.2 9.1.2 地址空间分配地址空间分配如何把片外两个如何把片外两个64KB64KB地址空间分配给各个存储器与地址空间分配给各个存储器与I/OI/O接口芯片,使一个接口芯片,使一个存储单元只对应一个地址,避免单片机对一个地址单元访问时,发生数据冲存储单元只对应一个地址,避免单片机对一个地址单元访问时,发生数据冲突。这就是存储器地址空间的分配问题。突。这就是存储器地址空间的分配问题。AT89S51AT89S51发出的地址信号用于选择某存储器单元,在外扩多片存储器芯片发出的地址信号用于选择某存储器单元,在外扩多片存储器芯片中,要完成这种功能,必须进行中,要完成这种功能,必须进行两种选择两种选择:一是必须选中该存储器芯片,这:一是必须选中该存储器芯片,这称为称为“片选片选”,只有被只有被“选中选中”的存储器芯片才能被单片机访问,未被选中的存储器芯片才能被单片机访问,未被选中的芯片不能被访问;二是在的芯片不能被访问;二是在“片选片选”的基础上还同时的基础上还同时“选中选中”芯片的某一单芯片的某一单元对其进行读写,这称为元对其进行读写,这称为“单元选择单元选择”。每个扩展的芯片都有每个扩展的芯片都有“片选片选”引脚,引脚,同时每个芯片也都有多条地址引脚,以便对其进行单元选择。同时每个芯片也都有多条地址引脚,以便对其进行单元选择。需要注意的是需要注意的是,“片选片选”和和“单元选择单元选择”都是单片机都是单片机通过地址线一次发出的通过地址线一次发出的地址信号来地址信号来完成选择的。完成选择的。常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面分别介绍。址译码法(简称译码法),下面分别介绍。1线选法线选法直接利用单片机某一高位地址线作为存储器芯片(或直接利用单片机某一高位地址线作为存储器芯片(或I/O接口芯片)的接口芯片)的“片片选选”控制信号。为此,只要用某一高位地址线与存储器芯片的控制信号。为此,只要用某一高位地址线与存储器芯片的“片选片选”端直端直接连接即可。接连接即可。优点:优点:电路简单,不需另外增加地址译码器硬件电路,体积小,成本低。电路简单,不需另外增加地址译码器硬件电路,体积小,成本低。缺点:缺点:可寻址芯片数目受限制。另外,地址空间不连续,存储单元地址可寻址芯片数目受限制。另外,地址空间不连续,存储单元地址不唯一,这会给程序设计带来一些不便。线选法适用于外扩芯片数目不多的不唯一,这会给程序设计带来一些不便。线选法适用于外扩芯片数目不多的单片机系统的系统扩展。单片机系统的系统扩展。2 2译码法译码法使用译码器对使用译码器对AT89S51AT89S51单片机的高位地址进行译码,将译码器的译码输出单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。本法能有效地利用存储器空间,适于多芯片的作为存储器芯片的片选信号。本法能有效地利用存储器空间,适于多芯片的存储器扩展。存储器扩展。13 常见有常见有74LS13874LS138(3-83-8译码器)、译码器)、74LS13974LS139(双(双2-42-4译码器)与译码器)与74LS15474LS154(4-4-1616译码器)。下面介绍译码器)。下面介绍74LS13874LS138和和74LS13974LS139译码器芯片。译码器芯片。(1 1)74LS13874LS138是是3-83-8译码器,有译码器,有3 3个数据输入端,经译码后产生个数据输入端,经译码后产生8 8种状态,种状态,其引脚见图其引脚见图9-39-3,真值表见,真值表见表表9-29-2。14图图9-3 74LS138 8引脚图引脚图由表由表9-29-2可见,当译码器输入为某一固定编码时,其可见,当译码器输入为某一固定编码时,其8 8个输出引脚个输出引脚Y0*Y0*Y7*Y7*中仅有中仅有1 1个引脚输出为低,其余全为高。而输出低电平的引脚恰好作为个引脚输出为低,其余全为高。而输出低电平的引脚恰好作为片选信号。片选信号。(2)74LS139双双2-4译码器。译码器。两个译码器完全独立,分别有各自的两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如数据输入端、译码状态输出端以及数据输入允许端,其引脚如图图9-4所示,所示,其中其中1组的真值表见组的真值表见表表9-3。图图9-49-4 74LS139 74LS139引脚图引脚图表表9-39-3 74LS13974LS139真值表真值表以以74LS138为例,介绍如何进行空间地址分配。例如,要扩为例,介绍如何进行空间地址分配。例如,要扩8片片8KB的的RAM6264,如何通过,如何通过74LS138把把64KB空间分配给各个芯片?由空间分配给各个芯片?由74LS138真值表可知,把真值表可知,把G1接到接到+5V,该,该G2A*、G2B*接地,接地,P2.7P2.7、P2.6P2.6、P2.5P2.5(高(高3位地址线)分别接到位地址线)分别接到74LS138的的C、B、A端,由于对高端,由于对高3位地址译码,这位地址译码,这样译码器有样译码器有8个输出个输出Y0*Y7*,分别接到,分别接到8片片6264的的“片选片选”端,实现端,实现8选选1片选片选。而而低低1313位地址(位地址(P2.4P2.4P2.0P2.0,P0.7P0.7P0.0P0.0)完成对选中的完成对选中的62646264芯片芯片中的各个存储单元的中的各个存储单元的“单元选择单元选择”。这样就把这样就把64KB64KB存储器空间分成存储器空间分成8 8个个8KB8KB空间了。空间了。64KB64KB地址空间的分配见地址空间的分配见图图9-59-5。18图图9-59-5 64KB空间划分成空间划分成8个个8KB空间空间当当AT89S51单片机发出单片机发出16位地址码时,每次只能选中一片芯片以及该芯位地址码时,每次只能选中一片芯片以及该芯片的唯一存储单元。片的唯一存储单元。采用译码器划分的地址空间块相等,如将地址空间块划分为不等的块,采用译码器划分的地址空间块相等,如将地址空间块划分为不等的块,可用可用FPGA实现非线性译码逻辑来代替译码器。实现非线性译码逻辑来代替译码器。9.1.3外部地址锁存器外部地址锁存器AT89S51单片机受引脚数的限制,单片机受引脚数的限制,P0口兼用数据线和低口兼用数据线和低8位地址,为了位地址,为了将它们分离出来,需要在将它们分离出来,需要在单片机外部单片机外部增加地址锁存器增加地址锁存器。目前,常用的地址。目前,常用的地址锁存器芯片有锁存器芯片有74LS373、74LS573等。等。20211 1锁存器锁存器74LS37374LS373带有三态门的带有三态门的8D D锁存器,其引脚见锁存器,其引脚见图图9-6,内部结构如,内部结构如图图9-7所示。所示。图图9-6 6 锁存器锁存器74LS373的引脚的引脚图图9-7 7 74LS373的内部结构的内部结构74LS37374LS373引脚说明引脚说明:D7D7D0D08 8位数据输入线。位数据输入线。Q7Q7Q0Q08 8位数据输出线。位数据输出线。G G数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。OE*OE*数据输出允许信号,低电平有效。当该信号为低电平时,三态门数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。高阻态。74LS37374LS373锁存器功能见锁存器功能见表表9-49-4。22表表9-474LS373功能表功能表23AT89S51单片机与单片机与74LS373锁存器的连接如锁存器的连接如图图9-8所示。所示。图图9-8 AT89S51单片机单片机P0口与口与74LS373的连接的连接2锁存器锁存器74LS573带三态门的带三态门的8D锁存器,功能及内部结构与锁存器,功能及内部结构与74LS373完全一样,只是其完全一样,只是其引脚排列与引脚排列与74LS373不同,不同,图图9-9为为74LS573引脚图。引脚图。由图由图9-9,与,与74LS373相比,相比,74LS573输入输入D端和输出的端和输出的Q端依次排列端依次排列在芯片两侧在芯片两侧,为绘制印制电路板提供较大方便。,为绘制印制电路板提供较大方便。74LS573引脚说明如下。引脚说明如下。24图图9-9 锁存器锁存器74LS5 573的引脚的引脚 D7D7D0D08 8位数据输入线。位数据输入线。Q7Q7Q0Q08 8位数据输出线。位数据输出线。G G数据输入锁存选通,该引脚与数据输入锁存选通,该引脚与74LS37374LS373的的G G端功能相同。端功能相同。OEOE*数据输出允许,低电平有效。当低电平时,三态门打开,锁存器中数据输出允许,低电平有效。当低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。269.2外部数据存储器外部数据存储器RAM的并行扩展的并行扩展AT89S51片内有片内有128BRAM,如不能满足需要,须扩展外部数据存储器。,如不能满足需要,须扩展外部数据存储器。在单片机系统中,外扩的数据存储器都采用静态数据存储器在单片机系统中,外扩的数据存储器都采用静态数据存储器SRAM。AT89S51对外部数据存储器访问,由对外部数据存储器访问,由P2口提供高口提供高8位地址,位地址,P0口分时提口分时提供低供低8位地址和位地址和8位双向数据总线。片外数据存储器位双向数据总线。片外数据存储器RAM的读和写由的读和写由AT89S51的的RD*(P3.7)和)和WR*(P3.6)信号控制,而片外程序存储器)信号控制,而片外程序存储器EPROM的输出端允许(的输出端允许(OE*)由)由AT89S51单片机的读选通信号单片机的读选通信号PSEN*控制。控制。尽管与尽管与EPROM地址空间范围都相同,但由于是两个不同空间,控制信号不地址空间范围都相同,但由于是两个不同空间,控制信号不同,故不会发生数据冲突。同,故不会发生数据冲突。279.2.1常用的静态常用的静态RAM(SRAM)芯片)芯片单片机系统中常用单片机系统中常用RAM典型芯片有典型芯片有6116(2KB)、)、6264(8KB)、)、62128(16KB)、)、62256(32KB)。)。都单一都单一+5V电源供电,双列直插,电源供电,双列直插,6116为为24引脚,引脚,6264、62128、62256为为28引脚。引脚。RAM芯片引脚见图芯片引脚见图9-10。各引脚功能如下。各引脚功能如下。A0A14地址输入线。地址输入线。D0D7双向三态数据线。双向三态数据线。CE*片选信号输入线,低电平有效。对于片选信号输入线,低电平有效。对于6264芯片,当芯片,当24脚(脚(CS)为)为高电平且为低电平时才选中该片。高电平且为低电平时才选中该片。OE*读选通信号输入线,低电平有效。读选通信号输入线,低电平有效。WE*写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。VCC工作电源工作电源+5V。GND地地2930图图9-10 常用常用RAM引脚引脚9.3.2并行扩展并行扩展RAM的扩展接口的扩展接口访问外扩数据存储器,要由访问外扩数据存储器,要由P2口提供高口提供高8位地址,位地址,P0口提供低口提供低8位地址位地址和和8位双向数据总线。位双向数据总线。AT89S51对片外对片外RAM的读和写由的读和写由AT89S51的的RD*和和WR*信号控制,片选端信号控制,片选端CE*由地址译码器译码输出控制。因此,接口设由地址译码器译码输出控制。因此,接口设计主要解决地址计主要解决地址RAM存储器有读出、写入、维持存储器有读出、写入、维持3种工作方式,见表种工作方式,见表9-5。319.2.2读写片外读写片外RAM的操作时序的操作时序AT89S51单片机对片外单片机对片外RAM的读和写两种操作时序的基本过程是相同的。的读和写两种操作时序的基本过程是相同的。1读片外读片外RAM的时序的时序AT89S51单片机若外扩一片单片机若外扩一片RAM,应将其引脚与,应将其引脚与RAM芯片的引脚连接,引脚芯片的引脚连接,引脚与芯片引脚连接。与芯片引脚连接。ALE信号的作用是锁存低信号的作用是锁存低8位地址。位地址。AT89S51单片机读片外单片机读片外RAM的时序如的时序如图图9-11所示。所示。图图9-11AT89S51单片机读片外单片机读片外RAM的操作时序图的操作时序图在第一个机器周期的在第一个机器周期的S1状态,状态,ALE信号由低变高(见信号由低变高(见处),读处),读RAM周周期开始。在期开始。在S2状态,状态,CPU把低把低8位地址送到位地址送到P0口总线上,把高口总线上,把高8位地位地址送上址送上P2口。口。ALE的下降沿(见的下降沿(见处),把低处),把低8位地址信息锁存到外位地址信息锁存到外部锁存器部锁存器74LS373内。而高内。而高8位地址信息一直锁存在位地址信息一直锁存在P2口锁存器中口锁存器中(见(见处)。处)。在在S3状态,状态,P0口总线变成高阻悬浮状态口总线变成高阻悬浮状态。在。在S4状态,执行读指令后使状态,执行读指令后使信号变为有效(见信号变为有效(见处),信号使被寻址的片外处),信号使被寻址的片外RAM过片刻后把数据过片刻后把数据送上送上P0口总线(见口总线(见处),当回到高电平后(见处),当回到高电平后(见处),处),P0总线变总线变为悬浮状态(见为悬浮状态(见处)。至此,读片外处)。至此,读片外RAM周期结束。周期结束。2写片外写片外RAM操作时序操作时序当当AT89S51单片机执行向片外单片机执行向片外RAM写指令后,单片机的信号为低电平写指令后,单片机的信号为低电平有效,此信号使有效,此信号使RAM的端被选通。的端被选通。写片外写片外RAM的操作时序如的操作时序如图图9-12所示。开始的过程与读过程类似,但所示。开始的过程与读过程类似,但写的过程是单片机主动把数据送上写的过程是单片机主动把数据送上P0口总线,故在时序上,单片机先向口总线,故在时序上,单片机先向P0口总线上送完口总线上送完8位地址后,在位地址后,在S3状态就将数据送到状态就将数据送到P0口总线(见口总线(见处)。处)。此间,此间,P0总线上不会出现高阻悬浮现象。总线上不会出现高阻悬浮现象。在在S4状态,写控制信号有效(见状态,写控制信号有效(见处),选通片外处),选通片外RAM,稍过片刻,稍过片刻,P0口上的数据就写到口上的数据就写到RAM内了,然后写控制信号变为无效(见内了,然后写控制信号变为无效(见处)。处)。图图9-12AT89S51单片机写片外单片机写片外RAM的操作时序图的操作时序图9.2.3并行扩展数据存储器的设计并行扩展数据存储器的设计访问外扩展的数据存储器,要由访问外扩展的数据存储器,要由P2口提供高口提供高8位地址,位地址,P0口提供低口提供低8位地位地址和址和8位双向数据总线。位双向数据总线。AT89S51单片机对片外单片机对片外RAM的读和写由的读和写由AT89S51的(的(P3.7)和()和(P3.6)信号控制,片选端由地址译码器的译)信号控制,片选端由地址译码器的译码输出控制。因此,进行接口设计时,主要解决地址分配、数据线和码输出控制。因此,进行接口设计时,主要解决地址分配、数据线和控制信号线的连接。如果读控制信号线的连接。如果读/写速度要求较高,还要考虑单片机与写速度要求较高,还要考虑单片机与RAM的读的读/写速度匹配问题。写速度匹配问题。图图9-13所示为用线选法扩展外部数据存储器的电路。数据存储器选用所示为用线选法扩展外部数据存储器的电路。数据存储器选用6264,该芯片地址线为,该芯片地址线为A0A12,故,故AT89S51单片机剩余地址线为单片机剩余地址线为3条。用线选法可扩展条。用线选法可扩展3片片6264,3片片6264的存储器空间如的存储器空间如表表9-6所示。所示。图图9-13线选法扩展外部数据存储器电路图线选法扩展外部数据存储器电路图39用译码法扩展外部数据存储器的接口电路如用译码法扩展外部数据存储器的接口电路如图图9-14所示。图中数据存储所示。图中数据存储器选用器选用62128,该芯片地址线为,该芯片地址线为A0A13,这样,这样,AT89S51剩余地址线为剩余地址线为两条,采用两条,采用2-4译码器可扩展译码器可扩展4片片62128。各。各62128芯片的地址范围如芯片的地址范围如表表9-7所示。所示。图图9-14 译码法扩展外部数据存储器电路图译码法扩展外部数据存储器电路图41表表9-7各各62128芯片的地址空间分配芯片的地址空间分配【例例9-1】编写程序将片外数据存储器中的编写程序将片外数据存储器中的0 x50000 x50000 x50FF0 x50FF的的256个单元个单元全部清全部清“0”。参考程序:。参考程序:xdataunsignedchardatabuf256_at_0 x5000;voidmain(void)unsignedchari;for(i=0;i256;i+)databufi=09.2.4单片机外扩数据存储器单片机外扩数据存储器RAM6264的案例设计的案例设计单片机外部扩展单片机外部扩展1片外部数据存储器片外部数据存储器RAM6264。原理电路如。原理电路如图图9-15所示。所示。单片机先向单片机先向RAM6264的的0 x0000地址写入地址写入64字节的数据字节的数据164,写入的数据,写入的数据同时送到同时送到P1口通过口通过8个个LED显示出来。然后再将这些数据反向复制到显示出来。然后再将这些数据反向复制到0 x0080地址开始处,复制操作时,数据也通过地址开始处,复制操作时,数据也通过P1口的口的8个个LED显示出来。显示出来。上述两个操作执行完成后,发光二极管上述两个操作执行完成后,发光二极管D1被点亮。表示数据第被点亮。表示数据第1次的写入次的写入起始地址起始地址0 x0000的的64个字节,以及将这个字节,以及将这64个字节数据反向复制到起始地址个字节数据反向复制到起始地址0 x0080的读写已经完成。如要查看的读写已经完成。如要查看RAM6264中的内容,可在中的内容,可在D1点亮后,点亮后,单击单击“暂停暂停”按钮按钮,然后单击调试(,然后单击调试(Debug)菜单,在下拉菜单中选)菜单,在下拉菜单中选择择“MemoryContents”,即可看到图,即可看到图9-16所示的窗口中显示的所示的窗口中显示的RAM6264中中的数据。可看到单元地址的数据。可看到单元地址0 x00000 x003f中的内容为中的内容为0 x010 x40。而从起。而从起始地址始地址0 x0080开始的开始的64个单元中的数据为个单元中的数据为0 x400 x01,可见完成了反向复,可见完成了反向复制。制。图图9-15单片机外部扩展单片机外部扩展1片外部数据存储器片外部数据存储器RAM6264图图9-16RAM6264第第1次写入的数据与反向复制的数据次写入的数据与反向复制的数据程序说明:主程序中的共有两个程序说明:主程序中的共有两个for循环,第循环,第1个个for循环,完成将数据循环,完成将数据164写入起始地址写入起始地址0 x0000的的64个字节,第个字节,第2个个for循环,完成将这循环,完成将这64个字节数据个字节数据641反向复制到起始地址反向复制到起始地址0 x0080开始的开始的64个单元中。个单元中。9.3片内片内Flash存储器的编程存储器的编程程序存储器具有非易失性,在电源关断后,存储器仍能保存程序,程序存储器具有非易失性,在电源关断后,存储器仍能保存程序,在系统上电后,在系统上电后,CPU可取出这些指令重新执行。程序存储器中的信息一可取出这些指令重新执行。程序存储器中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器(故称为只读存储器(ROM)。)。美国美国ATMEL公司生产的公司生产的AT89S5x系列单片机,片内分别集成有不同系列单片机,片内分别集成有不同容量的容量的FlashROM,来作为片内程序存储器使用,具体见表,来作为片内程序存储器使用,具体见表9-1。在片内。在片内FlashROM满足要求的情况下,外部程序存储器的扩展工作即可省去。满足要求的情况下,外部程序存储器的扩展工作即可省去。本小节只讨论如何把已调试完毕的程序代码写入到本小节只讨论如何把已调试完毕的程序代码写入到AT89S51的片内的片内Flash存储器中,即对存储器中,即对Flash存储器的编程问题。存储器的编程问题。AT89S51单片机片内单片机片内4KBFlash存储器的基本特性如下:存储器的基本特性如下:(1)可循环写入)可循环写入/擦除擦除1000次;次;(2)存储器数据保存时间为)存储器数据保存时间为10年;年;(3)具有)具有3级加密保护。级加密保护。单片机芯片出厂时,单片机芯片出厂时,Flash存储器处于全部空白状态(各单元均为存储器处于全部空白状态(各单元均为FFH),可直接进行编程。若),可直接进行编程。若Flash存储器不全为空白状态(即单元中有存储器不全为空白状态(即单元中有不是不是FFH),应该首先将芯片擦除(即各个单元均为),应该首先将芯片擦除(即各个单元均为FFH)后,才可向其)后,才可向其写入调试通过的程序代码。写入调试通过的程序代码。AT89S51片内的片内的Flash存储器有存储器有3个可编程的加密位,定义了个可编程的加密位,定义了3个加密级个加密级别,用户只要对别,用户只要对3个加密位:个加密位:LB1、LB2、LB3进行编程即可实现进行编程即可实现3个不同个不同级别的加密。经过上述的加密处理,使解密的难度加大,但还是可以解密。级别的加密。经过上述的加密处理,使解密的难度加大,但还是可以解密。现在还有一种非恢复性加密(现在还有一种非恢复性加密(OTP加密)方法,就是将加密)方法,就是将AT89S51的的第第31脚(脚)烧断或某些数据线烧断,经过上述处理后的芯片仍然正常脚(脚)烧断或某些数据线烧断,经过上述处理后的芯片仍然正常工作,但不再具有读取、擦除、重复烧写等功能。这是一种较强的加密工作,但不再具有读取、擦除、重复烧写等功能。这是一种较强的加密手段。国内某些厂家生产的编程器直接具有此功能(例如手段。国内某些厂家生产的编程器直接具有此功能(例如RF-1800编程编程器)。器)。目前对片内目前对片内Flash存储器的编程有两种常用方法:一种是使用通用编存储器的编程有两种常用方法:一种是使用通用编程器编程;另一种是程器编程;另一种是PC机通过下载线进行在线编程(机通过下载线进行在线编程(ISP)。)。9.3.1使用通用编程器的程序写入使用通用编程器的程序写入通用编程器一般通过串行口或通用编程器一般通过串行口或USB口与口与PC机相连,并配有相应的驱机相连,并配有相应的驱动软件。在编程器与动软件。在编程器与PC机连接后,在机连接后,在PC机上运行驱动软件,首先选择机上运行驱动软件,首先选择所要编程的单片机型号,再调入调试完毕的程序代码文件,执行写入命所要编程的单片机型号,再调入调试完毕的程序代码文件,执行写入命令,编程器就将调试通过的程序代码烧录到单片机片内的令,编程器就将调试通过的程序代码烧录到单片机片内的Flash存储器中。存储器中。开发者只需在电子市场购买一台通用编程器即可完成上述工作。开发者只需在电子市场购买一台通用编程器即可完成上述工作。编程器通过编程器通过USB口与口与PC机通讯,可进行芯片型号自动判别,编程过程中机通讯,可进行芯片型号自动判别,编程过程中的擦除、烧写、校验等各种操作。的擦除、烧写、校验等各种操作。编程器供电部分由编程器供电部分由USB端口的端口的5V电源提供,省去笨重的外接电源并电源提供,省去笨重的外接电源并加入加入USB接口保护电路,即自恢复保险丝,不怕操作短路。接口保护电路,即自恢复保险丝,不怕操作短路。编程器的驱动软件界面友好,菜单、工具栏、快捷键齐全,具有编程、编程器的驱动软件界面友好,菜单、工具栏、快捷键齐全,具有编程、读取、校验、空检查、擦除、读取、校验、空检查、擦除、Flash存储器加密等功能。存储器加密等功能。9.3.2使用下载线的使用下载线的ISP编程编程AT89S5x系列单片机支持对片内系列单片机支持对片内Flash存储器在线编程(存储器在线编程(ISP),即),即PC机直接通过下载线向单片机片内机直接通过下载线向单片机片内Flash存储器写入程序代码。编程完存储器写入程序代码。编程完毕的片内毕的片内Flash存储器也可用存储器也可用ISP方式擦除或再编程。方式擦除或再编程。ISP下载线按与下载线按与PC机的连接分为三种类型:串口型、并口型以及机的连接分为三种类型:串口型、并口型以及USB型,可自行制作,也可在电子市场购买。型,可自行制作,也可在电子市场购买。由于由于USB接口下载线使用起来较为方便,因此目前使用较为普遍。购买接口下载线使用起来较为方便,因此目前使用较为普遍。购买USB接口接口ISP下载线时,已经配置了相应的驱动软件。下载线时,已经配置了相应的驱动软件。ISP下载线与单片机一端的连接端口通常采用下载线与单片机一端的连接端口通常采用ATMEL公司提供的接口标公司提供的接口标准,即准,即10引脚的引脚的IDC端口。图端口。图9-17为为IDC端口的实物图以及端口的定义。端口的实物图以及端口的定义。采用采用ISP下载程序时,用户目标板上必须装有上述下载程序时,用户目标板上必须装有上述IDC端口,端口中的信端口,端口中的信号线必须与目标板上号线必须与目标板上AT89S51的对应引脚连接。注意,图中的的对应引脚连接。注意,图中的8脚脚P1.4()()端只是对端只是对AT89LP系列单片机有效,对系列单片机有效,对AT89S5x系列单片机无效,不用连接系列单片机无效,不用连接即可。即可。使用使用ISP下载编程时,只需启动编程软件,按照使用说明书进行操作即可。下载编程时,只需启动编程软件,按照使用说明书进行操作即可。图图9-17IDC端口的实物图以及端口的定义端口的实物图以及端口的定义就单片机的发展方向而言,目前已经趋向于就单片机的发展方向而言,目前已经趋向于ISP程序下载方式,一方程序下载方式,一方面由于原有不支持面由于原有不支持ISP下载的芯片逐渐被淘汰(部分已经停产,例如下载的芯片逐渐被淘汰(部分已经停产,例如AT89C51),另一方面),另一方面ISP使用起来十分方便,不需要编程器就可实现使用起来十分方便,不需要编程器就可实现程序的下载,所以程序的下载,所以ISP下载方式已经逐步成为主流。下载方式已经逐步成为主流。但需要注意的是,虽然但需要注意的是,虽然ISP的程序下载方法简单易行,但对已有的单的程序下载方法简单易行,但对已有的单片机系统来说,可能使用的单片机仍然是较老款式的机型,或在设计单片机系统来说,可能使用的单片机仍然是较老款式的机型,或在设计单片机系统时由于程序存储器空间不够用等原因扩展了大容量存储器,此片机系统时由于程序存储器空间不够用等原因扩展了大容量存储器,此时时ISP下载方式就显得无能为力了。另外有些厂家的单片机机型不支持下载方式就显得无能为力了。另外有些厂家的单片机机型不支持ISP下载方式,所以有时还是要用到编程器进行程序下载的。下载方式,所以有时还是要用到编程器进行程序下载的。目前,电子市场上的编程器型号较多,只要根据自己的需求进行选择目前,电子市场上的编程器型号较多,只要根据自己的需求进行选择即可,这里不再赘述即可,这里不再赘述9.4E2PROM的并行扩展的并行扩展在以单片机为核心的智能仪器仪表、工业监控等应用系统中,对某些在以单片机为核心的智能仪器仪表、工业监控等应用系统中,对某些状态参数数据,不仅要求能够在线修改保存,而且断电后能保持。断电状态参数数据,不仅要求能够在线修改保存,而且断电后能保持。断电数据的保护可采用电可擦除写入的存储器数据的保护可采用电可擦除写入的存储器E2PROM,其突出优点是能够,其突出优点是能够在线擦除和改写。在线擦除和改写。E2PROM与与Flash存储器都可在线擦除与改写,它们之间的区别在于存储器都可在线擦除与改写,它们之间的区别在于Flash存储器结构简单,同样的存储容量占芯片面积较小,成本自然比存储器结构简单,同样的存储容量占芯片面积较小,成本自然比E2PROM低,且大数据量下的操作速度更快,但缺点是擦除改写都是按低,且大数据量下的操作速度更快,但缺点是擦除改写都是按扇区进行的,操作过程麻烦,特别是在小数据量反复改写时。所以单片扇区进行的,操作过程麻烦,特别是在小数据量反复改写时。所以单片机中机中Flash存储器的结构更适合作为不需频繁改写的程序存储器。而传统存储器的结构更适合作为不需频繁改写的程序存储器。而传统结构的结构的E2PROM,操作简单,可字节写入,非常适合用作运行过程中频,操作简单,可字节写入,非常适合用作运行过程中频繁改写某些非易失的小数据量的存储器。繁改写某些非易失的小数据量的存储器。E2PROM有并行和串行之分,并行有并行和串行之分,并行E2PROM的速度比串行的快,容的速度比串行的快,容量大。例如并行的量大。例如并行的E2PROM2864A的容量为的容量为8k8位。而串行位。而串行I2C接口的接口的E2PROM与单片机的接口简单,连线少,比较流行的与单片机的接口简单,连线少,比
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服