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

作者&投稿:桂董 (若有异议请与网页底部的电邮联系)
单片机中一个程序的运行过程~

单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。
取指令的任务是:根据程序计数器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中的数据不会。

XCHD A,@R0 是半字节交换指令,累加器A的低4 位和内存的低4 位交换,就是A里的59H和60H里的3EH的低4 位交换 。这样(A)=5EH,(60H)=39H

与电脑差不多,读入数据后,依据半导体进行逻辑运算,并把结果输出。

单片机的基本结构

运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;

控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;

存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)

输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);

输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。

注:1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。
2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。

1 中央处理器(CPU):
刚跟大家讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码;

2 内部数据存储器(RAM):
8051芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。

3 内部程序存储器(ROM):
在前面也已讲过,8051内部有4KB的ROM,用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。

4 定时器/计数器
8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。

5 并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。

6 串行口
MCS-51有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。

7 中断控制系统
MCS-51单片机的中断功能较强,以满足不同控制应用的需要。共有5个中断源,即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别。

8 时钟电路
MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率为12MHZ

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就是这样一条一条地执行指令,完成所有规定的功能。
参考资料:http://www.jinjubao.com/

  单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

说得那么麻烦 单片机是用程序执行的
而程序直接最基本的就是汇编语言
这个是直接跟硬件打交道的
只有1和0 非0就1
通过2进制来编写汇编控制单片机
单片机有8位 16位 32位 64位
其实可以这样理解 现在电脑的CPU也是单片机


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

SMT贴片机程序原理是怎么样的,知道通知我哦
这一系列元件识别、对中、检测和贴装的动作都是工控机根据相应指令获取相关的数据后指令控制系统自动完成。贴片机的工作流程框图如图2所示。3 贴片机的结构形式按照贴装头系统与PCB板运载系统以及送料系统的运动情况,贴片机大致可分为3种类型:转塔式(turret-style)(如图3)、模块型(parallel-style)(如图4)和框架式...

简述CPU执行一条指令的过程
在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。3.执行指令阶段 在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。此阶段的...

微控制器都有哪些型别
你完全可以在指令中按排一条SETB P3.7的指令,并且当微控制器执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃。 四、程式的执行过程: 微控制器在通电覆位后8051内的程式计数器(PC)中的值为‘0000’,所以程式总是从‘0000’单元开始执行,也就是说:在系统的ROM中...

操作系统的基本指令是怎样执行的?能画出它在硬件中的流动过程吗_百度知 ...
)一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。二,操作系统在运行过程中应用程式的数据流动方向。那是指应用程式。三,电脑关机时...

单片机原理及应用
一句话:单片机的工作就是不断地取指令、分析指令、执行指令的循环过程。按预先编写的程序执行,以达到用户期待的结果。单片机主要用途是做生产设备的控制器,做智能仪表的核心部件,由于单片机体积微小,可以植入任何一个设备和仪表当中,因此它也是嵌入式技术的核心部件。片机技术的开发 (1)CPU开发。开...

谁能给我介绍 下 单机片 工作原理 重谢
程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中...

单片微控制器的基本结构
,即协调和指挥整个微机系统的操作。其主要功能有:(1) 从内存中取出一条指令,并指出下一条指令在内存中的位置。(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。微处理器内通过内部总线把ALU、计数器、...

车床GSK980TDa的G73指令的使用
W:Y轴方向退刀量 R:是循环次数 在此说明你的疑问,使用G73命令的时候 其实它是这样执行的 比如你的程序原点是 X0 Y0 当程序执行到G73的时候 首先执行 G73 U4 W2 R4这一句 其实这句的意思是先将刀具 X轴退4 Y轴退2(相对移动)也就是说G73开始循环的时候 刀具的位置是 X-8 Y-2 这...

指令寄存器ir从prom接收到指令字后的运行过程如何,起什么作用
般计算机进行工作首先要通外部设备程序数据通输入接口电路数据总线送入存储器逐条取执行单片机程序般事先我都已通写入器固化片内或片外程序存储器机即执行指令 面我举实例说明指令执行程:机程序计算器PC变0000H单片机序电路作用自进入执行程序程执行程实际取指令(取存储器事先存放指令阶段)执行指令(析...

鄯善县13788297897: 单片机执行一条指令的具体过程是怎么样的啊?越详细越好. -
丙浦泛昔: 不同的单片机执行指令是有区别的,以mcs51为例有单周期指令,双周期指令,和四周期指令,执行过程是取指令、分析、执行

鄯善县13788297897: 单片机程序是如何运行的? -
丙浦泛昔: 这样说吧: 单片机内部有一个处理单元电路(也就是CPU吧),一开始(就是上电吧)就执行你的程序的第一条指令.根据指令做相应的功能.这样就开始了......

鄯善县13788297897: 单片机的原理介绍 -
丙浦泛昔: 与电脑差不多,读入数据后,依据半导体进行逻辑运算,并把结果输出.单片机的基本结构运算器:用于实现算术和逻辑运算.计算机的运算和处理都在这里进行;控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;...

鄯善县13788297897: 单片机中一个程序的运行过程 -
丙浦泛昔: 单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤. 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器. 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分...

鄯善县13788297897: 单片机如何执行代码命令,单片MCU内存如何分配 -
丙浦泛昔: 单片机的代码由内核运行,不同的架构,不同的指令集和运行方式,mcu的内存如果很小,一般都是编译程序时固定的,在程序中分配,如果内存比较大,就可以直接上操作系统了,那么程序也是变成了进程了,动态分配,由操作系统管理.

鄯善县13788297897: 单片机如何自动执行程序?
丙浦泛昔: 单片复位后会自动跳转到0000H开始执行程序.普通指令执行后SP自动加1.读取下个内存单元的执行代码.

鄯善县13788297897: 单片机工作原理 -
丙浦泛昔: 单片机由运算器、控制器、存储器、输入输出设备构成. 单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋...

鄯善县13788297897: 很多单片机教材中都用printf,单片机内部是如何执行这个指令的? -
丙浦泛昔: 可以的,KILE编译环境已经将PRINTF指令改成了串口通讯的函数了,可以直接调用的,环境是改的底层驱动函数,如果你需要用这个函数实现其他的功能,也可以自己修改这个函数的底层驱动函数.自己多试一试就可以了.

鄯善县13788297897: 单片机直接执行的是什么指令格式 -
丙浦泛昔: 单片机直接执行的是机器码,你用汇编语言或者C语言写程序,经过编译器编译后,生成HEX文件,也就是机器码(只有01两种状态),下载给单片机,单片机再执行机器码指令.

鄯善县13788297897: 单片机最根本的控制原理是什么.请高手解答. -
丙浦泛昔: 单片机最核心的部分就是晶振,它就像单片机的心脏,为单片机提供一个时间标准,晶振每振动一下,单片机就执行一条指令.(你可以简单的这样理解,以后你会知道有双周期指令、四周期指令的)控制原理就是用高低电平了,高电平=5V,低电平=0V,有了电压差,外围设备就可以开始工作了.比如晶振振动一次是1秒,那我想让一个电平持续10s,我就先输出一个高电平,然后等待晶振振动10s后再输出低电平,明白了么?

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网