APP下载

微控制器中一个程式的执行过程

消息来源:baojiabao.com 作者: 发布时间:2024-05-09

报价宝综合消息微控制器中一个程式的执行过程

微控制器中一个程式的执行过程分为取指令,分析指令和执行指令几个步骤。

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

ROM是只读储存器,用于储存程式程式码;RAM是资料储存器,用于存放微控制器执行时的资料,也就是说RAM中的资料掉电(复位)后就会消失,而ROM中的资料不会。

中断最主要的作用是保护现场,计时器用于精确定时和长定时,如果你看不懂,在问我!

中断是通过硬件来改变CPU的执行方向的。计算机在执行程式的过程中,当出现CPU以外的某种情况时,由服务物件向CPU发出中断请求讯号,要求CPU暂时中断当前程式的执行而转去执行相应的处理程式,待处理程式执行完毕后,再继续执行原来被中断的程式。这种程式在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

“中断”之后所执行的相应的处理程式通常称之为中断服务程式或中断处理子程式。

原来正常执行的程式称为主程式。

主程式被断开的位置(或地址)称为“断点”。

引起中断的原因,或能发出中断申请的来源,称为“中断源”。

中断源要求服务的请求称为“中断请求”(或中断申请)。

当硬件电路将中断讯号送给cpu时,给主程式设定一个断点,然后去响应中断请求,当完成中断的内容后,在返回断点处继续执行主程式。

2019-09-21 02:08:00

相关文章