指令寄存器(变址寄存器用在什么地方)

  • 时间:
  • 浏览:76
  • 来源:奥一装修网

单片机程序运行过程的详细说明

单片机程序的运行过程分为几个步骤:取指令、分析指令和执行指令。

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

分析指令阶段的任务是从指令寄存器中取出指令操作码并解码,并分析其指令属性。如果指令需要操作数,寻找操作数地址。其实计算机执行程序的过程就是一个个重复上述操作过程,遇到关机指令循环等待指令。一般的计算机工作时,首先要通过外部设备,通过输入接口电路和数据总线,将程序和数据发送到内存中,然后逐个取出执行。而单片机中的程序一般都是由编写器提前固化在片内或片外程序存储器中。因此,该指令可以在启动时执行。

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

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

比如执行指令:MOV A,#0E0H,其机器码为“74H E0H”。该指令的作用是将操作数E0H送入累加器,其中74H已存入000H单元,E0H已存入0001H单元。单片机开始运行时,第一步是进入取指阶段,顺序如下:

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,每次CPU从内存中取数据或取数据,PC自动加1,单片机进入下一个取数据阶段。重复该过程,直到接收到暂停指令或循环等待暂停指令。CPU就是这样一条条执行指令,完成所有指定的功能。

ROM是存储程序代码的只读存储器;RAM是一个数据存储器,用来存储单片机运行时的数据。也就是说,RAM中的数据在断电(复位)后会消失,而ROM中的数据不会。

中断的主要作用是保护现场。计时器用于精确计时和长时间计时。听不懂就问我!

中断通过硬件改变CPU的运行方向。在计算机程序执行过程中,当发生CPU以外的事情时,服务对象向CPU发送中断请求信号,要求CPU暂时中断当前程序的执行,转而执行相应的处理程序,处理程序执行完毕后继续执行被中断的程序。这类程序在执行过程中由于外部原因中途中断,称为“中断”。

对应的p

当硬件电路向中央处理器发送中断信号时,它为主程序设置一个断点,然后响应中断请求。中断内容完成后,继续在断点处执行主程序。

本文来源于网络。如果原作者不支持我们转发,请删除。谢谢!

中国药科大学