0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机的三总线结构

j4AI_wujianying 来源:单片机精讲吴鉴鹰 2020-05-14 14:32 次阅读

一、总线概述

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

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

二、单片机的三总线结构

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 等。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44554

    浏览量

    634641
  • 微处理器
    +关注

    关注

    11

    文章

    2258

    浏览量

    82403
  • 控制总线
    +关注

    关注

    0

    文章

    11

    浏览量

    8288

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

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机的中断机制

    单片机的中断机制是一种重要的处理方式,它允许单片机在执行主程序的过程中,能够暂停当前任务,转而处理外部或内部紧急事件。这种机制极大地提高了系统的响应速度和处理能力,使得单片机在各种应用领域中得到广泛应用。以下是对
    的头像 发表于 10-17 18:03 620次阅读

    PIC单片机的优势和不足之处

    的核心优势在于其CPU采用的RISC结构,这一结构精简而高效,分别包含33、35、58条指令,构成了精简指令集。这种设计不仅减少了指令的数量,还提高了指令的执行效率。 同时,PIC单片机采用了Harvard双
    的头像 发表于 09-25 17:22 359次阅读

    单片机总线结构

    单片机总线结构包括地址总线(Address Bus, AB)、数据总线(Data Bus, DB)和控制
    的头像 发表于 09-10 11:32 2432次阅读

    十天学会单片机可能吗?单片机入门需要多久?

    一下,单片机的入门其实并没有想象中那么难。对于那些有一定编程基础,尤其是有C语言基础的学习者来说,入门的过程可能仅需几天。例如,有人可能在天内就掌握了单片机的基础
    的头像 发表于 09-05 08:00 1001次阅读
    十天学会<b class='flag-5'>单片机</b>可能吗?<b class='flag-5'>单片机</b>入门需要多久?

    单片机烧录程序的基本步骤是什么

    单片机烧录程序是单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机内部的存储器中,使单片机能够按照预定的逻辑执行任务。 一、硬件准备
    的头像 发表于 09-02 09:47 997次阅读

    单片机引脚悬空是什么电平

    单片机引脚悬空是指单片机的I/O引脚在没有连接任何外部电路的情况下,引脚的电平状态。悬空引脚的电平状态取决于单片机的内部结构和外部环境因素。 单片机
    的头像 发表于 08-28 09:51 1850次阅读

    一文读懂什么单片机:组成结构与应用

    欢迎来到单片机的世界,这是一种微小(但功能强大)的设备,改变了嵌入式系统的面貌。在本文中,您将了解单片机的一些基本知识、单片机结构以及微处理器与
    的头像 发表于 08-09 11:49 1673次阅读
    一文读懂什么<b class='flag-5'>单片机</b>:组成<b class='flag-5'>结构</b>与应用

    如何系统、科学地自学单片机

    很多初学者都会面临这个问题,我想学习单片机、我也想学好单片机、我也想系统地学习单片机,但是单片机涉及到的学科多且杂根本不是天两天就能学完的
    的头像 发表于 03-28 08:03 1067次阅读
    如何系统、科学地自学<b class='flag-5'>单片机</b>?

    fpga和单片机的区别和联系 fpga和cpu区别

    。FPGA更偏向于硬件电路,其结构是查找表结构,其程序不需要过多考虑芯片的结构,而主要关注时序问题。相比之下,单片机更偏于软件方向,它是一个微控制器,通过加载模块软件来实现某种功能。
    的头像 发表于 03-14 17:33 1114次阅读

    总线可分为哪几种?采用总线结构有什么好处?

    总线结构将计算机系统划分为多个模块,每个模块只关注自身的功能,相对独立,从而简化了整个系统的设计和实现过程。
    的头像 发表于 02-02 16:09 2730次阅读

    单片机的最小系统由什么组成 单片机的最小系统包括哪些

    单片机(Microcontroller Unit,MCU)的最小系统包括以下几个主要组成部分: 单片机芯片:单片机是整个最小系统的核心部分,它集成了中央处理器(Central Processing
    的头像 发表于 02-02 11:27 1w次阅读

    单片机晶振电路原理及作用 51单片机晶振怎么接

    单片机是一种集成电路芯片,内部包含了微处理器核心、存储器和各种周边接口电路。晶振是单片机工作的时钟源,为单片机提供稳定的时钟信号。在单片机的设计中,晶振电路起着重要的作用。本文将详细介
    的头像 发表于 01-24 15:14 7996次阅读

    基于单片机控制的交通灯设计

    本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
    的头像 发表于 01-22 15:31 2045次阅读
    基于<b class='flag-5'>单片机</b>控制的交通灯设计

    单片机原理及应用有哪些

    广泛应用于各个领域,如家电、汽车、通信、医疗等。 单片机的原理主要包括内部结构和工作原理。其内部结构通常包括CPU、存储器、I/O接口和定时/计数器等模块。CPU是单片机的核心,负责指
    的头像 发表于 01-15 16:25 1966次阅读

    单片机if是什么语句

    单片机中的if语句是一种条件语句,用于根据不同的条件执行不同的代码块。在程序执行过程中,条件语句用来决定是否执行特定的代码段。在单片机编程中,if语句是最常见和最基础的一种条件语句。 if语句通常
    的头像 发表于 01-05 14:04 1756次阅读