单片机基础(第3版)——第6章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)控制信号 系统扩展时还需要单片机提供一些控制信号线,这就是扩 展系统的控制总线。这些控制信号包括:
使用ALE作地址锁存的选通信号,以实现低8位地址锁存。 /PSEN、/EA、/RD和/WR
6.1.2 并行扩展系统的I/O编址和芯片选取
数据线和控制信号线的连接比较简单,地址线的连接则 比较复杂,地址线的连接涉及到编址和芯片的选取问题。
2. 数据存储器扩展连接
数据存储器扩展与程序存储器扩展在数据线、地址线的连接上是 完全相同的,所不同的是控制信号。数据存储器则使用RD和WR 分别作为读/写选通信号。
6.3.3 用RAM芯片扩展可读/写的程序存储器 (不讲)
可用RAM芯片经过特殊连接,作为程序存储器 使用,使其既可以运行程序,又可以修改程 序,成为一个可读/写的程序存储器。
1. 单片机外扩展地址空间 单片机的外扩展地址空间,与它的存储器系统
有关。80C51单片机存储器系统与外扩展地址空间 结构如下图所示。
80C51单片机系统地址空间结构图
2. 片选技术
进行单片机系统扩展,首先要解决寻址问题,即如 何找到要访问的扩展芯片以及芯片内的目标地址单元。
为进行芯片选择,扩展芯片上都有一个甚至多个片 选信号引脚(常用名为CE或CS)。所以寻址问题就归结到 如何产生有效的片选信号。常用的芯片选择方法(即寻 址方法)有线选法和译码法两种。
6.4 80C51 单片机存储器系统的特点和使用方法
6.4.1 单片机存储器系统的特点 1. 程序存储器与数据存储器并存 程序存储器是保存程序的需要,而数据存储器则是运行程序 的需要。在系统中两种存储器是截然分开的,它们有各自的 地址空间、操作指令和控制信号。 2. 内外存储器并存 片内存储器是芯片固有的,使用方便存取快捷,但容量有限 ,难以满足系统需要;而片外存储器是系统扩展的。从而形 成了单片机系统既有内部存储器,又有外部存储器的结构。 3. 程序存储器地址具有连续性要求 在编程使用时,内外程序存储器空间的地址必须是连续的。
(2)译码法寻址
译码法,就是使用译码器对高位地址进行译码,以其译码 输出作为扩展芯片的片选信号。这是一种最常用的寻址方法, 能有效地利用存储空间,适用于大容量、多芯片的系统扩展。
6.2 存储器分类
6.2.1 只读存储器 1. 掩膜只读存储器
掩膜只读存储器编程是由半导体制造厂家完成的, 即在生产过程中实现编程。因编程过程是掩膜工艺,因 此称为掩膜ROM。
在地址总线(Address Bus,简写AB)上传送的是地址信号,用 外扩展存储单元和I/O端口的寻址。
(2)数据总线
数据总线(Data Bus,简写DB)用于传送数据、状态、指令和命 令。数据总线的位数应与单片机字长一致。
(3)控制总线
控制总线(Control Bus,简写CB)是一组控制信号线。
内外程序存储器衔接示意图
从上图可以看出:
由于0000H~0FFFH存储空间已被内部ROM占据,所以 外部ROM就不能再使用这部分存储空间了,相当于外部 ROM损失了4 KB的存储空间。
对于80C31这样没有内部ROM的单片机,应使/EA=0(接 地)。这样,只需对外部ROM进行寻址,寻址范围为 0000H~FFFFH,是一个完整的64 KB ROM空间。
对RAM可以进行读/写两种操作,但RAM是易失性 存储器,断电后所存信息消失。 按工作方式,RAM又分为静态(SRAM)和动态(DRAM)两种。
6.3 存储器并行扩展
扩展的程序存储器称为外部ROM,扩展的数据存储 器称为外部RAM。
6.3.1 程序存储器并行扩展
程序存储器扩展使用只读存储器芯片,以最简单的2716 芯片为例进行原理说明。2716引脚图主要引脚功能如下:
80C51存储器的4个物理存储空间和3个逻辑存储空间
6.4.2 80C51 单片机存储器的使用
1. 存储空间的区分 (1)内部程序存储器与数据存储器的区分
芯片内部的ROM与RAM是通过指令来相互区分的。读ROM时使用MOVC 指令,而读RAM时则使用MOV指令。
(2)外部程序存储器与数据存储器的区分
2. 内外程序存储器的衔接 出于连续执行程序的需要,内外程序存储器必须统一连 续编址,并使用相同的读指令MOVC。内外ROM面临地 址衔接问题。再考虑到80C51单片机系列芯片中,有些 芯片有内部ROM,有些芯片没有内部ROM。为此, 80C51单片机特别配置了一个EA(访问内外程序存储器 控制)信号。
(1)线选法寻址
所谓线选法,就是直接以位地址信号作为芯片的片 选信号。使用时只需把地址线与扩展芯片的片选信号引 脚直接连接即可。
假定单片机系统分别扩展了程序存储器芯片 2716、数据存储器芯片6116、并行接口芯片8255、 键盘/显示器接口芯片8279和D/A转换芯片0832,则 采用线选法寻址的扩展片选连接如下图所示。
对外部扩展ROM与RAM,同样使用指令来加以区分。读外部ROM使用 MOVC指令,而读/写外部RAM则使用MOVX指令。以/PSEN作为外部 ROM的读选通信号,以/RD和/WR作为外部RAM的读/写选通信号。
(3)内外数据存储器的区分
内部RAM和外部RAM是分开编址的,就造成了外部RAM前256个单元的 地址重叠。但由于有不同的指令加以区分,访问内部RAM使用MOV指令, 访问外部RAM使用MOVX指令,所以不会发生操作混乱。
在系统开发阶段,开关扳向开发端。Ⅰ芯片首地址为0000H,Ⅱ芯 片首地址为8000H。系统启动后,自动进入监控程序运行。这 样就可以借助监控程序,对可读/写程序存储器中的用户程序进 行调试。用户程序调试完成后,把开关扳向应用端,再把Ⅰ芯 片拔去,Ⅱ芯片的首地址即为0000H。这样,系统复位后,用 户程序就能自动运行。
总线结构可以提高系统的可靠性,增加系统的灵活性。
2. 80C51单片机并行扩展总线
80C51单片机并行扩展总线结构图
(1)以P0口的8位口线充当低8位地址线/数据线 将地址与数据分离后,为保存分离出的地址,需另外
增加一个8位锁存器,并以ALE作为锁存控制信号。
(2)以P2口的口线作高8位地址线 P2口只作为高位地址线使用,加上P0口提供的低8位地 址,就形成了完整的16位地址总线。使单片机外扩展的寻 址范围达到64K单元。
8FFFH,9000H~97FFH,9800H~9FFFH,A000H~A7FFH,
A800H~AFFFH…在这些地址区间内都能访问到2716,这就是线选法
存在的地址区间重叠问题。
6.3.2 数据存储器并行扩展
1. RAM芯片6116(存储容量为2 KB)
6116引脚图 A10~A0: 地址线。 D7~D0: 数据线。 CE: 片选信号。 OE: 数据输出允许信号。 WE: 写选通信号。 VCC: 电源(+5 V)。 GND: 地。
4. 电擦除可编程只读存储器
E2PROM(Electrically Erasable Programmable Read Only Memory)是一种用电信号编程也用电信号擦除的ROM芯片,它 可以通过读/写操作进行逐个存储单元的读出和写入,读/写功能 与RAM存储器相似,只是写入速度慢一些,但断电后却能保存 信息。
6.1.1 单片机并行扩展总线
由扩展系统结构图可知,扩展是通过系统总线进 行的。所谓总线就是连接单片机各扩展部件的一组公 共信号线,是系统共享的通路,通过总线把各扩展部 件连接起来,以进行数据、地址和控制信号的传送。
单片机并行扩展系统结构图
1. 并行扩展总线的组成
并行扩展总线包括3各组成部分,即地址总线、数据总 线和控制总线。 (1)地址总线
2. 可编程只读存储器(PROM)
PROM(Programmable Read Only Memory)Biblioteka Baidu片 出厂时没有任何程序信息,其程序是在开发现场由用户 写入的。但这种ROM芯片只能写入一次,其内容一旦 写入就不能再进行修改。
3. 可擦除可编程只读存储器(EPROM)
EPROM(Erasable Programmable Read Only Memory)芯 片的内容也由用户写入,但允许反复擦除重新写入。EPROM是 用紫外线擦除。
数据线的连接比较简单,只要把存储芯片的数据输出 引脚与单片机P0口线对应连接就可以了。
控制信号,程序存储器的扩展只涉及PSEN(外部程序 存储器读选通),把该信号连接到2716的OE引脚,用于存 储器读出选通。
(2)存储单元地址分析
只要把最低地址和最高地址找出来,扩展的存储器在存储空间中所
占据的地址范围即可确定。
把P2口中没有用到的高位地址线假定为0状态,则所扩展的2716芯
片的地址范围是:
最低地址
8000H
最高地址
87FFH
由于P2.6~P2.3的状态与2716芯片的寻址无关,所以在该芯片被寻
址时,P2.6~P2.3可以为任意状态,即从0000~1111共有16种状态组
合。表明2716芯片对应着16个地址区间,即8000H~87FFH, 8800H~
单片机基础(第3版)
李广弟等编著 北京航空航天大学出版社 2007年6 月
第6章 单片机并行存储器扩展
6.1 单片机并行外扩展系统 6.2 存储器分类 6.3 存储器并行扩展
6.1 单片机并行外扩展系统
外扩展是构建单片机系统的重要内容,有两类外扩 展: 存储器扩展和I/O扩展;有两种外扩展方法: 并 行扩展和串行扩展。
在运行程序时,需要有程序存储器的读信号 /PSEN;在修改程序时,要用到数据存储器 的读信号/RD和写信号/WR。现以6116芯片 为例,说明这3个信号的连接方法。其电路图 如下图所示。
把6116改造成程序存储器
下图给出了一个应用实例。Ⅰ芯片2764用于存放监控程序。Ⅱ芯片 6264已连接成可读/写程序存储器,用于存放和调试用户程序。
5. 闪速存储器(Flash ROM)
闪速存储器全称为快闪可编程/擦除只读存储器,简称闪速存 储器或Flash ROM。
6.2.2 数据存储器
在单片机系统中,数据存储器用于存放可随时修改 的数据。数据存储器扩展使用随机存储器芯片,随机存 储器(Random Access Memory)简称RAM。
A10~A0: 11位地址。 O7~O0: 数据读出。 CE/PGM: 片线。 OE: 输出允许信号。
2716引脚图 单片程序存储器扩展连接图
(1)存储器扩展的主要内容
存储器扩展的主要内容是地址线、数据线和控制线的连 接。2716的存储容量为2 KB,需11位地址(A10~A0)进 行存储单元编址。芯片的A7~A0引脚与地址锁存器的8位 地址输出对应连接,再把A10~A8引脚与P2口的P2.2~ P2.0相连。采用线选法进行片选,只需在剩下的高位地址 线中取一位(P2.7)与2716的CE端相连即可。
使用ALE作地址锁存的选通信号,以实现低8位地址锁存。 /PSEN、/EA、/RD和/WR
6.1.2 并行扩展系统的I/O编址和芯片选取
数据线和控制信号线的连接比较简单,地址线的连接则 比较复杂,地址线的连接涉及到编址和芯片的选取问题。
2. 数据存储器扩展连接
数据存储器扩展与程序存储器扩展在数据线、地址线的连接上是 完全相同的,所不同的是控制信号。数据存储器则使用RD和WR 分别作为读/写选通信号。
6.3.3 用RAM芯片扩展可读/写的程序存储器 (不讲)
可用RAM芯片经过特殊连接,作为程序存储器 使用,使其既可以运行程序,又可以修改程 序,成为一个可读/写的程序存储器。
1. 单片机外扩展地址空间 单片机的外扩展地址空间,与它的存储器系统
有关。80C51单片机存储器系统与外扩展地址空间 结构如下图所示。
80C51单片机系统地址空间结构图
2. 片选技术
进行单片机系统扩展,首先要解决寻址问题,即如 何找到要访问的扩展芯片以及芯片内的目标地址单元。
为进行芯片选择,扩展芯片上都有一个甚至多个片 选信号引脚(常用名为CE或CS)。所以寻址问题就归结到 如何产生有效的片选信号。常用的芯片选择方法(即寻 址方法)有线选法和译码法两种。
6.4 80C51 单片机存储器系统的特点和使用方法
6.4.1 单片机存储器系统的特点 1. 程序存储器与数据存储器并存 程序存储器是保存程序的需要,而数据存储器则是运行程序 的需要。在系统中两种存储器是截然分开的,它们有各自的 地址空间、操作指令和控制信号。 2. 内外存储器并存 片内存储器是芯片固有的,使用方便存取快捷,但容量有限 ,难以满足系统需要;而片外存储器是系统扩展的。从而形 成了单片机系统既有内部存储器,又有外部存储器的结构。 3. 程序存储器地址具有连续性要求 在编程使用时,内外程序存储器空间的地址必须是连续的。
(2)译码法寻址
译码法,就是使用译码器对高位地址进行译码,以其译码 输出作为扩展芯片的片选信号。这是一种最常用的寻址方法, 能有效地利用存储空间,适用于大容量、多芯片的系统扩展。
6.2 存储器分类
6.2.1 只读存储器 1. 掩膜只读存储器
掩膜只读存储器编程是由半导体制造厂家完成的, 即在生产过程中实现编程。因编程过程是掩膜工艺,因 此称为掩膜ROM。
在地址总线(Address Bus,简写AB)上传送的是地址信号,用 外扩展存储单元和I/O端口的寻址。
(2)数据总线
数据总线(Data Bus,简写DB)用于传送数据、状态、指令和命 令。数据总线的位数应与单片机字长一致。
(3)控制总线
控制总线(Control Bus,简写CB)是一组控制信号线。
内外程序存储器衔接示意图
从上图可以看出:
由于0000H~0FFFH存储空间已被内部ROM占据,所以 外部ROM就不能再使用这部分存储空间了,相当于外部 ROM损失了4 KB的存储空间。
对于80C31这样没有内部ROM的单片机,应使/EA=0(接 地)。这样,只需对外部ROM进行寻址,寻址范围为 0000H~FFFFH,是一个完整的64 KB ROM空间。
对RAM可以进行读/写两种操作,但RAM是易失性 存储器,断电后所存信息消失。 按工作方式,RAM又分为静态(SRAM)和动态(DRAM)两种。
6.3 存储器并行扩展
扩展的程序存储器称为外部ROM,扩展的数据存储 器称为外部RAM。
6.3.1 程序存储器并行扩展
程序存储器扩展使用只读存储器芯片,以最简单的2716 芯片为例进行原理说明。2716引脚图主要引脚功能如下:
80C51存储器的4个物理存储空间和3个逻辑存储空间
6.4.2 80C51 单片机存储器的使用
1. 存储空间的区分 (1)内部程序存储器与数据存储器的区分
芯片内部的ROM与RAM是通过指令来相互区分的。读ROM时使用MOVC 指令,而读RAM时则使用MOV指令。
(2)外部程序存储器与数据存储器的区分
2. 内外程序存储器的衔接 出于连续执行程序的需要,内外程序存储器必须统一连 续编址,并使用相同的读指令MOVC。内外ROM面临地 址衔接问题。再考虑到80C51单片机系列芯片中,有些 芯片有内部ROM,有些芯片没有内部ROM。为此, 80C51单片机特别配置了一个EA(访问内外程序存储器 控制)信号。
(1)线选法寻址
所谓线选法,就是直接以位地址信号作为芯片的片 选信号。使用时只需把地址线与扩展芯片的片选信号引 脚直接连接即可。
假定单片机系统分别扩展了程序存储器芯片 2716、数据存储器芯片6116、并行接口芯片8255、 键盘/显示器接口芯片8279和D/A转换芯片0832,则 采用线选法寻址的扩展片选连接如下图所示。
对外部扩展ROM与RAM,同样使用指令来加以区分。读外部ROM使用 MOVC指令,而读/写外部RAM则使用MOVX指令。以/PSEN作为外部 ROM的读选通信号,以/RD和/WR作为外部RAM的读/写选通信号。
(3)内外数据存储器的区分
内部RAM和外部RAM是分开编址的,就造成了外部RAM前256个单元的 地址重叠。但由于有不同的指令加以区分,访问内部RAM使用MOV指令, 访问外部RAM使用MOVX指令,所以不会发生操作混乱。
在系统开发阶段,开关扳向开发端。Ⅰ芯片首地址为0000H,Ⅱ芯 片首地址为8000H。系统启动后,自动进入监控程序运行。这 样就可以借助监控程序,对可读/写程序存储器中的用户程序进 行调试。用户程序调试完成后,把开关扳向应用端,再把Ⅰ芯 片拔去,Ⅱ芯片的首地址即为0000H。这样,系统复位后,用 户程序就能自动运行。
总线结构可以提高系统的可靠性,增加系统的灵活性。
2. 80C51单片机并行扩展总线
80C51单片机并行扩展总线结构图
(1)以P0口的8位口线充当低8位地址线/数据线 将地址与数据分离后,为保存分离出的地址,需另外
增加一个8位锁存器,并以ALE作为锁存控制信号。
(2)以P2口的口线作高8位地址线 P2口只作为高位地址线使用,加上P0口提供的低8位地 址,就形成了完整的16位地址总线。使单片机外扩展的寻 址范围达到64K单元。
8FFFH,9000H~97FFH,9800H~9FFFH,A000H~A7FFH,
A800H~AFFFH…在这些地址区间内都能访问到2716,这就是线选法
存在的地址区间重叠问题。
6.3.2 数据存储器并行扩展
1. RAM芯片6116(存储容量为2 KB)
6116引脚图 A10~A0: 地址线。 D7~D0: 数据线。 CE: 片选信号。 OE: 数据输出允许信号。 WE: 写选通信号。 VCC: 电源(+5 V)。 GND: 地。
4. 电擦除可编程只读存储器
E2PROM(Electrically Erasable Programmable Read Only Memory)是一种用电信号编程也用电信号擦除的ROM芯片,它 可以通过读/写操作进行逐个存储单元的读出和写入,读/写功能 与RAM存储器相似,只是写入速度慢一些,但断电后却能保存 信息。
6.1.1 单片机并行扩展总线
由扩展系统结构图可知,扩展是通过系统总线进 行的。所谓总线就是连接单片机各扩展部件的一组公 共信号线,是系统共享的通路,通过总线把各扩展部 件连接起来,以进行数据、地址和控制信号的传送。
单片机并行扩展系统结构图
1. 并行扩展总线的组成
并行扩展总线包括3各组成部分,即地址总线、数据总 线和控制总线。 (1)地址总线
2. 可编程只读存储器(PROM)
PROM(Programmable Read Only Memory)Biblioteka Baidu片 出厂时没有任何程序信息,其程序是在开发现场由用户 写入的。但这种ROM芯片只能写入一次,其内容一旦 写入就不能再进行修改。
3. 可擦除可编程只读存储器(EPROM)
EPROM(Erasable Programmable Read Only Memory)芯 片的内容也由用户写入,但允许反复擦除重新写入。EPROM是 用紫外线擦除。
数据线的连接比较简单,只要把存储芯片的数据输出 引脚与单片机P0口线对应连接就可以了。
控制信号,程序存储器的扩展只涉及PSEN(外部程序 存储器读选通),把该信号连接到2716的OE引脚,用于存 储器读出选通。
(2)存储单元地址分析
只要把最低地址和最高地址找出来,扩展的存储器在存储空间中所
占据的地址范围即可确定。
把P2口中没有用到的高位地址线假定为0状态,则所扩展的2716芯
片的地址范围是:
最低地址
8000H
最高地址
87FFH
由于P2.6~P2.3的状态与2716芯片的寻址无关,所以在该芯片被寻
址时,P2.6~P2.3可以为任意状态,即从0000~1111共有16种状态组
合。表明2716芯片对应着16个地址区间,即8000H~87FFH, 8800H~
单片机基础(第3版)
李广弟等编著 北京航空航天大学出版社 2007年6 月
第6章 单片机并行存储器扩展
6.1 单片机并行外扩展系统 6.2 存储器分类 6.3 存储器并行扩展
6.1 单片机并行外扩展系统
外扩展是构建单片机系统的重要内容,有两类外扩 展: 存储器扩展和I/O扩展;有两种外扩展方法: 并 行扩展和串行扩展。
在运行程序时,需要有程序存储器的读信号 /PSEN;在修改程序时,要用到数据存储器 的读信号/RD和写信号/WR。现以6116芯片 为例,说明这3个信号的连接方法。其电路图 如下图所示。
把6116改造成程序存储器
下图给出了一个应用实例。Ⅰ芯片2764用于存放监控程序。Ⅱ芯片 6264已连接成可读/写程序存储器,用于存放和调试用户程序。
5. 闪速存储器(Flash ROM)
闪速存储器全称为快闪可编程/擦除只读存储器,简称闪速存 储器或Flash ROM。
6.2.2 数据存储器
在单片机系统中,数据存储器用于存放可随时修改 的数据。数据存储器扩展使用随机存储器芯片,随机存 储器(Random Access Memory)简称RAM。
A10~A0: 11位地址。 O7~O0: 数据读出。 CE/PGM: 片线。 OE: 输出允许信号。
2716引脚图 单片程序存储器扩展连接图
(1)存储器扩展的主要内容
存储器扩展的主要内容是地址线、数据线和控制线的连 接。2716的存储容量为2 KB,需11位地址(A10~A0)进 行存储单元编址。芯片的A7~A0引脚与地址锁存器的8位 地址输出对应连接,再把A10~A8引脚与P2口的P2.2~ P2.0相连。采用线选法进行片选,只需在剩下的高位地址 线中取一位(P2.7)与2716的CE端相连即可。