|
发表于 2024-1-13 13:54:44
|
显示全部楼层
本帖最后由 fshwen 于 2024-1-13 14:11 编辑
您有没注意图片中间的二进制部分?大部分都是写了1和0的,代表这部分是固定的,固定的这部分就代表单片机相应的控制操作,就是指令的主体,后面变化的才需要编程序的人来定义;
也就是固定的部分在编程时照抄就行,后面的参数才需要人来定义;
比如第一个字节的8位是0111 1101对着表查就是0111 1RRR,这条指令是两个字节的(两个8位的指令,由指令和数据组成的一条完整的指令),这8位的前5位照抄就行,而后面的3位,需要人给它定义,在指令表上这3位RRR是代表选择哪个寄存器,从0~7共8组寄存器二进制就是0~111,在程序中设置了101也就是第5组寄存器,01111101,11111111这条指令的功能就是把后面的8位数据11111111放到单片机内的第5个寄存器中;你可以这样认为,除单字节指令只有8位指令外,多字节的指令在8位指令本身后面必须有指令操作的数据,只要有一点对不上,单片机就不能正常工作
如果您想在程序上做修改,也必须遵守这些指令的格式定义,比如我想把01111101,11111111这条指令做些修改,可以改成01111100,10101010;这时,指令的操作就是把10101010送到单片机内的第4组寄存器中。
您可能会疑惑我是怎么知道的,我当然也是查指令表才知道的,东西做出来不就是为了方便人们使用的吗,所以都会有相应的说明,只要您有心,就能做到。 |
|