楼主: wb61850

从零开始学电子之基础篇

[复制链接]
 楼主| 发表于 2010-6-2 04:26:23 | 显示全部楼层
下面呢,我们将继续学习有关AT89C2051单片机的时序知识。
 楼主| 发表于 2010-6-2 04:56:55 | 显示全部楼层
598楼的“忽悠八你”同学转载的笑话非常可笑阿,哈哈。
至于加精,就免了吧,呵呵。
不过能给大家在紧张的学习中带来欢笑,还是值得夸奖的。呵呵
忽悠八你同学讲话有时很粗(他喜欢称人为“猪”),这个坏习惯应该改改阿。
不过,请大家要原谅他。
因为“忽悠八你”同学和我一样都是属于没有文化的人。
从小不好好学习,天天向上,整天追鸡打狗。长大了就变成了这样。呵呵
 楼主| 发表于 2010-6-2 05:50:08 | 显示全部楼层



大家知道,51单片机具有固定的时序。
这里,时序的最小单位是——时钟周期“p”。
所谓的时钟周期“p或tosc”,是时钟频率“fosc”的倒数(p=tosc=1/fosc),而时钟频率的大小则等于外接的晶体频率(或外部时钟信号的频率)。所以,外接的晶体频率越高,则时钟周期就越小。

51单片机具有固定的机器周期(如图所示)。在一个机器周期中,又分为6个状态周期,分别用S1~S6 表示。而一个状态周期,又含有两个时钟周期。比方说S1状态周期含有S1P1,S1P2;S5状态周期含有S5P1,S5P2等。那么一个机器周期就含有12个时钟周期,表示为:S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2。
在每一个时钟周期p,单片机完成一个最基本的动作(例如触发器的导通与截止)。在上述图片中,我们假设是时钟信号的下沿触发(同步)。这样我们可以想象单片机与时钟信号的同步过程。大家看到在图片中,时钟脉冲信号下沿带箭头即表示下沿触发。
 楼主| 发表于 2010-6-2 06:04:08 | 显示全部楼层
现在大家可以理解何为“S5P2”了吧。呵呵
所谓的“S5P2”或者“SnPm”,是指某个特定的时刻,而这个时刻则是与时钟信号的边沿相关的触发时刻。
 楼主| 发表于 2010-6-2 06:13:12 | 显示全部楼层
“天下没有不散的筵席”,希望大家珍惜我们在一起的缘分。
发奋努力学习,自强不息。
送给大家一首《牧羊曲》,和大家共勉、共进!
http://www.tudou.com/playlist/pl ... iid=10556952&cid=23

青春不在来,岁月如流水。
 楼主| 发表于 2010-6-2 06:23:29 | 显示全部楼层
大家好,我们现在正在学习AT89C2051单片机的时序。欢迎大家一起学习,一起进步
 楼主| 发表于 2010-6-2 06:55:00 | 显示全部楼层
那么什么又是“指令周期”呢?
个人理解是:所谓指令周期,是指执行一条指令所需要的时间。
在51单片机中,指令周期是由若干机器周期组成的。
大家知道,51单片机具有固定的机器周期。举个例子,当时钟频率“fosc”为12MHz时,一个机器周期就是1uS(1微秒)。这里面的关系并不难理解和计算,时钟频率fosc的倒数1/fosc 即是时钟周期 tosc,即 tosc=1/12MHz=83.333nS(纳秒)。我们又知道,51单片机中,一个机器周期等于12个时钟周期,也就是说 tosc=12*83.333nS=1000nS=1uS。
当然,当我们把晶体换为6MHz时,一个机器周期也变为了2uS。
OK,如上所述,51单片机的指令周期是由若干个机器周期组合而成的。那么就不难理解了,它的指令周期也必然是固定的。也就是说,51单片机指令的执行时间是固定的。比方说,机器周期为1uS时(晶体为12MHz)执行一个乘法指令 mul ab ,那么单片机执行完毕这条指令所需的时间为4*1uS=4uS。为什么用4uS呢?因为,这条指令的机器周期数目是固定的,等于4个机器周期。
在51单片机中,大多数指令的执行周期为1个机器周期(单周期指令)。最长的指令执行周期为4个机器周期(乘、除法指令)。其余的都是2个机器周期的指令(双机器周期),例如控制转移类指令基本上都是双机器周期指令。
 楼主| 发表于 2010-6-2 07:32:54 | 显示全部楼层
那么什么又是“指令的字节” 呢?
大家知道,单片机是依靠“指令”工作的。
事先,要把指令存入“程序存储器(ROM)”中。然后呢,单片机从ROM中取出指令并执行。
ok,大家知道“指令”这个名词比较抽象的。指令如果落实到机器中,就是“n位二进制代码序列”。我们把8位两进制代码称为一个字节(1B),如“01010101”,那么一条指令就是由一个字节或若个字节组成的(代码序列)。
由此可知,指令的字节的意义是:一条指令中含有的字节数。
指令字节大小,决定了该指令占用的存储器空间(ROM)的大小。1个字节的指令占用1个存储器空间,3个字节的指令则占用3个存储器空间。
51单片机的指令,按其字节的大小,可以分为:单字节指令(1B指令)、双字节指令(2B指令)和三字节指令(3B指令)。
 楼主| 发表于 2010-6-2 07:40:47 | 显示全部楼层
那么是不是指令的字节数越少,指令的执行时间越短呢?
不是的。例如在51单片机中,乘除法指令只有1个字节,但是其执行时间为4个机器周期,是执行时间最长的指令。
所以,指令执行时间的长短(指令周期)与指令的字节数没有直接的关系,与指令周期所含的机器周期数目有直接关系。
 楼主| 发表于 2010-6-2 08:18:55 | 显示全部楼层


大家请看上图,图中的“ALE”信号,在AT89C2051中没有引出。在51、52单片机中是有引出脚的。
那么“ALE”信号有什么作用呢?
在访问外部数据存储器(XRAM)时,“ALE”端子定时的输出一个高电平脉冲,将P0口(这里是指51单片机或52单片机)输出的片外数据存储器的低8位地址锁存到外部专用地址锁存器中。在不访问外部数据存储器时,“ALE”端子以不变的频率(1/6 fosc)输出脉冲序列,该脉冲序列可以作为外部时钟源或定时脉冲源使用。
同时,“ALE”信号也是时序参考信号。
 楼主| 发表于 2010-6-2 09:01:06 | 显示全部楼层


这是51单片机中,单字节双周期指令的典型时序。
 楼主| 发表于 2010-6-2 09:12:59 | 显示全部楼层
希望鄙人之所做所为能够给大家些许帮助。
然水平有限,谬误之处难免。肯请大家批评指正!
一切言行,仅供您参考。
 楼主| 发表于 2010-6-2 09:13:53 | 显示全部楼层
今天就到这里,就到这里吧,一休哥!呵呵,再见
 楼主| 发表于 2010-6-3 06:12:32 | 显示全部楼层
大家好,欢迎大家一起学习、一起进步。
 楼主| 发表于 2010-6-3 06:17:44 | 显示全部楼层
本楼主郑重声明:
本楼主所作所为皆是为了一起学习、一起进步,无任何商业或其它目的。
本楼主所发布的所有学习资料如无说明,皆为原创首发的学习资料。
本楼主所发布的所有学习资料只能用于学习、研究之用,不能用于商业目的及其它目的。
本楼主不对所发学习资料负任何责任


水平有限、错误难免,欢迎大家批评、指教。谢谢
 楼主| 发表于 2010-6-3 06:32:26 | 显示全部楼层
http://www.tudou.com/programs/view/ZOCbspq-yLA/

我们都是有身份(证)的人哪。
哈哈
 楼主| 发表于 2010-6-3 06:40:09 | 显示全部楼层
大家好,我们现在正在学习AT89C2051单片机。
 楼主| 发表于 2010-6-3 06:57:38 | 显示全部楼层


上面的这个图片是截取自AT89C2051的官方资料。
大家可以看出,AT89C2051内部是含有一个比较器的。其p1.0端子是比较器的同相输入端,p1.1端子是比较器的反相输入端。这个比较器的输出端是p3.6,而p3.6端子并没有引出,而是含在芯片内部的。这也是AT89C2051其特殊之处。
比较器的两个输入端p1.0和p1.1是悬浮的(内部无上拉电阻,平常处于高阻态)。
 楼主| 发表于 2010-6-3 07:04:42 | 显示全部楼层
以下资料是俺自己翻译的,呵呵
肯定有错误之处,仅供大家参考 。
俺没有英语等级证。俺只认识26个英文字母,不骗您。呵呵
 楼主| 发表于 2010-6-3 07:11:12 | 显示全部楼层

鄙人目前所用的AT89C2051-24PI(DIP20脚封装)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表