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

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

3天内不再提示

51单片机执行指令的过程的分析解释

5RJg_mcuworld 来源:未知 作者:李建兵 2018-03-16 16:41 次阅读

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行,即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。



下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:

1、程序计数器的内容(这时是0000H)送到地址寄存器;

2、程序计数器的内容自动加1(变为0001H);

3、地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4、CPU使读控制线有效;

5、在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。

至此,取指阶段完成,进入译码分析和执行指令阶段。

由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。

指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。

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

    关注

    5980

    文章

    43789

    浏览量

    618076
  • 指令
    +关注

    关注

    1

    文章

    571

    浏览量

    35311
  • 编程
    +关注

    关注

    88

    文章

    3427

    浏览量

    92090

原文标题:了解51单片机执行指令的过程,你会理解更深刻!

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机执行指令过程详解

    加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行
    的头像 发表于 02-15 09:53 1.9w次阅读

    转:单片机指令执行过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 08-17 12:47

    单片机执行指令过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 06-07 14:05

    单片机执行指令过程是怎样的

    单片机执行指令过程详解单片机执行程序的过程,实际上就
    发表于 11-25 08:02

    MOVX指令执行过程

    MOVX指令执行过程MOVX指令51单片机访问片外外设的唯一
    发表于 12-07 09:38

    单片机执行指令

    单片机执行指令我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机
    发表于 12-10 06:28

    浅谈51单片机指令执行过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 04-16 11:20 6035次阅读
    浅谈<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>指令</b><b class='flag-5'>执行</b>的<b class='flag-5'>过程</b>

    单片机是如何执行指令过程?MCU内存又是如何分配的?

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 08-25 09:10 4768次阅读

    浅析单片机指令执行过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    的头像 发表于 08-07 14:47 5106次阅读

    详谈单片机如何执行指令

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 09-01 15:45 2213次阅读

    单片机执行指令过程详解

    单片机执行指令过程详解单片机执行程序的过程,实际上就
    发表于 11-17 09:36 19次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>执行</b><b class='flag-5'>指令</b><b class='flag-5'>过程</b>详解

    单片机MOVX指令执行时序深入分析

    MOVX指令执行过程MOVX指令51单片机访问片外外设的唯一
    发表于 11-24 15:36 11次下载
    <b class='flag-5'>单片机</b>MOVX<b class='flag-5'>指令</b><b class='flag-5'>执行</b>时序深入<b class='flag-5'>分析</b>

    单片机是怎么执行指令的?

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 02-09 11:13 3次下载
    <b class='flag-5'>单片机</b>是怎么<b class='flag-5'>执行</b><b class='flag-5'>指令</b>的?

    单片机执行指令过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令
    发表于 02-11 15:26 4次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>执行</b><b class='flag-5'>指令</b>的<b class='flag-5'>过程</b>

    51单片机中断执行的相关过程笔记介绍

    电子发烧友网站提供《51单片机中断执行的相关过程笔记介绍》资料免费下载
    发表于 12-05 09:17 0次下载