51单片机数据传输问题

2020-02-04 09:33发布

一个十六位数据传输给单片机的p口,,它所接受到的数据是什么。。。。高八位?低八位?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
Alimy
1楼-- · 2020-02-04 13:15
仅供参考:
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
               DJNZ  R0,_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:那你的目的是给高八位,还是给低八位?

一周热门 更多>