|     KDAT = 1  ; /*释放数据总线*/<br />    KEY = 0  ;  /* 变量赋 0,没必要!!! */<br />    KLOAD = 0  ;/*锁存按键状态*/<br />    KLOAD = 1  ;<br />    DO  N = 0    TO  7  ;/*移动8位串行数据*/<br />      KEY = ROL ( KEY , 1 )  ;/*字节左移,应该先移动!!!*/<br />      KCLK = 0  ;/*时钟变低,在下降沿要读数据*/<br />      IF  KDAT = 0  THEN  KEY = KEY OR 01H  ;/*此时才能读口状态,有键为1*/<br />      KCLK = 1  ;/*时钟变高,此时内部数据才开始移动*/<br />    END  ;<br /> |