{臨時}乙級數位電子術科程式碼2

乙級數位電子術科第一題(117002)程式碼



SUBDESIGN 117002
( GCK43,P10,P4,P2,P14,P13 : INPUT;
  KEY[3..0],P15,P19,P16,P18,P6,P20,P1 : OUTPUT;
)
VARIABLE
  DIVX[13..0],SP[2..0],4MOD[1..0],KEYCODE[3..0] : DFF;
BEGIN
  DIVX[].CLK=GCK43;
  IF DIVX[]==16000 THEN DIVX[]=0;
    ELSE DIVX[]=DIVX[]+1;
  END IF;
  4MOD[].CLK=DIVX13 OR !(P10 AND P4 AND P2);
  4MOD[]=4MOD[]+1;
  SP[].CLK=DIVX13;
  SP0=!(P10 AND P4 AND P2);
  SP1=SP0;
  SP2=P6;
  P6=SP0 AND !SP1;
  P20=SP2;
  KEYCODE[].CLK=P6;
  KEYCODE3=!P10;
  KEYCODE2=!P4;
  KEYCODE1=4MOD1;
  KEYCODE0=4MOD0;
  KEY[]=KEYCODE[];
  TABLE
    4MOD1,4MOD0 => P15,P19,P16,P18;
        0,    0 =>   1,  1,  1,  0;
  0,    1 =>   1,  1,  0,  1;
  1,    0 =>   1,  0,  1,  1;
  1,    1 =>   0,  1,  1,  1;
  END TABLE;
  P1=P14 NOR P13;
END;

留言