单片机的片选和地址分配
eetrendMcu 2022-08-30

一片外围芯片具有一定的地址空间。例如11根地址线的芯片,其地址空间为2KB(2048)。这2KB地址空间在微处理器的内存空间(如8位微处理器有16根地址线,能寻址64KB)中被分配在什么位置,由高位地址线A11~A15产生的片选信号来分别确定。当外围芯片多于一片时,为了避免误操作,必须利用片选信号来分别确定各芯片的地址分配。产生片选信号的方式不同,存储器的地址分配也就不同。片选方式有线选、全译码和局部译码。

线选方式

线选方式,就是把一根高位地址线直接连外围芯片的片选端,如图1。图中Ⅰ、Ⅱ、Ⅲ都是2KB×8位存储器芯片,地址线 A10~A0 实现片内寻址B。现用3根高位地址线A11、A12、A13实现片选,均为低电平有效。为了不出现寻址错误,当All、A12、A13之中有一根地址线为低电平时,其余两根必须为高电平,即每次操作只能选中其中一个芯片,假设剩下的两根高位地址线 Al4、A15都为低电平,这样可得到3个芯片的地址分配,见表1。

图1 用线选方式实现片选

表1 线选方式地址分配表

可以看出 3 个芯片的内部寻址 A10~A0与都是从0~0(共11位),为2KB空间,而依靠不同的片选信号---高位地址线A11、A12、A13之中某一根为0,来区分这3个芯片的地址空间。
也可以用一根高位地址线加一“非门”,对两片存储器实现片选,如图2所示。图中当A11为低电平时选通芯片Ⅰ,当A11为高电平时选通芯片Ⅱ。类似上例方法,可得到两芯片的地址空间为:

芯片Ⅰ 0000H 一 07FFH

芯片Ⅱ 0800H 一 0FFFH

线选方式的接口电路简单,其缺点是芯片的地址空间相互之间可能不连续,不能充分利用微处理器的内存空间或者存在着地址重叠现象。不能充分利用内存空间的原因是:用作片选信号的高位地址线的信号状态得不到充分利用。在图1中,All、A12、A13这3根地址线的信号状态从000到111应有8种,若采用译
码方式能选通8个2KB 芯片,存储空间共计16KB。但在线选方式下,只能使用其中3种状态(即 3 位数码中只允许1位为“0”) ,选通3个2KB芯片,存储空间减为6KB。

图2 用一根高位地址线对两片储器实现片选

所谓“地址重叠”是指一个存储器芯片占用

一个以上的地址空间,或者说不同的地址会选通同一存储单元。这是因为作为片选信号的某根高位地址线有效而选通该芯片时,其它的高位地址线可能闲置未用,它们的电平可以为高也可以为低,这并不影响这个芯片的选通,但这样该芯片就会有不同的地址空间。以图1为例,当 Al1为低电平选通芯片I 时,此时 A12 、 A13 必须为高电平,然而表1中的 A14、A15的电平可高可低,这样对于芯片I ,实现上存在 4 个地址空间,它们是 3000H 一 37FFH 、 7000H 一 77FFH 、 B000H 一 B7FFH 和 F000H 一 F7FFH 。同理,芯片Ⅱ和Ⅲ也有4个地址空间。对于地址重叠现象,使用者要清楚,并认定其中一个地址空间进行编程使用。

由于线选方式不能充分利用内存空间,因此这种方式一般适用于存储容量较小的系统。

来源:玩转单片机

(直接点击图片可进入调查页面)

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    前天
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    前天
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
  • 51单片机电机pid控制系统程序

    51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证。 /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码盘12孔, 晶振为12MHz,定时/计数器T0检测转...

    06-25
  • 51单片机指令集设计实例

    当你编写完一个程序后,通过软件调试,你可以看到程序的指令集,从指令集你就能知道单片机内部是如何工作的,比如数据存取的寄存器与地址,下面是电工之家找的一篇指令集,讲的蛮好的。 一、数据传送类指令(7种助...

    06-25
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    06-25
  • 51单片机指令系统寻址方式

    指令给出参与运算的数据方式称为寻址方式。换句话说,寻址方式就是寻找确定参与操作的数的真正地址。 在MCS-51系列单片机的指令系统中寻址方式共有7种,立即寻址方式,mcs-51单片机的一种寻址方式,操作数就写在指...

    06-25
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    06-25
  • 入手STM32单片机的知识点总结

    从STM32新建工程、编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣

    06-23
  • 单片机定时器之改良版:时间轮定时器

    前段时间把自己以前用的单片机定时器整理出来,我称之为简单定时器,这种简单定时器比较适合定时器使用量少的程序中,如果定时器数量要求多,精度要求高,效率就会有问题,为此,俺就实现了一个时间轮定时器,简单测...

    06-23
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告