import time
time.sleep(0.1) # Wait for USB to become ready
from machine import Pin
from time import sleep

# Define pin numbers
EXECUTE = 2
EXECUTE_WRITE = 3
FETCH = 4
FETCH_WRITE = 5

LOAD = 10
INCREMENT = 11
WRITE = 12

DATA1 = 16
DATA2 = 17
DATA3 = 18
DATA4 = 19
# Setup
pins = [Pin(pin_id, Pin.OUT) for pin_id in [EXECUTE, EXECUTE_WRITE, FETCH, FETCH_WRITE, LOAD,INCREMENT,WRITE,DATA1,DATA2,DATA3,DATA4]]

# Main loop
even = True



pins[7].value(1)  #DATA1
pins[8].value(0)  #DATA2
pins[9].value(1)  #DATA3
pins[10].value(1) #DATA4
pins[4].value(1) # Load ON
cycle = 0
pins[5].value(1) #INCR
while True:
    even = not even
    if even:
        pins[0].value(1)  # EXECUTE
        pins[2].value(0)  # FETCH
        pins[3].value(1)  # FETCH_WRITE
        sleep(0.5)
        pins[3].value(0)  # FETCH_WRITE
        if (cycle > 4):
            pins[4].value(0) #Load OF hence will Start Incrementing
            print("Cycle : " , cycle , " Current Value: ", (11 + (cycle - 4)) % 16 )
        else:
            print("Cycle : " , cycle , " Current Value: 11" )
        cycle = cycle + 1;
    else:
        pins[0].value(0)  # EXECUTE
        pins[2].value(1)  # FETCH
        pins[1].value(1)  # EXECUTE_WRITE
        sleep(0.3)
        pins[1].value(0)  # EXECUTE_WRITE
    sleep(1)
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR
SR

ERC Warnings

flop1:S: Input pin not driven
flop2:S: Input pin not driven
flop3:S: Input pin not driven
flop4:S: Input pin not driven
flop5:S: Input pin not driven
flop5:R: Input pin not driven
flop6:S: Input pin not driven
flop6:R: Input pin not driven
flop7:S: Input pin not driven
flop7:R: Input pin not driven
26 additional warning(s) hidden