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

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

3天内不再提示

51单片机的时钟及总线时序和总线扩展

GReq_mcu168 来源:未知 作者:李建兵 2018-03-15 14:48 次阅读

一般第一种接法用的比较多。选择内部震荡方式时晶振旁边有两个小电容。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+△C(PCB上电容)经验值为3至5pf。

各种逻辑芯片的晶振引脚可以等效为电容三点式振荡器。晶振引脚的内部通常是一个反相器, 或者是奇数个反相器串联。在晶振输出引脚 XO 和晶振输入引脚 XI 之间用一个电阻连接, 对于 CMOS 芯片通常是数 M 到数十M 欧之间。 很多芯片的引脚内部已经包含了这个电阻, 引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态, 反相器就如同一个有很大增益的放大器, 以便于起振。

为什么要选择12MHz的晶振作为时钟源呢?

这就要说51单片机内部的几个周期了:指令周期、机器周期、时钟周期、振荡周期。

振荡周期是指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。

时钟周期又称作状态周期或状态时间S,它是振荡周期的两倍,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的数据传送操作。(注意P1 和P2的相位关系 )

一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。

指令周期是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由1、2、4个机器周期组成。

对于12MHz的晶振,提供了12M的振荡周期,6M的时钟周期,1M的机器周期。所以此时51单片机的单指令周期为(1/1M)s=1us.这个1us有什么好处呢?后面大家会知道单片机应用中会有各种各样的时序,很多时候需要用一小段程序延时来达到时序要求,而1us的单指令周期比较方便计算延时时间以及确定每条语句的执行时间。应该明确的是单片机执行每条语句用的时间是非常确定的,是1us就是1us不会多一点也不会少一点。

下面说说51单片机的总线扩展:

这种结构就是上一篇说到的三总线结构,如图所示

1、数据总线

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

2、地址总线

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

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

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

3、控制总线

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

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

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

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

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

采用这种总线结构按照规定的时序能够最大程度的利用单片机的全部地址线。这就是单片机的编址。编址分为线选法和译码法,译码法分为全译码、部分译码。线选法的优点是简单但是非常浪费地址线;全译码法能够最大程度的利用全部地址线,但是电路很复杂需要一些与非门的配合才行。一般用部分译码法性价比最高,尤其是在外接了存储芯片时部分译码法很方便。


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

    关注

    6001

    文章

    43973

    浏览量

    620821
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120698

原文标题:51单片机的时钟及总线时序和总线扩展

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    给大家讲讲嵌入式系统中I²C总线时序

    I²C总线在嵌入式系统中很常见,今天就来给大家讲讲I²C总线时序
    的头像 发表于 02-23 09:47 648次阅读
    给大家讲讲嵌入式系统中I²C<b class='flag-5'>总线</b>的<b class='flag-5'>时序</b>

    基于51单片机的实时时钟设计

    电子发烧友网站提供《基于51单片机的实时时钟设计.rar》资料免费下载
    发表于 01-12 10:43 12次下载

    基于51单片机的实时时钟设计

    电子发烧友网站提供《基于51单片机的实时时钟设计.rar》资料免费下载
    发表于 01-02 10:15 40次下载

    基于51单片机的实时时钟+温度应用设计

    基于51单片机的实时时钟+温度应用设计(仿真)
    发表于 01-02 09:55 0次下载

    为什么51单片机的地址总线是16位的,但它却是8位

    为什么51单片机的地址总线是16位的,但是它却是8位
    发表于 10-17 08:28

    SPI总线51系列单片机系统中的实现

    电子发烧友网站提供《SPI总线51系列单片机系统中的实现.pdf》资料免费下载
    发表于 10-13 11:32 0次下载
    SPI<b class='flag-5'>总线</b>在<b class='flag-5'>51</b>系列<b class='flag-5'>单片机</b>系统中的实现

    stc单片机有内置can总线的型号吗?

    stc单片机有内置can总线的型号吗
    发表于 10-07 08:46

    并行总线扩展时序(2)#单片机

    单片机通信定时器程序
    未来加油dz
    发布于 :2023年08月08日 19:37:11

    并行总线扩展时序(1)#单片机

    单片机通信定时器程序
    未来加油dz
    发布于 :2023年08月08日 19:36:23

    SPI总线扩展实例(2)#单片机

    单片机通信
    未来加油dz
    发布于 :2023年08月08日 19:21:52

    SPI总线扩展实例(1)#单片机

    单片机通信
    未来加油dz
    发布于 :2023年08月08日 19:21:04

    基于51单片机的简易时钟设计

    基于51单片机的简易时钟设计
    的头像 发表于 08-01 01:09 1854次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的简易<b class='flag-5'>时钟</b>设计

    51单片机总线时序概述

    计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。
    的头像 发表于 07-23 15:33 1400次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>总线</b><b class='flag-5'>时序</b>概述

    51单片机使用哈佛结构,它RAM和ROM的总线是同一套总线分时复用的还是两套总线

    51单片机使用哈佛结构,它RAM和ROM的总线是同一套总线分时复用的还是两套总线
    发表于 05-09 16:03

    89c51单片机模拟i2c总线怎么实现一主多从呢?

    在i2c总线上,连接多个89C51,把一个89C51做为主控器,其他的作为被控器,能否实现一个单片机控制多个单片机的功能,如果能,该如何实现
    发表于 05-08 18:05