MCS-51单片机指令系统简介
要单片机完成某种特定功能,就必须让CPU按一定顺序执行各种指令。这种按要求排列的指令操作序列就是程序。程序设计语言是实现人—机对话最基本的工具,可分为机器语言、汇编语言和高级语言。
1.三种程序设计语言
机器语言用二进制编码表示每条指令,是机器能够直接识别和执行的语言。用机器语言编写的程序称为机器语言程序或机器码程序。因为机器只能识别和执行这种程序,所以它又称为目标程序。
汇编语言是用助记符、符号和数字等来表示指令的程序语言,它与机器语言指令是一一对应的,但较之机器语言更便于理解和记忆。某种汇编语言是属于某种计算机所独有,一般不像高级语言那样具有通用性,因为它与某种机型内部的硬件结构密切相关。用汇编语言编写的程序称为汇编语言程序。
以上两种程序语言都是低级语言。尽管汇编语言有不少的优点,但他仍然存在着机器语言的某些缺点,如与CPU的硬件结构紧密相关,不同的CPU其汇编语言也不同。这使得汇编语言程序不能移植,使用不便;其次,要用汇编语言进行程序设计必须了解所使用的CPU的硬件结构与性能,对程序设计人员有较高的要求。为此,又出现了对MCS-51单片机进行编程的高级语言,如PL/M,C51等。
2.MCS-51的汇编语言
MCS-51的汇编语言指令系统采用描述指令功能的助记符形式,容易理解和记忆。MCS-51单片机指令系统专用于MCS-51系列的单片机。MCS-51指令系统是一种简明易掌握、效率较高的指令系统,共111条指令,其中单字节指令49种,双字节指令47种,三字节指令仅15种。从指令执行的时间看,单机器周期指令64种,双机器周期指令45种,只有乘、除2条指令的执行时间为4个机器周期,在晶振频率为12MHz的条件下,指令执行时间分别为1μs、2μs和4μs,由此可见,MCS-51指令系统在存储空间和时间的利用效率上是较高的。
MCS-51的硬件结构中有一个布尔处理机,指令系统中相应地设计了一个处理布尔变量的指令子集。该子集在设计需大量处理位变量的程序时十分有效、方便,是MCS-51指令系统的一大特点。