[转载] 51单片机运行过程
439 查看
8 回复
 楼主 | 发布于 2019-04-30 | 只看楼主
分享到:

51单片机的简要图示

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

  • 51单片机是EPROM,所谓的EPROM是可擦除的只读存储器。可以把原来的程序擦除了,再写一个新的进去。
  • 断电后是可以保存的,数据存储器(RAM)是不能保存的。
  • RAM只能在程序执行的时候不断地重新存储定义的变量。如int x,int y
  • 可以通过code这个指令来将定义的变量放在ROM,而不是RAM中,节省RAM资源

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

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

(0 ) (0 )
回复 举报

楼主 | 回复于 2019-04-30 沙发

  • 内部详细图示

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

  • 运算器:主要作用是进行加减乘除和逻辑运算
    内部的结构可以上网查询
  • 控制器:控制单片机的各种操作

(0 )
评论 (0) 举报

楼主 | 回复于 2019-04-30 2#

  • 程序执行过程

    1.程序地址
    程序开始的时候,要先知道第一条程序的地址,这个通过PC(程序计数器)知道。
    比如刚开始的时候地址是0000H,这个是16进制的。
    当这个地址送给地址寄存器后,即取出第一条指令后,PC自动加1,准备取出下一条指令。

2.程度读取
地址寄存器知道指令的地址后,就从ROM(只读存储器)里面取出地址所指向的一条指令。
并把取出来的指令放到指令寄存器中,经过指令编码器编译

3.数据处理
指令有可能要用到加减乘除和赋值语句的判断。经过指令编码器,就知道要取出那些定义的数据或者哪些赋值语句。
通过总线来调取我们要用到的数据。并通过运算器来运算。

比如说我们定义了int x和int y,这两个数据放在RAM中。
当我们取出了一个a = x + y 的指令后,需要x和y的值来计算。
那么通过上一张图的取数据的过程后取出了x和y的数据
通过运算器来运算。

如图,取出x和y进入黑色框(运算器)中来的到最终结果
最终的结果还会通过a这个变量存储在数据存储器(RAM)中
4.操作器件
当然,除了计算这种步骤外,还有一种情况就是来直接控制IO口的高低电平或者其他的器件了。

(0 )
评论 (0) 举报

回复于 2019-04-30 3#

感谢分享!全国大学生电子设计竞赛已经进入备战期啦!我建了一个交流的QQ群供参与电赛的伙伴交流,QQ群:434614836
(0 )
评论 (0) 举报

回复于 2019-04-30 4#

谢谢分享!!!!
(0 )
评论 (0) 举报

回复于 2019-05-22 5#

支持下,谢谢分享!
(0 )
评论 (0) 举报

回复于 2019-05-22 6#

支持下,谢谢分享!
(0 )
评论 (0) 举报

回复于 2019-05-25 7#

感谢分享!
(0 )
评论 (0) 举报

回复于 2019-07-26 8#

感谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部