' Set all the pins as "digital outputs" ' and reset them all to the inactive/high state Sub init SetPin 1,8 SetPin 2,8 SetPin 3,8 SetPin 4,8 SetPin 5,8 SetPin 6,8 SetPin 7,8 SetPin 8,8 SetPin 9,8 SetPin 10,8 SetPin 11,8 SetPin 12,8 SetPin 13,8 SetPin 14,8 SetPin 15,8 SetPin 16,8 SetPin 17,8 SetPin 18,8 SetPin 19,8 SetPin 20,8 Pin(1) = 1 Pin(2) = 1 Pin(3) = 1 Pin(4) = 1 Pin(5) = 1 Pin(6) = 1 Pin(7) = 1 Pin(8) = 1 Pin(9) = 1 Pin(10) = 1 Pin(11) = 1 Pin(12) = 1 Pin(13) = 1 Pin(14) = 1 Pin(15) = 1 Pin(16) = 1 Pin(17) = 1 Pin(18) = 1 Pin(19) = 1 Pin(20) = 1 End Sub ' Load the byte "data" in address location "addr" Sub loadaddr(addr, data) ' If "data" is a double byte, load the high order byte ' and then the low order byte into the following address If data > 255 Then loadaddr(addr, data\256) addr = addr+1 EndIf ' set address on pins 12 and 1 thru 111 Pin(12) = Not (addr And 1) Pin(1) = Not (addr And 2) Pin(2) = Not (addr And 4) Pin(3) = Not (addr And 8) Pin(4) = Not (addr And 16) Pin(5) = Not (addr And 32) Pin(6) = Not (addr And 64) Pin(7) = Not (addr And 128) Pin(8) = Not (addr And 256) Pin(9) = Not (addr And 1024) Pin(10) = Not (addr And 2048) ' Set data bits on pins 13 thru 20 Pin(13) = Not (data And 1) Pin(14) = Not (data And 2) Pin(15) = Not (data And 4) Pin(16) = Not (data And 8) Pin(17) = Not (data And 16) Pin(18) = Not (data And 32) Pin(19) = Not (data And 64) Pin(20) = Not (data And 128) ' Pulse the write enable bit Pin(11) = 0 Pause 10 Pin(11) = 1 Pause 10 End Sub init ' Load the "Binary count and display" program loadaddr(&h000, &h08) loadaddr(&h001, &hc408) loadaddr(&h003, &h35) loadaddr(&h004, &hc400) loadaddr(&h006, &h31) loadaddr(&h007, &hc902) loadaddr(&h009, &h8f40) loadaddr(&h00b, &ha803) loadaddr(&h00d, &h90f8) loadaddr(&h00f, &h00) init