单片机原理及其应用

53
单单单单单单单单单 单单单单 1 单单单单单单单单单 inciple and Application of Single Chip Microcompute

description

单片机原理及其应用. (Principle and Application of Single Chip Microcomputer). 第 1 章 概述 第 2 章 MCS-51 单片机硬件结构 第 3 章 MCS-51 寻址方式和指令系统 第 4 章 MCS-51 汇编程序设计 第 5 章 中断系统 第 6 章 定时器 / 计数器及串行口 第 7 章 存储器扩展 第 8 章 接口电路扩展 第 9 章 应用举例. 7.1 MCS-51 单片机系统扩展的基本概念 7.2 存储器地址空间分配 7.3 程序存储器扩展技术 - PowerPoint PPT Presentation

Transcript of 单片机原理及其应用

Page 1: 单片机原理及其应用

单片机原理及其应用 扬州大学

1

单片机原理及其应用(Principle and Application of Single Chip Microcomputer)

Page 2: 单片机原理及其应用

单片机原理及其应用 扬州大学

2

第 1 章 概述第 2 章 MCS-51 单片机硬件结构第 3 章 MCS-51 寻址方式和指令系统第 4 章 MCS-51 汇编程序设计第 5 章 中断系统第 6 章 定时器 / 计数器及串行口第 7 章 存储器扩展第 8 章 接口电路扩展第 9 章 应用举例

Page 3: 单片机原理及其应用

单片机原理及其应用 扬州大学

3

第 7 章 MCS-51 单片机系统扩展技术7.1 MCS-51 单片机系统扩展的基本概念7.2 存储器地址空间分配7.3 程序存储器扩展技术7.4 数据存储器扩展技术7.5 存储器混合扩展技术7.6 E2PROM 的扩展技术7.7 输入 / 输出口扩展技术

Page 4: 单片机原理及其应用

单片机原理及其应用 扬州大学

4

7.1 MCS-51 单片机系统扩展的基本概念

7.1.1 MCS-51 单片机最小应用系统

7.1.2 MCS-51 单片机的外部扩展性能

Page 5: 单片机原理及其应用

单片机原理及其应用 扬州大学

5

7.1.1 MCS-51 单片机最小应用系统 1 . 8051/89C51 最小应用系统

由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点是:

( 1 )全部 I/O 口线均可供用户使用。( 2 )内部存储器容量有限(只有 4KB 地址空间)。( 3 )应用系统开发具有特殊性。

图 7-1 8051/89C51

最小应用系统

Page 6: 单片机原理及其应用

单片机原理及其应用 扬州大学

6

2 . 8031 最小应用系统 8031 片内无程序存储器,其最小应用系统应在片外扩展 E

PROM 。图 7-2 为用 8031 外接程序存储器构成的最小系统。

对于 89C51等来讲,程序存储器一般不用扩展。数据存储器及 I/O接口有时还是需要扩展的。

图 7-2 8031 最小应用系统

PSEN

Page 7: 单片机原理及其应用

单片机原理及其应用 扬州大学

7

7.1.2 MCS-51 单片机的外部扩展性能1 . MCS-51 单片机的片外总线结构 MCS-51 单片机片外引脚可以构成如图 7-3 所示的三总线结构: 所有外部芯片都通过这三组总线进行扩展。

图 7-3 MCS-51 系统扩展

哈佛结构:程序存储器与数据存储器空间独立冯 · 诺伊曼结构(普林斯顿结构):程序存储器与数

据存储器空间合用

Page 8: 单片机原理及其应用

单片机原理及其应用 扬州大学

8

图 7-4 8031 单片机总线构造

2. 构造系统总线

Page 9: 单片机原理及其应用

单片机原理及其应用 扬州大学

9

( 1 ) P0 口作为低 8 位地址 / 数据总线

( 2 ) P2 口作为高 8 位地址总线

图 7-5 地址总线扩展

Page 10: 单片机原理及其应用

单片机原理及其应用 扬州大学

10

