版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第第9章章 AT89S51单片机的并行单片机的并行 扩展技术扩展技术1 AT89S51AT89S51单片机片内存储器和单片机片内存储器和I/OI/O资源还不能满足需要,需外资源还不能满足需要,需外扩存储器芯片和扩存储器芯片和I/OI/O接口芯片,即单片机的系统扩展。接口芯片,即单片机的系统扩展。 系统扩展分为系统扩展分为并行扩展并行扩展和和串行扩展串行扩展,本章介绍应用系统的并,本章介绍应用系统的并行扩展,第行扩展,第1212章介绍串行扩展。章介绍串行扩展。 首先介绍首先介绍AT89S51AT89S51片外两个存储器空间地址分配,然后介绍如片外两个存储器空间地址分配,然后介绍如何扩展外部数据
2、存储器和外部程序存储器以及扩展何扩展外部数据存储器和外部程序存储器以及扩展I/OI/O接口芯片接口芯片具体设计。具体设计。29.1 系统并行扩展概述系统并行扩展概述9.1.1 系统并行扩展结构系统并行扩展结构单片机系统并行扩展结构见单片机系统并行扩展结构见图图9-1。图图9-1 单片机系统扩展结构单片机系统扩展结构 由图由图9-1可看出,系统并行扩展主要包括数据存储器扩展可看出,系统并行扩展主要包括数据存储器扩展、程序存储器扩展和、程序存储器扩展和I/O接口扩展。接口扩展。AT89S51采用程序存储采用程序存储器空间和数据存储器空间然分开的器空间和数据存储器空间然分开的哈佛结构哈佛结构,因此形
3、成两个,因此形成两个并行外部存储器空间。在并行外部存储器空间。在AT89S51系统中,系统中,I/O接口与数据接口与数据存储器采用统一编址方式,即接口芯片的每一端口寄存器就存储器采用统一编址方式,即接口芯片的每一端口寄存器就相当于一个相当于一个RAM存储单元。存储单元。 由于单片机采用并行总线结构,各扩展部件只要符合总由于单片机采用并行总线结构,各扩展部件只要符合总线规范,就可方便地接入系统。并行扩展是通过总线把线规范,就可方便地接入系统。并行扩展是通过总线把AT89S51单片机与各扩展部件连接起来。因此,要进行并行单片机与各扩展部件连接起来。因此,要进行并行扩展首先要构造系统总线。扩展首先要
4、构造系统总线。 系统总线按功能通常分为系统总线按功能通常分为3组组,见,见图图9-1。4(1)地址总线()地址总线(Address Bus,AB): 传送传送单片机单向单片机单向发出的地址信号发出的地址信号,以便进行存储单元和,以便进行存储单元和I/O接口芯片中的寄接口芯片中的寄存器单元选择。存器单元选择。(2)数据总线()数据总线(Data Bus,DB):用于单片机与外部存:用于单片机与外部存储器之间或与储器之间或与I/O接口之间双向传送数据。接口之间双向传送数据。(3)控制总线()控制总线(Control Bus,CB):是单片机发出的各:是单片机发出的各种控制信号线。种控制信号线。 下
5、面介绍如何构造系统的三总线。下面介绍如何构造系统的三总线。1P0口作为低口作为低8位地址位地址/数据总线数据总线AT89S51受引脚数目限制,受引脚数目限制,P0口既用作低口既用作低8位地址总线位地址总线,又用作数据总线(分时复用),因此需增加,又用作数据总线(分时复用),因此需增加1个个8位地址锁位地址锁存器。存器。AT89S51单片机对外部扩展的存储器单元或单片机对外部扩展的存储器单元或I/O接口寄接口寄存器进行访问时,先发出低存器进行访问时,先发出低8位地址送地址锁存器锁存,锁存位地址送地址锁存器锁存,锁存器输出作为系统的低器输出作为系统的低8位地址(位地址(A7A0)。随后,)。随后,
6、P0口又作口又作为数据总线口(为数据总线口(D7D0),见图),见图9-2。6图图9-2 AT89C51单片机扩展的片外三总线单片机扩展的片外三总线2 2P2P2口的口线作为高位地址口的口线作为高位地址P2P2口的全部口的全部8 8位口线用作系统高位口线用作系统高8 8位地址线,再加上地址位地址线,再加上地址锁存器输出提供的低锁存器输出提供的低8 8位地址,便形成了系统的位地址,便形成了系统的1616位地址总线位地址总线(见图(见图9-29-2),从而使单片机系统的寻址范围达到),从而使单片机系统的寻址范围达到64KB64KB。3 3控制信号线控制信号线除了地址线和数据线外,还要有控制总线。这
7、些信号有除了地址线和数据线外,还要有控制总线。这些信号有的就是的就是单片机引脚的第一功能信号,有的则是单片机引脚的第一功能信号,有的则是P3P3口第二功能口第二功能信号。其中包括:信号。其中包括:8 (1 1)PSENPSEN* *信号作为外部扩展的程序存储器的读选通控制信号作为外部扩展的程序存储器的读选通控制信号;信号; (2 2)RDRD* *和和WRWR* *信号作为外部扩展的数据存储器和信号作为外部扩展的数据存储器和I/OI/O接口接口寄存器的读、写选通控制信号;寄存器的读、写选通控制信号; (3 3)ALEALE信号作为信号作为P0P0口发出的低口发出的低8 8位地址的锁存控制信号。
8、位地址的锁存控制信号。 (4 4)EAEA* *信号为片内、片外程序存储器访问允许控制端。信号为片内、片外程序存储器访问允许控制端。 由上看出,尽管由上看出,尽管AT89S51AT89S51有有4 4个并行个并行I/OI/O口,共口,共3232条口线,条口线,但由于系统扩展的需要,真正给用户作为通用但由于系统扩展的需要,真正给用户作为通用I/OI/O使用,就剩使用,就剩下下P1P1口和口和P3P3口的部分口线了。口的部分口线了。9109.1.2 9.1.2 地址空间分配地址空间分配如何把片外两个如何把片外两个64KB64KB地址空间分配给各个存储器与地址空间分配给各个存储器与I/OI/O接接口
9、芯片,使一个存储单元只对应一个地址,避免单片机对一个口芯片,使一个存储单元只对应一个地址,避免单片机对一个地址单元访问时,发生数据冲突。这就是存储器地址空间的分地址单元访问时,发生数据冲突。这就是存储器地址空间的分配问题。配问题。AT89S51AT89S51发出的地址信号用于选择某存储器单元,在外扩发出的地址信号用于选择某存储器单元,在外扩多片存储器芯片中,要完成这种功能,必须进行多片存储器芯片中,要完成这种功能,必须进行两种选择两种选择:一:一是必须选中该存储器芯片,这称为是必须选中该存储器芯片,这称为“片选片选”,只有被只有被“选中选中”的存储器芯片才能被单片机访问,未被选中的芯片不能被访
10、问的存储器芯片才能被单片机访问,未被选中的芯片不能被访问;二是在;二是在“片选片选”的基础上还同时的基础上还同时“选中选中”芯片的某一单元对芯片的某一单元对其进行读写,这称为其进行读写,这称为“单元选择单元选择”。每个扩展的芯片都有每个扩展的芯片都有“片选片选”引脚,引脚,同时每个芯片也都有多条地址引脚,以便对其同时每个芯片也都有多条地址引脚,以便对其进行单元选择。需要注意的是进行单元选择。需要注意的是,“片选片选”和和“单元选择单元选择”都是都是单片机单片机通过地址线一次发出的地址信号来通过地址线一次发出的地址信号来完成选择的。完成选择的。常用的存储器地址空间分配方法有两种:线性选择法(简称
11、常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面分别介绍。线选法)和地址译码法(简称译码法),下面分别介绍。1线选法线选法直接利用单片机某一高位地址线作为存储器芯片(或直接利用单片机某一高位地址线作为存储器芯片(或I/O接口接口芯片)的芯片)的“片选片选”控制信号。为此,只要用某一高位地址线与控制信号。为此,只要用某一高位地址线与存储器芯片的存储器芯片的“片选片选”端直接连接即可。端直接连接即可。 优点:优点:电路简单,不需另外增加地址译码器硬件电路,体电路简单,不需另外增加地址译码器硬件电路,体积小,成本低。积小,成本低。 缺点:缺点:可寻址芯片数
12、目受限制。另外,地址空间不连续,可寻址芯片数目受限制。另外,地址空间不连续,存储单元地址不唯一,这会给程序设计带来一些不便。线选法存储单元地址不唯一,这会给程序设计带来一些不便。线选法适用于外扩芯片数目不多的单片机系统的系统扩展。适用于外扩芯片数目不多的单片机系统的系统扩展。 2 2译码法译码法使用译码器对使用译码器对AT89S51AT89S51单片机的高位地址进行译码,将译码单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。本法能有效地利用器的译码输出作为存储器芯片的片选信号。本法能有效地利用存储器空间,适于多芯片的存储器扩展。存储器空间,适于多芯片的存储器扩展。12 常
13、见有常见有74LS13874LS138(3-83-8译码器)、译码器)、74LS13974LS139(双(双2-42-4译码器)与译码器)与74LS15474LS154(4-164-16译码器)。下面介绍译码器)。下面介绍74LS13874LS138和和74LS13974LS139译码器译码器芯片。芯片。 (1 1)74LS13874LS138是是3-83-8译码器,有译码器,有3 3个数据输入端,经译码后产个数据输入端,经译码后产生生8 8种状态,其引脚见图种状态,其引脚见图9-39-3,真值表见,真值表见表表9-19-1。13图图9-3 74LS138 8引脚图引脚图由表由表9-19-1可
14、见,当译码器输入为某一固定编码时,其可见,当译码器输入为某一固定编码时,其8 8个输出个输出引脚引脚Y0Y0* *Y7Y7* *中仅有中仅有1 1个引脚输出为低,其余全为高。而输出个引脚输出为低,其余全为高。而输出低电平的引脚恰好作为片选信号。低电平的引脚恰好作为片选信号。(2)74LS139 双双2-4译码器。译码器。两个译码器完全独立,分两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如端,其引脚如图图9-4所示,其中所示,其中1组的真值表见组的真值表见表表9-2。图图9-49-4 74LS139 74
15、LS139引脚图引脚图表表9-29-2 74LS13974LS139真值表真值表以以74LS138为例,介绍如何进行空间地址分配。例如,要扩为例,介绍如何进行空间地址分配。例如,要扩8片片8KB的的RAM 6264,如何通过,如何通过74LS138把把64KB空间分配给空间分配给各个芯片?由各个芯片?由74LS138真值表可知,把真值表可知,把G1接到接到+5V,该,该G2A*、G2B* 接地,接地,P2.7P2.7、P2.6P2.6、P2.5P2.5(高(高3位地址线)分别接到位地址线)分别接到74LS138的的C、B、A端,由于对高端,由于对高3位地址译码,这样译码器位地址译码,这样译码器
16、有有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。17 图图9-59-5 64KB空间划分成空间划分成8个个8KB空间空间当当AT89S51单片机发出单片机发出16
17、位地址码时,每次只能选中一片位地址码时,每次只能选中一片芯片以及该芯片的唯一存储单元。芯片以及该芯片的唯一存储单元。采用译码器划分的地址空间块相等,如将地址空间块划分为采用译码器划分的地址空间块相等,如将地址空间块划分为不等的块,可用不等的块,可用FPGA实现非线性译码逻辑来代替译码器。实现非线性译码逻辑来代替译码器。 9.1.3 外部地址锁存器外部地址锁存器AT89S51单片机受引脚数的限制,单片机受引脚数的限制,P0口兼用数据线和低口兼用数据线和低8位位地址,为了将它们分离出来,需要在地址,为了将它们分离出来,需要在单片机外部单片机外部增加地址锁存增加地址锁存器器。目前,常用的地址锁存器芯
18、片有。目前,常用的地址锁存器芯片有74LS373、74LS573等。等。19201 1锁存器锁存器74LS37374LS373带有三态门的带有三态门的8D D锁存器,其引脚见锁存器,其引脚见图图9-6,内部结构如,内部结构如图图9-7所示。所示。 图图9-6 6 锁存器锁存器74LS373的引脚的引脚图图9-7 7 74LS373的内部结构的内部结构74LS37374LS373引脚说明引脚说明: D7D7D08D08位数据输入线。位数据输入线。 Q7Q7Q08Q08位数据输出线。位数据输出线。 GG数据输入锁存选通信号。当加到该引脚的信号为高电数据输入锁存选通信号。当加到该引脚的信号为高电平时
19、,外部数据选通到内部锁存器,负跳变时,数据锁存到锁平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。存器中。OEOE* *数据输出允许信号,低电平有效。当该信号为低电数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。号为高电平时,输出线为高阻态。74LS37374LS373锁存器功能见锁存器功能见表表9-39-3。21表表9-374LS373功能表功能表22AT89S51单片机与单片机与74LS373锁存器的连接如锁存器的连接如图图9-8所示。所示。图
20、图9-8 AT89S51单片机单片机P0口与口与74LS373的连接的连接2锁存器锁存器74LS573带三态门的带三态门的8D锁存器,功能及内部结构与锁存器,功能及内部结构与74LS373完全完全一样,只是其引脚排列与一样,只是其引脚排列与74LS373不同,不同,图图9-9为为74LS573引引脚图。脚图。由图由图9-9,与,与74LS373相比,相比,74LS573输入输入D端和输出的端和输出的Q端依次排列在芯片两侧端依次排列在芯片两侧,为绘制印制电路板提供较大方便。,为绘制印制电路板提供较大方便。74LS573引脚说明如下。引脚说明如下。23图图9-9 9 锁存器锁存器74LS5 573
21、的引脚的引脚D7D7D08D08位数据输入线。位数据输入线。Q7Q7Q08Q08位数据输出线。位数据输出线。GG数据输入锁存选通,该引脚与数据输入锁存选通,该引脚与74LS37374LS373的的G G端功能相同。端功能相同。OEOE* *数据输出允许,低电平有效。当低电平时,三态门打开数据输出允许,低电平有效。当低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。出线为高阻态。9.2 9.2 外部程序存储器外部程序存储器EPROMEPROM的并行扩展的并行扩展程序存储器具有非易失性,在电源关断后,存储器
22、仍能保程序存储器具有非易失性,在电源关断后,存储器仍能保存程序,在系统上电后,存程序,在系统上电后,CPUCPU可取出这些指令重新执行。可取出这些指令重新执行。25程序存储器采用只读存储器程序存储器采用只读存储器ROMROM(Read Only MemoryRead Only Memory)。)。ROMROM中的信息一旦写入,就不能随意更改,特别是不能在程序中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。运行过程中写入新的内容,故称为只读存储器。 目前许多公司生产的目前许多公司生产的8051内核单片机,在芯片内部大多集内核单片机,在芯片内部大多集成了
23、数量不等的成了数量不等的Flash ROM。例如,美国。例如,美国ATMEL公司生产的公司生产的AT89C2051、AT89S51、AT89S51、89C52、89S52、89C55,片内分别有不同容量的,片内分别有不同容量的Flash ROM,作为片内程序存储器使,作为片内程序存储器使用。选择的单片机在片内用。选择的单片机在片内Flash ROM满足要求的情况下,外部满足要求的情况下,外部程序存储器的扩展工作就可省去。程序存储器的扩展工作就可省去。向向ROM中写入信息称为中写入信息称为ROM编程编程。根据编程方式不同。根据编程方式不同,可分为以下几种。,可分为以下几种。 (1)掩膜)掩膜RO
24、M:在制造过程中编程,编程是以掩膜工艺:在制造过程中编程,编程是以掩膜工艺实现的。这种芯片存储结构简单,集成度高,但由于掩膜工实现的。这种芯片存储结构简单,集成度高,但由于掩膜工艺成本较高,因此只适合于大批量生产。艺成本较高,因此只适合于大批量生产。 (2)可编程)可编程PROM(可编程只读存储器):(可编程只读存储器):芯片出厂时无芯片出厂时无任何程序信息,用户用编程器写入。但写入一次内容后,就任何程序信息,用户用编程器写入。但写入一次内容后,就不能再修改。不能再修改。(3)EPROM:用电信号编程,紫外线擦除的只读存储器芯用电信号编程,紫外线擦除的只读存储器芯片。在芯片外壳中间有一圆形窗口
25、,通过该窗口照射紫外线片。在芯片外壳中间有一圆形窗口,通过该窗口照射紫外线就可擦除原有的信息。用编程器可将调试完毕的程序写入。就可擦除原有的信息。用编程器可将调试完毕的程序写入。27(4)E2PROM(EEPROM):):用电信号编程与擦除的用电信号编程与擦除的ROM芯片。对芯片。对E2PROM的读写操作与的读写操作与RAM存储器几乎没差别,只存储器几乎没差别,只是写入速度慢一些,但断电后仍能保存信息。是写入速度慢一些,但断电后仍能保存信息。(5)Flash ROM又称闪烁存储器(简称闪存):是在又称闪烁存储器(简称闪存):是在EPROM、E2PROM基础上发展起来的一种电擦除型只读存基础上发
26、展起来的一种电擦除型只读存储器,可快速在线修改存储单元中的数据,改写次数可达储器,可快速在线修改存储单元中的数据,改写次数可达1万次,其读写速度很快,存取时间可达万次,其读写速度很快,存取时间可达70ns,成本却比普通,成本却比普通E2PROM低得多,大有取代低得多,大有取代E2PROM之势。之势。289.2.1 常用的常用的EPROM芯片芯片扩展并行接口程序存储器,使用较多的是扩展并行接口程序存储器,使用较多的是27系列产品系列产品。例如,例如,2764(8KB)、)、27128(16KB)、)、27256(32KB)、27512(64KB),型号名称),型号名称“27”后面的数字表示其位的
27、后面的数字表示其位的存储容量。如果换算成字节容量,只需将该数字除以存储容量。如果换算成字节容量,只需将该数字除以8即可即可。例如,。例如,“27128”中的中的“27”后面的数字为后面的数字为“128”,1288 = 16KB。随着大规模集成电路技术的发展,大容量存储器芯片产随着大规模集成电路技术的发展,大容量存储器芯片产量剧增,售价不断下降。小容量芯片的生产已停止。所以,量剧增,售价不断下降。小容量芯片的生产已停止。所以,在扩展程序存储器设计时,应尽量采用大容量芯片。在扩展程序存储器设计时,应尽量采用大容量芯片。291常用的常用的EPROM芯片的引脚芯片的引脚27系列系列EPROM芯片引脚见
28、图芯片引脚见图9-10,各引脚功能如下。,各引脚功能如下。 A0A15地址线引脚。它的数目由芯片的存储容量决地址线引脚。它的数目由芯片的存储容量决定,用于进行单元选择。定,用于进行单元选择。 D7D0数据线引脚。数据线引脚。 CE*片选控制端。片选控制端。 OE* 输出允许控制端。输出允许控制端。 PGM*编程时,编程脉冲的输入端。编程时,编程脉冲的输入端。 Vpp编程时,编程电压(编程时,编程电压(+12V或或+25V)输入端。)输入端。 VCC +5V,芯片的工作电压。,芯片的工作电压。 GND数字地。数字地。 NC无用端。无用端。3132图图9-10 常用常用EPROM芯片引脚图芯片引脚
29、图2EPROM芯片的工作方式芯片的工作方式一般有一般有5种工作方式,由种工作方式,由CE* 、OE* 、PGM各信号状态组合各信号状态组合确定。确定。5种工作方式见表种工作方式见表9-4。 (1)读出方式)读出方式。片选控制线。片选控制线 CE*和和OE* 为低,为低,Vpp为为+5V,就可将,就可将EPROM中的指定地址单元的内容从数据引脚中的指定地址单元的内容从数据引脚D7D0上读出。上读出。 (2)未选中方式。)未选中方式。 CE* 此时为高,数据输出为高阻悬浮状此时为高,数据输出为高阻悬浮状态,不占用数据总线。态,不占用数据总线。EPROM处于低功耗的维持状态。处于低功耗的维持状态。(
30、3)编程方式。)编程方式。在在Vpp端加上规定高压,端加上规定高压,CE*和和OE*端加上合端加上合适电平(不同芯片要求不同),就能将数据写入到指定的地址适电平(不同芯片要求不同),就能将数据写入到指定的地址33表表9-4EPROMEPROM的的5种工作方式种工作方式单元。此时,编程地址和编程数据分别由单片机的单元。此时,编程地址和编程数据分别由单片机的A15A0和和D7D0提供。提供。(4)编程校验方式)编程校验方式。在。在Vpp端保持相应的编程电压(高压),端保持相应的编程电压(高压),再按读出方式操作,读出编程固化好的内容,以校验写入内容再按读出方式操作,读出编程固化好的内容,以校验写入
31、内容是否正确。是否正确。(5)编程禁止方式。)编程禁止方式。编程禁止方式输出呈高阻状态,不写入编程禁止方式输出呈高阻状态,不写入程序。程序。 9.2.2 AT89S51扩展扩展EPROM的接口设计的接口设计1访问程序存储器的控制信号访问程序存储器的控制信号AT89S51访问片外程序存储器时,控制信号有以下访问片外程序存储器时,控制信号有以下3个。个。35(1)ALE用于低用于低8位地址锁存控制。位地址锁存控制。(2)PSEN*片外程序存储器片外程序存储器“读选通读选通”控制信号。它接外控制信号。它接外扩扩EPROM的的OE*脚。脚。(3)EA*片内、片外程序存储器访问的控制信号。片内、片外程序
32、存储器访问的控制信号。EA*=1时时,在单片机发出地址小于片内程序存储器最大地址时,访问片,在单片机发出地址小于片内程序存储器最大地址时,访问片内程序存储器;当内程序存储器;当EA*= 0时,只访问片外程序存储器。时,只访问片外程序存储器。 如果指令是从片外如果指令是从片外EPROM中读取的,除了中读取的,除了ALE用于低用于低8位位地址锁存信号之外,控制信号还有地址锁存信号之外,控制信号还有PSEN*, PSEN*接外扩接外扩EPROM的的OE*脚。此外,还要用脚。此外,还要用P0口分时作低口分时作低8位地址总线和位地址总线和数据总线,数据总线,P2口用作高口用作高8位地址线。位地址线。由于
33、目前各种单片机片内都集成不同容量由于目前各种单片机片内都集成不同容量Flash ROM,扩展,扩展外部程序存储器的工作可省略。但是作为外部程序存储器的并外部程序存储器的工作可省略。但是作为外部程序存储器的并行扩展基本方法,读者还是需要了解。行扩展基本方法,读者还是需要了解。1AT89S51单片机与单片单片机与单片EPROM的硬件接口电路的硬件接口电路由于外扩的由于外扩的EPROM在正常使用中只读不写,故在正常使用中只读不写,故EPROM芯片芯片没有写入控制引脚,只有读出控制引脚没有写入控制引脚,只有读出控制引脚PSEN* ,该脚与,该脚与AT89S51的相连,地址线、数据线分别与的相连,地址线
34、、数据线分别与AT89S51地址线、数地址线、数据线相连,可采用线选法或译码法对片选端进行控制。据线相连,可采用线选法或译码法对片选端进行控制。 37 下面仅介绍下面仅介绍27128芯片与芯片与AT89S51单片机的接口。至于更大单片机的接口。至于更大容量的容量的27256、27512与单片机连接,差别只是与与单片机连接,差别只是与AT89S51连连接的地址线数目不同。接的地址线数目不同。 图图9-11为为AT89S51外扩外扩16KB的的EPROM 27128的电路,与的电路,与地址无关的电路部分未画出。由于只扩展一片地址无关的电路部分未画出。由于只扩展一片EPROM,片选,片选端端CE*可
35、直接接地,也可接到某一高位地址线上(可直接接地,也可接到某一高位地址线上(A15或或A14)进行线选控制。当然也可采用译码器法,进行线选控制。当然也可采用译码器法,CE*接到某一地址译接到某一地址译码器的输出端。码器的输出端。3839图图9-11 AT89S51单片机与单片机与27128的接口电路的接口电路2扩展多片扩展多片EPROM的接口电路的接口电路扩展多片扩展多片EPROM除片选端需区分外,其他均与单片扩展电除片选端需区分外,其他均与单片扩展电路相同。路相同。图图9-12为单片机扩展为单片机扩展4片片27128(共(共64KB)程序存储)程序存储器。片选控制信号器。片选控制信号CE*由译
36、码器产生。由译码器产生。4片片27128各自所占的地各自所占的地址空间,读者自己分析。址空间,读者自己分析。9.2.3 片内片内Flash存储器的编程存储器的编程如何把已调试完毕的程序代码写入单片机片内如何把已调试完毕的程序代码写入单片机片内Flash存储器存储器,即如何对,即如何对AT89S51的的Flash存储器编程。存储器编程。1. 片内片内Flash存储器的基本特性存储器的基本特性AT89S51单片机片内单片机片内4KB Flash存储器基本性能:存储器基本性能:40图图9-12 AT89S51单片机与单片机与4片片27128 EPROM128 EPROM的接口电路的接口电路(1)可循
37、环写入)可循环写入/擦除擦除1 000次;次;(2)存储器数据保存时间为)存储器数据保存时间为10年;年;(3)具有)具有3级加密保护。级加密保护。单片机芯片出厂时,单片机芯片出厂时,Flash存储器为存储器为全空白状态(各单元均全空白状态(各单元均为为0 xff),),可直接进行编程。若可直接进行编程。若Flash不全为空白状态(单元中不全为空白状态(单元中有不是有不是0 xff的),应首先将芯片擦除(即各单元均为的),应首先将芯片擦除(即各单元均为0 xff)后)后,方可向其写入调试通过的程序代码。,方可向其写入调试通过的程序代码。 AT89S51片内片内Flash存储器有存储器有3个可编
38、程加密位,定义了个可编程加密位,定义了3个加密级别,用户只要对个加密级别,用户只要对3个加密位:个加密位:LB1、LB2、LB3进行编进行编程即可实现程即可实现3个不同级别的加密。经上述加密处理,使解密个不同级别的加密。经上述加密处理,使解密42难度加大,但还是可以解密。现在还有一种非恢复性加密(难度加大,但还是可以解密。现在还有一种非恢复性加密(OTP加密)方法,就是将加密)方法,就是将AT89S51的第的第31脚(脚(EA*脚)烧断或脚)烧断或某些数据线烧断,经上述处理后芯片仍正常工作,但不再具有读某些数据线烧断,经上述处理后芯片仍正常工作,但不再具有读取、擦除、重复烧写等功能。这是一种较
39、强的加密手段。国内某取、擦除、重复烧写等功能。这是一种较强的加密手段。国内某些厂家生产的编程器直接具有此功能(例如些厂家生产的编程器直接具有此功能(例如RF-1800编程器)。编程器)。如何将调试好程序写入到片内如何将调试好程序写入到片内Flash中,即中,即AT89S51片内片内Flash存储器编程问题。存储器编程问题。AT89S51片内片内Flash存储器有低电压编存储器有低电压编程(程(Vpp=5V)和高电压编程()和高电压编程(Vpp=12V)两类芯片。低电压编)两类芯片。低电压编程可用于在线编程,高电压编程与一般常用的程可用于在线编程,高电压编程与一般常用的EPROM编程器兼编程器兼
40、容。在容。在AT89S51芯片的封装面上都标有低电压编程还是高电压芯片的封装面上都标有低电压编程还是高电压编程的标识。编程的标识。432. Flash存储器的编程存储器的编程 目前常用编程方法主要两种:使用通用编程器编程;另一是目前常用编程方法主要两种:使用通用编程器编程;另一是使用下载型编程器编程。使用下载型编程器编程。(1)通用编程器编程)通用编程器编程 下载程序时,编程器只是将下载程序时,编程器只是将AT89S51看作看作1个待写入程序的个待写入程序的外部程序存储器芯片。外部程序存储器芯片。PC中程序代码通过串口或中程序代码通过串口或USB口与口与PC连接,并有相应服务程序。在编程器与连
41、接,并有相应服务程序。在编程器与PC连接好后,运行连接好后,运行44服务程序,在服务程序中先选择所要编程的单片机型号,再调服务程序,在服务程序中先选择所要编程的单片机型号,再调入程序代码文件,就将调试通过的程序代码烧录到片内入程序代码文件,就将调试通过的程序代码烧录到片内Flash中。用户只需在市场上购买现编程器即可完成上述工作。以常中。用户只需在市场上购买现编程器即可完成上述工作。以常见烧录见烧录Atmel公司的单片机芯片的公司的单片机芯片的A51编程器为例,介绍编程编程器为例,介绍编程器基本功能。器基本功能。 AT89S51程序代码(程序代码(.hex目标文件)在目标文件)在PC中与在线仿
42、真器中与在线仿真器以及用户目标板一起调试通过后,必须写入到以及用户目标板一起调试通过后,必须写入到AT89S51片内的片内的闪烁存储器中。闪烁存储器中。 (a)支持烧录的芯片型号)支持烧录的芯片型号 A51编程器可烧录编程器可烧录Atmel公司系列单片机芯片,性能稳定,公司系列单片机芯片,性能稳定,烧录速度快。可烧录的芯片型号有:烧录速度快。可烧录的芯片型号有: Atmel(40 PIN) 89C51、89C52、89C55、89S51、89S52、87F51(OTP)、)、89LV52; Atmel(20 PIN) 89C1051、89C2051、89C4051; 华邦华邦8051芯片芯片
43、W78E51、W78E52。(b)A51编程器特性编程器特性 编程器通过串口与编程器通过串口与PC机通讯,芯片型号自动判别,编程过机通讯,芯片型号自动判别,编程过程中的擦除、烧写、校验等操作完全由编程器上的监控芯片程中的擦除、烧写、校验等操作完全由编程器上的监控芯片89C51控制,不受控制,不受PC机影响,烧写速度很快且与机影响,烧写速度很快且与PC机档次无机档次无关,烧写成功率高。关,烧写成功率高。46 编程器与编程器与PC机采用机采用57600高速波特率进行串行数据传送高速波特率进行串行数据传送, 烧写烧写速度很快,稳定,编程速度可与一般并行编程器相媲美,经测试速度很快,稳定,编程速度可与
44、一般并行编程器相媲美,经测试,烧写一片,烧写一片4K字节的字节的Flash ROM的的AT89C51仅需要仅需要9.5S,而读,而读取和校验仅需要取和校验仅需要3.5S。 A51编程器供电部分是采用编程器供电部分是采用USB线直接与线直接与PC机相连,使用机相连,使用USB端口端口5V电源,并加入电源,并加入USB接口保护电路,即自恢复保险丝,不怕接口保护电路,即自恢复保险丝,不怕操作短路。操作短路。 软件界面友好,全中文操作,提供加密功能。软件界面友好,全中文操作,提供加密功能。 功能完善,具有编程、读取、校验、空检查、擦除、加密等功能完善,具有编程、读取、校验、空检查、擦除、加密等系列功能
45、系列功能; A51编程器外形见编程器外形见图图9-13,采用,采用40脚和脚和20脚锁紧插座,可烧脚锁紧插座,可烧写写40脚和脚和20脚单片机芯片。所有器件全部以第脚单片机芯片。所有器件全部以第1脚对齐。可自动脚对齐。可自动搜索并识别插座上的器件型号。采用优质的万用锁紧插座,克服搜索并识别插座上的器件型号。采用优质的万用锁紧插座,克服接触不良等问题。接触不良等问题。 内部有自升压电路,产生精确的内部有自升压电路,产生精确的12V编程电压;改进烧写深度编程电压;改进烧写深度确保每一单片机芯片反复烧写达确保每一单片机芯片反复烧写达1000次以上,内部数据至少保次以上,内部数据至少保存存10年。年。
46、4849图图9-13 A51编程器的外形编程器的外形(c)A51编程器的使用编程器的使用 安装软件,把相关软件拷贝到硬盘中。安装软件,把相关软件拷贝到硬盘中。 使用串口通讯电缆见使用串口通讯电缆见图图9-14(a),),将将PC机与编程器的串口机与编程器的串口通讯插座连接好;使用通讯插座连接好;使用USB电缆见电缆见图图9-14(b),),把把PC机机USB口与编程器口与编程器USB口连好,口连好,50 (a)串口通讯电缆)串口通讯电缆 (b)USB电源线电源线图图9-14 编程器与编程器与PC机连接电缆机连接电缆编程器直接使用编程器直接使用PC机机USB口提供的电源。此时编程器上口提供的电源
47、。此时编程器上LED灯亮,表明电源接通。灯亮,表明电源接通。 运行软件启动后,会自动检测硬件及连接,状态框中显示运行软件启动后,会自动检测硬件及连接,状态框中显示“就绪就绪” ,表示编程器连接及设置均正常,否则应检查硬件连接,表示编程器连接及设置均正常,否则应检查硬件连接及其端口设置。把单片机芯片正确地插在编程器相应插座上,及其端口设置。把单片机芯片正确地插在编程器相应插座上,芯片缺口要朝把手方向。然后就可进行编程操作了,芯片编程芯片缺口要朝把手方向。然后就可进行编程操作了,芯片编程操作界面见操作界面见图图9-15。51图图9-15 编程操作界面编程操作界面编程按以下步骤进行:编程按以下步骤进
48、行: 程序运行,先选择器件(点击下选框选择);程序运行,先选择器件(点击下选框选择); 用用“打开文件打开文件”,选择打开要写入的,选择打开要写入的.hex文件和文件和.BIN文件;文件; 用用“保存文件保存文件”,可以保存读出来的文件;,可以保存读出来的文件; 用用“擦除器件擦除器件”,擦除芯片;,擦除芯片; 用用“写器件写器件”对芯片编程;对芯片编程; 用用“读器件读器件”读取芯片中的程序,加密的读不出来;读取芯片中的程序,加密的读不出来; 用用“校验数据校验数据”检查编程正确与否;检查编程正确与否; 用用“自动完成自动完成”自动执行以上各步骤;自动执行以上各步骤; 用用“加密加密”选择加
49、密的级别;选择加密的级别;(2)ISP编程编程AT89S5x系列支持对片内系列支持对片内Flash存储器存储器在线编程(在线编程(ISP)。)。即即在电路板上的被编程的空白器件可直接写入程序代码,已编程在电路板上的被编程的空白器件可直接写入程序代码,已编程器件也可用器件也可用ISP方式擦除或再编程。方式擦除或再编程。ISP下载编程器可自行制作,也可在电子市场购买。下载编程器可自行制作,也可在电子市场购买。ISP下载编程器与单片机一端连接的端口通常采用下载编程器与单片机一端连接的端口通常采用ATMEL公公司提供的接口标准,即司提供的接口标准,即10引脚的引脚的IDC端口。端口。图图9-16为为I
50、DC端口端口实物图及端口定义。实物图及端口定义。 ISP下载程序时,用户板须装有下载程序时,用户板须装有IDC端口,端口中的信号线必端口,端口中的信号线必须与目标板上须与目标板上AT89S51的对应引脚连接。注意,图中的的对应引脚连接。注意,图中的8脚脚P1.4(SS*)端只对)端只对AT89LP系列单片机有效,对系列单片机有效,对AT89S5x54图图9-16 IDC端口的实物图及端口定义端口的实物图及端口定义系列无效,不用连接即可。系列无效,不用连接即可。 ISP下载编程器,可自行制作,只需几个简单元件及连线即下载编程器,可自行制作,只需几个简单元件及连线即可。也可采用市售的可。也可采用市
51、售的ISP下载型编程器下载型编程器ISPro,购买,购买ISPro时,时,会随机赠送安装光盘。用户运行安装程序会随机赠送安装光盘。用户运行安装程序SETUP.exe即可即可,在在桌面上建立一个桌面上建立一个“ISPro.exe下载型编程器下载型编程器”图标,双击该图图标,双击该图标,即可启动编程软件。标,即可启动编程软件。ISPro下载型编程器参照使用说明书下载型编程器参照使用说明书操作即可。操作即可。上面介绍两种程序下载方法,就单片机发展方向而言,已趋上面介绍两种程序下载方法,就单片机发展方向而言,已趋向于向于ISP程序下载方式,一方面由于原有不支持程序下载方式,一方面由于原有不支持ISP下
52、载的芯片下载的芯片逐渐被淘汰(大部分已经停产),另一方面逐渐被淘汰(大部分已经停产),另一方面ISP使用起来十分使用起来十分方便,而不用增加太多成本就可实现程序下载,所以方便,而不用增加太多成本就可实现程序下载,所以ISP下载下载方式已经逐步成为主流。方式已经逐步成为主流。569.3 外部数据存储器外部数据存储器RAM的并行扩展的并行扩展AT89S51片内有片内有128B RAM,如不能满足需要,须扩展外部,如不能满足需要,须扩展外部数据存储器。在单片机系统中,外扩的数据存储器都采用静态数据存储器。在单片机系统中,外扩的数据存储器都采用静态数据存储器数据存储器SRAM。AT89S51对外部数据
53、存储器访问,由对外部数据存储器访问,由P2口提供高口提供高8位地址,位地址,P0口分时提供低口分时提供低8位地址和位地址和8位双向数据总线。片外数据存储器位双向数据总线。片外数据存储器RAM的读和写由的读和写由AT89S51的的 RD*(P3.7)和)和WR*(P3.6)信)信号控制,而片外程序存储器号控制,而片外程序存储器EPROM的输出端允许(的输出端允许(OE*)由)由AT89S51单片机的读选通信号单片机的读选通信号PSEN*控制。尽管与控制。尽管与EPROM地地址空间范围都相同,但由于是两个不同空间,控制信号不同,址空间范围都相同,但由于是两个不同空间,控制信号不同,故不会发生数据冲
54、突。故不会发生数据冲突。579.3.1 常用的静态常用的静态RAM(SRAM)芯片)芯片单片机系统中常用单片机系统中常用RAM典型芯片有典型芯片有6116(2KB)、)、6264(8KB)、)、62128(16KB)、)、62256(32KB)。)。 都单一都单一+5V电源供电,双列直插,电源供电,双列直插,6116为为24引脚,引脚,6264、62128、62256为为28引脚。引脚。RAM芯片引脚见图芯片引脚见图9-17。各引脚功能如下。各引脚功能如下。A0A14地址输入线。地址输入线。D0D7双向三态数据线。双向三态数据线。CE*片选信号输入线,低电平有效。对于片选信号输入线,低电平有效
55、。对于6264芯片,当芯片,当24脚(脚(CS)为高电平且为低电平时才选中该片。)为高电平且为低电平时才选中该片。 OE*读选通信号输入线,低电平有效。读选通信号输入线,低电平有效。 WE*写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。 VCC工作电源工作电源+5V。 GND地地5960图图9-17 常用常用RAM引脚引脚9.3.2 并行扩展并行扩展RAM的扩展接口的扩展接口访问外扩数据存储器,要由访问外扩数据存储器,要由P2口提供高口提供高8位地址,位地址,P0口提口提供低供低8位地址和位地址和8位双向数据总线。位双向数据总线。AT89S51对片外对片外RAM的读的读和写由和写
56、由AT89S51的的RD* 和和WR*信号控制,片选端信号控制,片选端CE*由地由地址译码器译码输出控制。因此,接口设计主要解决地址址译码器译码输出控制。因此,接口设计主要解决地址RAM存储器有读出、写入、维持存储器有读出、写入、维持3种工作方式,见表种工作方式,见表9-5。61分配、数据线和控制信号线的连接。如读分配、数据线和控制信号线的连接。如读/写速度要求较高,写速度要求较高,还要考虑单片机与还要考虑单片机与RAM的读的读/写速度匹配问题。写速度匹配问题。 图图9-18为线选法扩展外部为线选法扩展外部RAM的电路。的电路。 RAM选用选用6264,地,地址线为址线为A0A12,故,故AT
57、89S51剩余地址线为剩余地址线为3条。用线选法可条。用线选法可扩展扩展3片片6264,3片片6264的存储器空间如表的存储器空间如表9-6所示。所示。62图图9-18 线选法扩展外部数据存储器电路图线选法扩展外部数据存储器电路图64用译码法扩展外部用译码法扩展外部RAMRAM接口电路见接口电路见图图9-19。图中。图中RAM选用选用62128,该芯片地址线为,该芯片地址线为A0 0A13,这样,这样,AT89S51剩余地址线剩余地址线为两条,采用为两条,采用2- -4译码器可扩展译码器可扩展4片片62128。各。各62128芯片地址范围芯片地址范围见表见表9-7。图图9-19 译码法扩展外部
58、数据存储器电路图译码法扩展外部数据存储器电路图66表表9-7各各62128芯片的地址空间分配芯片的地址空间分配【例例9-1】编写程序将片外数据存储器中的编写程序将片外数据存储器中的0 x50000 x50000 x50FF0 x50FF的的256个单元全部清个单元全部清“0”。参考程序:。参考程序:xdata unsigned char databuf256 _at_0 x5000;void main(void) unsigned char i;for(i=0;i256;i+) databufi=0 9.4 AT89S51扩展并行扩展并行I/O芯片芯片82C55的设计的设计 AT89S51本身
59、有本身有4个通用的并行个通用的并行I/O口口P0P3,但真正用作,但真正用作通用通用I/O口线的只有口线的只有P1口和口和P3口某些位线。当口某些位线。当AT89S51本身本身4个并行个并行I/O口不够用时,需进行外部口不够用时,需进行外部I/O接口扩展。本节介绍接口扩展。本节介绍AT89S51单片机扩展可编程并行单片机扩展可编程并行I/O接口芯片接口芯片82C55的设计。此的设计。此外还介绍使用廉价的外还介绍使用廉价的74LSTTL芯片扩展并行芯片扩展并行I/O接口以及使用接口以及使用AT89S51串行口来扩展并行串行口来扩展并行I/O口的设计。口的设计。9.4.1 I/O接口扩展概述接口扩
60、展概述 由本章前面介绍可知,扩展由本章前面介绍可知,扩展I/O接口与扩展存储器一样,都接口与扩展存储器一样,都属于系统扩展属于系统扩展67的内容。扩展的的内容。扩展的I/O接口作为单片机与外设交换信息的桥梁,应接口作为单片机与外设交换信息的桥梁,应满足以下功能要求。满足以下功能要求。(1)实现和不同外设的速度匹配)实现和不同外设的速度匹配 多数外设速度慢,无法和多数外设速度慢,无法和s级单片机比。单片机只有在确认级单片机比。单片机只有在确认外设已为数据传送做好准备前提下才进行数据传送。要知道外外设已为数据传送做好准备前提下才进行数据传送。要知道外设是否准备好,就需设是否准备好,就需I/O接口电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版ERP系统用户权限管理与审计合同3篇
- 基于二零二五年度计划的工业级无人机采购合同3篇
- 二零二五版电商产品包装设计与营销方案合同3篇
- 二零二五年港口集装箱租赁及维护服务合同规范3篇
- 二零二五版驾驶员与货运配送服务企业劳动合同3篇
- 二零二五年矿山企业矿产品环保评价采购合同3篇
- 二零二五版CFG桩施工质量保障合同协议2篇
- 二零二五版区块链技术应用定金及借款合同2篇
- 二零二五版出租车驾驶员权益保障合同3篇
- 二零二五年度遮阳棚安装与户外照明系统设计合同4篇
- 新概念英语第二册考评试卷含答案(第49-56课)
- 商业伦理与企业社会责任(山东财经大学)智慧树知到期末考试答案章节答案2024年山东财经大学
- 【奥运会奖牌榜预测建模实证探析12000字(论文)】
- (完整版)译林版英语词汇表(四年级下)
- 阻燃壁纸汇报
- 8 泵站设备安装工程单元工程质量验收评定表及填表说明
- 企业年会盛典元旦颁奖晚会通用PPT模板
- 污水管道工程监理控制要点
- 潮流能发电及潮流能发电装置汇总
- (高清正版)T_CAGHP 066—2019危岩落石柔性防护网工程技术规范(试行)
- 支票票样-样版
评论
0/150
提交评论