51单片机的工作流程及原理解析

控制/MCU

1878人已加入

描述

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。

51单片机是EPROM,所谓的EPROM是可擦除的只读存储器。可以把原来的程序擦除了,再写一个新的进去。

断电后是可以保存的,数据存储器(RAM)是不能保存的。

51单片机

RAM只能在程序执行的时候不断地重新存储定义的变量。如int x,int y

可以通过code这个指令来将定义的变量放在ROM,而不是RAM中,节省RAM资源

2.RAM:随机存取存储器,用于存储定义的变量等,速度快

51单片机的RAM存储容量远小于ROM,但是速度非常之快

内部详细图示

51单片机

内部的结构看似十分复杂,但是大致上可以分为两个部分:运算器(红色框)和控制器(蓝色框)。

运算器:主要作用是进行加减乘除和逻辑运算

内部的结构可以上网查询

控制器:控制单片机的各种操作

程序执行过程

1.程序地址

程序开始的时候,要先知道第一条程序的地址,这个通过PC(程序计数器)知道。

比如刚开始的时候地址是0000H,这个是16进制的。

当这个地址送给地址寄存器后,即取出第一条指令后,PC自动加1,准备取出下一条指令。

51单片机

2.程度读取

地址寄存器知道指令的地址后,就从ROM(只读存储器)里面取出地址所指向的一条指令。

并把取出来的指令放到指令寄存器中,经过指令编码器编译

51单片机

3.数据处理

指令有可能要用到加减乘除和赋值语句的判断。经过指令编码器,就知道要取出那些定义的数据或者哪些赋值语句。

通过总线来调取我们要用到的数据。并通过运算器来运算。

51单片机

比如说我们定义了int x和int y,这两个数据放在RAM中。

当我们取出了一个a = x + y 的指令后,需要x和y的值来计算。

那么通过上一张图的取数据的过程后取出了x和y的数据

通过运算器来运算。

51单片机

如图,取出x和y进入黑色框(运算器)中来的到最终结果

最终的结果还会通过a这个变量存储在数据存储器(RAM)中

4.操作器件

当然,除了计算这种步骤外,还有一种情况就是来直接控制IO口的高低电平或者其他的器件了。

51单片机

说明

本单片机运作过程是笔者查阅了资料后所得,并非一定正确。如若不正,请指正。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分