第六章 单片机并行扩展技术_第1页
第六章 单片机并行扩展技术_第2页
第六章 单片机并行扩展技术_第3页
第六章 单片机并行扩展技术_第4页
第六章 单片机并行扩展技术_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章第六章 MCS-51MCS-51并行扩展技术并行扩展技术南工大 信息学院 电子系 2009-04-196-1 存储器总线扩展存储器总线扩展6-2 IO扩展扩展主主 要要 内内 容容一、MCS-51总线扩展结构1、单片机系统结构6-1 存储器扩展存储器扩展2、单片机总线扩展结构(1) 地址线与存储器容量的关系地址线与存储器容量的关系A7A0:8根地址线,有28=256个单元A9A0:10根地址线,有210=1KBA10A0:11根地址线,有211=2KA11A0:12根地址线,有212=4KA12A0:13根地址线,有213=8K等等(2)16位地址位地址/8位数据的形成位数据的形成51系

2、列单片机P0口和P2口既是通用I/O口,同时 P0P0口还是分时复用分时复用的双向数据总线双向数据总线和低低8 8位地址总线位地址总线(一般需要加一级锁存器),而P2P2口则是高高8 8位地址总位地址总 线线。低8位地址和数据的区分:ALE高电平信号与P0口有效地址信号同时出现,ALE下降沿时锁存低8位地址,ALE低电平时P0口为数据。 高8位地址的形成:有P2口送出高8位地址,A15A8,在执行MOVX、MOVC指令时P2口数据作为地址送出,常用来作为RAM、ROM的片选信号。(3)地址锁存器)地址锁存器-74LS373 (8D三态同相锁存器)引脚功能: D7D0:8位并行数据输入端Q7Q0

3、:8位并行数据输出端 G:为1时D端数据 = Q端数据,为0时Q端数据保持。 :片选端,低电平有效OE 74LS373的引脚和示意图:真值表: G D Q LHHH LHLLLL不变H 高阻OE -半导体存储器的分为:RAM和ROM (1) RAM分为静态RAM(SRAM)和动态RAM(DRAM)两种。 SRAM: 读写速度快,但是成本高;所以只在要求很苛刻 的地方使用,譬如CPU的一级缓冲,二级缓冲 ; DRAM:速度比SRAM慢但还是要比ROM快,目前计算 机内的主存储器都是DRAM。种类比较多: SDRAM,DDR RAM, DDR SDRAM (2) ROM : ROM ,EPROM

4、,EEPROM ,FLASH 3、典型RAM和ROM芯片6116-2K SRAM6116-2K SRAM6116引脚功能A0A10地址线 CE选片 OE读D0D7数据线A7A6A5A4A3A2A1A0D0D1D2GNDVccA8A9WEOEA10CED7D6D5D4D36116写 WE 3)6116的引脚结构 有Intel公司的2716(2K2716(2K8)8)、2732(42732(4 K K8)8)、 2764(82764(8 K K8)8)、27128(1627128(16 K K8)8)、 27256(3227256(32 K K8)8)、27512(6427512(64 K K8)

5、8)等。等。2732-4K EPROM2732-4K EPROM27322732引脚功能引脚功能A0-A11地址线 CE选片 OE/Vpp输出允许/编程电源O0-O7数据线A7A6A5A4A3A2A1A0O0O1O2GNDVccA8A9A11OE/VppA10CEO7O6O5O4O327324)典型的EPROM芯片1、存储器扩展的基本问题。1)扩展容量:16根地址线最大可扩展到64K2)扩展要解决的问题:地址线、扩展芯片在64K范围内所占的地址范围3)存储器扩展的编址:存储芯片片的选择、片内单元的编址4)选择芯片的方法:片选技术2、存储器扩展的片选技术一般产生片选有两种方法: 线选法线选法和和

