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

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

3天内不再提示

简单讲解单片机数据、地址、控制总线结构

广东微电科技有限公司 2021-11-19 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.总线概述

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

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

2.单片机的三总线结构

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

数据总线

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

地址总线

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

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

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

控制总线

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

3.单片机总线时序分析

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

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

4.常见单片机编址电路

简单地址扩展

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

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

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

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

低8位地址锁存

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

74LS373真值表如图4所示:

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

在输出允许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的对象中会

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

5.单片机总线编址电路实例

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

LCD1602接口电路如图9所示:

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

6.结束语

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

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

#研发销售6轴、9轴电子罗盘(陀螺仪|加速计|磁力计)、倾角传感器、姿态传感器,惯导、数据采集盒、IoT远程智慧监测等。

产品广泛应用于:无人机、无人船、巡检/引导/送餐/水下机器人、AGV、云台装置、望远镜、Qiang支瞄准镜、雷达定位、聚光太阳能、工矿/隧道无人设备等!

核心研发人员十年技术积累,专业研发团队,军工级品质,替代进口。

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

    关注

    6074

    文章

    45340

    浏览量

    663575
  • 电子罗盘
    +关注

    关注

    1

    文章

    124

    浏览量

    24065
  • 倾角传感器
    +关注

    关注

    4

    文章

    314

    浏览量

    26209
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机系统硬件的调试方法

    这种故障的方法是根据原理图,对照加工印制板.确保原理图和印制板的一致.同时检查电源系统,重点注意是否存在电源短路和极性错误的问题.具体的做法是检查地址数据控制总线.该过程可以利用数
    发表于 12-03 06:10

    编写简单高效单片机汇编程序

    独立的任务,这样既能减少代码重复,也便于维护和调试。 计时模块:利用单片机的定时器,精确控制时钟的秒脉冲。 显示模块:用循环或查表法来实现不同的时间显示,这能减少不必要的分支跳转指令。 按键模块
    发表于 11-24 07:00

    单片机启动&库函数的构成

    更加简单。但是到计算机这一层,他依然是使用的数字电路来工作的,至少,开发者需要操作的东西就算不是数字电路,也是个寄存器。 计算机发展中,寄存器被人们用“地址”这个东西来标号,翻开编程手册(单片机
    发表于 11-18 08:15

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多
    的头像 发表于 08-01 13:47 896次阅读

    单片机采用什么电流控制

    单片机作为电子系统的控制核心,其电流控制涉及自身工作电流管理与外部设备电流驱动两个层面。由于单片机内部电路的特性,其自身工作电流较小,而控制
    的头像 发表于 07-30 10:07 546次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机是怎么控制

    单片机作为电子系统的控制核心,通过接收外部信号、执行预设程序、驱动外部设备的方式实现控制功能,其控制过程涉及信号输入、数据处理和指令输出三个
    的头像 发表于 07-23 13:59 478次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光
    的头像 发表于 07-23 11:47 651次阅读

    给予单片机的温度控制系统设计

    、执行机构、显示模块和电源模块组成。单片机是系统的核心,负责处理温度信息并发出控制指令;温度传感器用于实时采集环境或物体的温度数据,将物理量转化为电信号传输给单片机;执行机构如加热片、
    的头像 发表于 07-16 10:57 453次阅读

    51单片机笔记(建议收藏!)

    +外设”的结构,外设多,单片机就复杂些,总线位数高,运行就快一些。本质上还逃不出这个架构。对于设计人员编程来说,操作外设实际上就是读写各种特殊功能寄存器,传输数据就是读写
    发表于 05-21 17:24

    GD32单片机GPIO结构及注意事项

    电子发烧友网站提供《GD32单片机GPIO结构及注意事项.pdf》资料免费下载
    发表于 02-07 17:27 3次下载
    GD32<b class='flag-5'>单片机</b>GPIO<b class='flag-5'>结构</b>及注意事项

    Freescale单片机的特点有哪些

    Freescale 系列单片机采用了先进的哈佛结构以及高效的流水线指令结构。这种精妙的设计组合,仿若为产品开发铺设了一条高速通道,能够在大幅缩短开发周期的同时,显著提升产品性能,并且有效控制
    的头像 发表于 02-04 17:49 1070次阅读

    什么是单片机的ADC接口

    在嵌入式系统和工业自动化领域,单片机(Microcontroller)作为核心控制单元,承担着数据采集、处理和控制的重要任务。其中,模数转换器(Analog-to-Digital Co
    的头像 发表于 02-03 11:27 3725次阅读

    单片机中断技术详解

    在现代电子设备中,单片机作为控制核心发挥着举足轻重的作用。而在其高效运作的背后,中断机制是推动单片机实现实时响应与高效执行的关键因素。本文将深入探讨单片机中的中断概念、中断系统的
    的头像 发表于 02-02 15:57 1435次阅读

    I2C总线单片机的连接

    在现代电子系统中,单片机(MCU)是核心控制单元,而I2C总线作为一种多主机、多从的串行通信协议,因其简单、高效和节省引脚的特性而被广泛应
    的头像 发表于 01-17 15:18 1971次阅读