请教:
我的5402开发板给出了一段按键例程,执行功能为在按下任何键时,获取键值并闪灯,其中获取键值的一段操作如下:
Temp = ScanKey(); //获取键值
KeyFunction(Temp); //执行相应操作
其中ScanKey关键代码如下:
#define KeyReg port8FFF
Uint16 ScanKey(void)
{
temp = KeyReg;
temp = temp & 0xff;
while(temp==0xff)
{
…….
}
}
电路图显示8个按键的输出通过总线收发器直接连到了5402的D0-D7上,对于代码本身我并没有什么问题,但对于程序如何实现对D0-D7的值读写方面有些疑问:
1、port8FFF是一个在哪里定义的值?我没有在任何地方读到它的定义;它是代表哪个寄存器吗?为什么读它就代表了获取D0-D7的值?
2、关于5402的通用IO口的使用,能否给一些相关资料?我希望知道:如何控制它的输入输出方向;使用前是否需要配置任何模式或时序;它和地址总线如何配合使用。另是否能提供一些更详细的例程?谢谢!
JIAYING SUN:
同问
如何读取D0到D7的数据总线上传来的值