51单片机数据传输问题
一个十六位数据传输给单片机的p口,,它所接受到的数据是什么。。。。高八位?低八位? 仅供参考:KeilUv4C51测试。。。
#include "reg51.h"
void main()
{
int i = 0x30ff;
int j = i|0xcc00;
P0 =j;
}
disAssmble:
_Start: LJMP_Init ;0000 02 00 03
_Init: MOV R0,#7FH ;0003 78 7F
CLR A ;0005 E4
_Loops: MOV @R0,A ;0006 F6
DJNZR0,_Loops ;0007 D8 FD
MOV SP,#07H ;0009 75 81 07
LJMP_Main ;000C 02 00 0F
_Main: MOV P0,#0FFH ;000F 75 80 FF
RET ;0012 22
编译器优化了很多中间过程。。这里的结果是给了低八位。。。。不过我猜想可能与编译器有关(没有经过验证)。。
PS:那你的目的是给高八位,还是给低八位?
页:
[1]