单片机是如何运作的?
时间:10-02
整理:3721RD
点击:
了解了单片机的几个主要组成部门之后,我们知道是由这些部门构成了单片机的硬件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必需有软件(Software)的配合。软件主要指的是各种程序。只有将各种准确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,恰是因为人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地掏出来,并加以翻译和执行。就以两个数相加这一简朴的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步:
第一步:把第一个数从它的存贮单元(Location)中掏出来,送至运算器。
第二步:把第二个数从它所在的存贮单元中掏出来,送至运算器;
第三步:相加;
第四步:把相加完的结果,送至存贮器中指定的单元。
所有这些取数、送数、相加、存数等等都是一种操纵(Operation),我们把要求计算机执行的各种操纵用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操纵呢?这是在设计单片机时由设计职员赋予它的指令系统所决定的。一条指令,对应着一种基本操纵;单片机所能执行的全部指令,就是该单片机的指令系统(Iustruction Set),不同种类的单片机,其指令系统亦不同。
使用单片机时,事先应当把要解决的题目编成一系列指令。这些指令必需是选定的单片性能识别和执行的指令。单片机用户为解决自己的题目所编的指令程序,称为源程序(Source Program)。指令通常分为操纵码(Opcode)和操纵数(Operand)两大部门。操纵码表示计算机执行什么操纵,即指令的功能;操纵数表示参加操纵的数或操纵数所在的地址(即操纵数所存放的地方编号)。由于单片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系统中的所有指令,都必需以二进制编码的形式来表示。例如,在Intel公司的MCS-51系列单片机中,从存贮器中掏出一数到CPU中的累加器(在运算器中,介入运算、存放运算结果的专用寄存器)的指令代码为74H,累加器内容加立刻数的代码为24H,再加上立刻数代码,累加器送数到内部RAM存贮器的代码为 F6H~F7H等。这些指令是用十六进制表示二进制的机器码。
MCS-51单片机的字长为8位,有时,要完成某些操纵用一个字节尚不能充分表达。所以,在指令系统中有单字节指令,也有多字节指令。机器码是由一连串的 0和1组成,没有显著的特征,不好记忆,不易理解,易犯错。所以,直接用它来编写程序十分难题。因而,人们就用一些助记符(Mue monic)——通常是指令功能的英文缩写来代替操纵码,如MCS-51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这样,每条指令有显著的动作特征,易于记忆和理解,也不轻易犯错。用助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解,可单片机却只熟悉二进制机器代码,因此,为了让单片性能“读懂”汇编语言程序必需再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”。汇编可借助于人工查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所划定的任务。
顶
理论结合实践才是王道
嗯,很好!
学习资料
学习了
有道理
学习了,谢谢!
顶了
嗯,很好!
不错,学了
哇哇安慰安慰
消息了
基础知识哦