This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C5402 按键例程代码问题请教



请教:

        我的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口的使用,能否给一些相关资料?我希望知道:如何控制它的输入输出方向;使用前是否需要配置任何模式或时序;它和地址总线如何配合使用。另是否能提供一些更详细的例程?谢谢!