第9章单片机总线与系统扩展
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.1
9.1.1
单片机系统总线和系统扩展方法
单片机系统总线信号
单片机是通过地址总线,数据总线和控制总线与外部交换信息
由图: 1)P0分时传送低8位地址/数据信息,用ALE信号 锁存低8位地址A0-A7,以分离地址和数据信息 2)P2口传送高8位地址A8-A15 3 )PSEN为外ROM的控制信号,在取指令码时或执 行MOVC指令时有效; RD、WR为外RAM和I/O口的读、写控制信号,执 行MOVX指令时有效
单片微型计算机与接口技术
(第 4版 )
第9章
单片机总线与系统扩展
学习内容
• • • • 单片机系统总线与扩展方法 程序存储器的扩展 数据存储器的扩展 并行I/O接口的扩展
单片机最小系统:
使单片机能运行的最少器件构成的系统 有ROM芯片:89c51等+复位+晶振电路 单片机的系统扩展:外接RAM、ROM或I/O接口等,以 满足应用系统的需要
特点: 只读、掉电后信息不丢失 用途:存放程序、常数和表格, 构成程序存贮器
RAM
特点:能读能写,掉电后信息会丢失 用途:存放现场数据、中间结果等经常要改变的数 RAM又分为静态存储器(SRAM)和动态存储(DRAM)
2.半导体存储器的指标(略)
例9-2 用8K×8的存储芯片组成容量为 64K×8的存储器: 1,共需几个芯片?共需多少根地址线?其中 几根作字选线?几根作片选线?
译码法:Y1*→2000H~3FFFH?
A15 A14 A13 A12 A11 A10 A9
C B A
A8 0
A7 0
A6 0
A5 0
A4 0
A3 0
A2 0
A1 0
A0 0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
地址范围:2000H~3FFFH (8K)
3进( A15—A13)8出(Y0*~Y7*) 能组成容量为64K×8的存储器
9.5 并行I/O接口的扩展
(三总线上挂I/O芯片)
外部扩展后, 提供给用户的I/O口只有P1整体或
P3的部分
I/O口扩展:视为外部RAM的一部分
扩展特点:统一编址,相同的控制信号、寻址 方式和指令、时序 扩展芯片:中小规模集成芯片(简单I/O) 可编程接口芯片(如8155, 8255等)
9.5.1 中小规模集成芯片扩展
A15—A13各选一片8K×8芯片,组成容量为24K×8的存 储器 A15、A14和A13所选芯片的地址范围分别为: 6000H~7FFFH、A000H~BFFFH和C000H~DFFFH
9.2.2 程序存储器的扩展(三总线上挂ROM)
1, EPROM 和 EEPROM的扩展
2PROM的性能 E 应满足单片机对其控制的时序要求
学习74LS138译码器
A 1 B C G2A G2B G1 Y7 GND 7
16 VCC
Y0 Y1 Y2 Y3 Y4 Y5 Y6
74LS138
8
9.2
存储器的扩展
9.2.1 存储器的基本知识
存储器:用来存储程序或数据的集成电路或介质
1.半导体存储器的分类 分为只读存储器ROM和随机存储器RAM ROM
9.1.2 外围芯片的引脚规律
计算机接口芯片引脚: 1,数据线引脚:通常为8根(并行通信) 2,地址线引脚:根数取决于存储单元的个数或I/O接口内寄 存器(又称为端口)的个数(如下表)
地址线
(N根)
10
1024 (1K)
11
2048 (2K)
12
4096 (4K)
13
8192 (8K)
14
16384 (16K)
3)片内ROM:无选通信号 片内RAM:无选通信号 (仍为MOVC类) (MOV类)
8XX51单片机扩展8KB静态RAM 6264的电路图:
RD WR P2.4 OE WE A12
. . .
. . .
D7
. . . . . . . . .
P2.0 P0.7
A8
CE2 Vcc GND CE1
+5V
P0.1 P0.0 ALE 8XX51
2864引脚
WR
8XX51单片机扩展程序存储器2732的电路图
扩展其他EEPROM EPROM的方法与上图同, 差别:不同的芯片的存储容量不同,使用地址线不同 扩展2716 (2KB)需要11根地址线
(需A8-A10 三条高位地址线)
扩展2764 (8KB)需要13根地址线
(需要A8-A12 五条高位地址线)
2PROM如表9-2,特点: 常用 E PSEN*:外部ROM的选通信号,取指令码和执行
*单+5V供电,电可擦除可改写 MOVC指令时有效
*使用次数为1万次,信息保存时间为10年 时序图:ALE、PSEN*、P0和P2配合使程序存储器扩展 *读出时间为ns级,写入时间为ms级
*芯片引脚信号与相应的RAM和EPROM芯片兼容
下面介绍单片机对片外RAM进行读、写操作的时序
1. 外RAM的读周期
(MOVX A,@Ri
或 MOVX A,@DPTR 时)
2. 外RAM的写周期
(MOVX @Ri, A
或 MOVX @DPTR ,A时)
区别:
1)读片外RAM:RD*有效,WR*无效,PSEN*无效 写片外RAM:WR*有效,RD*无效,PSEN*无效 2)访问片外ROM:有读无写,PSEN*选通,一个MC内ALE 二次有效 (MOVC类) 访问片外RAM:有读有写,RD*/WR*选通,一个MC内 ALE一次有效 (MOVX类)
8XX51
图9-19 20 8XX51单片机扩展缓冲器和锁存器I/O端口
……
74LS273 CLK 1D 2D 3D 4D 5D 6D 7D 8D CLR 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q +5V
输 出 数 据
例9-3 在图9-20中,将74LS244的输入数据从74LS273 输出, 使用如下指令: MOV DPTR, #0FEFFH MOVX MOVX A, @DPTR @DPTR,A ;DPTR指向扩展I/O地址 ;从244读入数据 (RD*有效) ;向273输出数据 (WR*有效)
0标志
不用
C口的位选择
置位/复位
注意:在写此控制字之前必须先写工作方式控制字 使PC3位输出“1”控制字为00000111B(07H) 使PC3位输出“0”控制字为00000110B(06H)
图9-20为8XX51扩展一个输入接口244 和一个输出接口273 的电路.
74LS244 P0.0 P0.1 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1G 2G 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4
输 入 数 据
P0.7 RD P2.0 1 WR 1
3,线选法:A14=0时,(A15=A13=1两高一低) →A000H~BFFFH?
A15 A14 A13 A12 A11 A10 A9
1 0 1 0 0 0 0 A8 0 A7 0 A6 0 A5 0 A4 0 A3 0 A2 0 A1 0 A0 0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
地址范围:A000H~BFFFH (8K)
74LS373
. . .
. . .
Q7
. . .
A7
D1 D0
G
Q1 Q0 OE
A1 A0 6264 RAM
D7
D1 D0
图 9.8 8XX51扩展6264外部数据RAM
•例:将外部数据RAM1050H地址单元中的内容读入A累 加器,可有如下两种程序。 第一种 MOV P2,#10H ;端口提供高8位地址 MOV R1,#50H ;Ri提供低8位地址 MOV A,@R1 第二种 MOV DPTR,#1050H MOVX A,@DPTR ;DPTR提供16位地址
9.5.2
可编程并行接口芯片的扩展
可编程并行接口芯片:通过编程设定工作方式 的接口芯片,有三总线引脚,和CPU或MCU连接非 常方便。 学习:扩展8255接口芯片
8255可编程接口芯片
有3个8位数据口:A口,B口,C口(其 中C口可作为两个四位口),通过PA PB PC引脚和外设相连,还有一 个控制口,口地址由A1,A0决定
15
32768 (32K)
16
65536 3,控制线、片选线引脚:(通常低电平有效)
读控制信号OE*(输出允许)或 RD*(读允许)
写控制信号WE*(写允许)或WR*(写) 片选引脚CS*(或CE*)选中使用总线
9.1.3
系统扩展的方法(三总线上挂芯片)
单片机←→外围芯片连线时应遵守原则: 1. 数据线的连接: D0-D7(单片机) ←→ D0-D7(外围芯片) 2. 控制线的连接: PSEN* (单片机)←→OE* (外ROM) RD* (单片机)←→OE*/RD*(外RAM,I/O) WR* (单片机)←→WE*/WR*(外RAM,I/O) 3. 地址线的连接: A0-A15(单片机) ←→字选/片选(外围芯片)
2,若用74LS138进行地址译码,试画出译码 电路,并标出其输出线的选址范围. 3,若改用线选法,能够组成多大容量的存储 器?试写出各线选线的选址范围。
1,(64K×8)/(8K×8)=8, 共需要8片芯片。 64K=65536=216,组成64K的存储器共需16根地址线。 芯片8K=8192=213, 即13根作字选线,为A12~A0, 16-13=3, 即3根作片选线,为A15~A13 2,译码电路对A15~A13进行译码, 译码电路及译码输出线的 选址范围如图所示:
扩展ROM,应满足单片机的时序要求 PSEN*:外ROM的选通信号,取指令码和执行
MOVC指令时有效
从时序图中分析ALE、PSEN、Po和P2 时序图:ALE、PSEN*、P0和P2配合使程序存储器扩展 怎样配合使程序存储器完成取指操作 .
一个机器周期
P0
E2PROM的使用非常简单方便 2864引脚如图: 8XX51扩展2864/2732硬件电路 如图9-11所示。图中2864即可 作为数据存储器,又可作为程 序存储器。由于只扩展了一片, 片选端接地。
要把A累加器中内容写入外部数据RAM1050H地址单元, 其程序可为: MOV P2,#10H MOV R1,#50H MOVX @R1,A 或 MOV DPTR,#1050H MOVX @DPTR,A
程序存储器和数据存储器混合使用
实际设计和开发时,程序可放在RAM,可方便调试 和修改,可将程序存储器和数据存储器混合使用。 方法:将RD*信号和PSEN*相“与”后连到RAM的读选 通端OE即可以实现,见图9-17 当执行MOVX指令时产生RD*读 选通信号使OE*有效,当执行 该RAM中的程序时,有PSEN*信 号也使OE*有效,选通RAM,读 出其中的机器码。WR*信号依 然连接RAM的WE端。 图9-17
字选:片内选择,地址总线A0与芯片A0引脚等对应 连接 片选:芯片选择,信号有效,外芯片才被选中; 一类芯片仅一片时片选端可接地; 通过线选法、译码法进行片选
注意: 控制线相同,地址线不能相同 地址线相同,控制线不能相同
系统扩展结构如下图:
9.1.4 地址译码器
1.使用逻辑门译码(略) 2.利用译码器芯片 74LS139 (双2-4译码器) 74LS138 (3-8译码器) 74LS154 (4-16译码器)
扩展27128(16KB)需要14根地址线
(需要A8-A13六条高位地址线)
这是因为 存储器单元=2N N为地址线的根数(A0起) 1K=1024=210
2 FLASH存储器的扩展
为EEPROM的改进, 基本同E2PROM的扩展
9.3
数据存储器的扩展
(三总线上挂RAM)
51单片机只有128字节内RAM,需要更多RAM时,可片外 扩展,可扩展最大容量为64KB
A1 0 0 1 1 RD CS WR A0 0 1 0 1 A口 B口 C口 控制口
读写控制 片选端
8255的工作方式控制字(写,
# 一定≥80H,写入控制口
A1A0=11)
8255的C口置位/复位控制字(写, A1A0=11)
# 一定<80H , 写入控制口)
D7 D6 D5 D4 D3 D2 D1 D0
型
号
引 脚 数
容量/字节
引脚兼容的存储器
2816 2817 2864 28C256 28F512 28F010 28F020 28F040
24 28 28 32 32 32 32 32
2KB 2KB 8KB 32KB 64KB 128KB 256KB 512KB
2716,6116 2764,6264 27C256 27C512 27C010 27C020 27C040