问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机中一个程序的运行过程

发布网友 发布时间:2022-04-22 05:16

我来回答

1个回答

热心网友 时间:2023-08-08 07:44

单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。
取指令的任务是:根据程序计数器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中的数据不会。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是Medical Literature Analysis and Retrieval System (NLM)的缩 ... 医学工作者的因特网内容简介 2002年的一篇文章英文摘要被《医学文献联机数据库》(MEDLINE)收录,是否... 医学器具medline啥意思 民国市与县的关系是怎样的,市与县分别又是什么? 历代兵制中国民国兵制 冰箱运行时有水流声怎么回事? ud牛郎眼影真假判断 爆闪/没有平替❌ 牛郎眼影真假鉴别方法 鉴别❗️衰败城市牛郎眼影真假,粉质肉眼差距 水暖空调怎么调制热 水空调怎么用及其优势 单片机汇编语言设计程序的方法,步骤,思路? 简述用Keil uVision2编写单片机程序步骤? 写程序步骤 单片机新建程序步骤 求各位懂单片机的说下c8051f120单片机写程序的具体... 51单片机定时器初始化程序的基本步骤 红米手机开数据后老是自己开新闻 利用单片机,如何才能正确的编写出一段程序,编写... 不玩游戏,只刷头条和看视频,红米note7能用多久? 想换手机,荣耀9X,红米note7,红米note8哪个好?... 红米note2移动网络打开呢为什么天气跟今日头条刷新... 我看头条新闻,在下面点击收藏,显示己收藏,应该... 红米note8pro为什么不支持抖音和头条系软件分屏? 红米自带的浏览器里面的今日头条新闻里的视频不会... 红米Note 今日头条存的图片我怎么在图库里找不到 红米手机一插蓝牙耳机就 护播放今日头条 怎么关闭? 小米10的自带浏览器如何设置像红米note手机有今日... 我用的是红米note手机,可不知为什么老出现例如今日... 火锅业上市公司有哪些 水温空调制热的使用方法 12306身份证带X怎么在网上买票 求解释下下面单片机程序的每一步是什么意思,谢谢了 水暖空调怎样调试? 12306网上订火车票身份证最后一位是X怎么输入? 注册 12306时身份证号的X怎么输入? 水暖空调怎么调自动 铁路12306买票身份证号里面的x怎么办 手机客户端12306 身份证有x怎么订票 电火锅什么牌子好 12306身份证号码中包含“X”怎么输入 重庆老火锅排名前十强 水空调控制面板的使用 水空调如何取暖? 12306注册时身份证号x怎么办 史创壁挂式水暖空调怎么用? 在12306添加乘客是身份证号码后面带X 字母的怎么总... 水暖空调的使用 重庆有哪些知名的火锅企业