【发布时间】:2014-09-07 21:25:30
【问题描述】:
我目前正在使用 AT89C51RC2 制作一个非常简单的井字游戏,但在正确输入按钮时遇到问题。
基本上,输入是一个 3x3 按钮矩阵,我想通过用脉冲扫描行来使用它,同时检查列是否有连接;很基本。但是,我想这样做的方法是创建一个独特的 scroll 方法,该方法接收行参数并相应地将其设置为 HIGH。
我已经有了
sbit R1 = P1^0;
全部通过所需的输入,但我不确定这是否正确。
然后,在我的主要方法上,我运行类似
while(TRUE)
{
scroll(R1);
}
这叫卷轴,我有这个
void scroll (bit P)
{
P = HIGH; //Sets the row being checked to HIGH (HIGH is already defined as a 1). Same goes with the aformentioned TRUE
...
}
所以,这行不通。我知道我做的不对,但我必须从某个地方开始。我正在尝试做的事情可能吗?发送单个 Pin 地址作为方法的重载?如果是这样,它应该是什么数据类型?我在 char 和 bit 之间徘徊,但我无法解决。
我希望我的问题可以理解!如果没有,我会很乐意详细说明并发布所有代码(尽管它很混乱)。谢谢大家,提前!
【问题讨论】:
-
你认为
P1^0会做什么? -
@DavidSchwartz,它可能做了他认为的事情。它是一个编译器扩展,用于引用 8051 中的位可寻址内存范围。