25
MCS-51 单单单单单单单单单单 单单单单单单单 单单单 单单

MCS-51 单片机原理及应用教程

  • Upload
    thi

  • View
    128

  • Download
    0

Embed Size (px)

DESCRIPTION

MCS-51 单片机原理及应用教程. 清华大学出版社 刘迎春 主编. 第 8 章 MCS-51 单片机的系统扩展. 程序存储器的扩展 数据存储器的扩展 外部 I/O 的扩展. 8.1 程序存储器的扩展. 8.1.1 外部程序存储器的操作时序 MCS-51 系列单片机扩展外部程序存储器的硬件电路如图 8.1 所示。. 图 8.2 单片机访问外部程序存储器的时序图. 8.1.2 地址锁存器及 EPROM,EEPROM 芯片介绍. 1. 地址锁存器. 图 8.3 为几种常用的地址锁存器的管脚图。. - PowerPoint PPT Presentation

Citation preview

Page 1: MCS-51  单片机原理及应用教程

MCS-51 单片机原理及应用教程

清华大学出版社

刘迎春 主编

Page 2: MCS-51  单片机原理及应用教程

第 8 章 MCS-51 单片机的系统扩展

程序存储器的扩展数据存储器的扩展外部 I/O 的扩展

Page 3: MCS-51  单片机原理及应用教程

8.1 程序存储器的扩展

8.1.1 外部程序存储器的操作时序

MCS-51 系列单片机扩展外部程序存储器的硬件电路如图 8.1 所示。

¸ß8λµØÖ·

µÍ8λµØÖ·Ëø´æÆ÷

P0

PSEN

P2

ALE

OE

µØÖ·

³ÌÐòÖ¸Áî

EPROMEEPROMMCS-51

EA

Page 4: MCS-51  单片机原理及应用教程

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

ALE

PSEN

P2

P0

RD

µÚÒ»¸ö»úÆ÷ÖÜÆÚ µÚ¶þ¸ö»úÆ÷ÖÜÆÚ

PCHÊä³ö PCHÊä³ö PCHÊä³ö PCHÊä³ö

Êý¾Ý²ÉÑù

Êý¾Ý²ÉÑù

Êý¾Ý²ÉÑù

Êý¾Ý²ÉÑù

Êý¾Ý²ÉÑù

PCLÊä³ö

PCLÊä³ö

PCLÊä³ö

PCLÊä³ö

图 8.2 单片机访问外部程序存储器的时序图

Page 5: MCS-51  单片机原理及应用教程

8.1.2 地址锁存器及 EPROM,EEPROM 芯片介绍

1. 地址锁存器

图 8.3 为几种常用的地址锁存器的管脚图。

Page 6: MCS-51  单片机原理及应用教程

图 8.4 是这几种常用的锁存器与单片机的连接图。

Page 7: MCS-51  单片机原理及应用教程

2. EPROM 与 EEPROM 扩展电路

紫外线擦除电可编程只读存储器 EPROM ,以前常用作 MCS-51 系列单片机的外部程序存储器,常见的型号有:2764(8K×8) , 27128(16K×8) , 27256(32K×8) , 27512(64K×8) 等。管脚分布如图 8.5 所示 。

VppA12A7A6A5A4A3A2A1A0D0D1D2Vss

VccPGMNCA8A9A11OEA10CED7D6D5D4D3

Page 8: MCS-51  单片机原理及应用教程

图 8.6 27C64 与单片机的连线图

Page 9: MCS-51  单片机原理及应用教程

图 8.8 MCS-51 单片机与 EEPROM 28C17 的连接图

Page 10: MCS-51  单片机原理及应用教程

8.2 数据存储器的扩展 8.2.1 外部数据存储器的操作时序

如图 8.9 所示为单片机片外数据存储器的读时序 。

P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

S1 S2 S3 S4 S5 S6

ALE

PSEN

RD

P2

P0

µØÖ·A15-A8

Ö¸ÁîÊäÈëÐü¿Õ A7-A0Ðü¿Õ Êý¾ÝÊäÈë Ðü¿Õ

¢Ù

¢à

¢ß

¢Þ

¢Ý

¢Ü¢Û

¢Û

¢Ú

Page 11: MCS-51  单片机原理及应用教程

如图 8.10 所示为单片机片外数据存储器的写时序。

P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

S1 S2 S3 S4 S5 S6

ALE

PSEN

P2

P0 Ö¸ÁîÊäÈëÐü¿Õ

¢Ù

¢Ý

¢Û¢Ú

¢Ú

¢Ü

¢Þ

Êý¾ÝÊä³öA7-A0

µØÖ·A15-A8

WR

Page 12: MCS-51  单片机原理及应用教程

8.2.2 常用的单片机外部数据存储器常用的单片机外部数据存储器有6116(2K×8) 、 6264(8K×8) 、 62256(32K×8 位 ) 、 62512(64K×8) 及628128(128K×8) 等多种,图 8.11 为 6116 和 6264 的管脚图。

A12A7A6A5A4A3A2A1A0D0D1D2Vss

Vcc

A8A9A11OEA10

D7D6D5D4D3

NCWECE2

CE1

A7A6A5A4A3A2A1A0D0D1D2Vss

A8A9

OEA10

D7D6D5D4D3

VCC

WE

CE6116 6264

Page 13: MCS-51  单片机原理及应用教程

下面的程序为向 6116 内写入 00~FFH 的数据。

ORG 0000H ; 单片机上电复位地址 AJMP MAIN ; 转移至以 MAIN 为标记的地址 ORG 0040H ; 以 MAIN 为标志的程序段放在的起始地址MAIN: MOV SP, #60H ; 程序内容,将堆栈首地址设置为 60H 单元 MOV DPTR, #0000H ; 给外部数据指针 DPTR 赋首地址 0000H MOV R2, #0FFH ; 设置循环次数 MOV A, #00H ; 给 A 赋初值 00HLOOP: MOVX @DPTR, A ;((DPTR))←(A) INC DPTR ; 外部数据指针地址加 1 INC A ;A 内的数据加 1 DJNZ R2, LOOP ;R2 是否为零?否,转向 LOOP END ; 否则程序停止以上程序段是将数据写入外部数据存储器的例程,如将数据读出单片机外,只需将: LOOP: MOVX @DPTR, A改写为:LOOP: MOVX A, @DPTR

Page 14: MCS-51  单片机原理及应用教程

8.3 外部 I/O 的扩展8.3.1 I/O 口扩展概述

常用的单片机外围器件有:82C55 、 81C55 、 82C53 、 82C54 、 82C52 、 8279 等芯片。

8.3.2 I/O 口地址译码方法

1. 线选法

图 8.13 为采用线选法的实例。

6116 8255 8155

DAC083282C53ADC1674

CE CE CE

CECECE

A0 A0

A0 A1

AD7AD0A1A10

P2.2P2.4

P2.3

P2.5P2.6P2.7P2.1

8051 IO/M

Page 15: MCS-51  单片机原理及应用教程

线选法的优点是硬件结构简单,不需要应用译码芯片,但由于所用片选线都是位于 P2 口的高位线,它们的权值较大,地址空间没有充分地利用,造成单片机地址资源的浪费,并且芯片之间的地址也不连续。

Page 16: MCS-51  单片机原理及应用教程

2. 全地址译码法

它将低位地址作为芯片的片内地址,而用译码器对高位地址线进行译码,译出的信号作为片选线。一般采用 74LS138(3-8) , 74LS154(4-16) ,或CPLD 等来实现译码。下面以 74LS138 为例来讲述其应用方法。

6116 8255 8155

DAC083282C53ADC1674

CE CE CE

CECECE

A0 A0

A0 A1

AD7AD0A1A10

8051

P2.5P2.6P2.7

ABC

G2AG2B

G16 16

+5V

Y1Y0

Y2Y3Y4Y5

IO/MP2.0

Page 17: MCS-51  单片机原理及应用教程

8.3.3 82C55 可编程并行 I/O 口

1. 82C55 芯片介绍

82C55 的管脚图如图 8.15 所示,其内部结构如图 8.16 所示。PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2 PB3

PB4PB5PB6PB7VCCD7D6D5D4D3D2D1D0RESET

PA4PA5PA6PA7WR

A ×é¿ØÖÆ

A ×é¿ØÖÆ

A ×é¿ØÖÆ

A×é¶Ë¿ÚCÉϰ벿

B×é¶Ë¿ÚCÉϰ벿

¶Á/дÂß¼

Êý¾Ý×ÜÏß»º³åÆ÷

D0-D7

RD

A1A0WR

RESETCS

A ×é¿ØÖÆ

PA0~PA7

PB0~PB7

PC0~PC3

PC4~PC7

Page 18: MCS-51  单片机原理及应用教程

表 8.4 82C55 内部的单元地址

A1 A0 82C55 内部寄存器0 00 11 01 1

端口 A端口 B端口 C

控制寄存器

A×é

¶Ë¿ÚA1:ÊäÈë0:Êä³ö

·½Ê½Ñ¡Ôñ00:·½Ê½001:·½Ê½11X:·½Ê½2

D7

Ö÷½Ê½ ±êÖ¾1:ÓÐЧ

B×é

¶Ë¿ÚB1:ÊäÈë0:Êä³ö

¶Ë¿ÚCPC0~PC31:ÊäÈë0:Êä³ö

·½Ê½Ñ¡Ôñ0:·½Ê½01:·½Ê½1

¶Ë¿ÚCPC4~PC71:ÊäÈë0:Êä³ö

D6 D5 D4 D3 D2 D1 D0

82C55 控制字格式

Page 19: MCS-51  单片机原理及应用教程

D7

λ£ºÖÃλ/¸´Î»1£ºÖÃλ 0£º¸´Î»

10 2 3 4 5 6 7

0

0

0

0

0

0

0 0

0

0 0

01

1

1

1

1

1

1 1

1

1

1

1

λ£ºÖÃλ/¸´Î»±êÖ¾ 0£ºÓÐЧ

²»ÓÃ

D6 D5 D4 D3 D2 D1 D0

图 8.18 82C55 C 口位操作控制字

82C55 的三种工作模式:工作模式 0工作模式 1工作模式 2

Page 20: MCS-51  单片机原理及应用教程

2. 8051 与 82C55 的接口举例

在 8051 单片机的 I/O 上扩展 82C55 芯片,其接口逻辑相当简单,如图 8.25 所示。 WR

P2.0RD

CS

WRRD

Q1 A1Q0 A0P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

D0

D1

D2

D3D4

D5D6

D7

D0D1

ALE G E

8

8

8PA0¡«7

PB0¡«7

PC0¡«7

8051 82C55

74LS373

Page 21: MCS-51  单片机原理及应用教程

例程如下: ORG 0000H ; 上电复位程序入口 AJMP MAIN ; 转移到以 MAIN 为标号的程序入口; ORG 0040H ; 主程序存放在以 0040H 单元开始的空间内MAIN: MOV SP, #60H ; 将堆栈调至 60H 单元处 MOV DPTR, #0FEFFH ; 将 82C55 的控制字节地址赋给数据指针 MOV A, #8BH ; 将数据 8BH 传送给 A MOVX @DPTR, A ; 由 A 将 8BH 这个控制字写入 82C55 的控制单元 MOV DPTR, #0FEFCH ; 数据指针指向 A 端口 MOV A, #3FH ; 将 3FH 这个数传送给 A MOVX @DPTR, A ; 由 A 将数据传送到 DPTR 制定的字节地址 MOV DPTR, #0FEFDH ; 将 B 口的地址传送给数据指针 MOVX A, @DPTR ; 将 B 口的数据传送给 A MOV 30H, A ; 通过 A 将 B 口内的数据传送到 30H 单元内 MOV DPTR, #0FEFEH ; 把端口 C 的地址赋予数据指针 MOVX A, @DPTR ; 把 C 内的数据传送给 A MOV 31H, A ; 通过 A 把数据传送到 31H 单元内 END ; 整个程序结束

Page 22: MCS-51  单片机原理及应用教程

8.3.4 81C55 可编程并行 I/O 口 1. 81C55 芯片简介

图 8.26 为 81C55 芯片的管脚和内部结构示意图。VCCPC3

PC4TIMERIN

RESETPC5

TIMEROUT

RDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VSS

CEIO/M

PC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA0

8155

1234567891011121314151617181920 21

22232425262728293031323334353637383940

¿ØÖÆÂß¼

¶¨Ê±Æ÷

A256¡Á8RAM

IO/M

B

C

PA0¡«PA7

PB0¡«PB7

AD0¡«AD7

CE

ALE

RD

WR

RESET

¶¨Ê±Æ÷/¼ÆÊýÆ÷

¶¨Ê±Æ÷Òç³ö

PC0¡«PC5

VCC

VSS

Page 23: MCS-51  单片机原理及应用教程

2. 8051 与 81C55 的接口举例图 8.29 描述了一个 8051 与 81C55 连接的电路图。

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

P2.0P2.7ALE

WRRD

RESET

AD0AD1AD2AD3AD4AD5AD6AD7

IO/MALE

WRRD

RESET

CE

TIMER INTIMEROUT

PA0¡«PA7

PB0¡«PB7

PC0¡«PC5

81C558051

Page 24: MCS-51  单片机原理及应用教程

设通过 8051 向 81C55 中 RAM 的第 30H 单元送入数 87H ,则例程如下。

ORG 0000H AJMP MAIN ORG 0040HMAIN: MOV SP, #60H MOV DPTR, #7E30H MOV A, #78H MOVX @DPTR, A END

Page 25: MCS-51  单片机原理及应用教程

8.4 思考练习题

(1) 简述单片机系统扩展的基本原则和实现方法。(2) 什么是 RAM ?有什么特点?(3) 线选法和全地址译码法有什么区别?(4) 在一个 8051 应用系统中扩展 64K EPROM ,并扩展两片 82C55 和一片 6264 ,试画出其线路原理图,并说明各自的地址范围。(5) 设采用一片 8051 和一片 81C55 设计一个 24 位的定时器 / 计数器。(6) 某厂生产的酒瓶盖原采用称重装箱的方式,现要改为按数量装箱的方式,设其每箱要求装满 5000 只,试应用 8051 单片机设计其应用系统。(7) 由于 8051 内部有 4K 的程序存储器,有人考虑采用控制 EA 端的方式来给程序加密,试讨论该办法的可行性。(8) 试讨论在不加其他逻辑芯片的情况下,一片 8051 和一片 81C55 可提供多少输入 /输出的端口。