单片机的各类指令有哪些功能应用?
扫描二维码
随时随地手机看文章
单片机的功能是由指令系统体现的。所以,寻址方式和指令系统是衡量微型机的重要指标。
MSC-51的指令系统一共有111条指令,包括单字节49条,双字节46条和三字节16条。按周期分,有单周期,双周期和三周期指令。在晶振频率为12MHZ时,三种不同周期的指令执行的时间分别为1μ s {\mu}sμs、2μ s {\mu}sμs、4μ s {\mu}sμs.
既然有布尔处理机功能,所以也就有相应的布尔操作指令集,下面我们分别谈论。
[1]. 位传送指令
位传送指令就是可寻址位与累加位CY之间的传送,指令有两条。
MOV C,bit ;bit→CY,某位数据送CY
MOV bit,C ;CY→bit,CY数据送某位
[2]. 位置位复位指令
这些指令对CY及可寻址位进行置位或复位操作,共有四条指令。
CLR C ; 0→CY,清CY
CLR bit ; 0→bit,清某一位
SETB C ; 1→CY,置位CY
SETB bit ; 1→bit,置位某一位
[3]. 位运算指令
位运算都是逻辑运算,有与、或、非三种指令,共六条。
ANL C,bit ;(CY)∧(bit)→CY
ANL C,/bit ;(CY)∧( bit)→CY
ORL C,bit ;(CY)∨(bit)→CY
ORL C,/bit ;(CY)∧( /bit)→CY
CPL C ;(/bit )→CY
CPL bit ;(/bit )→bir
[4].位控制转移指令
位控制转移指令是以位的状态作为实现程序转移的判断条件,介绍如下:
JC rel ; (CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。
JNC rel ; (CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。
JB bit, rel ; 位状态为1转移。
JNB bit, rel ; 位状态为0转移。
JBC bit, rel ; 位状态为1转移,并使该位清“0”。
后三条指令都是三字节指令,如果条件满足,(PC)+3+rel→PC,否则程序往下执行,(PC)+3→PC。
单片机从硬件到软件构成了完整的按位操作的不二处理器,也称为位处理器。在这里面,CPU不是以字节或者字而是以位作为处理对象进行操作的。进行位操作的时候,以进位标志CY作为位累加器,具有一套按位处理指令集,包括数据传送,位逻辑运算和位条件控制转移等指令。
MSC-51单片机内部诗句存储器中,有两部分按位寻址的存储地址空间:一部分是片内RAM的20H~2FH共16个字节单元128位,位地址为00H-7FH,各位地址相应于从20H字节单元的最低位开始,到2FH字节单元的最高位;另一部分是特殊功能寄存器区,字节地址能被8整除的专用寄存器也具有位地址,其位地址从80H-F7H.中间有极少数位没有被定义,这部分不能按位寻址。
51系列单片机的指令系统共有111条指令按照指令功能分类:
数据传送类指令(29条)
算术传送类指令(24条)
逻辑运算类指令(24条)
位操作类指令(17条)
控制转移类指令(17条)
按照指令执行所需要的时间分类:——机器周期
单周期指令(64条)
双周期指令(45条)
四周期指令(2条):乘、除两条指令
按照指令所占的字节数分类:
单字节指令(49条)
双字节指令(46条)
三字节指令(16条)
操作码:告诉机器做什么,怎样做;规定了指令的性质及功能,指定了相应的硬件要完成的操作地址码:告诉机器在哪做,操作结果放哪。在指令中可以直接给出操作数,大部分是给出存放操作数的地址;操作数地址和操作结果的存储地址可以是CPU寄存器,主存储器单元,外设接口中的寄存器定长操作码:操作码长度固定,硬件实现简单,指令译码速度快,但可扩充性差,操作码的平均长度长,需要的指令长度也长4位长的操作码,可执行16条指令,也就是2^4,如果需要执行100条指令,至少需要7位操作码可变长操作码:操作码长度可灵活调整,一般在计算机中使用固定长度的字长来表示基本操作码,对经常需要的指令采用短码(节省译码时间,提高了指令的执行效率),对不经常需要的指令采用长码,可以节省相应的指令译码时间,有效缩短操作码在程序中的平均长度,节省存储空间;优点是便于指令扩充,可通过增加操作码的长度新增指令,可压缩操作码的平均长度缺点是硬件实现复杂(控制器设计相对较为复杂),指令译码时间长;