1 / 52

第7章 单片机系统扩展及接口技术

第7章 单片机系统扩展及接口技术. 通过地址总线、数据总线和控制总线实现 ROM、RAM 或其它接口电路的扩展( MOVX 指令的运用)。. 7.1 扩展三总线的产生. 1 地址总线 ----用于传送单片机送出的地址信号 P0 口为 低8位地址 总线,使用一个8位的数据锁存器来锁定低8位地址信号; P2 口为 高8位地址 总线。 2 数据总线 -----用于单片机与存储器之间或单片机和 I/O 之间数据传送 P0 口做为 低8位地址 和 数据 复用总线。. 片外三总线结构. 3 控制总线

rasia
Download Presentation

第7章 单片机系统扩展及接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第7章 单片机系统扩展及接口技术 通过地址总线、数据总线和控制总线实现ROM、RAM或其它接口电路的扩展( MOVX指令的运用)。

  2. 7.1 扩展三总线的产生

  3. 1 地址总线 ----用于传送单片机送出的地址信号 P0口为低8位地址总线,使用一个8位的数据锁存器来锁定低8位地址信号; P2口为高8位地址总线。 2 数据总线 -----用于单片机与存储器之间或单片机和I/O之间数据传送 P0口做为低8位地址和数据复用总线。 片外三总线结构

  4. 3 控制总线 -----单片机发出的用于控制片外RAM,ROM和I/O口读/写操作的一组控制线。 (1)使用ALE作地址锁存的选通信号,以实现低8位地址锁存。 (2)以PSEN信号作为扩展程序存储器的读选通信号。 (3)以EA信号作为内外存储器的选择信号。 (4)以RD和WR作为扩展RAM和I/O的读写选通信号。

  5. /L:三态控制。 低电平:允许数据输出,三态门通; 高电平:三态门关闭,输出高阻。 G:数据锁存控制。 高电平时,输出随输入变化; 低电平时,Q端将被锁存(低电平锁存)。 D7 Q7 74LS373 D0 Q0 G /L 数据 输出端 数据 输入端 具有三态功能的8D锁存器

  6. 7.2.1 访问片外程序存储器的操作时序 1、 访问片外程序存储器的控制信号 (1)使用ALE作地址锁存的选通信号,以实现低8位地址锁存 (2)以PSEN信号作为扩展程序存储器的读选通信号,接OE端 (3)以EA信号作为内外存储器的选择信号 2 、操作时序 7.2 扩展程序存储器

  7. S1 S2 S3 S4 S5 S6 MOVC A,@A+DPTR 74LS373地址锁存信号 ALE 存储器数据输出控制 /Psen 地址总线(高8位) P2口 A15-A8(PC) A15-A8 (DPTR+A) 地址数据总线(低8位)P0 口 A7-A0 OP A7-A0 常数 A B 访问外部程序存储器ROM的时序:

  8. P0、P2口作地址和数据总线。其中P0口作为地址和数据复用总线,前半部(A段)作地址总线,后半部(B段)作为数据总线。P0、P2口作地址和数据总线。其中P0口作为地址和数据复用总线,前半部(A段)作地址总线,后半部(B段)作为数据总线。 外部程序存储器ROM的操作步骤如下: 1、必须为ROM提供完整的(16位)地址信息; 2、ROM芯片的/CE 端=0,选中该芯片; 3、在满足上述条件的基础上,当ROM的/OE=0时(B时间段),存储器输出数据的三态门打开,并将与输入地址相对应的存储单元中的指令(数据)向外输出,单片机通过P0口将指令送至CPU 内部。 74LS373锁存器:将A时间段P0口输出的低位地址进行保存,使ROM在B时间段仍然可以得到完整的地址信号。 片外ROM访问时序说明 转时序图

  9. 2764A 7.2.2 扩展EPROM 常用芯片介绍

  10. 扩展 16KB EPROM

  11. 27128 16K ROM 地址信号 MCS-51 P2.7 P2.6 : : P2.0 P0.7 : : : P0.0 ALE /EA /Psen CE A13 : A8 A7 O7 : : : : : : A0 O0 OE /CE = P2.6(A14) 三态输出的数据口由/OE控制 : D7 Q7 74LS373 D0 Q0 G /L MCS-51与1片16K ROM的连接

  12. 使用两片32K的ROM芯片扩展为64K的存储阵列。 /CE1 A14 A8 A7 A0 /OE1 O0~O7 A15 P2口 MCS - 51 P0口 ALE /EA Psen /CE2 A14 A8 A7 A0 /OE2 O0~O7 74LS373 MCS-51与2片32K ROM的连接

  13. 由两片32K的ROM构成64K存储阵列与A15的关系表

  14. A、B、C:选择输入。作为与输出对应的二进制编码输入;A、B、C:选择输入。作为与输出对应的二进制编码输入; G1、/G2A、G2B:使能输入,作为片选控制输入; y7~y0:译码器输出,低电平有效。 74LS138 G1 /G2A /G2B C B A y0y1y2y3y4y5y6y7 74LS138 3-8线译码器

  15. 若需要对2片以上的芯片扩展,可以通过译码电路实现。若需要对2片以上的芯片扩展,可以通过译码电路实现。 74LS138 MCS–51 /CE0 A12 A8 A7 8K×8 A0 /OE1 O0~O7 /CE7 A12 A8 A7 8K×8 A0 /OE1 O0~O7 /CE1 A12 A8 A7 8K×8 A0 /OE1 O0~O7 C y7 B A y 0 P2.7 P2.6 P2.5 P2.4 P2.0 P0口 ALE Psen 74LS373 MCS-51与多个ROM的连接(地址线全译码)

  16. 采用LS138译码器实现ROM扩展示意表

  17. 与程序存储器扩展相同,使用P0、P2口作为地址、数据总线。与程序存储器扩展相同,使用P0、P2口作为地址、数据总线。 1、当使用 MOVX @Ri ,A指令时,系统仅使用P0口输出地址信号(P2口不用)。 2、当使用 MOVX @DPTR,A 指令时,P0口输出DPTR提供的低八位地址信号,P2口输出DPTR提供的高八位地址信号。 3、不论哪种情况,P0口都是地址/数据复用总线,因此仍要使用74LS373来锁存P0口的地位地址信号。 7.3 扩展数据存储器

  18. 与ROM扩展不同: 使用访问外部RAM指令MOVX时,在时序中将产生/RD或/WR信号,因此须将这些控制信号与外RAM的读(/RD) 、写(/WR)控制端相连接,实现系统对外RAM的读写控制。

  19. 7.3.1 常用的数据存储器芯片 1.静态RAM(SRAM):6116,6264,62128等 2.EEPROM:2816,2864等

  20. 6264 6116 Vcc 1 28 NC Vcc A8 A9 WE OE A10 CE D7 D6 D5 D4 D3 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND 1 24 2 23 3 22 4 21 5 20 6 19 7 18 8 17 9 16 10 15 11 14 12 13 WE 2 27 A12 CS2 3 26 A7 A8 4 25 A6 A9 5 24 A5 A11 6 23 A4 INTEL 6116 OE 7 22 A3 A10 8 21 A2 CS1 9 20 A1 D7 10 19 A0 D6 11 18 D0 D5 12 17 D1 D4 13 16 D2 D3 14 15 GND 6116芯片容量=2K8位/片 6264芯片容量=8K8位/片

  21. 执行外部指令:movx a, @dptr ;将外RAM的x送A S1 S5 S6 S2 S3 S4 S5 S6 S1 S2 S3 S4 ALE Psen 选中外部RAM RD A15-A8(PC) A15-A8(DPH) P2口 P0口 A7-A0 指令 A7- A0 数据 7.3.2 访问片外RAM的操作时序

  22. 7.3.3 扩展 2KB RAM

  23. 6264 8K RAM MCS-51 P2.5 P2.4 : : P2.0 P0.7 : : : P0.0 ALE /RD /WR CE A12: : A8 A7 O7 : : : : : : A0O0 /OE /WE /CE = P2.5(A12) 三态输出的数据口由/OE控制 D7 Q7 D0 Q0 CP MCS-51与8K RAM的连接

  24. 7.3.4 8031外扩32K EPROM和32K RAM

  25. 7.3.5 扩展8K EEPROM

  26. 7.4 简单并行I/O扩展7.4.1 I/O口的直接输入/输出

  27. LOOP: MOV A,#0FH MOV P1,A MOV A,P1 SWAP A MOV P1,A AJMP LOOP

  28. 7.4.2 简单I/O接口的扩展方法

  29. 编程:按下任意键,对应的LED发光。 LOOP:MOV DPTR,#0FEFFH MOVX A,@DPTR MOVX @DPTR,A SJMP LOOP

  30. 8255A 可编程通用并行接口 8155 带RAM和定时器/计数器的可编程并行接口 8279 可编程键盘/显示接口 8253 可编程通用定时器 7.5 可编程I/O接口扩展

  31. 8155、8255等芯片都是美国Intel公司开发出的系列通用可编程I/O接口芯片。40脚DIP封装。8155、8255等芯片都是美国Intel公司开发出的系列通用可编程I/O接口芯片。40脚DIP封装。 8155不仅可以提供三个并行的I/O端口,在其内部还集成有256个字节的RAM存储空间、一个14位的定时/计数器,因此非常适合与MCS-51单片机连接实现系统功能的扩展。 7.5.1 扩展8155可编程外围并行接口芯片

  32. 8155的结构及引脚

  33. 双向 数据 缓冲器 256 字节 RAM AD7-AD0 地址 锁存器 /CE IO/M ALE /RD /WR REST 地址译码 I/O 寄存器 A口 读/写 控制器 I/O 寄存器 B口 状态 命令 寄存器 定时 计数器 (14位) I/O 寄存器 C口 T / IN T / OUT 8155的内部结构简图

  34. AD7-AD0:数据/地址总线。与MCS-51的P0口连接,分 时传送地址和数据信息,是连接两者的通道。 I/O口线:PA7-0、PB7-0和PC5-0为8155的A、B和C口。 REST、/CE和IO/M :复位、片选和I/O端口/RAM选择线。 /RD、/WR: 读写控制线。 ALE:8155的地址锁存信号。ALE=1时,信号进入地址锁 存器,ALE=0时,锁存器锁存地址。 T/IN、T/OUT: 计数器的脉冲输入线和输出线,输出波形 与工作方式有关。 8155引脚说明

  35. 8155的A、B和C口的数据传送是由CPU发出的命令字控制的。 (1)8155内部的7个寄存器地址 7.5.2 8155寄存器

  36. PB 、PA:A、B口工作方式:0 输入;1 输出。 PC2、 PC1: C口工作方式:00 ALT1(输入) 01 ALT2(输出) 10 ALT3(选通方式) 11 ALT4(选通方式) IEB、IEA:A、B口中断允许位:0 禁止中断;1 允许中断。 TM2 、TM1:计数器工作方式:00 无操作;01 停止计数; 10 计满后停止;11 开始计数。 (2)8155的命令字

  37. INTRA: A中断请求标志。 0 无中断;1 有中断。 ABF: A口缓冲器状态。 0 空; 1 满。 INTEA: A口中断允许位。 0 禁止; 1 允许。 INTRA: B中断请求标志。 0 无中断;1 有中断。 BBF: B口缓冲器状态。 0 空; 1 满。 INTEB: B口中断允许位。 0 禁止; 1 允许。 TIMER: 定时器中断。0 读状态字后或硬件复位后。 1 有定时器中断时。 (3)8155的状态字─表征8155的状态 状态字存在于8155的状态寄存器中,其地址与命令口地址一样可以用 MOVX A, @ DPTR指令来读取8155的状态。状态字寄存器与命令寄存器是靠输入、输出来自动区分的。

  38. (1)存储方式:若IO/M=0、CE=0时,8155处于存储器(1)存储方式:若IO/M=0、CE=0时,8155处于存储器 模式,此时单片机通过AD7-AD0与8155 的RAM单元进行读写数据。 (2)I/O方式:若IO/M=1,CE=0时,8155处于I/O状态。 a: 通用I/O方式:A,B,C都是通用的数据端口; b: 选通I/O方式:A,B为选通I/O方式,C口作 为A,B口的联络控制线。 选通方式是一种较为特殊的数据传输方式,它不同于一般并行口的I/O操作。它主要用于高速CPU与低速外设之间的数据交换。 8155的工作方式

  39. C口在四种工作方式下的各位定义

  40. 当外设准备好数据并送PA口时,发出低电平的选通信号ASTB;当外设准备好数据并送PA口时,发出低电平的选通信号ASTB; 8155接收到ASTB后: 1,将PA上的数据装入A口寄存器 2,使A口数据满ABF置位以通知外设数据已收到。 8155在ASTB的上升沿使PC0的A INTR标志置位,以通知单片机数据已收到。 CPU响应中断执行服务程序,当执行到从A口读取输入的数据(MOVX)时,/RD的上升沿将PC0的INTEA清零并使PC1的ABF变低,通知外设输入下一个数据。 MCS-51 8155 外设 P0 INT0 PA PD0-7 /RD PC1 PC2 PC0 D7- 0 ABF ASTB A INTR 选通I/O数据输入操作 C口为ALT3模式 PC0:A口中断A INTR标志输出,送单片机; PC1:A口缓冲器满ABF标志输出,送外设。 PC2:A口选通输入ASTB,

  41. CPU执行MOVX指令将数据送PA口,8155收到数据后ABF变高通知外设数据已到达PA口。CPU执行MOVX指令将数据送PA口,8155收到数据后ABF变高通知外设数据已到达PA口。 外设接收到ABF的高电平后: 1,从D7-0上接收数据; 2,使ASTB变低,通知8155外 设已接收到数据。 当8155监测到ASTB回到高电平时,使PC0D的A INTR变为高电平,向单片机申请中断。 单片机在中断服务程序中巴下一个数据送到A口,进行下一个数据的输出。 MCS-51 8155 外设 P0 INT0 PA PD0-7 PC1 PC2 PC0 D7- 0 ABF ASTB A INTR 选通I/O数据输出操作 C口为ALT3模式,控制字:00011001B PC0:A口中断A INTR标志输出,送单片机; PC1:A口缓冲器满ABF标志输出,送外设。 PC2:A口选通输入ASTB.

  42. 严格的讲,8155的定时器应当称为计数器,因为定时器的计数脉冲来自外部的T/IN引脚的输入脉冲,所以8155的定时器非常适合做1/n的分频器(如图)。严格的讲,8155的定时器应当称为计数器,因为定时器的计数脉冲来自外部的T/IN引脚的输入脉冲,所以8155的定时器非常适合做1/n的分频器(如图)。 定时器共有4种工作方式,由计数器高8位中的最高两位M2、M1来确定。不同的工作方式对应着不同的T/OUT波形。 MCS-51 8155 T/IN T/OUT 由8155作1/5分频器 8155内部定时器的使用

  43. 8155定时器4种工作方式与T/OUT波形

  44. 1,M2M1=00时:当计数器“减1”到 “全0”时,在T/OUT线上输出单个方波,如果计数初值为奇数,则高电平持续时间比低电平多一个计数脉冲; 2, M2M1=01时:同上一方式,差别为当计数器“减1”到 “全0”时,自动装入计数初值,所以在T/OUT上为连续方波; 3, M2M1=10时:当计数器“减1”到 “全0”时,在T/OUT线上输出一个单脉冲; 4, M2M1=11时:当计数器“减1”到 “全0”时,在T/OUT线上输出一个单脉冲,且自动重装计数初值,所以在T/OUT线上输出连续的脉冲。 8155内部定时器的4种工作方式

  45. 充分利用8155的内部资源可以简化单片机系统的设计。充分利用8155的内部资源可以简化单片机系统的设计。 1 、 作片外256B RAM 2 、作扩展I/O口使用 3 、 定时器扩展用 8155与MCS-51连接时按外部RAM地址统一编址。 8155的I/O工作方式我们常选择“通用I/O方式” 。 7.5.3 8155应用与编程举例

  46. P2.7 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE /RD /WR /CE IO/M PA AD7 AD6 AD5 PB AD4 AD3 AD2 AD1 PC AD0 ALE T/OUT /RD /WR T/IN MCS-51 8155 8155与MCS-51的连接 8155内部各寄存器的地址分配

  47. 例7-1 向8155RAM中的5FH单元送入立即数32H。 MOV A,#32H MOV DPTR,#7E5FH MOVX @DPTR,A 基本操作软件

More Related