home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / EightBitSerInShiftReg.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  1.7 KB  |  55 lines

  1. class EightBitSerInShiftReg extends IntegratedCircuit {
  2.    public EightBitSerInShiftReg(Pin[][] var1, int var2, int var3) {
  3.       super(var2, var3, 10, 15, 3, 1, 4, 13, 3, 8);
  4.       super.IPin[0] = new InputPin("C1", 1, 2, 2, 0, 0, 0, 4);
  5.       super.IPin[1] = new InputPin("R", 1, 4, 2, 0, 0, 0, 1);
  6.       super.IPin[2] = new InputPin("D", 1, 6, 2, 0, 0, 0, 8);
  7.       super.OPin[0] = new OutputPin("1", 9, 6, -2, 0, 0, 0, 0);
  8.       super.OPin[1] = new OutputPin("2", 9, 7, -2, 0, 0, 0, 0);
  9.       super.OPin[2] = new OutputPin("3", 9, 8, -2, 0, 0, 0, 0);
  10.       super.OPin[3] = new OutputPin("4", 9, 9, -2, 0, 0, 0, 0);
  11.       super.OPin[4] = new OutputPin("5", 9, 10, -2, 0, 0, 0, 0);
  12.       super.OPin[5] = new OutputPin("6", 9, 11, -2, 0, 0, 0, 0);
  13.       super.OPin[6] = new OutputPin("7", 9, 12, -2, 0, 0, 0, 0);
  14.       super.OPin[7] = new OutputPin("8", 9, 13, -2, 0, 0, 0, 0);
  15.       super.ComponentName = "8-bit serial in shift register";
  16.       super.ClassName = "EightBitSerInShiftReg";
  17.       ((ElectronicComponent)this).RegisterPins(var1, var2, var3);
  18.    }
  19.  
  20.    public EightBitSerInShiftReg(ElectronicComponent var1, int var2, int var3) {
  21.       super(var1, var2, var3);
  22.    }
  23.  
  24.    public ElectronicComponent Copy(int var1, int var2) {
  25.       EightBitSerInShiftReg var3 = new EightBitSerInShiftReg(this, var1, var2);
  26.       return var3;
  27.    }
  28.  
  29.    public void SimulateLogic() {
  30.       if (super.IPin[0].OldLevel == 0 && super.IPin[0].getLevel() == 5) {
  31.          for(int var2 = 7; var2 > 0; --var2) {
  32.             super.OPin[var2].setLevel(super.OPin[var2 - 1].getLevel());
  33.          }
  34.  
  35.          super.OPin[0].setLevel(super.IPin[2].getLevel());
  36.       } else {
  37.          for(int var1 = 0; var1 < 8; ++var1) {
  38.             super.OPin[var1].setLevel(super.OPin[var1].getLevel());
  39.          }
  40.       }
  41.  
  42.       if (super.IPin[1].getLevel() == 5) {
  43.          for(int var3 = 0; var3 < 8; ++var3) {
  44.             super.OPin[var3].setLevel(0);
  45.          }
  46.       }
  47.  
  48.       super.IPin[0].OldLevel = super.IPin[0].getLevel();
  49.    }
  50.  
  51.    public void Simulate(int var1) {
  52.       ((ElectronicComponent)this).InformConnectedComponentsOldLevel(var1);
  53.    }
  54. }
  55.