( 3 )控制总线ALE: 低 8 位地址锁存信号/PSEN: 程序存储器读信号/EA: 内 / 外部程序存储器选择信号/RD: 外部数据存储器读信号/WR: 外部数据存储器写信号

Page 11: 单片机原理及其应用

单片机原理及其应用 扬州大学

11

3 . MCS-51 单片机的系统扩展能力* 当系统要大量配置外围设备 ( 扩展较多的 I/O 口 )

时,将占去很多的 RAM 地址。

* 串行扩展技术:用并行 3 总线扩展是单片机应用中的主要方法。但是,扩展时的连线多,器件占据电路板空间较大。串行接口器件体积小,连线少( 3 - 4 根),可以简化器件的连接。串行接口有三线的 SPI, 双线的 I2C 。

* 当应用系统存储扩展容量或扩展 I/O 口地址超过单片机地址总线范围时,可用换体法解决。如图 7-

6 所示。

Page 12: 单片机原理及其应用

单片机原理及其应用 扬州大学

12

图 7-6 用 I/O 线来控制片外存储器换体

32kB

32kB

32kB

32kB

P2.7

P1.0

1Y0

1Y1

1Y2

1Y31A1B

1G

Page 13: 单片机原理及其应用

单片机原理及其应用 扬州大学

13

7.2 存储器地址空间分配7.2.1 存储器读写控制EPROM: 只读,读引脚 /OE 通常接 /PSEN 。

RAM: 可读可写,读引脚 /OE 接 /RD, 写引脚 /WE 接 /WR 。

7.2.2 存储器地址空间分配 扩展多片存储器、 I/O 接口:区分各个存储器芯片和接口芯片是单片机扩展应用时要解决的问题。 存储空间的分配,使一个存储单元对应一个地址 , 把 ROM 、RAM 、 I/O 分配在不同的地址范围。

Page 14: 单片机原理及其应用

单片机原理及其应用 扬州大学

14

1 )线选法扩展存储器 线选法:直接用高位地址作为存储器( I/O 芯片)的片选信号。把选中的地址线与存储器的片选端相连即可。 优点:电路简单、不用地址译码芯片。缺点:可寻址的器件数目受限、地址空间不连续、存储单元地址不唯一,只用于简单的系统。

单个存储器芯片容量小于存储空间容量时,选存储单元分为选片和选片内单元两种选择。通常用地址高位选片子 ( 片选 ),地址低位作片内单元选择。 片选信号是对地址总线进行译码获得的。 译码方法有 : 线 ( 性 ) 选法 和 ( 地址 ) 译码法两种形式。

Page 15: 单片机原理及其应用

单片机原理及其应用 扬州大学

15

某单片机系统需扩展 8KB 的 EPROM(2732×2), 4KB 的RAM(6116×2) 。地址连线见下图。

图 7-7 线选法举例

2732 有 12 根地址线, 6116 有 11根地址线,连接低位地址。各片的片选端接分别接高四位地址。

Page 16: 单片机原理及其应用

单片机原理及其应用 扬州大学

16

地址范围确定 P2.7 P2.02732(1): 0 1 1 1-0 0 0 0 0 0 0 0 0 0 0 0 (7000H) 0 1 1 1-1 1 1 1 1 1 1 1 1 1 1 1 (7FFFH)

P2.6 P2.02732(2): 1 0 1 1-0 0 0 0 0 0 0 0 0 0 0 0 (B000H) 1 0 1 1-1 1 1 1 1 1 1 1 1 1 1 1 (BFFFH)

P2.4 P2.06116(1): 1 1 1 0-0 0 0 0 0 0 0 0 0 0 0 0 (E000H) 1 1 1 0-0 1 1 1 1 1 1 1 1 1 1 1 (E7FFH)

P2.4 P2.06116(1): 1 1 1 0-1 0 0 0 0 0 0 0 0 0 0 0 (E800H) 1 1 1 0-1 1 1 1 1 1 1 1 1 1 1 1 (EFFFH)

6116(2): (D000H~D7FFH) (D800H~DFFFH)

Page 17: 单片机原理及其应用

单片机原理及其应用 扬州大学

17

2 )译码法扩展存储器 用译码器对高位地址进行译码,分配存储空间。译码器输出作为芯片的片选信号。它能有效利用存储空间,适用于大容量多芯片存储器扩展。

常用译码器芯片: 74LS138(3-8 译码器)

Page 18: 单片机原理及其应用

单片机原理及其应用 扬州大学

18

扩展 8 片 8KB 的 RAM6264, 只需将 64KB 分成 8 个 8KB 空间。

图中可见所有的地址线都参与了地址译码,称为全地址译码。各个存储单元有惟一的地址。

图 7-8 64KB 地址空间分配

Page 19: 单片机原理及其应用

单片机原理及其应用 扬州大学

19

如何把 64KB 划分成每块 4KB 的空间? 4×8 = 32KB, 需 15 根地址参加译码。 12 根用于片内单元译码, 3 根用于片选译码。 P2.7 未参与译码,但它决定了选择前 32KB还是后 32KB 。可能造成空间重叠。 下图用 P2.7 控制 138 ,选择了前 32KB 空间。

图 7-9 32KB 地址空间分配

Page 20: 单片机原理及其应用

单片机原理及其应用 扬州大学

20

7.2.2 外部地址锁存器1.74LS373 74LS373 是三态 8D锁存器。/OE: 输出允许G: 输入锁存选通

锁存

2. 74LS573

功能与 74LS373 一样,引脚排列不同。

图 7-10 373 引脚与结构

图 7-11 573 引脚

Page 21: 单片机原理及其应用

单片机原理及其应用 扬州大学

21

7.3 程序存储器扩展技术

7.3.1 程序存储器简介7.3.2 程序存储器操作时序7.3.3 EPROM 扩展电路

Page 22: 单片机原理及其应用

单片机原理及其应用 扬州大学

22

7.3.1 程序存储器简介

1. 程序存储器的类型 程序存储器一般在工作时是只读的( ROM)

(1) 掩模 ROM (2) PROM

仅用于批量生产。 仅一次可编程。(3) EPROM

可多次编程,紫外线擦除。(4) E2PROM

可多次编程 , 电擦除。写入速度慢。(5) Flash ROM

可多次编程 , 电擦除。写入速度快。可替代E2PROM 。很多单片机已将 Flash ROM做在片内。

Page 23: 单片机原理及其应用

单片机原理及其应用 扬州大学

23

2. 常用 EPROM 芯片 27 系列

Vcc: 工作电压 Vpp: 编程电压Im: 最大静态电流 Is: 维持电流TRM: 最大读取时间

Page 24: 单片机原理及其应用

单片机原理及其应用 扬州大学

24

/CE: 片选 /OE: 输出允许读出: /CE=0 ,未选中: /CE=1 , /OE = X

图 7-12 常用 EPROM 芯片引脚图

Page 25: 单片机原理及其应用

单片机原理及其应用 扬州大学

25

图 7-13 外部程序存储器操作时序

7.3.2 程序存储器操作时序

/PSEN 接 EPROM 的 /OE 端。 每机器周期, ALE 出现两次,下降沿锁存 PCL 。 /PSEN变低时,读入指令。

Page 26: 单片机原理及其应用

单片机原理及其应用 扬州大学

26

图 7-14 外部程序存储器操作时序 /PSEN 接 EPROM 的 /OE 端。 第一个机器周期 S2 时 , ALE 下降沿锁存 PCL 。 S3 时,读入

指令。 S5 时 ALE 下降沿锁存低数据地址。第二个机器周期总线给数据存储器用。 执行一次MOVX 指令将丢失一次 ALE脉冲。

Page 27: 单片机原理及其应用

单片机原理及其应用 扬州大学

27

G OE

7.3.3 EPROM 扩展电路1 . 2764A EPROM 扩展电路

地址范围: 0 0000 0000 0000H~1 1111 1111 1111H=0000H~1FFFH图 7-15 2764 EPROM 扩展电路

Page 28: 单片机原理及其应用

单片机原理及其应用 扬州大学

28

2 . 27128 EPROM 扩展电路

地址范围: 00 0000 0000 0000H~11 1111 1111 1111H=0000H~3FFFH

图 7-16 27128 EPROM 扩展电路

Page 29: 单片机原理及其应用

单片机原理及其应用 扬州大学

29

地址分配: 27128(1) : 0000H~3FFFH 27128(2) : 4000H~7FFFH 27128(3) : 8000H~BFFFH 27128(4) : C000H~FFFFH

3 .四片 27128 EPROM 扩展电路

(1) (2) (3) (4)

图 7-17 多片 EPROM 扩展电路

Page 30: 单片机原理及其应用

单片机原理及其应用 扬州大学

30

7.4 数据存储器扩展

7.4.1 常用静态 RAM 芯片

7.4.2 数据存储器操作时序

7.4.3 静态 RAM 扩展电路

Page 31: 单片机原理及其应用

单片机原理及其应用 扬州大学

31

常用的静态 RAM 芯片有 6116(2k×8) , 6264(8k×8) ,62128 (16k×8) , 62256(32k*8)等。

7.4.1 常用静态 RAM 芯片

/CE: 片选/OE: 读选通/WE: 写允许CS: 6264 片选

图 7-18 常用 RAM 引脚图

Page 32: 单片机原理及其应用

单片机原理及其应用 扬州大学

32

7.4.2 数据存储器操作时序1. ALE 高电平期间,地址变为有效。下降沿锁存低 8 位地址。

2. 在第一周期 S6状态 ,P0浮空。

3. 在第二周期 S1状态起, /RD有效。存储器指定地址单元送出数据,进入 P0。 S2状态 CPU读入数据。

4. S3状态末 /RD变无效。

S4 S2S5 S6 S1 S3第一机器周期 第二机器周期

图 7-19 片外 RAM操作时序

Page 33: 单片机原理及其应用

单片机原理及其应用 扬州大学

33

1. ALE 高电平期间,地址变为有效。下降沿锁存低 8 位地址。

2. 在第一周期 S6状态 ,P0浮空。

3. 在第二周期 S1状态起, /WR有效。 CPU 输出数据到 P0 ,在地址译码和 /WR作用下, P0上数据进入相应的存储单元。

4. S3状态末 /WR变无效。

图 7-20 片外 RAM操作时序

Page 34: 单片机原理及其应用

单片机原理及其应用 扬州大学

34

7.4.3 静态 RAM 扩展电路1 .单片 6264静态 RAM 扩展

地址范围: 0××0 0000 0000 0000H~0××1 1111 1111 1111H0000H~1FFFH, 2000H~3FFFH ……

图 7-21 6264 扩展图

Page 35: 单片机原理及其应用

单片机原理及其应用 扬州大学

35

IC1 地址: 1100 0000 0000 0000~1101 1111 1111 1111 (C000H~DFFFH)

IC2 地址: 1010 0000 0000 0000~1011 1111 1111 1111 (A000H~BFFFH)

IC3 地址: 0110 0000 0000 0000~0111 1111 1111 1111 (6000H~7FFFH)

2 .多片 6264静态 RAM 扩展

图 7-22 线选法 3 片 6264 扩展图

Page 36: 单片机原理及其应用

单片机原理及其应用 扬州大学

36

IC1 地址 : 0000 0000 0000 0000~0011 1111 1111 1111 (0000H~3FFFH)

IC2 地址 : 0100 0000 0000 0000~0111 1111 1111 1111 (4000H~7FFFH)

IC3 地址 : 1000 0000 0000 0000~1011 1111 1111 1111 (8000H~BFFFH)

IC4 地址 : 1100 0000 0000 0000~1111 1111 1111 1111 (C000H~FFFFH)

3 .多片 62128静态 RAM 扩展

图 7-23 译码器法片外存储器扩展图

Page 37: 单片机原理及其应用

单片机原理及其应用 扬州大学

37

7.5 存储器混合扩展技术

前面分别介绍了程序存储器和数据存储器的单独扩展技术。在实际应用中往往 ROM 和 RAM 都要扩展。 ROM 读用 /PSEN控制, RAM 读写用 /RD和 /WR 控制。1. 线选法扩展 2 片 6264 和 2 片 2764 选片直接用高位地址。

2. 译码法扩展 2 片 6264 和 2 片 2764 选片用译码器的输出。

Page 38: 单片机原理及其应用

单片机原理及其应用 扬州大学

38

2764(1) 地址: x100 0000 0000 0000~ x101 1111 1111 11112764(2) 地址: x010 0000 0000 0000~ x011 1111 1111 11116264(1) 地址: x100 0000 0000 0000~ x101 1111 1111 11116264(2) 地址: x010 0000 0000 0000~ x011 1111 1111 1111

图 7-24 片外存储器综合扩展图(线选法)

Page 39: 单片机原理及其应用

单片机原理及其应用 扬州大学

39

2764(1) 地址 : 0000 0000 00000000 ~0001 1111 111111112764(2) 地址 : 0010 0000 00000000 ~0011 1111 111111116264(3) 地址 : 0100 0000 00000000 ~0101 1111 111111116264(4) 地址 : 0110 0000 00000000 ~0111 1111 11111111

图 7-25 片外存储器综合扩展图(译码器法)

Page 40: 单片机原理及其应用

单片机原理及其应用 扬州大学

40

( 1 ) ROM 读指令

复位, PC=0000H 。

取指令期间, PCL送 P0, 经 373 锁存得地址 A7~A0 ,直连 2764 低 8 位地址。 PCH送 P2 得地址 A15~A8 。其中 A12~A8 与 2764 相应地址直连, A15~A13 接译码器。

0000H 地址选中 2764(1) 的第一个地址,当 /PSEN 有效时,程序代码就从 P0 口读到单片机的指令译码器,进行译码,决定作何种操作。

此后 PC自动加一,取下一个单元的程序代码。

3. 外扩存储器电路工作原理

Page 41: 单片机原理及其应用

单片机原理及其应用 扬州大学

41

( 2 ) RAM 读写

在使用‘MOVX’类指令时,就是对外部 RAM 进行读写。例 MOV DPTR, #5000H

MOVX A, @DPTRMOV 50H, A

执行第二条指令时, DPL送 P0, 并被 373 锁存, DPH送 P2 。根据译码器以及片内译码选中 6264(1) 的 5000H单元,当 /RD 有效时, 5000H 单元的内容进入 P0, 并送到 A 。 MOVX @DPTR, A 是执行存储器写,与存储器读的过程类似。 MOVX A, @Ri 和 MOVX @Ri, A也是执行对外部 RAM 读写。 Ri 的内容送 P0 ,形成低 8 位地址, P2口的内容形成高位地址。

Page 42: 单片机原理及其应用

单片机原理及其应用 扬州大学

42

【例 7-1】 (8-4) 编程将程序存储器 TAB 为首地址的 32 个单元内容依次传送到外部 RAM7000H 开始的区域。

MOV P2, #70H ;外部 RAM 高 8 位地址MOV DPTR, #TABMOV R0, #0

AGIN: MOV A, R0 ;查表偏移量MOVCA, @A+DPTRMOVX @R0, A ;存入外部 RAMINC R0CJNE R0, #32, AGIN

HERE: SJMP HERETAB: DB …,…

Page 43: 单片机原理及其应用

单片机原理及其应用 扬州大学

43

7.6 E2PROM 扩展技术

E2PROM 是一种电擦除可编程只读存储器,其主要特点是能在线擦除和改写,并在断电的情况下保持修改的结果。在智能化仪器、仪表、控制装置等领域得到普遍采用。 E2PROM既可当 ROM 用也可作 RAM 用。与 RAM比,写入速度很慢。擦除 / 写入寿命有限。 常用的 E2PROM 芯片主要有 Intel 2816/2816A, 2817/2

817A 、 2864A等。

Page 44: 单片机原理及其应用

单片机原理及其应用 扬州大学

44

/CE: 片选/OE: 输出允许/WE: 写允许RDY/BUSY: 写

入状态

图 7-26 常用 E2PROM 引脚图

Page 45: 单片机原理及其应用

单片机原理及其应用 扬州大学

45

Page 46: 单片机原理及其应用

单片机原理及其应用 扬州大学

46

1 . 2817A E2PROM 扩展

写操作时忙 (16ms)特性:写入字节时自动擦除。 写入期间, RDY/BUSY变低,数据线呈现高阻态。

图 7-27 2817A 引脚图

Page 47: 单片机原理及其应用

单片机原理及其应用 扬州大学

47

地址范围: 0××× ×000 0000 0000H~0××× ×111 1111 1111H0000H~07FFH, 0800H~0FFFH ……

图 7-28 2817A 与 8031 接口图

Page 48: 单片机原理及其应用

单片机原理及其应用 扬州大学

48

WR1: MOV DPL, R3MOV DPH, R4MOVX A, @DPTR ;取源数据INC DPTRMOV R3, DPL ;保存源数据指针MOV R4, DPHMOV DPL, R1 ; 取 2817A 地址MOV DPH, R2MOVX @DPTR, A ;写入 2817A

WAIT: JNB P1.0, WAIT;等待字节写完INC DPTRMOV R1, DPL ;保存 2817A 地址MOV R2, DPHDJNZ R0, WR1 ;未完,继续RET

子程序入口参数:R0: 写入的字节数R2R1: 2817A 地址R4R3: 源数据地址

对 2817A 写操作的程序

Page 49: 单片机原理及其应用

单片机原理及其应用 扬州大学

49

2 . 2864A E2PROM 扩展

图 7-29 2864A 引脚图

Page 50: 单片机原理及其应用

单片机原理及其应用 扬州大学

50

2864A 有四种工作方式:( 1 )维持方式: /CE=1, 进入低功耗维持 , 数据线呈高阻态。( 2 )读出方式: /CE=0, /OE=0, /WE=1, 与普通存储器相同。 ( 3 )写入方式:页写入 (16字节 /页 ) ,数据先写入页缓冲器

(页 装载 ) ,满后再写到相应地址单元 (页存储 ) 。

芯片要求写入一字节数据的时间 : 3us < TBLW < 20us 。这个时间由限时定时器计算,在每个 /WE 下降沿开始启动。一旦装载完毕,没有了 /WE 信号,限时定时器溢出,页存储操作开始。

字节写入 ( 4 )数据查询方式:软件检测页存储周期是否完成。

在页存储期间,执行读 2864A操作,读出的是最后写入的字节。若页存储未完成,读出的数据最高位是写入字节最高位的反码。

Page 51: 单片机原理及其应用

单片机原理及其应用 扬州大学

51地址范围: 0××0 0000 0000 0000~0××1 1111 1111 11110000H~1FFFH, 2000H~3FFFH ……

图 7-30 2864A 与 8031 接口图

Page 52: 单片机原理及其应用

单片机原理及其应用 扬州大学

52

WR2: MOVX A, @DPTR;取数据MOV R2, A ;暂存备查MOVX @R0, A ;写入 2864A

INC DPTR

INC R0

CJNE R0, #0, NEXT ; 低地址未到零,转INC P2 ;已到零,高位地址增 1

NEXT: DJNZ R1, WR2 ;页面未装完,继续DEC R0 ;退到最后一个写入的数地

址LOOP: MOVX A, @R0 ;读 2864A

XRL A, R2 ; 异或检查JB ACC.7, LOOP;最高位不等,继续查RET ;一页写完,返回

子程序入口参数:R1: 写入的字节数 (16)P2R0: 2864A 地址DPTR: 源数据区地址

对 2864A装载一个页面的程序

Page 53: 单片机原理及其应用