如何将.a文件导入单片机中?

对单片机的累加器A的逻辑操作:

CLR A ;将A中的值清0,单周期单字节指令,与MOV A,#00H效果相同。

CPL A ;将A中的值按位取反

RL A ;将A中的值逻辑左移

RLC A ;将A中的值加上进位位进行逻辑左移

RR A ;将A中的值进行逻辑右移

RRC A ;将A中的值加上进位位进行逻辑右移

SWAP A ;将A中的值高、低4位交换。

例:(A)=73H,则执行CPL A,这样进行:

逐位取反即为 ,也就是8CH。

RL A是将(A)中的值的第7位送到第0位,第0位送1位,依次类推。

例:A中的值为68H,执行RL A。68H化为二进制为,按上图进行移动。化为,即D0H。

RLC A,是将(A)中的值带上进位位(C)进行移位。

例:A中的值为68H,C中的值为1,则执行RLC A

1 后,结果是0 ,也就是C进位位的值变成了0,而(A)则变成了D1H。

RR A和RRC A就不多谈了,请大家参考上面两个例程自行练习吧。

SWAP A,是将A中的值的高、低4位进行交换。

例:(A)=39H,则执行SWAP A之后,A中的值就是93H。怎么正好是这么前后交换呢?因为这是一个16进制数,每1个16进位数字代表4个二进位。注意,如果是这样的:(A)=39,后面没H,执行SWAP A之后,可不是(A)=93。要将它化成二进制再算:39化为二进制是10111,也就是0001,0111高4位是0001,低4位是0111,交换后是,也就是71H,即113。

练习,已知(A)=39H,执行下列单片机指令后写出每步的结果

}

通过Keil编译器建立工程时,Keil会提示是否添加STARTUP.A51文件到工程,该文件即为51单片机启动代码。   51单片机复位后马上执行STARTUP.A51文件中的启动代码,根据启动代码中的设置依次执行以下操作:   内部RAM清零   外部RAM清零   清零分页的外部RAM   初始化SMALL内存模型的可重入模拟堆栈及其堆栈指针   初始化LARGE内存模型的可重入模拟堆栈及其堆栈指针   初始化COMPACT内存模型的可重入模拟堆栈及其堆栈指针   初始化8051单片机的硬件堆栈

}

我要回帖

更多关于 keil5文件怎么保存 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信