原创 51单片机执行指令的过程【原创】

2006-11-15 15:25 3461 9 10 分类: MCU/ 嵌入式

为了加深初学者对51单片机指令的理解,现在把指令执行的过程在此详细说明,希望对你有启发!


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

取指令的任务是:根据程序计数器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就是这样一条一条地执行指令,完成所有规定的功能。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2006-11-15 18:22

分析得很好,谢谢博主。
相关推荐阅读
用户58782 2010-10-10 22:27
我的编程风格的约定
源代码风格说明:(最核心的原则就是:便于代码的读、修改和他人的维护) 1、必须严格按照自己既有的编程风格进行代码的编写; 2、提炼出公共函数,以免重复劳动; 3、必须给源文件添加注释;我的源码固定编程...
用户58782 2010-09-21 12:43
再回来
前段时间太忙,有很久没有上过博客了,部分朋友发出的邮件和短信没有及时处理,再次表示真挚的歉意!...
用户58782 2010-04-25 16:40
EasyARM2103开发板
开发板实物照片:...
用户58782 2010-04-22 17:09
PROTEL个人使用之经验谈
突发奇想,去做论坛的斑竹,其实工作几年来一直都好忙,写的文档都是电路描述,突然想起去做pcb的斑竹,想想应该也有篇什么东西以作说明吧,如果只是到别处找个什么经验谈,我想我这儿资料多的是,怎么也有几年工...
用户58782 2010-04-19 10:17
核心期刊的由来
1931年著名文献学家布拉德福首先揭示了文献集中与分散规律,发现某时期某学科1/3的论文刊登在3.2%的期刊上;1967年联合国教科文组织研究了二次文献在期刊上的分布,发现75%的文献出现在10%的期...
用户58782 2010-01-18 17:38
参考文献及格式
参考文献是在学术研究过程中,对某一著作或论文的整体的参考或借鉴.征引过的文献在注释中已注明,不再出现于文后参考文献中▲专著(M);论文集(C);报纸文章(N);期刊文章(J)学位论文(D);报告(R)...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条