'24.09.2007 'T„m„ tuottaa gray-koodia. 'Gray-koodissa vain yksi bitti kerrallaan muuttuu, T„m„ sopii erinomaisesti 'j„rjestelmiin, joissa pel„t„„n bittivibraation aiheuttamia ongelmia. 'Esimerkiksi antennink„„nt„j„t, joiden ohjattavana voi olla tonneja painava masto DIM r(256) CLS a1 = 0: b1 = 1: s1 = 1 a2 = 0: b2 = 1: s2 = 1 a3 = 0: b3 = 1: s3 = 1 a4 = 0: b4 = 1: s4 = 1 a5 = 0: b5 = 1: s5 = 1 a6 = 0: b6 = 1: s6 = 1 a7 = 0: b7 = 1: s7 = 1 a8 = 0: b8 = 1: s8 = 1 FOR i1 = a1 TO b1 STEP s1 FOR i2 = a2 TO b2 STEP s2 FOR i3 = a3 TO b3 STEP s3 FOR i4 = a4 TO b4 STEP s4 FOR i5 = a5 TO b5 STEP s5 FOR i6 = a6 TO b6 STEP s6 FOR i7 = a7 TO b7 STEP s7 FOR i8 = a8 TO b8 STEP s8 i = i + 1 os = 128 * i1 + 64 * i2 + 32 * i3 + 16 * i4 + 8 * i5 + 4 * i6 + 2 * i7 + i8 PRINT i; i1; i2; i3; i4; i5; i6; i7; i8; "->"; os 'pannaan taulukkoon lineaariseen j„rjestykseen r(os) = i NEXT SWAP a8, b8 s8 = -s8 NEXT SWAP a7, b7 s7 = -s7 NEXT SWAP a6, b6 s6 = -s6 NEXT SWAP a5, b5 s5 = -s5 NEXT SWAP a4, b4 s4 = -s4 NEXT SWAP a3, b3 s3 = -s3 NEXT SWAP a2, b2 s2 = -s2 NEXT OPEN "serie.txt" FOR OUTPUT AS #1 'Taulukko talletetaan siten, ett„ j„rjestys taulukossa on gray-koodi-kiekolta 'saatu lukema ja taulukossa oleva arvo on k„ytt„j„lle ilmoitettava sijainti 'tiedostossa oleva taulukko voidaan suoraan tallettaa EPROM:lle. 'GRAY-kiekon lukijalta tuleva 8-bit lukema vied„„n EPROM:n osoitelinjoille 'DATA-linjoilta saadaan ihmiselle ymm„rrett„v„mpi arvo. 'T„ss„ oletetaan, ett„ ympyr„ on jaettu 8-keh„„n eli pienin kulma on '360/256 FOR i = 0 TO 255 'talletetaan gray-j„rjestyksess„ PRINT #1, r(i) NEXT CLOSE 1