单片机是如何工作的呢?单片机的工作过程是一个不断“取指令-执行指令”的过程

单片机是如何工作的呢?我们来看一下单片机的工作原理:单片机的工作过程就是一个不断“取指令-分析指令-执行指令”的过程。

单片机的工作过程是一个“取指令——分析指令——执行指令”的连续过程。

单片机的程序以指令的形式一一存储在程序存储器中。 微控制器开始工作后,它开始从程序存储器中的特定位置获取指令。

然后单片机内部的控制器对指令进行分析,并根据指令要求执行“取数、发数、算术运算、逻辑运算、跳转”等一项或多项基本操作。 这些操作都是在一个指定的循环内完成的。

执行完这些操作后,再从下一个内存单元中取出指令,重复刚才的操作(当然,这些操作的具体内容可能与上次不同),以此类推,直至断电。

这里所说的“具体存储位置”、“指定周期”等与单片机的型号有关。 下面以51系列单片机为例。

在51系列单片机中,有一个寄存器叫PC(是用来存储数字的容器)。 微控制器复位后,该寄存器的内容被设置为0000H。 微控制器内部的控制器始终基于PC寄存器中的值。 该值进入相应的程序存储器位置以获取指令。

因此,上电后,将从0000H单元中取出第一条指令,进行分析和执行。 同时,PC值也会相应调整,指向下一条要执行的指令的位置。 下一条指令的位置在哪里? 对于51单片机来说,一条指令可能占用一个字节、两个字节或者三个字节。 如果第一条指令是单字节指令,则取第一条指令后,PC 的值将变为 0001H,因此 PC 的值将变为 0001H。 执行完一条指令后,将从0001H单元中取出第二条指令执行,以此类推。

如果程序是顺序执行的,PC的值就会一直增加。 如果程序中存在跳转指令,则该指令会影响PC中的值,使PC中的值指向下一条要执行的指令的地址单元。 这个跳转可以是正向的,比如从0000H跳转到0030H,也可以是反向的,即向后跳转,比如从200H跳转到100H。 正是因为指令可以影响PC中的值,程序才可以实现“分支”、“循环”等各种功能。

那么,执行一条指令需要多少时间呢? 对于51单片机来说,有三种可能的指令执行时间,单周期、双周期和四周期。 无论指令需要做多少工作,都必须在规定的时间内完成。 。

单片机

java和.net的时代,有谁还需要C以及汇编?

2024-1-27 9:05:34

单片机

洛阳理工学院示范校课程建设纪实之《单片机原理与应用》

2024-1-27 10:02:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索