Taula de continguts:
- Subministraments
- Pas 1: construir-lo
- Pas 2: el codi Atari - BÀSIC
- Pas 3: Assemblea del Codi Atari - 6502
Vídeo: Cub LED Atari: 3 passos
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-10 13:46
Visió general
Aquesta instrucció es basa en utilitzar el port del joystick Atari 800 per a sortides amb un cub LED com a exemple.
Introducció
Heu vist mai algun d’aquests cubs LED? Són totalment genials. Us heu preguntat mai si el vostre Atari podria fer alguna cosa similar? Jo també.
Subministraments
Un Atari de 8 bits: faig servir un 800 XL
Multiplexor de 16 canals: cerqueu CD74HC4067 amb el vostre motor de cerca preferit
Un munt de LEDs: vaig fer una matriu 4x4x4 que en fa servir 64
Filferros
Resistències
Connector femella de 9 pins D x 2
Pas 1: construir-lo
N’hi ha prou amb dir que construir aquestes coses és molt més difícil del que sembla (si teniu potes en lloc de dits), i solucionar males combinacions és com fer una cirurgia de forats clau amb un soldador.
No dedicaré cap temps a la construcció de la matriu, ja que hi ha nois que ho han fet molt millor. Feu-hi una ullada
www.instructables.com/id/LED-Cube-4x4x4/
o bé
www.instructables.com/id/8x8x8-RGB-LED-Cub…
Multiplexació
Aquest és el bit intel·ligent. Tenir 64 LED normalment significa 64 cables per controlar-los, però l'Atari no té tants pins que es puguin utilitzar per escriure.
Introduïu el multiplexor.
El cub es divideix en 16 columnes i 4 files. Cada columna de LED comparteix una entrada + v del multiplexor i cada fila comparteix un 0v. Per tant, per encendre un LED esbrinem en quina columna es troba i activem la línia + v i, a continuació, encenem el terreny adequat.
Tot i això, només podeu encendre un LED a la vegada. Si proveu dos o més, també s’encendran altres LED.
Tingueu en compte que el vostre multiplexor pot tenir connexions diferents amb les meves. Consulteu primer les vostres instruccions.
Pas 2: el codi Atari - BÀSIC
A més del seu funcionament normal, els ports del joystick també poden escriure. Hi ha una mica de truc perquè funcioni;
1) Control de port A de $ D302 amb $ 38
2) Porta Poke A $ D300 amb $ FF
3) Control de port A de $ D302 amb $ 3C. Això activa el bit 2 que ens permet escriure al port.
Aquí hi ha una mica més sobre l’ús dels ports del joystick com a interfície
www.atariarchives.org/creativeatari/Interf…
El port A s’estructura de manera que els bits 0 a 3 tenen cura del pal 0 i els bits 4 al 7 tracten el pal 1. En punxar els bits 0 al 3 amb l’1 al 15 podem controlar el multiplexor i encendre una columna de LEDS. Si llavors activem els bits 4 a 7, podem controlar una fila. Quan la columna i la fila coincideixen, s'encén un LED.
No cal que activeu files individuals; combinant els bits 4 a 7, hi haurà dues o més files activades. Tingueu en compte que també es poden il·luminar altres LEDs que no vulgueu que s’encenguin.
5 LÍMIT = 60
10 PORT = 54016
20 PCTL = 54018
30 POKE PCTL, 56
40 POKE PORT, 255
50 POKE PCTL, 60
60 I = RND (1) * 239 + 16
70 POKE PORT, I
75 PER ESPERAR = 0 PER LIMITAR: SEGUINT ESPERAR
90 GOTO 60
Aquí no passa res; el codi estableix el port A per escriure i després encén un LED a l'atzar. L’efecte és una mica semblant a un ordinador d’un programa de ciència ficció cursi de principis dels 80.
Pas 3: Assemblea del Codi Atari - 6502
Basic està bé per encendre un LED a la vegada, però el més elegant passa quan comences a apagar-lo ràpidament, cosa que dóna la il·lusió que hi ha diversos LEDs a la vegada. L’efecte s’anomena persistència de la visió i es basa en que els LED canvien més ràpidament del que l’ull és capaç de detectar. El bàsic és massa lent, de manera que és el moment del muntatge.
Aquest codi activa els LEDS de les cantonades
10 *=$6000
20 PORT = 54016
30 PCTL = 54018
70 LDA # 56
80 STA PCTL
90 LDA # $ FF
PORT 100 STA
110 LDA # 60
120 STA PCTL
130 LDY # 0
140 PRINCIPAL
150 CLC
160 LDA SEQ, Y
170 PORT STA
180 INY
190 CPY # 8
200 BNE PRINCIPAL
210 LDY # 0
220 JMP PRINCIPAL
310 SEQ
320. BYTE 16, 18, 24, 26
330. BYTE 64, 66, 72, 74
Hi ha alguns fitxers "experimentals" al fitxer adjunt Leds.atr.
Gaudeix