; led.logo ; ; 04-Feb-2007 Keith Neufeld ; 09-Feb-2007 Modified by Steve Wilson ; ; Control an LED on port A0. ; ; To make setbit/clearbit work on port A, temporarily configure the ; LogoChip for no analog inputs. constants [[ADCON $fc1]] ; port A control register ; Initialize port A for flash action. to init-flash1 ; Set for no analog inputs, to make setbit/clearbit work right on port A. write ADCON $f ; Set all three port A lines high, to turn LEDs off. setbit red1bit porta setbit red2bit porta setbit yellowbit porta setbit red3bit porta setbit red4bit porta ; Set all three lines as outputs. clearbit red1bit porta-ddr clearbit red2bit porta-ddr clearbit yellowbit porta-ddr clearbit red3bit porta-ddr clearbit red4bit porta-ddr end ; Turn red1 light on and off. to red1-on clearbit red1bit porta end to red1-off setbit red1bit porta end ; Turn red2 light on and off. to red2-on clearbit red2bit porta end to red2-off setbit red2bit porta end ; Turn yellow light on and off. to yellow-on clearbit yellowbit porta end to yellow-off setbit yellowbit porta end ; Turn red3 light on and off. to red3-on clearbit red3bit porta end to red3-off setbit red3bit porta end ; Turn red4 light on and off. to red4-on clearbit red4bit porta end to red4-off setbit red4bit porta end constants [ [red1bit 0] ; Red1 LED is on pin A0. [red2bit 1] ; Red2 LED is on pin A1. [yellowbit 2] ; Yellow LED is on pin A2. [red3bit 3] ; Red3 LED is on pin A3. [red4bit 4] ; Red4 LED is on pin A4. ] ; Time to run all the lights. to flash1 init-flash1 ; Make sure all lights are off. loop [ ; Double flashes red1-on red4-on mwait 100 red1-off red4-off red2-on red3-on mwait 200 red2-off red3-off yellow-on mwait 300 yellow-off red2-on red3-on mwait 200 red2-off red3-off red1-on red4-on mwait 100 red1-off red4-off red1-on red4-on mwait 100 red1-off red4-off red2-on red3-on mwait 200 red2-off red3-off yellow-on mwait 300 yellow-off red2-on red3-on mwait 200 red2-off red3-off red1-on red4-on mwait 100 red1-off red4-off ; sweep red1-on mwait 100 red1-off red2-on mwait 100 red2-off yellow-on mwait 100 yellow-off red3-on mwait 100 red3-off red4-on mwait 100 red4-off red3-on mwait 100 red3-off red2-on mwait 100 red2-off red1-on mwait 100 red1-off red2-on mwait 100 red2-off yellow-on mwait 100 yellow-off red3-on mwait 100 red3-off red4-on mwait 100 red4-off ; staggered flashes red1-on mwait 100 red1-off red3-on mwait 100 red3-off red2-on mwait 100 red2-off red4-on mwait 100 red4-off yellow-on mwait 100 yellow-off red1-on mwait 100 red1-off red3-on mwait 100 red3-off red2-on mwait 100 red2-off red4-on mwait 100 red4-off ] end to startup flash1 end to powerup red1-on red2-on yellow-on red3-on red4-on mwait 10 red1-on red2-on yellow-on red3-on red4-on end