5分钟了解单片机数据、地址、控制总线结构!

发布者:xrmilk最新更新时间:2023-01-13 来源: zhihu关键字:单片机  数据  地址 手机看文章 扫描二维码
随时随地手机看文章

一、总线概述

计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。


计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。


二、单片机的三总线结构

51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。


单片机三总线扩展示意如图1 所示。


1、数据总线


51 单片机的数据总线为P0 口,P0 口为双向数据通道,CPU 从P0 口送出和读回数据。


2、地址总线


51 系列单片机的地址总线为16 位。


为了节约芯片引脚,采用P0 口复用方式,除了作为数据总线外,在ALE 信号时序匹配下,通过外置的数据锁存器,在总线访问前半周期从P0口送出低8位地址,后半周期从P0 口送出8 位数据。


高8位地址则通过P2 口送出。


3、控制总线


51 系列单片机的控制总线包括读控制信号P3.7 和写控制信号P3.6 等,二者分别作为总线模式下数据读和数据写的使能信号。


三、单片机总线时序分析

51 单片机总线时序如图2 所示。


从图2 中可以看出,完成一次总线( 读写) 操作周期为T,P0 口分时复用,在T0 期间,P0 口送出低8 位地址,在ALE 的下降沿完成数据锁存,送出低8位地址信号。在T1 期间,P0 口作为数据总线使用,送出或读入数据,数据的读写操作在读、写控制信号的低电平期间完成。


需要注意的是,在控制信号( 读、写信号) 有效期间,P2 口送出高8位地址,配合数据锁存器输出的低8 位地址,实现16 位地址总线,即64kB 范围的内的寻址。

由于CPU不可能同时执行读和写操作,所以读、写信号不可能同时有效。


四、常见单片机编址电路


1、简单地址扩展


51 单片机的P2 口可以直接作为高8位地址总线使用,在一些简单系统电路中,常使用P2口直接编址驱动。


下面以使用数据缓冲器74LS273 驱动数码显示为例,分析P2 口编址驱动的静态数码显示电路的设计。


一位LED 数码显示单元电路如图3 所示。


WR 与A8( P2.0) 相或提供74LS273的时钟信号,当执行“MOVX @DPTR,A”指令时,地址信息由DPTR 寄存器确定,会出现有效的写信号WR,只有当地址A8 为满足“0”时,写信号才可以作为74LS273 的时钟信号输入,完成数据锁存。


P2 口为A8~A15 的8 位地址线,很容易扩展到8 只LED 数码管,WR 信号分别与A8~A15 按或关系连接,每位地址线均为低电平有效,即可实现8 个有效地址。


该方案电路简单,但有效地址数太少,不适用于复杂系统设计。


2、低8 位地址锁存


通常的设计电路是使用8D 锁存器74LS373 实现地址锁存,74HC573 与之逻辑功能相同,只是引脚布局不一样,使用74HC573 布线更容易。


74LS373 真值表如图4所示。


在输出允许OE 为L、控制使能LE 为H 时,输出为跟随状态;OE 为L、LE 为L 时,输出为保持状态。


地址锁存电路如图5 所示。OE 接地,LE 接单片机的ALE脚将产生满足时序的低8 位地址信号。


执行以下三条指令会得到如图6所示的时序图。


MOV DPTR,# 0FF55H; 低8 位地址为55H

MOV A,# 0AAH; 待发送数据0AAH→A( 55H 取反)

MOVX,@DPTR,A; A 中的0AAH送地址为0FF55H 的对象中会。


从图6 中可以看出,P0 口先送55H,在ALE 下降沿实现地址锁存,随后送出数据0AAH,在WR 有效( 低电平) 期间锁存器输出低8 位地址55H,P0 口送出数据0AAH。


3、带译码器的复杂地址接口电路


理论上高8 位地址线可以产生256 个有效地址,如何实现地址“扩展”呢? 地址扩展准确描述是地址译码,例如3 根地址线可以译码成8 个地址,4根译码成16 个有效地址。这里选择3-8 译码器实现地址译码,电路图以及对应的编址如表1 所示。


五、单片机总线编址电路实例

总线扩展接口的单片机系统,包括外部32k RAM 扩展、LCD1602 接口、输入输出口。

D0~D7 接数据总线P0 口,地址线A0~A14接单片机地址总线低15 位,单片机地址线A15 接RAM 片选信号,低电平有效,这样RAM 地址分配从0000H 到7FFFH,与74138 译码地址不冲突。


LCD1602 接口电路如图9 所示。

RS、RW 分别接A12、A13,使能信号编址为Y7,这样LCD 的四个驱动地址( 数据读写和命令读写) 为0CFFFH 到0FFFFH ( 无关位为1) 或者8700H 到0B700H( 无关位为0)。


有些时候单片机引脚不够用,还要进行扩展,输入口扩展电路如图10 所示。

利用74HC573( 74LS373) 的高阻态功能,将其输出Q0~Q7 接P0 口,在满足总线地址读操作中,可以把输入InPORT的数据读入单片机的累加器,地址为0F8FFH 或8000H。


输出口扩展电路如图11 所示。


利用74LS273 数据锁存功能,在满足总线地址写操作中,可以把单片机累加器里的数据写入273 锁存输出,地址为0F8FFH 或8000H。由于所用控制总线不同,可以和输入共用地址。

