Мазмуну:

Atari LED кубу: 3 кадам
Atari LED кубу: 3 кадам

Video: Atari LED кубу: 3 кадам

Video: Atari LED кубу: 3 кадам
Video: Почему ему так нравится этот танец? 🤔 #blondinkadrive #гордей 2024, Июль
Anonim
Atari LED куб
Atari LED куб

Обзор

Бул үйрөткүч мисал катары LED кубу бар Atari 800 джойстик портун колдонууну карайт.

Киришүү

Ошол LED кубдорунун бирин көрдүңүз беле? Алар таптакыр сонун. Сиздин Атариңиз дагы ушуга окшош нерсени жасай алабы деп ойлонуп көрдүңүз беле? Мага да.

Жабдуулар

8 бит Атари - Мен 800 XL колдонуп жатам

16 каналдуу мультиплексор - сүйүктүү издөө системаңызды колдонуу менен CD74HC4067 издеңиз

Бир тонна LED - мен 4x4x4 матрицасын түздүм, анда 64 колдонулат

Зымдар

Резисторлор

Аял 9 пин D туташтыргычы x 2

1 -кадам: Аны куруу

Аны куруу
Аны куруу
Аны куруу
Аны куруу
Аны куруу
Аны куруу

Бул нерселерди куруу көрүнгөндөн алда канча кыйын экенин айтуу жетиштүү (эгер манжаларыңыздын ордуна тырмагыңыз болсо) жана начар бириктирүүлөрдү оңдоо темир менен тешик хирургиясын жасоого барабар.

Мен матрицаны курууга эч кандай убакыт короткум келбейт, анткени муну алда канча жакшыраак кылган балдар бар. Карап көрүңүз

www.instructables.com/id/LED-Cube-4x4x4/

же

www.instructables.com/id/8x8x8-RGB-LED-Cub…

Мультиплекстөө

Бул акылдуу бит. Адатта 64 светодиоддун болушу 64 зымды билдирет, бирок Атариде жазуу үчүн колдонула турган көп казык жок.

Мультиплексорго кириңиз!

Куб 16 тилке жана 4 катарга бөлүнгөн. Светодиоддордун ар бир мамычасы мультиплексордун +v киришин бөлүшөт, ал эми ар бир катар 0v бөлүшөт. Ошентип, LEDди күйгүзүү үчүн, биз анын кайсыл тилкеде экенин аныктайбыз жана +v линиясын күйгүзүп, анан тиешелүү жерди күйгүзөбүз.

Бирок, сиз бир убакта бир гана LEDди күйгүзө аласыз. Эгерде сиз эки же андан көп аракет кылсаңыз, анда башка диоддор күйөт.

Сиздин мультиплексордун меники менен башкача байланышы болушу мүмкүн экенин билиңиз! Адегенде көрсөтмөлөрүңүздү текшериңиз.

2 -кадам: Atari Code - BASIC

Image
Image
Атари коду - 6502 Ассамблеясы
Атари коду - 6502 Ассамблеясы

Кадимки иштөөдөн тышкары, джойстик порттору да жаза алышат. Аны иштетүү үчүн бир аз амал бар;

1) Poke A порту $ 38 менен $ D302

2) $ FF менен A $ D300 портун чукуңуз

3) A Poke порту $ 3C менен $ D302 контролдоо. Бул портко жазууга мүмкүндүк берген 2 битти күйгүзөт.

Джойстик портторун интерфейс катары колдонуу жөнүндө дагы бир аз нерсе бар

www.atariarchives.org/creativeatari/Interf…

Порт А структурасы боюнча 0 бит 3 таяк 0 үчүн кам көрөт, ал эми бит 4 менен 7 таяк 1 менен иштейт. Биз 0дөн 3кө чейин 1ден 15ке чейин чукулап, мультиплексорду башкарып, LEDS мамычасын күйгүзө алабыз. Эгерде биз 4төн 7ге чейин битти күйгүзсөк, анда биз бир катарды башкара алабыз. Колонка менен сап дал келген жерде, LED күйөт.

Жеке саптарды күйгүзүүнүн кажети жок; битти 4төн 7ге чейин бириктирүү менен, эки же андан көп катарда болот. Эскирбеңиз, башка LED диоддору күйгүсү келбейт, ошондой эле күйүп кетиши мүмкүн.

5 LIMIT = 60

10 ПОРТ = 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 КҮТҮҮ ҮЧҮН = 0 ЧЕКТӨӨ ҮЧҮН: КИЙИНКИ КҮТҮҮ

90 GOTO 60

Бул жерде эч нерсе болбойт; код А портун жазууга орнотот, андан кийин туш келди LEDди күйгүзөт. Эффекти 80-жылдардын башында илимий фантастикалык шоунун компьютерине окшош.

3 -кадам: Atari Code - 6502 Ассамблеясы

Image
Image

Basic бир убакта бир LED күйгүзүүгө жарайт, бирок сиз аларды тез эле өчүрө баштаганда пайда болот, бул бир эле учурда бир нече LEDлар күйүп тургандай элес берет. Эффект көрүүнүн туруктуулугу деп аталат жана LED диоддор көзгө караганда тезирээк которулат. Негизги өтө жай, андыктан жыйноо убактысы келди.

Бул код бурчтагы LEDларды күйгүзөт

10 *=$6000

20 ПОРТ = 54016

30 PCTL = 54018

70 LDA #56

80 STA PCTL

90 LDA #$ FF

100 STA PORT

110 LDA #60

120 STA PCTL

130 LDY #0

140 MAIN

150 CLC

160 LDA SEQ, Y

170 STA PORT

180 INY

190 CPY #8

200 BNE MAIN

210 LDY #0

220 JMP MAIN

310 SEQ

320. BYTE 16, 18, 24, 26

330. BYTE 64, 66, 72, 74

Leds.atr тиркемесинде кээ бир "эксперименталдык" файлдар бар.

Ырахат

Сунушталууда: