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

发布者:CuriousTraveler最新更新时间:2018-10-09 来源: eefocus关键字:单片机  程序  运行过程 手机看文章 扫描二维码
随时随地手机看文章

单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。

取指令的任务是:根据程序计数器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中的数据不会。

中断最主要的作用是保护现场,计时器用于精确定时和长定时,如果你看不懂,在问我!

中断是通过硬件来改变CPU的运行方向的。计算机在执行程序的过程中,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。

“中断”之后所执行的相应的处理程序通常称之为中断服务程序或中断处理子程序。

原来正常运行的程序称为主程序。

主程序被断开的位置(或地址)称为“断点”。

引起中断的原因,或能发出中断申请的来源,称为“中断源”。

中断源要求服务的请求称为“中断请求”(或中断申请)。

当硬件电路将中断信号送给cpu时,给主程序设置一个断点,然后去响应中断请求,当完成中断的内容后,在返回断点处继续执行主程序。


关键字:单片机  程序  运行过程 引用地址:单片机中一个程序的运行过程详解

上一篇:什么是单片机?单片机应用范围广吗?
下一篇:汇编C语言混合编程经验总结

推荐阅读最新更新时间:2024-03-16 16:15

基于WINCE S3C2440 的LED驱动程序的编写
在SMDK2440的BSP包里经常看见这两句语句: volatile IOPreg *s2440IOP = (IOPreg *)IOP_BASE; volatile INTreg *s2440INT = (INTreg *)INT_BASE; 这两条语句简单的理解就是把s2440IOP和IOP_BASE等价,把s2440INT和INT_BASE等价。 IOP_BASE和INT_BASE在s244.h头文件中 #define IOP_BASE 0xB1600000 // 0x56000000 typedef struct { unsigned int rGPACON; // 00 unsigned
[单片机]
单片机构成的噪声测量自动定位装置
  1 引 言   随着近代工业和交通运输业的机械设备向着大型、高速、重载的方向发展,所引起的噪声越来越大。例如冶金轧制设备、破碎机、球磨机、纺织机械、喷气运输机及各种机动车辆等的噪声已经成为当代三大主要环境公害之一。噪声对人体健康有着严重的危害,因此如何减少噪声危害已成为当前一项迫切的任务。精确的测量、分析噪声将为控制噪声源、改进产品设计工艺、制定环保措施和相关法律提供重要依据。在办公自动化、计算机等新技术日新月异发展的今天,人们同样把对办公自动化设备的噪声处理倍加关注,在相应的环保标准中噪声作为一项重要指标。在噪声测量方面大都采用分布采点的方法来进行测量。但是测量点选择只是通过简单的投影量距的方法,每次测量都需人工去测量调整
[单片机]
由<font color='red'>单片机</font>构成的噪声测量自动定位装置
物联网时代新趋势:传感器、MCU二合一
    “ 到 2020 年会有 260 亿台设备将彼此互联,超过 3000 亿美金的市场机会。 ” 这是兆易创新董事长兼总裁朱一明先生在 2014 中国 IC 领袖峰会上与大家分享的一个数据。 YoleDeveloppement 分析师 LaurentRobin 预期, 2013 年~ 2018 年之间,全球 MEMS 传感器市场将有 18.5% 的年复合增长率, 2018 年市场规模可望达到 64 亿美元。 “物联天下、传感先行”。作为作为传输中的关键节点,传感器广泛的应用于物联网方方面面,如智能家居、智能医疗、智慧城市、智慧交通……对物联网的发展起着关键性作用。 物联网的本质是万
[手机便携]
MCS-51系列单片机多机通信原理
  多机通信是指两台以上计算机之间的数据传输,主从式多机通信是多机通信系统中最简单的一种,应用也最为广泛。   工作原理:串行口控制寄存器SCON中的SM2为多机通信控制位。串行口以方式2或方式3接收时,若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;如果接收到的第9位数据RB8为0,则不产生中断标志RI,信息丢失,CPU不作任何处理。当SM2为0时,则接收到一个数据后,不管第9位数据RB8是1还是0,都将数据装入接收 缓冲器 SBUF,置位中断标志RI,请求CPU处理,应用这个特性,便可以实现MCS-51的主从式多机通信。   (1)主机的SM2=0;所有从机的
[单片机]
MCS-51系列<font color='red'>单片机</font>多机通信原理
西门子S7-200系列PLC与PC通信程序流程图及工作过程
在上述通信方式下,由于只用两根线进行数据传送,所以不能够利用硬件握手信号作为检测手段。因而在PC机与PLC通信中发生误码时,将不能通过硬件判断是否发生误码,或者当 PC与 PLC工作速率不一样时,就会发生冲突。这些通信错误将导致PLC控制程序不能正常工作,所以必须使用软件进行握手,以保证通信的可靠性。 由于通信是在PC机以及PLC之间协调进行的,所以PC机以及PLC中的通信程序也必须相互协调,即当一方发送数据时另一方必须处于接收数据的状态。如图7-18、图7-19所示分别是PC、PLC的通信程序流程。 图7-18 PC机通信程序流程图 图7-19 S7-PLC通信程序流程图 通信程序的工作过程:PC每发送一个字节前首先
[嵌入式]
西门子S7-200系列PLC与PC通信<font color='red'>程序</font>流程图及工作<font color='red'>过程</font>
TI MSP430 F22xx系列混合信号微控制器的特性及应用方案
TI公司的MSP430 F22xx系列是超低功耗混合信号微控制器,集成了两个16位计时器,通用串行通信接口,10位ADC和基准电压源以及数据传输控制器(DTC),两个通用运放。器件工作电压1.8V-3.6V,1 MHz,2.2 V工作模式的功率为270uA,可重复存储为0.7uA,主要用于手持设备。此处介绍了MSP430F22xx主要特性,功能方框图,以及EZ430-TMS37157无线RFID开发套件主要特性,EZ430-RF USB调试接口电路图,EZ430-TMS37157板目标电路图产品RFID状语从句:基站电路图等。 德州仪器(TI)MSP430超低功耗微控制器系列由几款器件组成,这些器件具有针对各种应用的不同外设集
[单片机]
TI MSP430 F22xx系列混合信号<font color='red'>微控制器</font>的特性及应用方案
基于单片机的区域交通信号控制系统
由于目前各种公共汽车、私家车数量的与日俱增,给城市居民行车安全以及道路交通的指挥管理带来很大压力,城市的交通拥挤问题逐渐引起人们的注意,人、车、路三者关系协调,已成为交通管理部门所面临重要问题。 交叉路口是城市道路网络的基本节点,也是道路网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好交叉口信号控制系统设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。 道路交通系统是一个具有随机性、模糊性和不确定性的复杂系统,建立数学模型非常困难,有时甚至无法用现
[单片机]
基于<font color='red'>单片机</font>的区域交通信号控制系统
海速芯8位MCU-TM52F1376用于电动剃须刀
电动剃须刀由不锈钢网罩、内刀片、微型电动机和壳体组成,其中主控方面控制按键开关、电机驱动、电源管理等,为保证性能,电动剃须刀需要选用一个稳定性能好的MCU。本文将推荐海速芯高性能、高稳定性的8位MCU-TM52F1376应用于电动剃须刀。 海速芯8位MCU-TM52F1376的主要应用优势特点如下: ①采用8051内核、8bit的MCU,主频高达18MHz,因而拥有高性价比、稳定性好的特点,适合电动剃须刀上的应用,节约成本; ②拥有3ch PWM控制资源,满足电动剃须刀对于电机方面的控制; ③封装形式多样,满足不同设计需求,同时可以有效简化PCB面积; ④工作温度为-40℃~85℃,非常适合对于消费类电子产品即电动剃须刀上的应
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved