版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_*单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此谢谢阅读在系统设计时首先要解决系统扩展问题。单片机的系统扩展主要有程序存储器精品文档放心下载(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。MCS-51单片机有很谢谢阅读强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。本章首谢谢阅读先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯谢谢阅读片以及使用方法。实训6片外RAM对信号灯的控制及可编程I/O口的应用谢谢阅读实训目的掌握扩展片外RAM的方法及使用。熟悉8155可编程接口芯片的内部组成。掌握8155初始化的方法及I/O口的使用。了解8155内部定时器和RAM的编程使用。认识片外RAM及8155相关地址的确定。实训设备和器件实训设备:单片机开发系统、微机。实训器件:实训电路板1套。实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。精品文档放心下载_*1P10P0039238P11P01337P12P02436P13P03535P14P04634P15P05733P16P06832P17P0713INT1P202112803122INT0P2123P221524T1P231425T0P2426P253127EA/VPP2628P2719X118X29RESETRXD1011TXD1730RDALE/P1629WRPSENWR12AD0PA0211322AD1PA11423AD2PA21524AD3PA31625AD4PA41726AD5PA51827AD6PA61928AD7PA7PB029830CEPB19815531RDPB21032WRPB3接8031P22733IO/MPB41134ALEPB5接8031ALE35PB636PB76TMROUT37PC038PC1339TMRINPC21PC32PC445RESETPC5接8031RESET实训步骤与要求
3D0Q0211D0A04512D1Q1D1A17613D2Q2D2A238915D3Q3D3A37D4Q41216D4A43141517S17D5Q51618D5A5LD6Q6D6A641819197D7Q7D7A71A8OEA911LEP20A10P216264A11P22A12P23OEP24WECS2CS1P251AY015P26214BY1P27313CY212Y311Y4410E1Y559E2Y667E3Y7VCC74LS138200Ω×8p g f e d c b ad012345PC00123PC14567PC2891011PC312131415PA0~PA7图6.1实训6电路图
109876543252421232接8031RD接8031WR20VCC6 75.1KΩ×4VCC1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部LED的关系。感谢阅读2)将电路板与仿真器连接好。3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。精品文档放心下载4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。感谢阅读参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。感谢阅读ORG0000HMOVDPTR,#1000H ;指向片外RAM的首地址精品文档放心下载MOVA,#0FEH
;设置第一个要送入的数据MOVR1,#08HWRITE: MOVX@DPTR,AINCDPTRCLRCYRLADJNZR1,WRITE则顺序执行下一条指令MOVR1,#08HSTART: MOVDPTR,#1000HREAD: MOVX A,@DPTRMOVP1,A
;设循环次数;向RAM中写入数据;片外RAM地址加1;更新数据;8次未送完,继续写入,否;再次设置循环次数;指向第一个数据单元1000H;读出数据到A累加器;送P1口点亮发光二极管LCALLDELAYINCDPTRDJNZR1,READ
;延时一段时间;更新地址;连续读出8个数据,送P1口显示SJMPSTART第一个数据单元开始。
;8个数据读完,继续从延时子程序参见第4章。_*参考程序2:对8155初始化,使I/O口控制LED的显示情况。精品文档放心下载ORG0000HMOVDPTR,#4400H ;指向8155命令寄存器谢谢阅读MOVA,#03HMOVX
@DPTR,A
;写入控制字。A口、B口为输出,C口为输入。INCDPTR ;指向8155A口MOVA,#00HMOVX @DPTR,A ;向A口写入00H,输出选中感谢阅读所有8个LED。INCDPTR ;指向8155B口MOVA,#OFFHMOVX @DPTR,A ;向B口写入某个字型码,谢谢阅读输出点亮8个LED。SJMP$实训总结和分析(1)程序1的功能是,对片外RAM1000H~1008H写入数据,然后再逐一读出送P1口控制发光二极管,使8个发光二极管依次点亮。片外RAM是当单片机内部RAM不够用时进行扩展的,常用的芯片是静态RAM,例如实训电路板中所使用的6264,片外RAM的地址线是由单片机的P0口和P2口提供的,其具体连接方法以及片外RAM地址的确定方法在6.2节介绍。实训中,对片外RAM的写操作由MOVX@DPTR,A完成,读操作由MOVXA,@DPTR完成。精品文档放心下载_*(2)程序2的功能是,对实训电路中扩展的8155芯片初始化,分别从8155谢谢阅读A口和B口输出数据,使8个LED同时显示“8”。8155是可编程的I/O芯片,当单片机提供的并行I/O口P0~P3不够用户使用时,常常需要扩展I/O口,8155感谢阅读是扩展时使用较多的I/O芯片。在本书的实训电路中,用扩展的8155连接了8个LED数码管和16个按键。通过扩展8155可以提供3个并行I/O口:A口、B口和C口,3个I/O口的工作方式(例如是输入还是输出)是由用户的编程来确定的,这个过程称作对8155的初始化。初始化编程是通过8155的命令寄存器写入控制字来实现的,例如参考程序2中的前3条指令。控制字的规定、8155和单片机的接口方法以及8155相关地址的确定在6.3.4节介绍。精品文档放心下载(3)分析参考程序2,我们注意到,对扩展I/O口芯片8155的写操作也是MOVX@DPTR,A,与片外RAM的使用方法相同,读操作也是一样,因此这就要求片外RAM和扩展I/O口的地址不能冲突,在扩展连接时,二者要统一考虑,统一编址。感谢阅读(4)请读者学习本章知识后,思考以下问题:实训中扩展的6264的地址范围是什么?为什么8155命令寄存器、A口、B口的地址是程序2中所使用的4400H、4401H、4402H?感谢阅读(5)在实际应用中,不仅要扩展RAM和I/O口,当单片机内部用于存放程序、表格的程序存储器容量不够时,也需要扩展。对这三者的扩展方法、常用芯片和使用方法是本章重点讨论的内容。感谢阅读6.1程序存储器扩展在进行单片机应用系统设计时,首先考虑的就是存储器的扩展,包括程序存储器和数据存储器。其次是I/O口的扩展,用来连接一定的输入设备和输出设备。在本书附录的参考实训电路板原理图中,除了实训6中我们初步认识和使用的RAM和I/O口8155芯片,读者会注意到还扩展了两片存储器芯片2764和2864,这是在程序存储器扩展中要介绍的内容。感谢阅读_*单片机的程序存储器空间和数据存储器空间是相互独立的。程序存储器的寻址空间是64K字节(0000H~FFFFH)。感谢阅读6.1.1单片机程序存储器概述单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。谢谢阅读对于MCS-51系列8位单片机,片内程序存储器的类型及容量如表6.1所示。感谢阅读表6.1 MCS-51系列单片机片内程序存储器一览表精品文档放心下载单片机片内程序存储器型号类型容量(字节)8031无——8051ROM4K8751EPROM4K8951Flash4K对于没有内部ROM的单片机或者程序较长、片内ROM容量不够时,用户必须谢谢阅读在单片机外部扩展程序存储器。MCS-51单片机片外有16条地址线,即P0口和精品文档放心下载P2口,因此最大寻址范围为64K字节(0000H—FFFFH)。精品文档放心下载这里要注意的是,MCS-51单片机有一个管脚EA跟程序存储器的扩展有关。感谢阅读如果EA接高电平,那么片内存储器地址范围是0000H—0FFFH(4K字节),片外精品文档放心下载程序存储器地址范围是1000H—FFFFH(60K字节)。如果EA接低电平,不使用精品文档放心下载片内程序存储器,片外程序存储器地址范围为0000H—FFFFH(64K字节)。感谢阅读8031单片机没有片内程序存储器,因此EA管脚总是接低电平。感谢阅读扩展程序存储器常用芯片有EPROM(ErasableProgrammableReadOnly感谢阅读Memory)型(紫外线可擦除型),如2716(2K×8)、2732(4K×8)、2764(8K精品文档放心下载×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等,另外还有+5V电可擦除EEPROM,如2816(2K×8)、2864(8K×8)等等。感谢阅读如果程序总量不超过4KB,一般选用具有内部ROM的单片机。8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用。因此选用8751、8951的用户较多。精品文档放心下载如果程序超过4K字节,一般不会选用8751、8951,直接选用8031,利用外部扩展存储器来存放程序。谢谢阅读6.1.2 EPROM程序存储器扩展实例紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上均有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。感谢阅读例6.1 在8031单片机上扩展4KEPROM程序存储器感谢阅读1.选择芯片本例要求选用8031单片机,内部无ROM区,无论程序长短都必须扩展程序存储器(目前较少这样使用,但扩展方法比较典型、实用)。精品文档放心下载在选择程序存储器芯片时,首先必须满足程序容量,其次在价格合理情况下尽量选用容量大的芯片。芯片少,接线简单,芯片存储容量大,程序调整余量大。如估计程序总长3KB左右,最好扩展一片4KB的EPROM2732,而不选用2片2716(2KB)。感谢阅读在单片机应用系统硬件设计中应注意,尽量减少芯片使用个数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加广泛的原因之一。精品文档放心下载2.硬件电路图8031单片机扩展一片2732程序存储器电路如图6.2所示。精品文档放心下载_*GND+5VGND31241218EAP2.32421VccGNDCE2319A11P2.2A10P2.12222A9P2.02123A83218191P0.73317D7Q7162A7P0.6D6Q6A6P0.534314D5Q5153A5P0.435713D4Q4124A4363895P0.3SD3Q3A337L7662732P0.24D2Q2A278031P0.1384D1Q157A14KX8P0.0393D0GOEQ028A0111GND1716O715O614O5O413O311O210O19ALE30O0PSEN2920OE/Vpp图6.2单片机扩展2732EPROM电路3.芯片说明(1)74LS37374LS373是带三态缓冲输出的8D锁存器,由于单片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址精品文档放心下载(2)EPROM2732EPROM2732的容量为4K×8位。4K表示有4×1024(22×210=212)个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0~A11),后者确定了数据线的位数是8位(O0~O7),目前除了串行存储器之外,一般情况下我们使用的都是8位数据存储器)。2732单一+5V供电,最大静态工作电流为100mA,维持电流为35mA,读出时间最大为250ns。2732的封装形式为DIP24,管脚如图6.3所示。精品文档放心下载_*1A7VCC24223A62732A83224A5A921A4A11520A3OE/VPP619A2A10718A1CE817A0O7916O0O61015O1O51114O2O41213GNDO3图6.3 EPROM2732管脚及说明其中 A0~A11:地址线O0~O7: 数据线CE: 片选线OE/V: 输出允许/编程高压PP除了12条地址线和8条数据线之外,CE为片选线,低电平有效,也就精品文档放心下载是说,只有当CE为低电平时,2732才被选中,否则,2732不工作。OE/V为双精品文档放心下载PP功能管脚,当2732用作程序存储器时,其功能是允许读数据出来;当对EPROM编程(也称为固化程序)时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有不同。当我们把它作为程序存储器使用时,不必关心其编程电压。精品文档放心下载4.扩展总线的产生一般的CPU,象INTEL8086/8088、Z80等,都有单独的地址总线、数据谢谢阅读总线和控制总线,而MCS-51系列单片机由于受管脚的限制,数据线与地址线是谢谢阅读复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般谢谢阅读CPU相类似的三总线结构。5.连线说明(1)地址线_*单片机扩展片外存储器时,地址线是由P0和P2口提供的。图6.2中,2732精品文档放心下载12条地址线(A0~A11)中,低8位A0~A7通过锁存器74LS373与P0口连接,高4位A8~A11直接与P2口的P2.0~P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。感谢阅读(2)数据线2732的8位数据线直接与单片机的P0口相连。因此P0口是一个分时复用的地址/数据线。谢谢阅读(3)控制线CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2732的读操作控制都是通过控制线实现的。2732控制线的连接有以下几条:感谢阅读CE:直接接地。由于系统中只扩展了一个程序存储器芯片,因此2732的谢谢阅读片选端CE直接接地,表示2732一直被选中。若同时扩展多片,需通过译码器来完成片选工作;感谢阅读OE:接8031的读选通信号PSEN端。在访问片外程序存储器时,只要PSEN端出现负脉冲,即可从2732中读出程序。精品文档放心下载6.扩展程序存储器地址范围的确定单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以谢谢阅读扩展64K字节(0000H—FFFFH)。决定存储器芯片地址范围的因素有两个:一个精品文档放心下载是片选端CE必须为低电平,另一个是芯片本身的地址线与单片机地址线的连接,精品文档放心下载单片机本身地址线的编码确定了芯片的容量。_*本例中,2732的片选端CE总是接地,因此第一个条件总是满足的,另感谢阅读外,2732有12条地址线,与8031的低12位地址相连,编码结果如下:感谢阅读8031PPPPPPPPPPP2.72.62.52.42.32.22.12.00.70.60.5PPPPP2.40.30.20.10.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A02732CEA11A10A9A8A7A6A5A4A3A2A1A00xxxx0000000000000xxxx0000000000010xxxx0000000000100xxxx000000000011┆┆┆┆┆┆┆┆┆┆┆┆┆0xxxx111111111111其中的“x”表示跟2732无关的管脚,取0或1都可以,通常取0。谢谢阅读由此可见,本例中扩展的2732的地址范围是0000H~0FFFH(无关的管脚取0,地址范围不是唯一的),共4K字节容量。谢谢阅读实训电路中,系统扩展了一片EPROM2764,请读者对照上述6点理清连接方法,从而确定实训板中2764的地址范围。谢谢阅读7.EPROM的使用存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(扩展程序存储器一定要焊插座)。感谢阅读当上电复位时,PC=0000H,自动从2732的0000H单元取指令,然后开始执行指令。精品文档放心下载如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序进行调试。精品文档放心下载如果要从EPROM中读出程序中定义的表格,使用查表指令:感谢阅读MOVC A,@A+DPTRMOVC A,@A+PC6.1.3 EEPROM扩展实例电擦除可编程只读存储器EEPROM是一种可用电气方法在线擦除和再编谢谢阅读程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM精品文档放心下载在掉电后仍能保持所存储数据的优点。因此EEPROM在单片机存储器扩展中,可精品文档放心下载以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路谢谢阅读确定。_*EEPROM作为程序存储器使用时,CPU读取EEPROM数据同读取一般EPROM操作相同;但EEPROM的写入时间较长,必须用软件或硬件来检测写入周期。感谢阅读例6.2 在8031单片机上扩展2KBEEPROM。感谢阅读1.选择芯片2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2K×8位。2816A与2817A的不同之处在于:2816A的写入时间为9—15ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚RDY/BUSY来检测写操作是否完成。感谢阅读在此我们选用2817A芯片来完成扩展2KBEEPROM,2817A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA,维持电流为55mA,读出时间最大为250ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。2817A的管脚如图6.4所示。感谢阅读1RDY/BUSYVCC28227NCWE326A7NC425A6A8524A5A9623A42817ANC7228A3OE21A2A10920A1CE1019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O36.42817A的管脚其中A0—A10:地址线; I/O0—I/O7:读写数据线; CE:片选精品文档放心下载线OE:读允许线,低电平有效;WE:写允许线,低电平有效谢谢阅读_*RDY/BUSY:低电平表示2817A正在写操作,处于忙状态,高电平表示谢谢阅读写操作完毕。V:+5V电源; GND:接地端cc2817A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。感谢阅读2817A的写入过程如下:CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。2817A的写入时间大约为16ms左右,在此期间,2817A的RDY/BUSY脚呈低电平,表示2817A正在进行写操作,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2817A便将RDY/BUSY线置高,由此来通知CPU。感谢阅读2.硬件电路图单片机扩展2817A的硬件电路图如图6.5所示。精品文档放心下载GND+5VGND31281420EAWR1627VccGNDCE2321WEP2.22224A10P2.12125A9P2.0A83218193P0.73317D7Q7164A7P0.6D6Q6A6P0.534314D5Q5155A5P0.435713D4Q4126A4363897P0.3SD3Q3A337L7682817A48031P0.23874D2Q259A22KX8P0.1393D1Q1210A1P0.0D0OEQ0A0GALE30111GND19I/O718I/O617I/O516I/O415I/O313I/O212I/O1RD17111I/O0320OEPSEN29274LS08P1.013K1RDY/BUSY+5V图6.5单片机扩展2817AEEPROM电路谢谢阅读3.连线说明_*(1)地址线6.5中,2817A的11条地址线(A0—A10,容量为2K×8位,211=2×1024=2K),低8位A0—A7通过锁存器74LS373与P0口连接,高3位A8—A10谢谢阅读直接与P2口的P2.0—P2.2连接。(2)数据线2817A的8位数据线直接与单片机的P0口相连。精品文档放心下载(3)控制线单片机与2817A的控制线连接方法采用了将外部数据存储器空间和程序存储器空间合并的方法,使得2817A既可以作为程序存储器使用,又可以作为数据存储器使用。谢谢阅读单片机中用于控制存储器的管脚有以下3个:PSEN——控制程序存储器的读操作,执行指令的取指阶段和执行MOVCA,@A+DPTR指令时有效;谢谢阅读RD——控制数据存储器的读操作,执行MOVX
@DPTR,A和MOVX
@Ri,A时有效;WR——控制数据存储器的写操作,执行MOVX
A,@DPTR和MOVX
A,@Ri时有效。在图6.5中,2817A控制线的连线方法如下:精品文档放心下载CE:直接接地。由于系统中只扩展了一个程序存储器芯片,因此片选端CE直接接地,表示2817A一直被选中。感谢阅读RDY/BUSY_*OE:8031的程序存储器读选通信号PSEN和数据存储器读信号RD经过“与”操作后与2817A的读允许信号相连。这样,只要PSEN、RD中有一个有效,就可以对2817A进行读操作了。也就是说,对2817A既可以看作程序存储器取指令,也可以看作数据存储器读出数据。谢谢阅读WE:与8031的数据存储器写信号WR相连,只要执行数据存储器写操作指令时,就可以往2817A中写入数据。精品文档放心下载:与8031的P1.0相连,采用查询方法对2817A的写操作进行管谢谢阅读理。在擦、写操作期间,RDY/BUSY脚为低电平,当字节擦写完毕时,RDY/BUSY为高电平。感谢阅读其实,检测2817A写操作是否完成也可以用中断方式实现,方法是将2817A的RDY/BUSY反相后与8031的中断输入脚INT0/INT1相连。当2817A每擦、写完一个字节便向单片机提出中断请求。精品文档放心下载6.5中2817A的地址范围是0000H~07FFH(无关的管脚取0,该地址范围不是唯一的)。谢谢阅读2817A的使用按照图6.5连接好后,如果只是把2817A作为程序存储器使用,使用方法同EPROM相同。EEPROM也可以通过编程器将程序固化进去。精品文档放心下载如果将2817A作为数据存储器,读操作同使用静态RAM一样,直接从给定的地址单元中读取数据即可。向2817A中写数据采用MOVX@DPTR,A指令。精品文档放心下载6.1.4常用程序存储器芯片从上面两个实例,我们可以体会到扩展程序存储器的一般方法。程序存感谢阅读储器与单片机的连线分为三类:①数据线,通常有8位数据线,由P0口提供;精品文档放心下载_*地址线,地址线的条数决定了程序存储器的容量。低8位地址线由P0口提供,高8位由P2口提供,具体使用多少条地址线视扩展容量而定;③控制线,存储器的读允许信号OE与单片机的取指信号PSEN相连;存储器片选线CE的接法决谢谢阅读定了程序存储器的地址范围,当只采用一片程序存储器芯片时CE可以直接接地,当采用多片时要使用译码器来选中CE。精品文档放心下载这里再简单介绍一些常用的EPROM扩展芯片以及目前市场上出现的一些新型存储器。感谢阅读1.常用EPROM芯片(1)EPROM27162716是2K×8位的紫外线擦除电可编程只读存储器,单一+5V供电,运行时最大功耗为252mW,维持功耗为132mW,读出时间最大为450ns,封装形式精品文档放心下载DIP24。2716有地址线11条(A0~A10),数据线8条(O0~O7),CE为片精品文档放心下载选线,低电平有效,OE为数据输出允许信号,低电平有效,Vpp为编程电源,Vcc为工作电源。精品文档放心下载(2)EPROM27642764是8K×8位的EPROM,单一+5V供电,工作电流为75mA,维持电流精品文档放心下载35mA,读出时间最大为250ns,DIP28封装。2764A有13条地址线A0~A12,感谢阅读数据输出线O0~O7,CE为片选线,OE为数据输出允许线,PGM为编程脉冲输入端,Vpp为编程电源,Vcc为工作电源。感谢阅读(3)EPROM2712827128是16K×8位的EPROM,单一+5V供电,工作电流为100mA,维持电流精品文档放心下载40mA,读出时间最大为250ns,DIP28封装。27128A有14条地址线A0~A13,感谢阅读_*数据输出线O0~O7,CE为片选线,OE为数据输出允许线,PGM为编程脉冲输入端,Vpp为编程电源,Vcc为工作电源。谢谢阅读(4)EPROM2725627256是32K×8位的EPROM,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns,DIP28封装。27256有15条地址线A0~A14,数据输出线O0~O7,CE为片选线,OE为数据输出允许线,Vpp为编程电源,Vcc为工作电源。谢谢阅读2716、2764、27128和27256的管脚如图6.6所示。精品文档放心下载1VppVCC28227124A12PGMA7VCC326A7NC2271623425A6A8A6A8322524A5A9A5A94216276423A4VPPA4A11520722A3OEA3OE619821A2A10A2A10718920A1CE/PGMA1CE8171019A0O7A0O79161118O0O6O0O610151217O1O5O1O511141316O2O4O2O412131415GNDO3GNDO3U?1VppVCC281VppVCC28227227A12PGMA12A14326326A7A13A7A13425425A6A8A6A8524524A527128A9A5A962362725623A4A11A4A11722722A3OEA3OE821821A2A10A2A10920920A1CEA1CE10191019A0O7A0O711181118O0O6O0O612171217O1O5O1O513161316O2O4O2O414151415GNDO3GNDO36.6常用EPROM芯片管脚图单片机扩展EPROM典型电路(1)扩展一片27128A单片机扩展16K外部程序存储器一般选用27128AEPROM芯片,硬件电路如谢谢阅读6.7所示。_*GND+5VGND31241420EA2626VccGNDCEP2.5252A13P2.42423A12P2.3A11P2.22321A10P2.12224A9P2.02125A8P0.73218D7Q7193A7P0.63317D6Q6164A6P0.534314D5Q5155A5P0.435713D4Q4126A4363897P0.3SD3A337L7Q3682712848031P0.23874D2Q259A216KX8P0.1393D1Q1210A1P0.0D0GOEQ0A0111GND119VppO72718O6PGM1716O5+5V15O413O312O211O1ALE30O0PSEN2922OE图6.7单片机扩展27128EPROM电路精品文档放心下载(2)用译码法扩展一片2764单片机扩展8K外部程序存储器一般选用2764EPROM芯片,硬件电路如图6.8所示。谢谢阅读PSENOEP2.774LSCEP2.6138P2.5Y0P2.4A12P2.3A11P2.2A10P2.1A9P2.0A8P0.7D7Q7A7P0.63D6QA6Q6P0.43DQ4A8031P0.3S4Q42764P0.24D2Q2A2(8K*8)P0.17DQ1A1P0.0D1Q0A0+5V0GOEVppALEVGMO7O6O5O4O3EAO2O1O0图6.8 单片机扩展2764EPROM电路_*在图6.8中,2764的片选端CE没有接地,而是通过74LS138译码器的输出精品文档放心下载端Y0来提供的,这种方法称为译码法。当同时扩展多片ROM时,常常采用译码精品文档放心下载法来分别选中芯片。显然,在图6.8中,只有当译码器的输出Y0=0时,才能够选中该片2764,所以这片2764的地址范围确定如下:谢谢阅读8031PPPPPPPPPPP2.72.62.52.42.32.22.12.00.70.60.5PPPPP2.40.30.20.10.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A02764CEA12A11A10A9A8A7A6A5A4A3A2A1A00000000000000000┆┆┆┆┆┆┆┆┆┆┆┆┆0001111111111111即:0000H~1FFFH。本书实训电路中的2764采用的就是图6.8所示接法,因此其地址也是0000H~1FFFH。谢谢阅读3.常用EEPROM芯片除了例6.2中使用的EEPROM2817A之外,常用的EEPROM芯片还有2816A、2864A等。感谢阅读(1)EEPROM2816A_*2816A的存储容量为2K×8位,单一+5V供电,不需要专门配置写入电源。谢谢阅读2816A能随时写入和读出数据,其读取时间完全能满足一般程序存储器的要求,但写入时间较长,须9—15ms,写入时间完全由软件控制。2816A的管脚如图6.10所示。感谢阅读(2)EEPROM2864A2864A是8K×8位EEPROM,单一+5V供电,最大工作电流160mA,最大维持电流60mA,典型读出时间250ns。由于芯片内部设有“页缓冲器”,因而允许对其快速写入。2864A内部可提供编程所需的全部定时,编程结束可以给出查询标志。2864A的封装形式为DIP28,其管脚如图6.9所示。精品文档放心下载1NCVCC28227124A12WEA7VCC326A7NC223425A6A8A6A83225244A5A9216A52864AA923A4WEA4A11520722A3OEA3OE619821A2A10A2A10718920A1CEA1CE8171019A0I/O7A0I/O79161118I/O0I/O6I/O0I/O610151217I/O1I/O5I/O1I/O511141316I/O2I/O4I/O2I/O412131415GNDI/O3GNDI/O36.9常用EEPROM管脚图单片机扩展EEPROM典型电路用单片机扩展EEPROM2864A作为数据存储器的硬件电路如图6.10所谢谢阅读示。_*+5VGND2814201722OEVccGNDCERDWR1627WEP2.4252A12P2.32423A112321P2.22224A10P2.12125A9P2.0A8P0.73218D7Q7193A73317164P0.634314D6Q6155A6P0.5D5Q5A5P0.435713D4Q4126A4363897P0.3SD3Q3A337L7682864P0.24D2Q2A280313874598KX8P0.1D1Q1A1P0.0393D0GOEQ0210A0111GND19I/O718I/O617I/O516I/O415I/O313I/O212I/O1ALE3011I/O06.10单片机扩展2864AEEPROM作为数据存储器电路精品文档放心下载此时,2864A的数据读出和写入与静态RAM完全相同,采用MOVXA,@DPTR和MOVX@DPTR,A指令来完成读写操作。在本书的实训电路板上,就采用这种连接方法,将2864作为数据存储器使用,读者可将此电路与书后的实训电路板电路图比较对照。精品文档放心下载6.2数据存储器扩展6.2.1单片机RAM概述RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128字节RAM存储器,CPU对内部RAM具有丰富的操作指令。但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的。此时,我们可以利用单片机的扩展功能,扩展外部数据存储器。实训6的参考程序1就是一个扩展RAM的使用实例。谢谢阅读常用的外部数据存储器有静态RAM(StaticRandomAccessMemory——SRAM)和动态RAM(DynamicRandomAccessMemory——DRAM)两种。前者相对读写速度高,一般都是8位宽度,易于扩展,且大多数与相同容量的EPROM引脚感谢阅读_*兼容,有利于印刷板电路设计,使用方便;缺点是集成度低,成本高,功耗大。后者集成度高,成本低,功耗相对较低;缺点是需要增加一个刷新电路,附加另外的成本。谢谢阅读MCS-51单片机扩展片外数据存储器的地址线也是由P0口和P2口提供的,因此最大寻址范围为64K字节(0000H—FFFFH)。谢谢阅读一般情况下,SRAM用于仅需要小于64KB数据存储器的小系统,DRAM经常用于需要大于64KB的大系统。因此在实训中我们扩展的是SRAM6264,在本节将主要介绍SRAM与单片机的接口设计。谢谢阅读6.2.2SRAM扩展实例1.应用系统中只扩展一片RAM例6.3 在一单片机应用系统中扩展2K字节静态RAM。精品文档放心下载1)芯片选择单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8位)、6264(8K×8位)、62256(32K×8位)等。精品文档放心下载根据题目容量的要求我们选用SRAM6116,它是一种采用CMOS工艺制成精品文档放心下载SRAM,采用单一+5V供电,输入输出电平均于TTL兼容,具有低功耗操作方式。当CPU没有选中该芯片时(CE=1),芯片处于低功耗状态,可以减少80%以上的功耗。感谢阅读6116的管脚与EPROM2716管脚兼容,管脚如图6.11所示。感谢阅读1A7VCC24223A66116A83224A5A921A4WE520A3OE619A2A10718A1CE817A0I/O7916I/O0I/O61015I/O1I/O51114I/O2I/O41213GNDI/O3_*图6.11 6116管脚图6116有11条地址线A0~A10;8条双向数据线I/O0~I/O7;CE为片选线,感谢阅读低电平有效;WE写允许线,低电平有效;OE读允许线,低电平有效。6116的操作方式如表6.2所示。谢谢阅读表6.2 6116的操作方式CEOEWE方式I/O0~I/O7H××未选中高阻LLH读O0~O7LHL写I0~I7LLL写I0—I72)硬件电路单片机与6116的硬件连接如图6.12所示。感谢阅读RD 1716WR 28P2.723P2.2P2.122P2.021P0.732P0.633P0.534P0.43536P0.3378031 P0.238P0.139P0.0ALE30
18D7Q71917D6Q616314D5Q515713D4Q412389SD3Q3L76474D2Q253D1Q12D0GOEQ0111GND
+5V GND12VccGNDOEWE1819CEA1022A923A8A7A6A5A4A36116A22KX8A1A01716I/O715I/O614I/O513I/O411I/O310I/O2I/O19 I/O0图6.12单片机扩展2KRAM电路3)连线说明_*6116与单片机的连线如下:地址线:A0~A10连接单片机地址总线的A0~A10,即P0.0~P0.7、P2.0、P2.1、P2.2共11根;感谢阅读数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;谢谢阅读控制线:片选端CE连接单片机的P2.7,即单片机地址总线的最高位A15;谢谢阅读读允许线OE连接单片机的读数据存储器控制线RD;感谢阅读写允许线WE连接单片机的写数据存储器控制线WR.精品文档放心下载4)片外RAM地址范围的确定及使用按照图6.12的连线,片选端CE直接与某一地址线P2.7相连,这种扩展方法称为线选法。显然只有P2.7=0,才能够选中该片6116,故其地址范围确定如下:谢谢阅读8031PPPPPPPPPPPP2.72.62.52.42.32.22.12.01.71.61.51.4PPPP1.31.21.11.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A06116CEA10A9A8A7A6A5A4A3A2A1A00xxxx000000000000xxxx00000000001_*0xxxx000000000100xxxx00000000011┆ ┆ ┆ ┆┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆0xxxx11111111111其中的“x”表示跟6116无关的管脚,取0或1都可以。感谢阅读如果与6116无关的管脚取0,那么6116的地址范围是0000H—07FFH;如果与6116无关的管脚取1,那么6116的地址范围是7800H—7FFFH。谢谢阅读单片机对RAM的读写除了可以使用在实训6中出现的:感谢阅读MOVX @DPTR,A ;64K字节内写入数据MOVX A,@DPTR ;64K字节内读取数据还可以使用以下对低256字节的读写指令:MOVX @Ri,A ;低256字节内写入数据MOVX A,@Ri ;低256字节内读取数据2.同时扩展外部RAM与外部I/O_*在实训6中,我们知道外部RAM与外部I/O口采用相同的读写指令,二者是谢谢阅读统一编址的,因此当同时扩展二者时,就必须考虑地址的合理分配,通常采用译感谢阅读码法来实现。下面是一个这样的例题。例6.4扩展8KRAM,地址范围是2000H—3FFFH,并且具有唯一性;其余地址均作为外部I/O扩展地址。精品文档放心下载1)芯片选择(1)静态RAM芯片62646264是8K×8位的静态RAM,它采用CMOS工艺制造,单一+5V供电,额定功耗200mW,典型读取时间200ns,封装形式为DIP28,管脚如图6.13所示。谢谢阅读1NCVCC28227A12WE326A7CE2425A6A8524A5A96626423A4A11722A3OE821A2A10920A1CE11019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O3图6.13 6264管脚其中A0~A12:13条地址线; I/O0—I/O7:8条数据线,双向;谢谢阅读CE1:片选线1,低电平有效;CE2:片选线2,高电平有效感谢阅读OE:读允许信号线,低电平有效;WE:写信号线,低电平有效感谢阅读(2)3-8译码器74LS138题目要求扩展RAM的地址范围是唯一的2000H--3FFFH,其余地址用于外精品文档放心下载I/O接口(关于I/O口的扩展,会在6.3和6.4节介绍)。由于外部I/O占用外精品文档放心下载RAM的地址范围,操作指令都是MOVX指令,因此,I/O和RAM同时扩展时必感谢阅读_*须进行存储器空间的合理分配。这里采用全译码方式,6264的存储容量是8K×8位,占用了单片机的13条地址线A0~A12,剩余的3条地址线A13~A15通过74LS138来进行全译码。谢谢阅读2)硬件连线用单片机扩展8KSRAM的硬件连线图如图6.14所示。精品文档放心下载WRWERDOEP2.774LSCE1P2.6138P2.5Y1+5VCE2P2.4A12P2.3A11P2.2A10P2.1A9P2.0A8P0.7DQ7A7P0.6D7Q6A6P0.5D6Q5AQ4P0.4DAD4Q3P0.3A62643Q23P0.2D2A2P0.1DQ1A1P0.0D1Q0A080510GOEALEI/O7I/O6I/O5I/O4I/O3EAI/O2I/O1I/O06.14单片机与6264SRAM的连接单片机的高三位地址线A13、A14、A15用来进行3-8译码,译码输出的Y1接6264的片选线CE1;剩余的译码输出用于选通其它的I/O扩展接口;谢谢阅读6264的片选线CE2直接接高电平,+5V;6264的输出允许信号接单片机的RD,写允许信号接单片机的WR。谢谢阅读3)6264的地址范围根据片选线CE1及地址线的连接,6264的地址范围确定如下:谢谢阅读_*8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A06264CE1A12A11A10A9A8A7A6A5A4A3A2A1A0001000000000000000100000000000010010000000000010┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆┆ ┆ ┆ ┆ ┆0011111111111111因此,6264的地址范围为2000H—3FFFH。精品文档放心下载6.2.3 新型存储器简介1.集成动态随机RAM与静态RAM相比,动态RAM具有成本低、功耗小的优点,适用于需要大容量谢谢阅读数据存储空间的场合。但是动态RAM需要刷新逻辑电路,每隔一定的时间就要将精品文档放心下载所存的信息刷新一次,以保持数据信息不丢失,所以在单片机的存储器扩展中受精品文档放心下载到一定限制。_*近年来出现了一种新型的集成动态RAM(iRAM),它将一个完整的动态RAM系统,包括动态刷新硬件逻辑集成到一个芯片中,从而兼有静态RAM、动态RAM的优点。Intel公司提供的iRAM芯片有2186、2187等,其管脚如图6.15所示。谢谢阅读2186/2187片内具有8K×8位集成动态RAM,单一+5V供电,工作电流70mA,维持电流20mA,存取时间250ns,管脚与6264兼容。两者的不同之处在于2186的引脚1是同CPU的握手信号RDY,而2187的引脚1是刷新控制输入端REFEN。谢谢阅读1RDY/REFENVCC28227A12WE326A7NC425A6A8524A5A9623A4iRAMA11722A32186OE821A22187A10920A1CE1019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O36.15iRAM2186、2187管脚图2.快擦写型存储器(FlashMemory)快擦写型存储器是一种电可擦除型、非易失性存储器,也称为闪存,其特点是快速在线修改,且掉电后信息不丢失。近年来,FlashMemory大量用来制作存储器卡(也称为闪卡),例如,数码相机中使用的存储器卡就是一种闪卡。谢谢阅读FlashMemory以供电电压的不同,大体可以分为两大类:一类是从用紫外线擦除的EPROM发展而来的需要用高压(12V)编程的器件,通常需要双电源(芯片电源、擦除/编程电源)供电,型号序列为28F系列;另一类是从5V编程的以EEPROM为基础的器件,它只需要单一电源供电,其型号序列通常为29系列(有的序列号也不完全统一)。感谢阅读FlashMemory的型号很多,如28F256(32K×8)、28F512(64K×8)、28F010(128K×8)、28F020(256K×8)、29C256(32K×8)、29C512(64K×8)、29C010(128K×8)、29C020(256K×8)等。精品文档放心下载6.3 并行I/O口扩展6.3.1MCS-51内部并行I/O口及其作用精品文档放心下载51系列单片机内部有4个双向的并行I/O端口P0~P3,共占32根引脚。P0口的每一位可以驱动8个TTL负载,P1~P3口的负载能力为3个TTL负载。有关4个端口的结构及详细说明,在前面的有关章节中已作介绍,这里不再赘述。感谢阅读在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。在具有片外扩展存储器的系统中,通过6.1和6.2节的介绍,我们知道,P0口分时地作为低8位地址线和数据线,P2口作为高8位地址线,这时,P0口和部分或全部的P2口无法再作通用I/O口了。P3口具有第二功能,在应用系统中也常被使用。因此在大多数的应用系统中,真正能够提供给用户使用的只有P1和部分P2、P3口。感谢阅读综上所述,MCS-51单片机的I/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行联系。感谢阅读在51单片机中扩展的I/O口采用与片外数据存储器相同的寻址方法,所有扩展的I/O口,以及通过扩展I/O口连接的外设都与片外RAM统一编址,因此对片外I/O口的输入输出指令就是访问片外RAM的指令,即:精品文档放心下载MOVX @DPTR,AMOVX @Ri,AMOVX A,@DPTRMOVX A,@Ri在实训6中,读者已经初步接触了用8155扩展I/O口的方法,实际中扩展I/O口的方法有三种:简单的I/O口扩展、采用可编程的并行I/O接口芯片扩展以及利用串行口进行I/O口的扩展。下面分别介绍这些方法的原理和实际应用。谢谢阅读_*6.3.2简单的I/O口扩展这种方法,通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通感谢阅读过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。感谢阅读1.扩展实例下图为采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。感谢阅读P0.0DQLED0+5VP0.1D0Q10LED1P0.23D1Q2LED2P0.372QLED3D33LED4P0.4SLD4Q4LED5Q5P0.57D5LED6P0.6D6Q6LED7P0.7D7Q7CPCLR8031QDK000K11Q1D1K24Q2D2K34Q3D3KWR24Q4D4P2.0LK54Q5D5K67RDQ6D6K71Q7D7G2G1图6.16 简单I/O口扩展电路2.芯片及连线说明在上述电路中采用的芯片为TTL电路74LS244、74LS273。其中74LS244为8缓冲线驱动器(三态输出),G1、G2为低电平有效的使能端,当二者之一为高电平时,输出为三态。74LS273为8D触发器,CLR为低电平有效的清除端,当CLR=0时,输出全为0且与其他输入端无关;CP端是时钟信号,当CP由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。感谢阅读P0口作为双向8位数据线,既能够从74LS244输入数据,又能够从74LS273输出数据。精品文档放心下载_*输入控制信号由P2.0和RD相“或”后形成。当二者都为0时,244的控制精品文档放心下载G有效,选通74LS244,外部的信息输入到P0数据总线上。当与244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。精品文档放心下载输出控制信号输入控制信号由P2.0和WR相“或”后形成。当二者都为0后,74LS273的控制端有效,选通74LS273,P0上的数据锁存到273的输出端,控制发光二极管LED,当某线输出为0时,相应的LED发光。谢谢阅读3.I/O口地址确定因为74LS244和74LS273都是在P2.0为0时被选通的,所以二者的口地址感谢阅读都为FEFFH(这个地址不是唯一的,只要保证P2.0=0,其它地址位无关)。但是由于分别由RD和WR控制,两个信号不可能同时为0(执行输入指令例如精品文档放心下载MOVXA,@DPTR或MOVXA,@Ri时,RD有效;执行输出指令例如MOVX@DPTR,A或MOVX@Ri,A时,WR有效),所以逻辑上二者不会发生冲突。感谢阅读4.编程应用下述程序实现的功能是按下任意键,对应的LED发光。谢谢阅读CONT:MOVDPTR,#0FEFFH;数据指针指向口地址MOVXA,@DPTR;检测按键,向244读入数据MOVX@DPTR,A;向273输出数据,驱动LEDSJMPCONT;循环6.3.3采用8255扩展I/O口所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口谢谢阅读芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。目前,各生感谢阅读_*产厂家已提供了很多系列的可编程接口,MCS-51单片机常用的两种接口芯片是8255以及8155,本书主要介绍这两种芯片在51单片机中的使用。谢谢阅读8255和MCS-51相连,可以为外设提供3个8位的I/O端口,A口、B口和C口,三个端口的功能完全由编程来决定。谢谢阅读1.8255的内部结构和引脚排列图6.17为8255的内部结构和引脚图。A组控制34D0PA04333D1PA1322D2PA2311D3PA33040D4PA42939D5PA5数据27D6PA637总线D7PA75RD8255PB018D--D缓冲3619WRPB170920A0PB2821A1PB33522RESETPB4623CSPB524PB625PB7PC01415PC116PC217PC3RD读写B组13PC4WRPC512控制控制11PC6A010逻辑PC7A1RESET
A组I/O端口APA--PA0(8)7A组I/O端口C上半部(4)PC--PC47B组I/O端口C下半部PC--PC0(4)3B组I/O端口BPB--PB70CS图6.17 8255的内部结构和引脚图1)内部结构8255可编程接口由以下4个逻辑结构组成:(1)A口、B口和C口_*A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成(无锁存,决定了B口不能工作在方式2)。在使用上三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。精品文档放心下载(2)A、B组控制电路这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。精品文档放心下载(3)数据缓冲器这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。精品文档放心下载(4)读写控制逻辑这部分电路接收MCS-51送来的读写命令和选口地址,用于控制对8255的读写。精品文档放心下载2)引脚(1)数据线(8条)D~D为数据总线,用于传送CPU和8255之间的数据、命令和状态字。感谢阅读0 7(2)控制线和寻址线(6条)RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。谢谢阅读RD和WR:读写信号线,输入,低电平有效。当RD为0时(WR必为1),所选的8255处于读状态,8255送出信息到CPU。反之亦然。谢谢阅读_*CS:片选线,输入,低电平有效。A、A:地址输入线。当CS=0芯片被选中时,这两位的4种组合00、01、10、谢谢阅读0 111分别用于选择A、B、C口和控制寄存器。(3)I/O口线(24条)PA~PA、PB~PB、PC~PC为32条双向三态I/O总线,分别和A、B、谢谢阅读0 7 0 7 0 7C口相对应,用于8255和外设之间传送数据。(4)电源线(2条):VCC为+5V,GND为地线。感谢阅读2.8255的控制字8255的三个端口具体工作在什么方式下,是通过CPU对控制口写入控制字来决定的。8255有两个控制字:方式选择控制字和C口置/复位控制字。用户通过程序把这两个控制字送到8255的控制寄存器(AA=11),这两个控制字以D精品文档放心下载0 1 7来作为标志。1)方式选择控制字其格式和定义如图6.18(a)所示。_*D7D6D5D4D3D2D1D0B组C口输出低4位1:输入输出DDDDDB口0:732101:输入复位方式0:模式01:0:置位选择1:模式1A组位选择000PC0C口输出001PC1高4位1:输入010PC2口0:输出011PC3100PC4A1:输入101PC5方式00:模式0110PC6模式111PC7选择1*:01:模式210:位操作1:方式标志(a)(b)图6.18 8255控制字的格式和定义例6.5设8255控制字寄存器的地址为F3H,试编程使A口为方式0输出,B口为方式0输入,PC~PC为输出,PC~PC为输入。其程序为:谢谢阅读4 7 0 3MOVR0,#0F3HMOVA,#83HMOV@R0,A2)C口置/复位控制字_*其格式和定义如图6.18(b)所示。C口具有位操作功能,把一个置/复位控制字送入8255的控制寄存器,就能将C口的某一位置1或清0而不影响其他位的状态。感谢阅读例6.6仍设8255控制字寄存器地址为F3H,下述程序可以将PC1置1,PC3清0。谢谢阅读MOVR0,#0F3HMOVA,#03HMOV@R0,AMOVA,#06HMOV@R0,A3.8255的工作方式8255有3种工作方式:方式0、方式1、方式2。方式的选择是通过上述写控制字的方法来完成的。感谢阅读(1)方式0(基本输入/输出方式):A口、B口及C口高4位、低4位都可以设置输入或输出,不需要选通信号。单片机可以对8255进行I/O数据的无条件传送,外设的I/O数据在8255的各端口能得到锁存和缓冲。感谢阅读(2)方式1(选通输入/输出方式):A口和B口都可以独立的设置为方式1,在这种方式下,8255的A口和B口通常用于传送和它们相连外设的I/O数据,C口作为A口和B口的握手联络线,以实现中断方式传送I/O数据。C口作为联络线的各位分配是在设计8255时规定的。分配表见表6.3。谢谢阅读表6.3
8255C口联络信号分配表C口各位
输入方式
方式1
输出方式
方式2双向方式PCINTRINTR0BBPCIBFOBFB1BPCSETACKA2BPCINTRINTR3ABPCSTBAI/O4PCIBFI/O5APCI/OACKA6PCI/OOBFA7
_*由B口方式决定由B口方式决定由B口方式决定INTRASTBAIBFAACKAOBFA(3)方式2(双向总线方式):只有A口才能设定。C口的PC~PC作为联感谢阅读3 7络信号。4.8255与MCS-51的接口8255和单片机的接口十分简单,只需要一个8位的地址锁存器即可。锁存器用来锁存P0口输出的低8位地址信息。图6.19为8255扩展实例。精品文档放心下载WRWRRDRDQ7RESETPAP0.7D7CSP0.6D6Q6P0.5D5Q5P0.4D4373Q4P0.3DQ382553Q2P0.2D2P0.1DQ1A1P0.0D1Q0A0PB80510GOEALED7D6D5D4PCD3EAD2D1D0图6.19 8051和8255的接口电路(1)连线说明数据线:8255的8根数据线D0~D7直接和P0口一一对应相连就可以了。感谢阅读_*控制线:8255的复位线RESET与8031的复位端相连,都接到8031的复位电精品文档放心下载路上(在图6.19中未画出)。8255的RD和WR与8031的RD和WR一一对应相连。谢谢阅读寻址线:8255的CS和A1,A0分别由P0.7和P0.1、P0.0经地址锁存器74LS373后提供,当然CS的接法不是唯一的。当系统要同时扩展外部RAM时,CS就要和RAM芯片的片选端一起经地址译码电路来获得,以免发生地址冲突。谢谢阅读I/O口线:可以根据用户需要连接外部设备。本例题A口作输出,接8个发光二极管LED,B口作输入,接8个按键开关。C口未用。谢谢阅读(2)地址确定8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0PPPPPPPPP2.72.62.52.42.32.22.12.00.7PPPPPPP0.60.52.40.30.20.10.08255CS
A1 A0A口:××××××××0×××××00B口:××××××××0×××××01_*C口: × × × × × × × × 0 × ×× × × 1 0控制口:× × × × × × × × 0 × × × ×× 1 1根据上述接法,所以8255的A、B、C以及控制口的地址分别为0000H、0001H、0002H和0003H(假设无关位都取0)。感谢阅读(3)编程应用例6.7如果在8255的B口接有8个按键、A口接有8个发光二极管,即类似于图6.16中按键和二极管的连接,则下面的程序能够完成按下某一按键,相应的发光二极管发光的功能。感谢阅读MOVDPTR,#0003H ;指向8255的控制口精品文档放心下载MOVA,#83HMOV@DPTR,A ;向控制口写控制字,A口输出,精品文档放心下载B口输入MOVDPTR,#0001H ;指向8255的B口感谢阅读LOOP:MOVA,@DPTR ;检测按键,将按键状态读入A累加精品文档放心下载器。MOVDPTR,#0000H ;指向8255的A口精品文档放心下载MOV@DPTR,A ;驱动LED发光。SJMPLOOP_*6.3.4采用8155扩展I/O口在实训电路中采用的是另一种可编程的接口芯片8155,Intel公司研制的8155不仅具有两个8位的I/O端口A、B口和一个6位的I/O端口C口,而且还可以提供256个字节的静态RAM存储器和一个14位的定时/计数器。8155和单片机的接口非常简单,目前被广泛应用。感谢阅读1. 8155的结构和引脚8155有40个引脚,采用双列直插封装,其引脚图和组成框图见图6.20。精品文档放心下载12AD0PA0211322AD1PA11423AD2PA21524IO/MAD3PA31625AD4PA4256字节A1726AD5PA5AD18AD6PA6270-7静态1928AD7PA7RAMCE298155PB0B830ALECEPB1931RDPB2103214位WRPB3RD733IO/MPB4定时1134WRALEPB5计数器C35PB636PB7RESET6TIMROUT37PC038PC1339TIMRINPC2TIMERIN1PC32PC4TIMEROUT45RESETPC5图6.20 8155的引脚图和结构框图我们对8155的引脚分类说明如下:
PA0-7PB0-7PC0-7Vcc(+5V)Vss(GND)(1)地址/数据线AD0~AD7(8条):是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。精品文档放心下载(2)I/O口总线(22条):PA0~PA7、PB0~PB7分别为A、B口线,用于和外设之间传递数据,PC0~PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。精品文档放心下载_*(3)控制总线(8条):RESET:复位线,通常与单片机的复位端相连,复位后,8155的3个端口都为输入方式。谢谢阅读RD、WR:读写线,控制8155的读、写操作。谢谢阅读ALE:地址锁存线。高电平有效,常和单片机的ALE端相连,在ALE的下降沿将单片机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复专科护士护理知识考核试题及答案
- 2025年福建省福鼎市高三历史下册期末考试模拟卷附完整答案【考点梳理】
- 第六单元检测卷-2025-2026学年三年级上册数学人教版
- 2026熬夜刷面试题及答案
- 木屋架工保密考核试卷含答案
- 矿石处理工冲突管理考核试卷含答案
- 供料破碎工岗前环保竞赛考核试卷含答案
- 电极丝制造工岗前技能评估考核试卷含答案
- 电子商务平台入驻协议(2026年互联网)
- 玻璃灯工班组协作测试考核试卷含答案
- 劳务合同培训课件
- DB32/T 4152-2021水利工程液化地基处理技术规范
- 高血压病中西医结合治疗策略
- 爱永在 二部合唱简谱
- 商品混凝土考察报告(共10篇)
- 【MOOC期末】《大学体育射箭》(东南大学)中国大学慕课答案
- 《共享电动自行车充电站消防安全规程(修订)》
- IATF16949基础知识培训教材
- 中建高墩液压爬模专项施工方案
- 家政收取中介费合同范本
- 移动通信课后习题答案(第六版 章坚武著)
评论
0/150
提交评论