760 likes | 982 Views
计算机硬件技术基础. 专题八 MCS-51 单片机系统扩展. 第七章. 主讲教师 赵晓安. 计算机科学与软件学院计算机基础教学部. 本专题重点讲授内容及要求. 一、 ROM 类作程序存储器的扩展 二、 RAM 类作数据存储器的扩展 三、程序和数据存储器混合扩展 四、存储器与 I/O 口综合扩展 五、选片方法 1 、线选法 2 、译码法 六、掌握上述各类芯片的扩展方法. 第七章 MCS-51 单片机系统扩展. 7.1 概 述 7.2 外部程序存储器的扩展 7.3 外部数据存储器的扩展
E N D
计算机硬件技术基础 专题八 MCS-51单片机系统扩展 第七章 主讲教师 赵晓安 计算机科学与软件学院计算机基础教学部
本专题重点讲授内容及要求 一、ROM类作程序存储器的扩展 二、RAM类作数据存储器的扩展 三、程序和数据存储器混合扩展 四、存储器与I/O 口综合扩展 五、选片方法 1、线选法 2、译码法 六、掌握上述各类芯片的扩展方法
第七章 MCS-51单片机系统扩展 7.1 概 述 7.2 外部程序存储器的扩展 7.3 外部数据存储器的扩展 7.4 外部数据存储器和外部程序存储器的综合扩展
7.1 概 述 7.1.1 MCS-51单片机外部扩展总线 7.1.2 地址锁存器 7.1.3 地址译码器及地址译码技术
7.1 概 述 在组成单片机应用系统时: 首先遇到的问题就是存储器的扩展。单片机内部设置的存储器一般容量较小,满足不了实际需要,因此需要配置外部存储器,包括程序存储器和数据存储器。 其次要解决的问题是I/O口的扩展。 当外围设备较多时,仅有的几个内部I/O接口就不够用,在大多数应用系统中,MCS-51单片机都需要扩展输入/输出接口芯片,有时还需要扩展定时器、串行口、数模转换器(D/A)和模数转换器(A/D)以满足实际需要。
正常扩展的最大范围 程序存储器: 8031 64KB 8051/8751 60KB 数据存储器/I/O口: 64KB 但应用中不一定最大范围扩展
扩展 方法 1、根据单片机的型号和应用系统的要求 确定扩展存储器的类型、容量或I/O口的类型 包括芯片的类型、个数、容量、特点、要求 2、确定作程序存储器 /PSEN 数据存储器 /RD、/WR 混合存储器 /RD./PSEN 3、进行地址统筹,为各器件分配地址 4、根据位扩展、字扩展,确定片选方式 5、如何与三总线连接?
半导体存储器 双极型 SRAM 静态 RAM 型 MOS 动态 DRAM 掩膜 ROM ROM 可编程 ROM EPROM EEPROM ROM 可擦除 Flash ROM 半导体存储器的分类 按读写方式分类
半导体存储器的基本结构 AB DB 译码驱动器 矩阵存储体 读写电路 片选线 读写控制线 • E 矩阵存储体 • E译码驱动器 • E 读写电路 • E地址总线 • E数据总线 • 控制总线 • 电源线 存储器或I/O口要与CPU相连,除了要有三总线外,还要有片选信号,CPU通过指令和指令中的地址,产生该地址所在芯片的片选信号,只有被选中的芯片, CPU才能对它进行读写操作。 新概念
I/O接口分类 1、可编程接口/不可编程接口 2、串行接口/并行接口 3、定时/计数器 4、模/数、数/模转换器
I/O接口 AB 联络线 CB 片选线 读写控制线 DB I/O接口的基本结构
MCS-51单片机的引脚功能 MCS-51系列单片机芯片均为40个引脚,HMOS工艺制造的芯片采用双列直插式封装(DIP)。 本节主要介绍引脚功能和引脚功能的复用。
引脚功能 3、控制信号引脚,具体功能见P50页。 ALE 地址锁存控制信号。 PSEN 片外片外程序存储器选通信号,低电平有效。 EA 访问外部程序存储器的控制信号,低电平有效 RST复位信号,高电平有效。 1、电源引脚Vss和Vcc Vss为电压接地端,Vcc为+5V电源端。 2、时钟电路引脚XTAL1和XTAL2 XTAL1和XTAL2是外接晶体引线端。当芯片使用内部时钟时,用于外接石英晶体和电容;当用外部时钟时,用于接外部时钟脉冲信号。
4、I/O(输入/输出)端口(Port)P0、P1、P2、P3 P0口是一个漏级开路的8位双向I/O口。在访问外存储器时,P0分时提供低8位地址线和8位双向数据线。 当不接外存储器或不扩展I/O口时,P0口可作为一个通用输入输出接口。 P1口是一个带内部上拉电阻的准双向口。P1口只能做通用输入输出口。 P2口是一个带内部上拉电阻的准双向口。在访问外部存储器只输出高8位地址。 P3口为双功能口,除了作为一般的准双响通用接口外,每个引脚还有特殊的功能。
引脚信号的第二功能 P3.0 RxD 串行数据接受 P3.1 TxD 串行数据发送 P3.2 INT0 外部中断0申请 P3.3 INT1 外部中断1申请 P3.4 T0 定时器/计数器0计数输入 P3.5 T1 定时器/计数器1计数输入 P3.6 WR 外部RAM或I/O口写选通 P3.7 RD 外部RAM或I/O口读选通 P3口线的第二功能
7.1.1 MCS-51单片机外部扩展总线 1、 MCS-51单片机对外扩展三总线
图2-19 片外ROM读时序 ⒉ 访问存储器的时序 ⑴ 访问程序存储器的时序如图2-19所示。 P0口什么时间是数据总线?什么时间是地址总线的低8位,为什么外加锁存器?
图2-20 片外RAM读时序 ⑵ 访问外部数据存储器或I/O口的时序如图2-20
7.1.2 地址锁存器 MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储器扩展时,必须利用地址锁存器将地址信号锁存起来 。
A0~A7 P0.0~P0.7 接地 接ALE
7.1.3 地址译码器及地址译码技术 ⒈ 地址译码器 1)74LS138 2)74LS139 2. 地址译码技术 1)线选法(用片外单根地址线做片选信号) 2)地址译码法(用译码器对片外地址线进行译码产生片选信号)
⒈ 地址译码器 图7-4 74LS138引脚图 图7-5 74LS139引脚图
表7-1 74LS138功能表 输入 输出 选择输入 使能输入 G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 × × × × × 1 1 1 1 1 1 1 1 × 1 × × × × 1 1 1 1 1 1 1 1 × × 1 × × × 1 1 1 1 1 1 1 1 注:表中输入端,“1”表示高电平,“0”表示低电平,“×”表示任意电平。输出端,“1”
输入 输出 选择输入 使能输入 G B A Y0 Y1 Y2 Y3 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 × × 1 1 1 1 表7-2 74LS139功能表
2. 地址译码技术 地址译码技术的核心就是如何产生片选信号,也就是片选技术。具体的方法有两种: 1)线选法 2)地址译码法 掌握片选技术是系统扩展的关键,因此,首先要弄懂以下几个问题:
扩展中的片选技术—— 难点 分清片内地址线与片外地址线(容量) 要扩展的芯片个数,统筹考虑分配地址 分清程序存储器和数据存储器或I/O口 同类存储器防止地址重合 用片外地址线进行片选,被选中的芯片才能与CPU 进行读/写操作。
地址译码技术举例 1) 线选法——例7-1 表7-3 例7-1的地址分配表
线选法 图7-6 线选法地址译码
外围器件 地址选择线(A15~A0) 片内地址单元数 地址编码 6264 0 0 0× ×××× ×××× ×××× 8K 0000H~1FFFH 8255 0 0 1 1 1 1 1 1 1 1 1 1 1 1 ×× 4 3FFCH~3FFFH 8155 RAM 0 1 0 1 1 1 1 0×××× ×××× 256 5E00H~5EFFH I/O 0 1 0 1 1 1 1 1 1 1 1 1 1 ××× 6 5FF8H~5FFDH 0832 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH 8253 1 0 0 1 1 1 1 1 1 1 1 1 1 1 ×× 4 9FFCH~9FFFH 2)地址译码法 例7-2
译码法 0000H~1FFFH 2000H~3FFFH 4000H~5FFFH 6000H~7FFFH 8000H~9FFFH 图7-7 地址译码法实例
7.2 外部程序存储器的扩展 7.2.1 外部程序存储器的扩展原理 7.2.2 EPROM扩展电路
P0 MCS-51 ALE P2 PSEN 指令 EPROM /EEPROM 地址 OE 锁存器 低八位地址 高八位地址 图7—8MCS-51单片机程序存储器的扩展 7.2.1 外部程序存储器的扩展原理 硬件电路如图7-8所示。 MCS-51单片机访问外部程序存储器所使用的控制信号有: ALE:低8位地址锁存控制信号 PSEN:外部程序存储器“读取”控制信号
7.2.2EPROM扩展电路 1.常用EPROM芯片介绍
2、扩展电路实例 扩展一片EPROM 2732A 扩展两片EPROM 27256 扩展两片EPROM 2764 线选法
bit 扩展一片EPROM——2732A 0000H~0FFFH
bit bit 0000H~7FFFH 扩展两片 27256 8000H~0FFFFH
2764 工作方式真值表 /CE /OE /PGM VPP D0~D7 方式 0 0 1 +5V 输出 读 1 +5V × × 高阻 维持 0 1 0 VPP 输入 编程 0 0 1 VPP 输出 编程校验 1 VPP × × 高阻 编程禁止 EPROM 2764——程序存储器 注:VPP为编程脉冲,可以为 +5V,+12.5v,+21V,+25V等
P2.5 5 线选 1 P2 P2.4P2.3P2.2P2.1P2.0 74LS373 D7 … D0 Q7 … Q0 A0~A7 2764 8KB 8 P0 G ALE A0 ~ A12 A0 ~ A12 2764 IC1 2764 IC2 8 D0~D7 D0~D7 OE OE CE CE 8031 PSEN 0000H~1FFFH 2000H~3FFFH EA OE
地址空间——地址段不惟一 A15 A14 A13 A12 A11 A10 A9 A8 A7~A0 存储器 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 X X 0 0 0 0 0 0 0~0 000B 010B 100B 110B 0000H、4000H、8000H、C000H IC1 1 1 1 1 1 1~1 1FFFH、5FFFH、9FFFH、DFFFH X X 1 0 0 0 0 0 0~0 001B 011B 101B 111B 2000H、 6000H、A000H、E000H IC2 1 1 1 1 1 1~1 3FFFH、7FFFH、BFFFH、FFFFH
7.3 外部数据存储器的扩展 外部数据存储器的扩展原理 7.3.2 静态RAM扩展 7.3.2 动态RAM扩展(略)
P1 P0 ALE 8031 P2 P3 RD WR 数据 地址 RAM (2K×8) WE OE 锁存器 外部数据存储器的扩展方法原理 P0口为RAM的复用地址/数据总线, P2口的三根线用于对RAM进行页面寻址。 在对外部RAM读/写期间,CPU产生/RD/WR信号。
扩展两片SRAM 6264 7.3.1 静态RAM扩展 译码法 线选法
线选 P2.5 5 1 P2 P2.4P2.3P2.2P2.1P2.0 74LS373 6264 8KB 8 D7 … D0 Q7 … Q0 A0~A7 +5V +5V P0 G ALE A0 ~ A12 A0 ~ A12 8 6264 IC1 CE2 6264 IC2 CE2 D0~D7 D0~D7 OE CE1 OE CE1 8031 WE WE RD WR 0000H~1FFFH 2000H~3FFFH EA OE
地址空间——地址段不惟一 A15 A14 A13 A12 A11 A10 A9 A8 A7~A0 存储器 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0 X X 0 0 0 0 0 0 0~0 000B 010B 100B 110B 0000H、4000H、8000H、C000H IC1 1 1 1 1 1 1~1 1FFFH、5FFFH、9FFFH、DFFFH X X 1 0 0 0 0 0 0~0 001B 011B 101B 111B 2000H、 6000H、A000H、E000H IC2 1 1 1 1 1 1~1 3FFFH、7FFFH、BFFFH、FFFFH 片外剩2根线,每片有4段地址段
全译码 P2.7 74LS138 6264 8KB C B A G2AG2BG1 Y7 … Y1 Y0 5 P2.6 P2.5 片内13根 片外3根 8 +5V +5V +5V P2 P2.4 P2.3P2.2P2.1P2.0 D7 … D0 Q7 … Q0 P0 A0~A7 8031 A0 ~ A12 A0 ~ A12 8 G 6264 IC1 6264 IC2 D0~D7 D0~D7 ALE CE1 OE OE CE1 WE WE CE2 CE2 74LS373 WR RD 0000H~1FFFH 2000H~3FFFH EA OE