单片机外部扩展地址数据总线的分时复用(zz)

单片机外部扩展地址数据总线的分时复用


□ 李 玲

  【摘要】文章分析了单片机外部扩展的总线时序,提出了当系统通过总线方式连接时,地址、数据总线的分时复用的问题,通过举例说明系统扩展中数据地址总线电路部分以及相应程序的设计方法。
  【关键词】单片机;时序;分时复用
  【中图分类号】 TP393 【文献标识码】A
  【文章编号】1671-5969(2007)21-0191-02
  
  一、问题的提出
  
  80C51单片机有4个8位的I/O接口,分别是P0、P1、P2、P3口。当外扩存储器或I/O接口时,也要利用I/O接口传送地址及数 据。由于外扩的程序、数据存储器空间分别为64K,这就需要有16条地址线,8位数据线。为了节约I/O接口采用了低8位地址与数据总线分时复用的方法。 即当读写外部时,单片机首先由P0、P2口送出16位地址,然后通过P0口读写数据,并且要求在整个读写过程中,地址是不能改变的。单片机外部操作时序如 图1所示。
  单片机外部扩展地址数据总线的分时复用图片1
  从时序图上可看出单片机采用了在P0口上输出低8位地址的同时,由ALE引脚送出地址锁存允许信号的解决方法,但是具体硬件电路需外部实现。
  
  二、解决的思路
  
  根据不同的需要,单片机应用系统所需的外围电路多种多样,有的扩展芯片不带锁存器,有的芯片片内已集成有锁存器,因此解决P0口地址、数据分时复用的方法也不同。
   (一)在单片机外部连接锁存器
  当外扩电路的芯片中无锁存器时,要保证在单片机读写过程中地址不变。由时序图图1知道,当P0口输出DPL时,要进行地址锁存。则在单片机的 外部连接一锁存器。地址锁存控制信号ALE接锁存器控制端,ALE发生负跳变时,锁存器将低8位地址锁存,P0口方可作为数据线使用,其连接框图如图2所 示。
  单片机外部扩展地址数据总线的分时复用图片2
  (二)单片机与外扩芯片连接或通过锁存器连接
  外扩芯片中已集成有地址锁存器,此类电路,差别较大。下以A/D转换起芯片ADC0809为例说明。
  ADC0809部分性能:分辨率为8位,具有锁存控制的8路输入模拟开关,转换速度取决于芯片外接的时钟频率,时钟频率范围:10-1280KHz。其ADC0809内部结构如图3所示。
  单片机外部扩展地址数据总线的分时复用图片3
  部分引脚功能:
  IN0-IN8:八路模拟量输入端。
  ALE:地址锁存信号输入端。通常向此引脚输入一正脉冲时,可将三位地址选择信号ADDA、ADDB、ADDC输入地址锁存器内,并进行译码,选通相应的模拟输入通道。
  START:启动A/D转换控制输入端。一般向此引脚输入一正脉冲,上升沿复位逐次比较寄存器,下降沿开始A/D转换。
  ADC0809的工作时序如图4所示。
  单片机外部扩展地址数据总线的分时复用图片4
  通过对ADC0809的内部结构框图以及时序图的分析得知,此类芯片与单片机的接口有两种形式。
  1.直接与单片机连接
  图5是ADC0809的模拟输入通道与单片机的P0口直接相连的接口。由于ADC0809具有输出三态锁存器,故其8位数据输出线可与 89C51数据总线相连。在本图中模拟输入通道地址的译码输入A、B、C也由P0.0~P0.2直接提供。对照时序图图1、图4可知,单片机在DPL输出 时,ADC0809的ALE引脚上同叶出现地址锁存允许信号,随后 P0口上的地址消失,当8位数据输出时,单片机的P2.0作为片选信号,与进行或非操作得到一个正脉冲加到ADC0809的ALE和START引脚上。锁 存P0口上的低3位数据,即为通道选择。由于ALE和START连接在一起,因此ADC0809在锁存通道的同时也启动转换。
  单片机外部扩展地址数据总线的分时复用图片5

posted on 2016-10-09 12:30  Lexlin_Dong  阅读(2320)  评论(0编辑  收藏  举报

导航