Yipes I totally forgot that one. That was way interesting and the end result was really creative.
Nice work DT..;o}
Tim B and I got into one of these a long time back, and here's one he came up with.
Can we beat this without EEPROM?
Standard cyclone thingie moving the LED back & forth with ~1S delay periods.
Code:
list p=16F628A
#include "P16F628A.inc"
errorlevel -302 ; suppress message 302 from list file
__CONFIG _CP_OFF & _BODEN_ON & _MCLRE_ON & _WDT_ON & _PWRTE_ON & _LVP_OFF & _INTOSC_OSC_NOCLKOUT
movlw 0x01
movwf PORTB ; Set Portb,0
bsf STATUS,RP0 ; Bank 1
clrf TRISB ; RB all outputs
bcf OPTION_REG,0 ; 1:64 prescaler to WDT
bcf STATUS,RP0 ; Bank 0
Left
sleep ; go to sleep for 64 * 18mS ~1 second
rlf PORTB,F ; rotate bit across portb from lsb to msb
btfss PORTB,7 ; jump to Right after Portb,7 = 1
goto Left
Right
sleep ; go to sleep for 64 * 18mS ~1 second
rrf PORTB,F ; rotate bit across Portb from msb to lsb
btfss PORTB,0 ; jump back to left after Portb,0 = 1
goto Right ; loop until Portb,0 = 1
goto Left ; now rotate back to the left.
End
Bookmarks