6、译码译码法。法。二、存储器扩展的基本方法(1 1)线选法)线选法 线选法用低位地址线对片内的存储单元进行寻址,所需的地址线由片内地址线决定,用余下的高位地址线分别接至芯片的片选端,以区分各芯片的地址范围。例如要扩展8K容量的外RAM,地址线和片选如下:地址线地址线:loglog2 2(8(8 K)K)loglog2 2(2 21313)1313条条(A(A1212A A0 0) )片选线:余下的A15A13分别接至芯片的片选端。A15A13轮流 出现低电平,可保证一次只选一片。用线选法扩展存储器的缺点 各芯片间地址不连续。而习惯上使用连续地址,如24K范围地址从0000H到5FFFH。 有相当

7、数量的地址不能使用,否则造成片选混乱。 例例 扩展三片2K存储芯片,试用线选法给出接线图和地址。 分析:显然要11根地址线和3根片选线,分配如下低位地址线:P0.7P0.0-A7A0,P2.2P2.0-A10A8,合成11根地址线;高位地址线:P2.5、P2.4、P2.3-A13、A12、A11,作3片的片选,余下: P2.7、P2.6不用,取00扩展接线结构如图:编址: P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0 P0.7P0.0 1号片 00 1 1 0 0 0 0 00H 00 1 1 0 1 1 1 FFH2号片 00 1 0 1 0 0 0 00H

8、 00 1 0 1 1 1 1 FFH3号片 00 0 1 1 0 0 0 00H 0 0 0 1 1 1 1 1 FFH 显然,三片的地址范围是:1号片 3000H37FFH2号片 2800H2FFFH3号片 1800H1FFFH(2)译码法 译码法将低位地址总线直接连至各芯片的地址线,将高位地址总线经地址译码器译码后作为各芯片的片选信号。 一般使用2/4译码器、3/8译码器,对P2口高位地址线进行译码,适用于大规模扩展。 2/4译码器、3/8译码器的引脚图:如图所示 74LS139 74LS138ABCG2AG2BGY7GNDVccY0Y1Y2Y3Y4Y5Y61 162 153 144 1

9、35 126 117 108 9 1G1A1B1Y01Y11Y21Y3GNDVcc2G2A2B2Y02Y12Y22Y31 162 153 144 135 126 117 108 9138 74LS138真值表例如:在上例中同样扩展三片2K存储芯片,采用译码法低位地址线:同前P0口A7A0,P2口A10A8,合成作为11根地址线2/4译码器作为片选高位地址线:P2口A12、A11,作为译码器输入,利用2/4译 码输出端Y0、 Y1、 Y2作为片选。三个信号作为 3片芯片的片选,实际上可选4片,本例只需3片扩展接线结构如图:编址: P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.

10、1、P2.0 P0.7P0.0 1号片 00 0 0 0 0 0 0 00H 00 0 0 0 1 1 1 FFH2号片 00 0 0 1 0 0 0 00H 00 0 0 1 1 1 1 FFH3号片 00 0 1 0 0 0 0 00H 0 0 0 1 0 1 1 1 FFH 显然,三片的地址范围是:1号片 0000H07FFH2号片 0800H0FFFH3号片 1000H17FFH3/8译码器作为片选高位地址线:P2口A13、A12、A11,作为译码器输入,利用 3/8译码输出端Y0、 Y1、Y2三个信号作为 3片 芯片的片选,实际上可选8片,本例只需3片扩展接线结构如图:编址: P2.

11、7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0 P0.7P0.0 1号片 00 0 0 0 0 0 0 00H 00 0 0 0 1 1 1 FFH2号片 00 0 0 1 0 0 0 00H 00 0 0 1 1 1 1 FFH3号片 00 0 1 0 0 0 0 00H 0 0 0 1 0 1 1 1 FFH 显然,三片的地址范围是:1号片 0000H07FFH2号片 0800H0FFFH3号片 1000H17FFH三、存储器扩展实例 1、 扩展外ROM1)扩展一片4K容量的EPROM,2732地址线:A11A0,共12根,接8031的P2.3.P2.0,P0.7

12、P0.0片选线:P2.7P2.4,不用,取0值,2732片选端直接接地,常选中。扩展接线结构如图:数据线:P0.7P0.02732的D7D0控制线:PSEN2732的OE端,ALE锁存器74LS373门控端G2732的地址范围:0000H0FFFH2)线选法扩展二片2K容量的EPROM,2716,共4K地址线:A10A0,共11根,接8031的P2.2P2.0,P0.7P0.0片选线:利用P2.3,加一个非门,接存储芯片的片选端,既可完成2片的选择,而P2.72.4,取0值数据线:P0.7P0.0分别接2片2732的D7D0控制线:PSEN分别接2片2732的OE端 ALE 锁存器74LS37

13、3的门控端G扩展的接线如下页图所示:2732的地址范围:1号片0000H07FFH2号片0800H0FFFH扩展的接线如下页图所示:2、 扩展外RAM1)扩展一片2K容量的RAM,6116地址线:A10A0,共11根,接8031的P2.2P2.0,P0.7P0.0片选线:P2.7P2.3,不用,取0值,因为只扩展1片,6116片选端直接接地,常选中数据线:P0.7P0.06116的D7D0控制线:WR6116的WE端RD6116的OE端ALE 锁存器74LS373的门控端G6116的地址范围:0000H07FFH2)线选法扩展二片2K容量的RAM,6116,一片4K容量的ROM,2716接线图

14、如下页所示:扩展一片2K容量的RAM,6116线选法扩展二片2K容量,6116,一片4K容量,27162716:0000H07FFH6116(1):0000H07FFH6116(2):0800H0FFFH6-2 I/O的扩展 例例:用:用4 4个发光二极管对应显示个发光二极管对应显示4 4个开关的开合状态。个开关的开合状态。 如如P1.0P1.0合则合则P1.4P1.4亮。亮。MCS-51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01.1.无条件传送方式:指示灯立即反映开关状态。无条件传送方式:指示灯立即反映开关状态。ORG 0000HAJMP MAINORG 0100HM

15、AIN:ORL A,#0FH MOV P1,AMOV A,P1SWAP A MOV P1,ASJMP MAIN一 、IO直接使用2.2.中断传送方式:中断传送方式:先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。 ORG 0000H AJMP MAIN ORG 0003H AJMP IOINT ORG 0100HMAIN:SETB IT0 SETB EX0 SETB EAHERE:SJMP HERE ORG 0500HIOINT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RET

16、IP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0INT0MCS-51K+5V二、 为什么要扩展IO接口:三、IO扩展的相关技术:1、接口与端口;2、总线隔离技术;3、IO编址技术:独立和统一;四、IO的控制方式: 1、无条件传送; 2、查询方式; 3、中断方式;用74系列器件扩展并行I/O口,常用并行I/O扩展芯片,如74LS244、74LS245、273、74LS377等1、74LS377(输出)五 简单I/O口扩展2、74LS244(输入)高位地址组合法,如图所示: 3、扩展实例输入:74LS244扩展K0K7并由P2.0+RD端,全0时,74LS244选通读入K0K7状

17、态。实现:MOV DPTR,#FEFFHMOVX A,DPTR;读入输出:74LS273扩展LED0LED7并由P2.0+WR端,全0时, 74LS273将P0口数据送出,控制LED0LED7实现:MOVX DPTR,A;输出1、8255A的基本性能 可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。 8255A具有三个相互独立的输入/输出通道:通道A、通道B、通道C。 A,B,C三通道可以联合使用,构成单线、双线或三线联络信号

18、的并行接口。此时C口完全服务于A、B口。 A口有三种工作方式:方式0、方式1、方式2。B口有两种工作方式:方式0、方式1。六 可编程并行接口8255A 8255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。结构如图所示2、8255A内部结构 端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数据输入锁存器,可作为数据输入或输出端口, 并工作于三种方式中的任何一种。 端口B: 包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数据输入缓冲器,可作为数据输入或输出端口, 但不能工作于方式2。 端口C: 包括一个 8 位的数据输

