历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2018年11月26日 | 51单片机的时钟及总线时序和总线扩展

2018-11-26 来源:eefocus

说到51单片机的时钟首先想到51时怎么工作的呢?微型控制器要想工作必须要有一个“动力”,对于51单片机来说,这个“动力”就是时钟源。一般应用上会外接一个12MHz的晶振作为时钟源。



一般第一种接法用的比较多。选择内部震荡方式时晶振旁边有两个小电容。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=[(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不可能同时执行读和写操作,所以读、写信号不可能同时有效。


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


 

 


推荐阅读

史海拾趣

COTO TECHNOLOGY公司的发展小趣事

随着业务的不断扩展,COTO TECHNOLOGY开始寻求全球范围内的合作与发展。1998年,公司收购了位于荷兰的Philips干簧开关事业部,组建了Coto Technology B.V.,进一步增强了其在全球市场的竞争力。此后,COTO还通过与其他企业的战略合作,不断拓宽业务领域,实现了从单一产品制造商向综合性电子解决方案提供商的转变。

EECO Switch公司的发展小趣事

1993年,Transico公司收购了EECO Switch部门,这标志着EECO Switch公司进入了一个全新的发展阶段。在被收购后,EECO Switch获得了更多的资源和支持,进一步加速了其业务拓展的步伐。公司不仅在原有的人机界面产品领域继续深耕细作,还积极拓展新的业务领域,如智能家居、物联网等。

GTK UK Ltd公司的发展小趣事
电源的不稳定可能导致电路工作异常,影响跟踪效果。
CT [ Central Technologies ]公司的发展小趣事

随着国内市场的饱和,CT公司开始将目光投向国际市场。公司制定了一系列国际化发展战略,包括在海外设立研发中心、拓展销售渠道以及与国际知名企业建立战略合作关系等。通过这些举措,CT公司的产品和服务逐渐渗透到全球范围内,公司的国际影响力不断增强。

Avic公司的发展小趣事

Avic公司注重提升自主创新能力,不断加大在航空电子技术领域的研发投入。公司建立了一支高素质的研发团队,并积极引进国内外先进的研发设备和技术。这些措施有效提升了公司的创新能力,为公司在航空电子领域的持续发展提供了有力保障。

Eagle Plastic Devices公司的发展小趣事

随着全球环保意识的不断提高,Eagle Plastic Devices公司也开始将环保理念融入产品研发和生产过程中。公司采用环保材料、改进生产工艺、降低能耗和排放等措施,努力降低产品对环境的影响。同时,公司还积极参与环保公益活动,倡导绿色消费和可持续发展。这些举措不仅提升了公司的品牌形象,也为公司带来了更多的市场机遇。

问答坊 | AI 解惑

arm网口通信

弱弱的问一下 我要从arm板的网口给远端的客户端发送数据 应该怎样打包数据啊,具体需要遵循什么协议啊 有程序的大虾们,不吝指教小弟啊 希望看到流程图什么的 小弟感激不尽啊…

查看全部问答>

专科怎么那么少题的?

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 听说专科就2题 怎么那么少的  …

查看全部问答>

求VB6.0可以下载到家用电脑上吗?

求VB6.0可以下载到家用电脑上吗?…

查看全部问答>

请大家发个msxml3.dll给我

由于现在的设备上没有xml的支持,故请大家发个msxml3.dll给我。 我这里有一设备,MIPS II内核,Windows CE 5.0的操作系统,因为这个系统是别人定制的,所以我改不了,我在这个设备上写了一个程序,要使用到XML技术,我查看了一下,现在的系统上没 ...…

查看全部问答>

计算机导论里的题目?

  8.地址码的长度为24位二进制数时,其寻址范围是__(MB)。为什么?…

查看全部问答>

低电平触发中断的问题?

若设置条件如下: 1。 口被设置为低电平触发中断。 2。 口对应的中断Ena××e位=1 3。 总中断的Ena××e位=1 4。 外部使口的电平一直处于低 问: 当第一次被中断,且中断服务程序被执行退出后。 清中断发生标志,其它设 ...…

查看全部问答>

基于TMS320F28027的数控开关电源

电源输入采用工频变压器转 [ 本帖最后由 蓝雨夜 于 2011-10-19 16:32 编辑 ]…

查看全部问答>

用borland编译ucos的问题

小弟初学ucos,只想跑跑书上的例程而已,步骤完全按照网上介绍的来,安装好borland,TASM,建立工程,导入五个文件,build all提示没有错误一切正常,可是下面会有这个信息如图:然后若点击RUN会提示make failed。。试过borland 4.5,5.02,均同样的 ...…

查看全部问答>

关于launchpad的adc12和dac12

小弟最近刚接触launchpad,g2553用户手册上明明有adc12和dac12的介绍,但为什么g2553.h中根本就没有它们的中断定义,只有adc10啊,是不是它们根本没法用啊??? …

查看全部问答>