• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机执行代码的时间问题

wonderland 2013-06-21 浏览量:1348

客套话就不讲了,请路过的高手不惜赐教。

书上说一个指令周期通常含有1~4个机器周期,不同指令有不同的周期,怎样判断哪一类指令是多少周期,或者同一条指令在不同情况下有不同的指令周期。像这样的延迟程序怎样判断指令周期

void Delay(void)

{

unsigned char a=5;

unsigned int b;

while(a--)

  {

b=1234;

while(b--);

   };

}

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1个机器周期包括12个时钟周期。设一个单片机工作于12M晶振,它的时钟周期是1/12(微秒)。它的一个机器周期是12*1/12)也就是1微秒。MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。这也不难再解,不是吗?我让你扫地的执行要完成总得比要你完成擦黑板的指令时间要长。为了恒量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。多看看单片机资料每一条指令都给出了它的指令周期数,这些数据,大部份不需要我们去记忆,但是有一些指令是需要记住的,如DJNZ指令是双周期指令


    • 发布于 2013-06-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 这个我还有点不明白 关键是看你的晶振啊
    • 发布于2013-06-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 做通讯的时候很常用的一个方法!定时器!(定时算法有点夸张,但是硬件定时器是不二法门)

    定时器很灵活的,他不是万能的,但是没有他是万万不能的。

    欢迎来Proteus板块提问。

    //www.icxbk.com/group-show-id-19.html

    • 发布于2015-03-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机执行代码的时间问题