总线扩展是设计单片机控制电路必须掌握的技术,大量的特殊功能IC都支持总线接口, 如ADC0809,TLC7528,DDS 器件AD9851 等。


总线接口的要点就是在严格的控制时序下,总线被分时复用,以实现复杂系统设计。


关键字:单片机  数据  地址 引用地址:5分钟了解单片机数据、地址、控制总线结构!

上一篇:学习单片机掌握这三步就可以
下一篇:7大主流单片机优缺点分析,一文打尽赶紧收藏!

推荐阅读最新更新时间:2024-10-26 10:37

5分钟了解单片机数据地址控制总线结构
一、总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。 二、单片机的三总线结构 51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。 单片机三总线扩展示意如图1 所示
[单片机]
关于单片机地址总线和数据总线
一般都是看地址总线来判断寻址能力,数据总线是宽度,寻址是按字的地址,也就是字节的首地址,如下图 2. 单片机所说的8位,16位,32位指的是什么,是地址总线的长度还是数据总线 在单片机中,通常所说的 8位 , 16位 , 32位 指的是数据总线的宽度,即一次可以传输的数据位数。这决定了单片机一次可以处理的数据量大小。例如,一个 8位 单片机指的是其数据总线宽度为8位,可以一次传输8位的数据;而一个 16位 单片机指的是其数据总线宽度为16位,可以一次传输16位的数据,依此类推。地址总线的宽度则用来指定内存地址,与数据总线的宽度是不同的概念。一次性处理的数据总线的长度叫做字长。 3. 8位单片机的512KB地址和16位单片机的51
[单片机]
关于<font color='red'>单片机</font>的<font color='red'>地址</font>总线和<font color='red'>数据</font>总线
单片机系统中什么是数据地址、指令
数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的──数字,或者说都是一串 0 和 1 组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不能由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元能由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不一样的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1 地址(如MOV DPTR,#1000H),即地址1000H送入D
[单片机]
单片机地址总线和数据总线的分离
  微处理器与存储器和I/O接口之间通过数据总线、地址总线和控制总线相连接。图1为常用的几种微处理器。在八位微处理器Z80 CPU中明显地可以区分出数据总线和地址总线。而微处理器INTEL 8086/8088和微控制器89C51由于封装的原因,不可能将所有的信号连接到外部,因此有一部分引脚具备两种功能,以便用有限的引脚产生更多的连接信号。这些引脚两种功能的选择可通过不同的方式来决定,一类引脚功能的选择是通过微处理器的时序来区分,另一类引脚的功能由微处理器的某个功能设置引脚来定义。在微处理器INTEL 8086/8088 以及微控制器89C51中,数据总线和地址总线就采用时序区分的方法,由引脚输出的为信号AD总线,当地址锁存信号ALE
[单片机]
<font color='red'>单片机</font><font color='red'>地址</font>总线和<font color='red'>数据</font>总线的分离
地址总线 数据总线 和控制总线的作用
    系统总线上传送的信息包括数据信息、地址信息、控制信息,因此,系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)       数据总线DB用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以指令代码或状态信息,有时甚至是一个控制信息,因此,在
[嵌入式]
数据总线DB、地址总线AB、控制总线CB
数据总线DB 用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。 地址总线AB 是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接
[嵌入式]
80C51单片机总线结构、逻辑结构及内部结构
MCS-51是Intel公司生产的一个单片机系列名称,该系列生产工艺有HMOS和CHMOS这两种,CHMOS是CMOS和HMOS的结合,既保持了HMOS的高密度和高速度,还具有CMOS低功耗的特点。 在产品型号中,带有字母C的即为CHMOS芯片,如80C51,该类型芯片的电平既与TTL兼容,又与CMOS电平兼容。 在片内程序存储器的配置上,该系列单片机有3种形式,即掩模ROM、EPROM或Flash和ROM Less(无片内程序存储器)。 80C51是MCS-51系列中采用CHMOS工艺的一个典型品种,各厂商以80C51为基核(内核)开发出的CHMOS工艺单片机产品统称为80C51系列。 当前常用的80C51系列单片机
[单片机]
80C51<font color='red'>单片机</font>的<font color='red'>总线结构</font>、逻辑结构及内部结构
利用单片机的端口地址实现对液晶显示器的控制
在许多使用单片机控制的场合,为改善人机界面,经常要使用液晶显示器显示控制机构的工作状态及各种参数信息以供操作人员作出决策,由于液晶显示器是一个低速器件,加上它对接口的要求比较特殊,使得单片机对它的控制变得较为烦琐,从而占用了许多机器时间。在我们研制的数字录音机中使用了一块16×2的字符型液晶显示器,由于单片机不断地更新液晶显示器上的显示信息,同时又要处理语音数据,所以节约机器时间显得尤为重要,为此我们采用以端口地址来区分命令的方法,成倍地节约了单片机对液晶操作的时间。 1.硬件接口原理 在笔者所设计的系统中使用的16×2字符型液晶显示器为南京国显电子公司生产,它与8031单片机的典型连接电路如图1所示,模块引脚功能如表1所
[单片机]
利用<font color='red'>单片机</font>的端口<font color='red'>地址</font>实现对液晶显示器的<font color='red'>控制</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved