' {$STAMP BS2p} ' {$PBASIC 2.5} i VAR Word j VAR Byte ones VAR Word zeros VAR Word totalones VAR Word totalzeros VAR Word diff VAR Word bValue VAR Byte MAINIO signal1 PIN 2 signal2 PIN 3 signal3 PIN 4 signal4 PIN 5 signal5 PIN 6 signal6 PIN 7 signal7 PIN 8 signal8 PIN 9 AUXIO signal1a PIN 0 signal2a PIN 1 signal3a PIN 2 signal4a PIN 3 signal5a PIN 4 signal6a PIN 5 signal7a PIN 6 signal8a PIN 7 AUXIO signal1b PIN 8 signal2b PIN 9 signal3b PIN 10 signal4b PIN 11 signal5b PIN 12 signal6b PIN 13 signal7b PIN 14 signal8b PIN 15 MAINIO a1 VAR Bit a2 VAR Bit a3 VAR Bit a4 VAR Bit a5 VAR Bit a6 VAR Bit a7 VAR Bit a8 VAR Bit DO SERIN 16,16624, [bValue] FOR j = 1 TO 3 totalones = 0 totalzeros = 0 'DEBUG DEC j," ",DEC j," ",DEC j," ", DEC j,CR ' indicators for trng LOW 0 LOW 1 LOW 15 MAINIO IF j = 1 THEN GOTO light1 IF j = 2 THEN GOTO light2 IF j = 3 THEN GOTO light3 light1: HIGH 0 GOTO doit light2: HIGH 1 GOTO doit light3: HIGH 15 GOTO doit doit: FOR i = 1 TO 1000 IF j = 1 THEN GOTO next1 IF j = 2 THEN GOTO next2 IF j = 3 THEN GOTO next3 ' processing for board 1 next1: MAINIO PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 PULSOUT 12, 1 INPUT signal1 ' set signal pin to input INPUT signal2 ' set signal pin to input INPUT signal3 ' set signal pin to input INPUT signal4 ' set signal pin to input INPUT signal5 ' set signal pin to input INPUT signal6 ' set signal pin to input INPUT signal7 ' set signal pin to input INPUT signal8 ' set signal pin to input a1 = signal1 a2 = signal2 a3 = signal3 a4 = signal4 a5 = signal5 a6 = signal6 a7 = signal7 a8 = signal8 MAINIO GOTO process ' processing for board 2 next2: MAINIO PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 PULSOUT 13, 1 AUXIO INPUT signal1a ' set signal pin to input INPUT signal2a ' set signal pin to input INPUT signal3a ' set signal pin to input INPUT signal4a ' set signal pin to input INPUT signal5a ' set signal pin to input INPUT signal6a ' set signal pin to input INPUT signal7a ' set signal pin to input INPUT signal8a ' set signal pin to input a1 = signal1a a2 = signal2a a3 = signal3a a4 = signal4a a5 = signal5a a6 = signal6a a7 = signal7a a8 = signal8a MAINIO GOTO process ' processing for board 3 next3: MAINIO PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 PULSOUT 14, 1 AUXIO INPUT signal1b ' set signal pin to input INPUT signal2b ' set signal pin to input INPUT signal3b ' set signal pin to input INPUT signal4b ' set signal pin to input INPUT signal5b ' set signal pin to input INPUT signal6b ' set signal pin to input INPUT signal7b ' set signal pin to input INPUT signal8b ' set signal pin to input a1 = signal1b a2 = signal2b a3 = signal3b a4 = signal4b a5 = signal5b a6 = signal6b a7 = signal7b a8 = signal8b MAINIO GOTO process process: ' ones = a1+a2+a3+a4+a5+a6+a7+a8 ' zeros = 8 - ones ' totalones = totalones + ones ' totalzeros = totalzeros + zeros bValue = (a1 * 128) + (a2 * 64) + (a3 * 32) + (a4 * 16) + (a5 * 8) + (a6 * 4) + (a7 * 2) + a8 SEROUT 16,16624, [bValue] ' IF i // 1000 <> 0 THEN aaa ' diff = totalzeros - totalones ' IF diff < 50000 THEN a123 ' diff = -(65535 - diff) ' a123: ' DEBUG DEC i, " zeros ",DEC totalzeros," ones ", DEC totalones," ",DEC diff,CR ' IF totalzeros < 50000 AND totalones < 50000 THEN aaa ' totalones = 0 ' totalzeros = 0 ' aaa: NEXT NEXT LOOP 'IF i // 2 <> 0 THEN www 'zeros = a1+a2+a3+a4+a5+a6+a7+a8 'ones = 8 - zeros 'www: