单片机第9章外部存储器的应用
轻轻巧巧第9章

方法2:软件模拟开发系统 基于Proteus(Keil)仿真软件的设计与开发工具
第9章单片机应用系统的设计与开发
9.1单片机系统的设计开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍
第9章单片机应用系统的设计与开发
智能仪器是一种依靠嵌入式计算机技术发展的新型电子测控 单元,其基本功能是根据传感器的实时信号和仪器设定的目 标参数进行测量与控制。
第9章单片机应用系统的设计与开发
一个完整的单片机应用系统由单片机最小应用系统、前向 通道、后向通道、人机交互通道与计算机相互通道组成。
第9章单片机应用系统的设计与开发
单片机最小系统 最小应用系统——具有最简单配置的单片机系统
P2.7 P2.0 CE A15
~ ~
~
A8 A7
803 1
地址 锁存器 P0.7 P0.0 PSEN
S0 S1 S2 S3 S4 S5 S6 S7
U4 C1
3 Q0 30pF
RP1 C2
30pF
1
C1/->
VCC
&
1D 4 5 6 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCC
X1
19 CRYSTAL
U1
XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 P20 P21 P22 P23 P24 P25 P26 P27 P30 P31 P32 2 P20 PNP P21 P36 P22 P23 P37 2 3 4 5 6 7 8 9 19 1
AT89S52单片机外部存储器的扩展

使单片机系统的寻址范围达到64KB。
图8-2 单片机扩展的片外三总线
99
3.控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号
有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1)PSEN*作为外扩程序存储器的读选通控制信号。 (2)RD*和WR*为外扩数据存储器和I/O的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号。 (4)EA*为片内、片外程序存储器的选择控制信号。
(2)数据总线(Data Bus,DB):用于单片机与外部存储器 之间或与I/O接口之间传送数据,数据总线是双向的。
(3)控制总线(Control Bus,CB):控制总线是单片机发出 的各种控制信号线。
7
如何来构造系统的三总线。 1.P0口作为低8位地址/数据总线 AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用 作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发 出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位 地址(A7~ A0)。随后,P0口又作为数据总线口(D7~ D0),如 图8-2所示。 2.P2口的口线作为高位地址线 P2口用作系统的高8位地址线,再加上地址锁存器提供的低8 位地址,便形成了系统完整的16位地址总线。
通常把单片机系统的地址线笼统地分为低位地址线和高位地
1122
址线,“片选”都是使用高位地址线。实际上,16条地址线 中的高、低位地址线的数目并不是固定的,只是习惯上把用 于 “单元选择”的地址线,都称为低位地址线,其余的为高 位地址线。
常用的存储器地址空间分配方法有两种:线性选择法(简 称线选法)和地址译码法(简称译码法),下面介绍。 1.线选法
单片机存储器扩展

单片机存储器扩展在单片机的应用中,常常会遇到内部存储器容量不足的情况。
这时候,就需要对单片机的存储器进行扩展,以满足系统对存储容量的需求。
单片机的存储器可以分为程序存储器和数据存储器。
程序存储器用于存储单片机运行的程序代码,而数据存储器则用于存储程序运行过程中的数据。
当单片机内部的存储器无法满足应用需求时,就需要通过外部扩展来增加存储容量。
在进行存储器扩展之前,我们需要了解单片机的存储器寻址方式。
不同的单片机可能有不同的寻址方式,但通常都包括直接寻址、间接寻址和变址寻址等。
了解寻址方式对于正确进行存储器扩展至关重要。
对于程序存储器的扩展,常用的方法是使用外部只读存储器(ROM),如 EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)等。
扩展时,需要将外部 ROM 与单片机的地址总线、数据总线和控制总线正确连接。
地址总线用于指定存储器的地址,数据总线用于传输数据,控制总线则用于控制存储器的读写操作。
以常见的 8051 单片机为例,它的地址总线为 16 位,可以寻址64KB 的存储空间。
如果要扩展 32KB 的程序存储器,我们可以选用一片容量为 32KB 的 EPROM 芯片,如 27256。
将 EPROM 的地址线 A0A14 与单片机的地址总线 A0 A14 相连,数据线 D0 D7 与单片机的数据总线 D0 D7 相连。
控制总线中的片选信号(CS)通常通过地址译码器来产生,以确保在特定的地址范围内选中该 EPROM 芯片。
在数据存储器的扩展方面,常用的是外部随机存取存储器(RAM),如静态 RAM(SRAM)和动态 RAM(DRAM)。
SRAM 速度较快,但价格相对较高;DRAM 价格较低,但需要不断刷新。
同样以 8051 单片机为例,如果要扩展 8KB 的数据存储器,可以选用一片 6264 SRAM 芯片。
连接方式与程序存储器扩展类似,地址线和数据线分别与单片机的对应总线相连。
单片机原理及接口技术课后习题第9章 答案

第九章复习思考题1. 计算机系统中为什么要设置输入输出接口输入/输出接口电路是CPU与外设进行数据传输的桥梁。
外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU 输出到接口电路,然后与接口相接的外设获得数据。
CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。
2. 简述输入输出接口的作用。
I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。
3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种各有什么特点在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。
在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。
条件控制方式也称为查询方式。
CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。
在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。
传输完数据后,返回原来的程序继续执行。
直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA 控制器控制,使数据在存储器与外设之间直接传送。
4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。
第9章 单片机的指令系统说明

计算机总是把操作数当作有符号数(补码形式)看待 并影响PSW的相关标志位。影响情况如下: 进位/借位标志CY: 两数和的D7位有进位时,(CY)=1,否则,(CY)=0。 半进位/借位标志AC: 两数和的D3位有进位时,(AC)=1,否则,(AC)=0。 溢出标志OV: 两数和的D7,D6位只有一位有进位时,(OV)=1;否则, (OV)=0,即OV=C6⊕C7。 奇偶标志P: 当累加器A中“1”的个数为奇数时,(P)=1;为偶数 时(P)=0。
例2 把片外RAM的36H单元中的数据送到片外RAM的 1200H单元。 〈分析〉(36H)→(1200H) 程序如下: MOV R1,#36H MOVX A ,@R1 MOV DPTR,#1200H MOVX @DPTR, A <想一想>下面的程序可以实现吗? MOV DPTR, #1200H MOV R1,#36H MOV @DPTR,@R1 注意:片外RAM之间不能直接传送数据,必须经过累加器 A
例5 试分析8051单片机执行下述指令后,累加器A和PSW各标 志位的变化。 MOV A,#0A5H ADD A,#0CFH 解: (A)=10100101B + Data=11001111B CY 01110100B C7 C6 AC (CY)=C7=1;(AC)=1;溢出标志(OV)=C7⊕C6=1⊕0=1,有 溢出;(P)=0。执行结果:(A)=74H。 若为无符号数运算, (CY)=1,表示结果超出(0~255) 范围。若为带符号数运算,因(-49)+(-91)=-140,超出了 (-128~+127)的范围,所以OV=1溢出。
半字节交换 XCHD A,@Ri SWAP A
;(A3~0)((Ri)3~0) ;(A3~0)(A7~4)
第9章 80C51单片机系统扩展技术

15
9.2.2 地址锁存器芯片
1. 锁存器74LS373
74LS373的结构及引脚
04:17
16
2. 锁存器8282
功能及内部结构与74LS373完全一样,只是其引脚的排列与 74LS373不同 ,8282的引脚如下图。
04:17
17
引脚的排列为绘制印刷 电路板时的布线提供了方便。
04:17
18
04:17
10
地址总线(AB): 由P2口提供高8位地址线, 此口具有输出锁存 的功能, 能保留地址信息。 由P0口提供低8位地址线。
数据总线(DB): 由P0口提供。 此口是双向、 输入三态控制的 8位通道口。
控制总线(CB): 扩展系统时常用的控制信号为:
ALE——地址锁存信号, 用以实现对低8位地址的锁存。
04:17
13
9.2.1 数据存储器芯片
典型型号有:6116、6264、62128、62256。+5V电源供电, 双列直插,6116为24引脚封装,6264、62128、62256为28 引脚封装。
6116:2KB 6264:8KB 62128:16KB 62256:32KB
04:17
14
04:17
3. 锁存器74LS573
输入的D端和输出的Q端也是依次排在芯片的两侧,与锁存 器8282一样,为绘制印刷电路板时的布线提供了方便。
04:17
19
9.2.3 数据存储器的扩展电路
需要考虑与80C51相连的存储芯片引脚:
80C51 CPU
存储芯片
(1)地址总线P0.0-P0.7 74LS373 (2)地址总线P2.0-P2.n-9 (3)数据总线的P0.0-P0.7
51单片机C语言应用与开发(第9章)

4. 具有将可变的选择与特殊操作组合在一起的 能力,改善了程序的可读性;
5. 提供的库包含许多标准子程序,具有较强的 数据处理能力; 6. 由于具有方便的模块化编程技术,使已编好 程序可容易地移植;
C51程序结构
预处理命令 全局变量说明; 函数1说明; …… …… 函数n说明;
main() { 局部变量说明; 执行语句; 函数调用(实际参数表); 函数1(形式参数说明) { 局部变量说明; 执行语句; 函数调用(实际参数表); } …… …… 函数n(形式参数说明) { 局部变量说明; 执行语句; 函数调用(实际参数表); }
8
片内RAM,间接寻址,共256字节。
片外RAM,分页间址,共256字节。(MOVX @Ri)
xdata
code
16
16
片外RAM,间接寻址,共64k字节。(MOVX @DPTR)
ROM区域,间接寻址,共64k字节。(MOVC @DPTR)
访问片内RAM比访问片外RAM的速度要快得 多,所以对于经常使用的变量应该置于片内 RAM中,即用bdata、data、idata来定义;对 于不经常使用的变量或规模较大的变量应该置于 片外RAM中,即用pdata、xdata来定义。例如:
/* IP */ sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8; /* P3 */ sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; /* SCON */ sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98; #endif
单片机的存储器结构

位地址
7CH 74H 6CH 64H 5CH 54H 4CH 44H 3CH 34H 2CH 24H 1CH 14H 0CH 04H
7BH 73H 6BH 63H 5BH 53H 4BH 43H 3BH 33H 2BH 23H 1BH 13H 0BH 03H
7AH 72H 6AH 62H 5AH 52H 4AH 42H 3AH 32H 2AH 22H 1AH 12H 0AH 02H
单片机原理及应用
51单片机的存储器分为程序存储器(ROM)和数据存储 器(RAM)。
程序存储器ROM(Read Only Memory),即只读存储 器,其特点是在程序正常运行时,CPU对ROM存储器只能进 行读操作。它通常用来存储固定不变的程序和数据,如引导 程序、基本输入输出系统程序等。系统掉电后,ROM中的信 息不会丢失。
片内数据存储器可使用8位地址进行访问,其最大可寻址的范围为256个地址单元。 访问片外数据存储器采用间接寻址方式,间接寻址寄存器有以下两种:
➢ R0或R1:二者都是8位寄存器,寻址范围最大为256个单元。 ➢ DPTR:16位地址指针,寻址范围可达64KB。
在访问片外数据存储器时,寻址范围如果超过了256B,就不能用R0或R1作为间接寻 址寄存器了,这时必须使用DPTR寄存器作为间接寻址寄存器。
3. 用户RAM区(30H—7FH) 在片内RAM的低128单元中,通用寄存器占32个单元,位寻址区占16个单元,剩下 的80个单元为供用户使用的一般RAM区,其地址空间为30H~7FH。这部分区域的使用 没有任何规定和限制,但应注意的是,堆栈一般开辟在这个区域中。
12
单片机原理及应用
数据存储器RAM(Random Access Memory),即可 随机读写存储器。它用于存放程序运行期间的中间数据,可 随时进行读写操作。系统掉电时,数据会全部丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0001 0010 0010 01000 10000
AA1151234==11
2148000080000H0HH~~~2148707FFFFFFHFHH
不同片选2K内存地址分配表(高有效)
A15 A14 A13 A12 A11
00001 00010 00100 01000 10000
那么:该存储器的地址范围是3000H~37FFH 问题:如果要访问2716的第3210H单元,P0口和P2口分别送出的地址数据是什么?
线选方式地址分配表
二进制表示
A15 A14 A13 A12 A11 A10
…
0
…
芯片 Ⅰ
0
0
1 1 01
…
0
…
芯片 Ⅱ
0
0
1 0 11
…
0
…
芯片 Ⅲ
0
0
0 1 11
3.分配存储器的地址空间 根据单片机的寻址范围和系统要求: 1)分配ROM的地址空间 2)分配RAM的地址空间 3)兼顾I/O接口 4)兼顾外围设备 4.设计片选逻辑 按照地址空间: 1)确定片选信号的产生方式 2)设计其逻辑电路。
5.核算对系统总线的负载要求 单片机系统总线的负载能力是有限的,一般
送低8位地址时由
ALE打开“地址锁存
器” 、送8位数据时
由ALE关闭“地址锁 存器”
合
称
三
总
线
P0口+P2口构成16位地址总线:其中: P0口低8位、P2口高8位 P0口单独构成8位数据总线 ALE、/RD、/WR、/PSEN一起构成控制总线
首先让我们认识存储器
凹槽左边为第1脚,逆时针方向2、3、4…脚 “61”为半导体数据RAM、“27”为紫外线擦除ROM、“28”为电擦除 ROM A0~A10为地址总线(“16”代表容量为2KB) D0~D7为数据总线 / WE为写信号、/OE为读信号、/CE为片选信号,合称控制总线 VCC / VDD为电源+端、GND / VSS为电源地
现假设剩下的两根高位地址线A14、A15都为低电平,这样可得到3个芯片 的地址分配。
高位地址
基本地址
其中:P0.0对应A0 P0.1对应A1 P0.2对应A2 …… P0.5对应A5 P0.6对应A6 P0.7对应A7 P2.0对应A8 P2.1对应A9 P2.2对应A10 …… P2.5对应A13 P2.6对应A14 P2.7对应A15
EEPROM已经在智能仪表、检测控制系统和微机开发装 置中得到广泛应用。
右所示为 8051扩展2816A作 为外部程序存储 器的接口电路。 图中2816A的地址 线和数据线的连 接与EPROM情况相 同。
按能够带动几个标准TTL门电路来设计。 如果考虑了存储器和其他负载以后,总负载
超过了总线的负载能力,就要接入总线驱动器。
思考题
参照右图,直接写出8片 存储器的地址。
扩展程序存储器
常用程序存储器芯片介绍
1.EPROM芯片 常用的EPROM中 27系列芯片是Intel 公司的系列产品, 采用紫外线擦除。
有重叠现象、不能充分利用微处理器的内存空间。 原因是:用作片选信号的高位地址线的信号状态得不到
充分利用。
译码方式: 优点: 存储器芯片的地址空间连续,且唯一确定。不
存在地址重叠现象,能够充分地利用内存空间。 缺点:电路连接稍复杂 原因:增加硬件开销 ※当译码器输出端留有空余时,便于继续扩展存储
器或其他外围器件。
0
1
VPP
×
×
VPP
VCC
D7~D0
VCC VCC VCC VCC VCC
DOUT 高阻
DIN VOUT 高阻
2. EEPROM芯片
型号 性能
2816
存储容量/bit
2KB×8
读出时间/ns
250
读操作电压/V 5
擦/写操作电压/V 21
字节擦除时间/ms 10
写入时间/ms
10
封装
DIP24
2816A 2817 2817A 2864A
下图为8031与3片EPROM连接的电路:
你能直接分别写出三块存储器的地址吗?
下图是采用译码方式对8051扩展3片2764EPROM的接口电路。图中 利用2根高位地址线P2.6和P2.7(A14和A15),经2/4译码器后,3根 译码输出线分别接到3片2764的端。
你能直接分别写出三块存储器的地址吗?
11 11 01
1 1 11 1
1
1 1 1 11
1
1
11 1 1 1
10 11 11 11 11 11 11
1
11 1 1 1
0
11 1 1 1
1
01 1 1 1
1
10
111
1
11 0
11
1 11 1
01
1 11 1
10
下面是通过74LS138译码器的 /Y0、/Y1、/Y2分别作为3片6116的片选信号
/Y0=0时,芯片(1)被选通,即:A15=1、A14=0、A13=0、A12=0、A11=0 时才可以对芯片(1)进行读或写
/Y1=0时,芯片(2)被选通,可以进行读或写,即:A15=1、A14=0、 A13=0、A12=0、A11=1时才可以对芯片(2)进行读或写
/Y2=0时,芯片(3)被选通,可以进行读或写,即:A15=1、A14=0、 A13=0、A12=1、A11=0时才可以对芯片(3)进行读或写
问题:假设A12~A15均为高
芯 片(1)的地址范围是? 芯 片(2)的地址范围是?
思考题
1、按下图所示,直接写出两片存储器的地址。
2.全译码方式
全译码方式是将片内寻址的地址线以外的高 位地址线,全部输入到译码器进行译码,利用译码 器的输出端作为各存储器芯片的片选信号。
常用的译码器有:
74LSl38(3/8译码器) 74LSl39(双2/4译码器) 74LSl54(4/16译码器) 这里介绍74LSl38译码器。
2KB×8 200/250 5 5 9~15 9~15 DIP24
2KB×8 2KB×8 8KB×8
250
200/250 250
5
5
5
21
5
5
10
10
10
10
10
10
DIP28 DIP28 DIP28
下图为2816/2816A、2817/2817A和2864A的引脚。
注意:1、这些芯片的读出时间较短,擦除和写入时间比较长 2、型号不带“A”的是早期产品,其擦/写操作电压高于5V 3、型号带“A”的改型芯片的擦/写操作电压为5V
为了便于理解我们将译码器简化成下图:
CBA
/Y
000
0
001
0
010
0
011
0
100
0
101
0
110
0
111
0
74LS138真值表
输入 允许
选择
输
出
1OE 2OE
×
1
0
×
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
CBA
××× ××× 000 001 010 011 100 101 110 111
YO Y1 Y2 Y3 Y4 Y5 Y6 Y7
根据译码器的逻辑关系和存储器的片内寻址范围,可以 得到3个芯片的地址空间。
芯片Ⅰ 芯片Ⅱ 芯片Ⅲ
全译码方式实现片选的地址分配表
二进制表示 A15 A14 A13 A12 A11 A10 … A0
十六进制表示
1
0
0
0
0
0 … 0~
8000H~87FFH
1
0
0
0
0
1… 1
1
0
0
0
1
0 … 0~
8800H~8FFFH
EPROM与单片机的连接
注意:2732A的连接方式与RAM的连接方式基本相同,唯一区别是: 1、RAM:单片机的/RD、/WR分别接吧/OE、/WE 2、ROM:单片机的 /PSEN 接 /OE
2.扩展多片EPROM
当扩展一片EPROM不能满足要求时,可以采用扩 展多片EPROM的方法。这时所有芯片的片选端都必须适 当连接,也就是要使用片内寻址以外的高位地址线, 以线选或译码方式提供片选信号。
知识点:
三总线RAM存ຫໍສະໝຸດ 芯片及其扩展EPROM存储芯片及其扩展 EEPROM存储芯片及其扩展
通过第2章的学习我 们知道:
单片机内部配置的存储器
单片机外部可扩充的存储器
如何扩充外部存储器是本 章要解决的问题
为解决P0口一口两用,
单造成片数机据和扩地展址混成淆三总线的结构图
的问题,常用“地址
锁存器”加以区分:
…
十六进制 A0
0
1
3000H~37FFH
0
1
2800H~2FFFH
0
1
1800H~1FFFH
也可以用一根高位地址线 加一“非门”,对两片存储器实 现片选,如右图所示。图中当 A1l为低电平时选通芯片(1), 当A1l为高电平时选通芯片(2)。 两芯片的地址空间为:(假设 A12~A15均为低)
芯 片 (1) 0000H~07FFH 芯 片 (2) 0800H~0FFFH
片选信号与地址分配的关系
片选信号:单片机使存储芯片进入工作状态的信号。
一个存储器芯片具有一定的地址空间。
例如:11根地址线的芯片,其地址空间为2KB(211=2048个单