32
9 9 存储器与并行接口芯片的扩展 存储器与并行接口芯片的扩展 9.1 9.1 系统扩展概述 系统扩展概述 9.2 9.2 数据存储器 数据存储器 RAM RAM 的扩展 的扩展 9.3 9.3 只读存储器 只读存储器 ROM ROM 的扩展 的扩展 9.4 RAM 9.4 RAM ROM ROM 的综合扩展 的综合扩展 9.5 9.5 并行接口的扩展 并行接口的扩展 四川省精品课 单片机原理与应用 西华大学机械工程与 自动化学院黄惟公教授编

第9章存储器与并行接口芯片的扩展 - xhu.edu.cnkczx.xhu.edu.cn/G2S/eWebEditor/uploadfile/20111123074632_720454449014.pdf第9章存储器与并行接口芯片的扩展 9.1

  • Upload
    others

  • View
    38

  • Download
    0

Embed Size (px)

Citation preview

第第99章章 存储器与并行接口芯片的扩展存储器与并行接口芯片的扩展

9.1 9.1 系统扩展概述系统扩展概述

9.2 9.2 数据存储器数据存储器RAMRAM的扩展的扩展

9.3 9.3 只读存储器只读存储器ROMROM的扩展的扩展

9.4 RAM9.4 RAM和和ROMROM的综合扩展的综合扩展

9.5 9.5 并行接口的扩展并行接口的扩展

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

9.1 系统扩展概述9.1.1单片机最小系统

无ROM芯片:8031 必须扩展ROM,复位、晶振电路;

使单片机能运行的最少器件构成的系统。

8031 2712874LS373

P0.0-P0.7

ALE

P2.0-P2.5

8D 8Q

OE

A8-A13

A0-A7D0-D7

GEA OE CE

PSEN

200

5V

1K

RST

30P

30P12MHz

XTAL2

XTAL1四川省精品课

单片机原理与应用

22μF

5V

89c51

P0.0-P0.7

P2.0-P2.7EA

200

5V

1K

RST

30P

30P12MHz

XTAL2

XTAL1

P1.0-P1.7

P3.0-P3.7

有ROM芯片:89c51等,不必扩展ROM,复位、晶振电路;

西华大学机械工程与

自动化学院黄惟公教授编

9.1.2 总线的概念 三总线

四川省精品课

单片机原理与应用

总线: 把具有共性的线归并成一组公共连线.

西华大学机械工程与

自动化学院黄惟公教授编

7.2 7.2 数据存储器数据存储器RAMRAM的扩展的扩展

7.2.1 SRAM

动态RAM(DRAM),一般容量较大,易受干扰,

要定时刷新,使用略复杂。

数据存储器一般采用RAM芯片,这种存储器在电源关断后,存储的数据将全部丢失。

静态RAM(SRAM),不需刷新,工业现场常使用SRAM.

RAM的类型很多,本课程只讲SRAM。

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

型号:6264 前两位数62, 表示SRAM 后几位 64÷8=8k 字节容量;

62128 有128÷8=16k 字节容量; 62256 有256÷8=32k 字节容量。

四川省精品课

单片机原理与应用

NC Vcc

A12 WE

A7 A13A6 A8

A5 A9

A4 A11

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

62128

NC Vcc

A12 WE

A7 CE2

A6 A8

A5 A9A4 A11

6264

A3 OE

A2 A10

A1 CE1

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 WE

A7 A13A6 A8

A5 A9

A4 A11

A14 Vcc

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

62256

25

A0 A1 A2 A3 A4 A5 A6 A7

D0 D1 D2 D3 D4 D5 D6 D7

62256 10

CEOE

98

543

76

111213

171819

1516

2220

A8 A9 A10 A11 A12 A13 A14

2421

261

232

地址总线

控制总线

数据总线

WE27

西华大学机械工程与

自动化学院黄惟公教授编

9.1.3 RAM9.1.3 RAM与单片机的接口与单片机的接口存储器与单片机三总线的连接:

4) 读写线OE、WE(R/W)

连接读写控制线RD、WR。

出现的问题:

51单片机地址总线为P0、P2共16根,但P0也是数据总线。

地址总线与数据总线发生冲突????

四川省精品课

单片机原理与应用

解决方法:采用地址锁存器,分时共用低8位,将地址与数据隔离开。

DB0~n

AB0~N

D0~n

A0~N

ABN+x CE

WR

单片机 存储器

WE

RD OE

1)数据线 D0~n

连接数据总线 DB0~n

2)地址线 A 0~N

连接地址总线低位AB0~N

3)片选线 CE (CS)连接地址总线高位ABN+x

西华大学机械工程与

自动化学院黄惟公教授编

9.2.2 62128与MCS51的接口

如需要写读62128中1000H的数据,可用以下程序实现:MOV DPTR, #1000HMOV A, #dataMOVX @DPTR, AMOVX A, @DPTR

四川省精品课

单片机原理与应用

89c51 6212874LS373

P0.0-P0.7

ALE

P2.7P2.0-P2.5

8D 8Q

OE

A8-A13

A0-A7D0-D7

G

EA OE

CERDWR WE

200

5V

1K

RST

30P

30P12MHz

XTAL2

XTAL1

5V

西华大学机械工程与

自动化学院黄惟公教授编

9.2.3 地址锁存器的原理

D0 D1 D2 D3 D4 D5 D6 D7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

G

IN OUT

8D锁存器

三态门

OEQ=D

D锁存Q中

D变化时Q不随之变化

(Q?=D)

三态:高电平:“1”低电平:“0”高阻

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

地址锁存器芯片

74LS373与74LS573只是引脚布置的不同。

74LS273的11脚G逻辑与以上相反。

四川省精品课

单片机原理与应用

D0 D1 D2 D3 D4 D5 D6 D7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

74LS373

3

GOE

47

141718

813

256

151619

912

111

D0 D1 D2 D3 D4 D5 D6 D7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

74LS573

2

GOC

34

789

56

1918817

141312

1615

111

D0 D1 D2 D3 D4 D5 D6 D7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

74LS273

3

GCLR

47

141718

813

256

151619

912

111

西华大学机械工程与

自动化学院黄惟公教授编

单片机复用总线结构,

数据与地址低8位分时

共用一组总线的时序:

四川省精品课

单片机原理与应用

ALE地址锁存 地址锁存

地址输出

数据有效

地址输出

数据有效

AD0~n

数据传送数据

传送

R/W

单片机

P0ALE

R/W

D0~7

A0~7

R/W存储器

D QG

地址锁存器

A8~n

OE

2

P2

9.3 9.3 只读存储器只读存储器ROMROM的扩展的扩展ROM中信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不丢失。

1) 掩膜ROM:不可改写ROM

由生产厂家固化信息,用户只可读。

2) PROM:可编程ROM

用户可进行一次编程。不可再次改写。

3)EPROM:可光擦除PROM

用户可以多次编程。用紫外线照射可将原有信息全部擦除,可再次改写。

4)EEPROM:可电擦除PROM

既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、

ROM的优点。但写入时间较长。

5)Flash ROM:

可电擦除电写入。

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

9.3.1 27xx的引脚

25

A0 A1 A2 A3 A4 A5 A6 A7

D0 D1 D2 D3 D4 D5 D6 D7

2751210

CEOE (VPP)

98

543

76

111213

171819

1516

2220

A8 A9 A10 A11 A12 A13 A14 A15

2421

26271

232

地址总线

控制总线

数据总线

A12 PGM

A7 NCA6 A8

A5 A9

A4 A11

VPP VCC

2764

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 PGM

A7 A13A6 A8

A5 A9

A4 A11

VPP VCC

27128

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 A14

A7 A13A6 A8

A5 A9

A4 A11

VPP VCC

27256

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 A14

A7 A13A6 A8

A5 A9

A4 A11

27512

A3 OE/VPP

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

A15 VCC

GND D3

A12 PGM

A7 NCA6 A8

A5 A9

A4 A11

VPP VCC

2764

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 PGM

A7 A13A6 A8

A5 A9

A4 A11

VPP VCC

27128

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 A14

A7 A13A6 A8

A5 A9

A4 A11

VPP VCC

27256

A3 OE

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

GND D3

A12 A14

A7 A13A6 A8

A5 A9

A4 A11

27512

A3 OE/VPP

A2 A10

A1 CE

A0 D7

D0 D6

D1 D5

D2 D4

A15 VCC

GND D3

图9.13 常见EPROM引脚图

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

9.3.2 27128与MCS51的连接

与RAM的不同点:

只有一片ROM时,CE可以接地

OE接PSEN

8031 2712874LS373

P0.0-P0.7

ALE

P2.0-P2.5

8D 8Q

OE

A8-A13

A0-A7D0-D7

GEA OE CE

PSEN

200

5V

1K

RST

30P

30P12MHz

XTAL2

XTAL1

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

9.2.4 9.2.4 地址译码的方法地址译码的方法1.线选法

计算机剩余高位地址总线直接连接各存储器片选线。2.地址译码法计算机剩余高位地址总线通过地址译码器输出片选信号。多片存储器芯片组成大容量存储器连接常用片选方法。

1)线选法地址译码关系图:

11)属)属完全地址译码完全地址译码还是还是部分地址译码部分地址译码;;22)译码线有多少根;)译码线有多少根;33)所占用的全部地址范围为多少。)所占用的全部地址范围为多少。

此图中,地址线中有此图中,地址线中有11个个““··””(P2.6(P2.6未用未用)),表示为部分地址译码,每个单元占用了,表示为部分地址译码,每个单元占用了22个地址。若个地址。若22根地址线不用,一个单元占用根地址线不用,一个单元占用44个地址;个地址;33根地址线不用,则占用根地址线不用,则占用88个地个地址,依此类推。址,依此类推。

四川省精品课

单片机原理与应用

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

0 . X X X X X X X X X X X X X X

西华大学机械工程与

自动化学院黄惟公教授编

图9.9 线选法扩展3片6264电路图

89c51

四川省精品课

单片机原理与应用

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0选中

芯片 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

地址

范围

IC1 1 1 0 X X X X X X X X X X X X X C000H -DFFFH

IC2 1 0 1 X X X X X X X X X X X X X A000H -BFFFH

IC3 0 1 1 X X X X X X X X X X X X X 6000H -7FFFH

西华大学机械工程与

自动化学院黄惟公教授编

2)地址译码法

3-8 地址译码器:

74LS138

74LS139

四川省精品课

单片机原理与应用

图9.11 74LS139引脚及真值表

1A 2G

1B 2A

1Y1 2Y0

1Y2 2Y1

1G VCC

1Y3 2Y2

GND 2Y3

1Y0 2B

74LS13974LS139

输 入 端

允 许 选 择

G B A

输 出 端

0 0 0 Y0=0

0 0 1 Y1=0

0 1 0 Y2=0

0 1 1 Y3=0

输入端

允许 选择

G1 G2A G2B C B A

输出端

0 x x x x x 全部为 1

x 1 x x x x 全部为 1

x x 1 x x x 全部为 1

1 0 0 0 0 0 Y0=0

1 0 0 0 0 1 Y1=0

1 0 0 0 1 0 Y2=0

1 0 0 0 1 1 Y3=0

1 0 0 1 0 0 Y4=0

1 0 0 1 0 1 Y5=0

1 0 0 1 1 0 Y6=0

1 0 0 1 1 1 Y7=0

G2B Y3

G1 Y4

74LS138

Y7 Y5

GND Y6

G2A Y2

B Y0

C Y1

A VCC

74LS138

2-4 双地址译码器:

西华大学机械工程与

自动化学院黄惟公教授编

图9.12 译码法扩展4片62128电路图

89c51

四川省精品课

单片机原理与应用

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0选中

芯片 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

地址

范围

IC1 0 0 X X X X X X X X X X X X X X 0000H -3FFFH

IC2 0 1 X X X X X X X X X X X X X X 4000H -7FFFH

IC3 1 0 X X X X X X X X X X X X X X 8000H -BFFFH

IC4 1 1 X X X X X X X X X X X X X X C000H - FFFFH

西华大学机械工程与

自动化学院黄惟公教授编

9.2.5 C51读写扩展RAM的方法

C51提供了一个绝对地址访问的头文件ABSACC.CBYTE[0Xxxxx] 寻址CODE区;

DBYTE[0Xxx] 寻址DATE区;

PBYTE[0Xxxxx] 寻址分页XDATA区,

采用MOVX @R0指令;

XBYTE[0Xxxxx] 寻址XDATA区,

采用MOVX @DPTR指令;

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

下面的程序是访问外部RAM 62128 1000H单元的程序:

#include <reg51.h>#include <absacc.h> // 绝对地址访问头文件

void main(void){

char i=0x6c; XBYTE[0x1000]=i; // 将i 的内容写入RAM62128中

// 1000H地址单元

i=XBYTE[0x1000]; // 将RAM62128中// 1000H单元的内容读回到i

}

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

例:把存于ROM中的数组d[],送到外部RAM,起始于地址0x0100

开始的数组m[],注意定义变量指定地址用要采用“_at_”。

#include <reg51.h>#include <absacc.h> //绝对地址访问头文件

char code d[10]={0,1,2,3,4,5,6,7,8,9};xdata char m[10] _at_ 0x0100; // 外部RAM 地址0100H

// 为数组的起始地址void main(void){

unsigned char i; for(i=0;i<10;i++){

m[i]=d[i]; // 依次将存于ROM的数组d[ ],// 传送到外部RAM的数组m[ ]

}i=XBYTE[0x0109]; // i获取外部RAM

// 地址0x0109的内容} 四川省精品课

单片机原理与应用

9.4 ROM和RAM的综合扩展

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

当单片机外接芯片较多,超出总线负载能力,必须加总线驱动器。

单向驱动器74LS244

用于地址总线驱动

双向驱动器74LS245用于数据总线驱动

9.5 并行接口的扩展9.5.1 总线驱动器

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

每个引脚输出电流为15mA,灌入电流24mA。

双向驱动器74LS245用于数据总线驱动

单向驱动器74LS244

用于地址总线驱动

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

可利用74LS245扩展输入接口。单片机从74LS245输入数据,指令如下:

MOV DPTR, #7FFFHMOVX A, @DPTR

利用好TTL中74LS573、74LS245、74LS244以及74LS138、74LS139和一些逻辑电路,可以设计出需要大量I/O并口的应用电路。

四川省精品课

单片机原理与应用

图9.21 采用74LS245的输入接口

89C51

P0.0

P0.7

P2.7

RD

A0

A7

B0

B7

G

I N

DI R

8

74LS245

西华大学机械工程与

自动化学院黄惟公教授编

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

9.5.2 用74LS TTL电路扩展并行I/O口

用TTL电路作并行I/O口其特点是电路口线少,利用率高。选用TTL作并行I/O时,要灵活运用“输入三态,输出锁存”的原则,选择与

总线相连接的TTL芯片。

将一个字节写入74LS573的指令为:

MOV DPTR, #7FFFHMOV A, #dataMOVX @DPTR, A

接受74LS573上输入的8位数据读到累加器A中的指令如下:MOV DPTR, #7FFFHMOVX A, @DPTR

电路的输入输出口共用一个地址7FFFH

四川省精品课

单片机原理与应用

西华大学机械工程与

自动化学院黄惟公教授编

MOVX @DPTR, A 分成2步:

第1步:准备地址,此时P2口的状态为

7FH,即P2.7引脚为0,其它引脚为1;

P0口的状态为FFH;

第2步:送数据,此时P0线上将出现A

中的内容,P0口第1步中的状态FFH被A

中的内容取代。

西华大学机械工程与

自动化学院黄惟公教授编四川省精品课

单片机原理与应用

例:将下图74LS573(2)输入的数据,从74LS573(1)输出。c51程序如下:

#include <reg51.h>#include <absacc.h> // 绝对地址访问头文件

//定义作为输入的74LS573地址#define IN573 XBYTE[ 0x7FFF ]

//定义作为输出的74LS573地址#define OUT573 XBYTE[ 0x7FFF ]

void main( void ){

OUT573 = IN573;}

西华大学机械工程与

自动化学院黄惟公教授编四川省精品课

单片机原理与应用

TTL电路扩展并行I/O口仿真

四川省精品课单片机原理与应用

TTL电路扩展并行I/O口仿真

西华大学机械工程与

自动化学院黄惟公教授编

四川省精品课

单片机原理与应用

再见