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)
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