【发布时间】:2021-09-05 08:04:23
【问题描述】:
我知道这就是我们使用 LOW() 和 HIGH() 运算符的方式:
MOV P3,#LOW(-10)
但是如果-10 是其中一个端口上的变量或输入怎么办?这就是我需要的:
MOV P3,#LOW(P0)
这不起作用。 Edsim51 模拟器说需要一个标签。但是我不认为我可以在这里如何使用标签,也许它意味着一个函数标签,我试过了,但据我所知,我们无法从函数返回值,所以我仍然不知道如何在此处使用函数标签。
MOV P3,#LOW(func)
func:
RET P0
这是不正确的。
这是我在互联网上唯一能找到的,只是关于这个问题的讨论:https://community.arm.com/developer/tools-software/tools/f/keil-forum/22073/how-to-use-low-or-high-in-a51
在官方文档中,我什至在任何地方都找不到 LOW() 和 HIGH() 运算符,这对我来说很奇怪:https://www.keil.com/support/man/docs/is51/is51_instructions.htm
【问题讨论】:
-
您希望 LOW/HIGH 在端口上做什么?端口本质上是 8 位值。你确定你不仅仅需要
MOV P3 P0吗?
标签: 8051