yinlitansuo1 发表于 2012-2-27 16:27:26

51单片机数据传输问题

一个十六位数据传输给单片机的p口,,它所接受到的数据是什么。。。。高八位?低八位?

Alimy 发表于 2012-2-27 17:13:52

仅供参考:
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]
查看完整版本: 51单片机数据传输问题