19、出锁存/缓冲器和一个 8位的数据输入缓冲器, 可在方式字控制下分为两个4位的端口(C端口上和下),每个4位端口都有4位的锁存器, 用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。 A组和B组控制的作用如下:A 组 控 制 逻 辑 控 制 端 口 A 及 端 口 C 的 上 半 部 ;B组控制逻辑控制端口B及端口C的下半部。 方式选择控制字:方式选择控制字: C端口置1置0控制字: 端口C的数位常常作为控制位来使用,所以,在设计8255A芯片时,应使端口C中的各位可以用置1置0控制字来单独设置。其具体格式如下图所示。 注意:C端口置1置0控制字尽管是对端口C进行操作,

20、但此控制字必须写入控制口,而不是写入C端口。 工作方式:工作方式: 1)方式)方式0是一种基本输入或输出方式,它适用于无需握手信号的简单输入输出应用场合, 端口A、B、C都可作为输入或输出数据使用,输出有锁存而输入无锁存。2)方式)方式1也称选通的输入/输出方式。在这种方式下,无论是输入还是输出都通过应答关系实现, 这时端口A或B用作数据口,端口C的一部分引脚用作握手信号线与中断请求线。 若端口A工作于方式1,则B可工作于方式0; 若端口B工作于方式1,则A可工作于方式0或余下的13位可工作于方式0; 若端口A和B同时工作于方式1,端口C余下的两位还可用于传送数据或控制信号。 3)方式)方式2

21、也称选通的双向I/O方式,仅适用于端口A, 这时A口的PA7-PA0作为双向的数据总线, 端口C有5条引脚用作A的握手信号线和中断请求线,而B口和C口余下的3位仍可工作于方式0或1。 它可以认为是方式1输出和输入的组合但有以下不同: (1)当CPU将数据写入A口时,尽管OBF变为有效, 但数据并不出现在PA7-PA0上, 只有外设发出ACKA 信号时, 数据才进入PA7-PA0。 (2)输出和输入引起的中断请求信号都通过同一引脚输出, CPU必须通过查询OBF和IBF状态才能确定是输入引起的中断请求还是输出引起的中断请求。 (3) ACKA 和STBA 信号信号不能同时有效, 否则将出现数据传

22、送“冲突”。 如图所示为MCS-51和8255A的一种接口逻辑。PA口、PB口、PC口、控制口的地址分别为:7FFCH、7FFDH、7FFEH、7FFFH。3、MCS-51和8255A的接口方法假设图中8255A的PA口接一组开关,PB接一组指示灯,如果,要将MCS-51的寄存器R2的内容送指示灯显示,将开关状态读入MCS-51的累加器A,则8255初始化和输入/输出程序如下:ORG 1000HR8255:MOV DPTR,#7FFFH;MOV A,#98HMOVX DPTR,AMOV DPTR,#7FFDHMOV A,R2MOV DPTR,AMOV DPTR,#7FFCHMOVX A,DPT

23、RRET与8255A相比,8155具有更强的功能,可以扩展单片机的I/O口、定时器、外部数据存储器RAM。1 1、81558155芯片的构成芯片的构成1)逻辑结构2)引脚图3)接口信号七 可编程并行接口芯片81558155芯片的内部结构256B256B静态静态RAMRAM A A 定时器定时器B B C C 口APA0PA7口BPB0PB7PC0PC5口CIO/ MAD0AD7CEALERDWRRESET定时器输入定时器输出接单片机接外设接外设接外设8155引脚功能PC3PC4 PC5 IO/ MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0P

24、B7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMER INRESETTIMER OUTAD0-AD7AD0-AD7三态地址三态地址/ /数据线数据线 IO/ M IO/ M端口端口/ /存储存储器选择器选择 RD RD读读ALEALE地址锁存地址锁存允许允许写写 WR WR选片选片 CE CE定时器输定时器输入入TIMER INTIMER IN定时器输定时器输出出TIMER OUTTIMER OUTPA0-PA7PA0-PA7A A口端口线口端口线PB0-PB7PB0-PB7B B口端口线口端口线PC0-PC5PC0-PC5C C口端

