首页 理论教育 如何使用STC15W4K32S4系列单片机进行控制

如何使用STC15W4K32S4系列单片机进行控制

时间:2023-11-02 理论教育 版权反馈
【摘要】:控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动有序地工作。

如何使用STC15W4K32S4系列单片机进行控制

控制器是单片机的指挥部件,主要包括指令寄存器IR、指令译码器程序计数器PC、程序地址寄存器、条件转移逻辑电路和时序控制逻辑电路。控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动有序地工作。

1.指令、指令译码及控制器

所谓指令就是完成某项操作的命令。计算机采用二进制形式的编码来表示指令,一条指令即由一个或多字节组成的一串二进制代码。

指令由两部分组成:一是指示系统需要完成操作的操作码,二是提供被操作的操作数。例如,单片机的一条指令:

0010010100110000该指令是2字节加法指令,其功能是把寄存器A中的数据与地址为30H的存储单元中的数据相加,并将结果存储在A中。其中高8位“00100101”为操作码,而低8位“00110000”为操作数。在单片机中有一个由数字电路构成的指令译码器,它负责对指令进行解析和翻译,并向与译码器相连的控制器发出相应的控制信息,指挥运算器存储器协同完成指令所要求的操作。

2.指令集和指令助记符

计算机系统的指令译码器所能解析的指令是系统设计者在设计时规定的。凡是该计算机系统的指令译码器所能翻译的指令就是该系统能够使用的合法指令,这些合法指令的集合就是计算机系统的指令系统

由于采用二进制或十六进制代码形式表示的指令既不便于记忆,也不便于使用,为此,采用带有语义的英文缩写来表示指令的操作码,并规定指令的书写格式,形成指令助记符。例如,上面的加法指令用助记符表示的形式为

ADD A,30H

显然,指令的助记符形式要比用二进制和十六进制的表示方式更直观方便。

3.程序及程序计数器PC

为完成一个完整的运算任务,按照执行步骤、用计算机指令编写的指令集合称作计算机程序。一般情况下,程序应事先存储在程序存储器中,并占据存储器的一段空间,程序第一条指令所在的存储单元地址称作程序的起始地址(首地址)。(www.xing528.com)

计算机在执行程序之前必须要获得程序的首地址,这个首地址存储在程序计数器PC中。当启动执行程序时,在计算机控制器的控制下,取指令装置会按PC的指向从存储器中读出第一条指令并译码,执行指令所要求的操作。在当前指令执行完之后,PC自动加1,使PC指向下一条指令的地址。若所有指令都执行完毕,那么运算任务也就完成了,PC指向停止指令地址。

可见,PC中内容的变化决定了程序的流向,PC的位数决定了单片机对程序存储器直接寻址的范围。在单片机中,程序计数器PC是一个16位计数器,故对程序存储器的寻址范围可达64KB(即216=65536=64K)。

单片机被复位后,PC=0000,即单片机总是从0000H地址开始读取指令执行程序。因此,用户的应用程序编译生成机器码后应从程序存储器的0000H地址开始写入固化。

4.指令的执行过程

计算机执行一条指令的动作分为3个阶段:取指令、指令译码和执行指令。

取指令是按PC的指向从存储器中取出指令的第一字节,然后自动将PC值加1,指向下一个存储单元。如果是多字节指令,则取指令装置再取指令的第二字节,并把PC再加1,按此方法直到取出一条完整指令并存入指令寄存器。此时,PC值已指向下一条指令的首地址。

指令译码是对指令寄存器中的指令进行分析,若指令要求操作数,则自动提取操作数地址。

执行指令是按操作数的地址获得操作数,执行指令规定的操作,并根据指令的要求保存操作结果。

然后周而复始地执行上述3个阶段操作,直至遇到停止指令。

978-7-111-51881-5-Chapter02-6.jpg

图2-4 程序执行流程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