汇编语言编程单片机的问题

2025-04-27 14:10:25
推荐回答(4个)
回答1:

MOV P1,#00H其实是MOV 90H,#00H
SETB P1.0 其实是SETB 90H
就是说,P1和P1.0都代表一个寄存器地址而已,只不过那么多地址不好记,就起了个好记的名字叫P1,P1.O
他俩的地址都是90H 但一个是字节地址,一个是位地址,通过指令来区分是对哪个进行操作,对字节操作的指令如MOV ,就是P1 SETB 则对应P1.0
P1.1的地址就是91H, P1.2 对应 92H... ...
这些名字都是寄存器地址,其他单片机也一样,PA,PB,PC 也是地址
要SETB PA.0 首先要看PA这个寄存器能不能够位寻址,PA.O中的"."在汇编语言中是取位运算,一般做为引脚的寄存器都是可以位寻址的.
还有对于不同的单片机,指令也可能不太相同,SONIX的单片机就是
B0BSET P1.0.

回答2:

不同系列的单片机汇编语句不同,您可以参照汇编指令表。

回答3:

其实 置1 的办法有很多,最不会错的 你就把端口的寄存器的某位置一就可以了

回答4:

有的单片机不可以直接对单一管脚付值,你提到的PA PB PC,可能是PIC单片机的I/O端口,如PA口有8个端口,必须8个比特一起写,可以只将需要的那一位置1,其他的置0,一起输出。