25、口线口端口线PA0-PA7端口A的I/O线(8位,接外设)PB0-PB7端口B的I/O线(8位,接外设)PC0-PC5端口C的I/O线(6位,接外设)AD0-AD7三态地址/数据复用线(8位,一般接单片机P0口,CPU与8155之间的地址、数据、命令、状态等信号都通过它来传送)端口/存储器 选择控制 “0”选择片内RAM “1”选择片内I/O口TIMER IN8155片内定时器/计数器的计数脉冲输入引脚TIMER OUT8155片内定时器/计数器的计满回零输出引脚分别是对8155片内的RAM或I/O口的的读、写控制信号ALE地址锁存引脚选片RESET复位引脚IO/ MRD、WRCERAMRAM

26、地址-当IO/ M 加低电平:此时AD0-AD7上得到的地址值是指8155的某一RAMRAM单元的地址,地址范围是:0000 0000-1111 1111分别指向8155 RAM 的256个存储单元。I/OI/O口地址口地址-当IO/ M 加高电平:此时AD0-AD7 (仅用到低三位AD2、AD1、AD0)上得到的地址值是指8155的某一I/O口的地址,具体端口地址分配是:2 2、81558155的的RAMRAM和和I/OI/O口地址口地址8155的RAM和I/O口编址 AD7 AD6 AD5 AD4 AD3 AD2 AD1AD0I/O端口 0 0 0命令/状态寄存器 0 0 1PA口 0 1

27、 0PB口 0 1 1PC口 1 0 0计数器低8位 1 0 1计数器高6位1)8155内RAM的使用:与一般外部数据存储器的使用基本一样,唯一区别是事先要使IO/ M 为低电平。2)8155各端口的使用:A、B、C各端口可工作于不同的工作方式,使用前要进行初始化(写命令字到命令口)。3 3、 81558155的使用的使用 1)以高位地址直接作为IO/M信号扩展,接口电路非常简单,基本上是相同信号对接,如图: 8031803181558155RESETRDWRALEP2.4P0.0P0.1P0.2P.03P0.4P0.5P0.6P0.7RESETRDWRALEIO/MCEAD0AD1AD2AD

28、3AD4AD5AD6AD7口APA0PA7口BPB0PB7PC0PC5口C4、扩展电路的连接实例扩展电路的连接实例2)多芯片扩展8031 373G27166116(2)6116(1)8155P0P2.2-P2.0PSENALEWRRDABCG2AG2BG1P1.0A0A7A8A10D7D0D7D0D7D0 CECECEOEA0A7A8A10WEWEOEOEWERDALEAD0AD7CEY2Y1Y0+5VIO/ MPAPBPCP2.3P2.4P2.5P2.6P2.7上图中的各扩展地址分别为:8155: 0000H0000H、0001H0001H、0005H0005H8031的P2.7-P2.3=

29、00000时,选中8155,在此前提下,当8031的P0口输出地址是XXXXX000-XXXXX101,且IO/ M=1时,选中8155的各端口,即:当IO/ M=0时,选中8155的RAM单元,所以:其内部RAM地址范围是:0000H-00FFH 。P2.7 P2.7 P2.0 P0.7 P2.0 P0.7 P0.0 P0.0 端口端口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0000H) 命令口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 (0001H) PA口 0 0 0 0 00 0 0 0 0 0 0

30、0 0 0 0 0 0 0 1 0 (0002H) PB口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 (0003H) PC口 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 (0004H)计数器低 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 (0005H)计数器高61166116(1 1):): 0800H-0FFFH0800H-0FFFH61166116(2 2):): 1000H-17FFH1000H-17FFH分析:根据74LS138,8031的P2.7-P2.3=00001时,选中6116(1),在此前提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论