Բովանդակություն:
- Պարագաներ
- Քայլ 1. Շրջանակային տախտակ
- Քայլ 2. Programրագրավորման տեսություն
- Քայլ 3. Arduino ծրագիրը և արդյունքը
- Քայլ 4: Եզրակացություն
Video: 6502 & 6522 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 2: 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Հետևելով իմ նախորդ Instructable- ին, այժմ ես 6502 -ը դրել եմ ժապավենի տախտակի վրա և ավելացրել եմ 6522 բազմակողմանի ինտերֆեյս ադապտեր (VIA): Կրկին, ես օգտագործում եմ 6522 -ի WDC տարբերակը, քանի որ այն կատարյալ համընկնում է նրանց 6502 -ի հետ: Ոչ միայն այս նոր չիպսերն են օգտագործում ավելի քիչ էներգիա, քան MOS- ի սկզբնական տարբերակները, այլև դրանք կարող են գործարկվել ավելի դանդաղ արագությամբ կամ նույնիսկ անցնել դրանց միջով: ծրագիր առանց խնդիրների:
Arduino ծրագիրը ի սկզբանե գրել է Բեն Էտերը (ով բազմաթիվ տեսանյութեր ունի YouTube- ում) և փոփոխվել է իմ կողմից `այս արդյունքին հասնելու համար:
Պարագաներ
1 x WDC W65C02 պրոցեսոր
1 x WDC W65C22 բազմակողմանի ինտերֆեյսի ադապտեր
1 x 74HC00N IC (Quad 2-input NAND gate) կամ նմանատիպ
1 x 10 սմ լայնություն (35 տող) Շերտի տախտակ
2 x 40 փին DIL վարդակներ
1 x 14 փին DIL վարդակից
PCB վերնագրի կապում 2.54 մմ
PCB վերնագրի վարդակներ 2.54 մմ
1 x 12 մմ Momentary Tactile Push Button Switch PCB Mounted SPST կամ նմանատիպ
1 x 1K դիմադրություն
1 x 3K3 դիմադրություն
2 x 0.1 uF կերամիկական կոնդենսատորներ
1 x 8 Way Water Light Marquee 5 մմ կարմիր LED
Կապերի համար տարբեր գույնի մետաղալարեր
8 արական - արական կապի լարեր
Քայլ 1. Շրջանակային տախտակ
Տախտակի տախտակը բավականին կոմպակտ է, իսկ ներքևի մասը միանում է անմիջապես Arduino MEGA- ին: Դրան հասնելու համար քորոցները հնարավորինս մղվում են պլաստմասե ամրակների մեջ `նախքան տախտակի ներքևի մասում սոսնձվելը: Ավելի երկար կապում կարող էին օգտագործվել դրա համար, բայց ստանդարտ կապումներն նշանակում են, որ տախտակն ամուր կանգնած է MEGA- ի վերևում:
Ես շարել եմ 6502 և 6522 IC- ները, որպեսզի նրանք MEGA- ին միանալու համար օգտագործեն շերտի տախտակի հետքերը: Կան նաև միակցիչներ 6502 -ի համար, որոնք թաքնված են IC- ի տակ: Տախտակը պատրաստելիս առաջին բանը, որ պետք է անել, այն 16 շերտերն էին կտրել, որոնք միանալու են Arduino- ի վարդակների կրկնակի շարքին: Արտաքին 2 -ը պետք չէ կտրել, քանի որ 5v- ն և Gnd- ը երկու կողմերում են: Հաջորդը կպցրեք ներքևի 18 կապում գտնվող 2 շարքերում, իսկ վերևի մասում `18 վարդակների 2 շարքերում:
Դրանից հետո DIL վարդակները կպցվեցին տեղում և հետքերը կտրվեցին նրանց միջև: Ես կարող էի կապ պահպանել ՝ տեղադրելով 74HC00- ի 14 -րդ քորոցը 5 վ -ի հետ նույն ուղու վրա: Ես հետքերը կտրեցի միայն այն ժամանակ, երբ համոզված էի, որ դրանք անհրաժեշտ են, քանի դեռ ես միացնում էի միացնող լարերը: Այնուամենայնիվ, ամեն ինչ միշտ չէ, որ գնում է ըստ պլանի, ես ի սկզբանե նախագծել եմ նախորդ հացի տախտակի ժապավենը ՝ օգտագործելով Arduino- ի 2, 3 և 7 կապերը, բայց դրանք չեն համընկնում շերտի տախտակի անցքերի հետ, ուստի ստիպված էի օգտագործել կապեր 18, 31 և 37. Այսպիսով, 31 -րդ և 37 -րդ էջերի իմ տախտակի հղումները: Դուք կարող եք մտածել, թե ինչու ես ժամացույցի համար չօգտագործված կապումներից մեկը (23, 24 և այլն) չօգտագործեցի, քանի որ դրանք չեն աջակցում ընդհատում է, ուստի ստիպված եղավ օգտագործել 18, 19, 20 կամ 21 քորոցները, որոնք դա անում են: Բարեբախտաբար, այս 4 կապում են գծի տախտակի անցքերը և ամեն ինչ կոմպակտ են պահում: Պին 18 -ը նաև ամենահեռավորն է մյուս բոլոր լարերից:
Կարող եք նաև նկատել, որ իմ ավարտված տախտակը նույնը չէ, ինչ իմ դիագրամը: Դա պայմանավորված է նրանով, որ ես հետևում էի ուրիշի գծապատկերին: Այսպիսով, 74HC00- ի հետ կապերը: Ես նաև ավելացրել եմ հզորության LED և լրացուցիչ 2 տող վարդակներ Gnd և 5v համար, ինչպես նաև մի քանի կոնդենսատոր:
Ես կարող էի միացնել տվյալների երկու վարդակները, բայց դա կնշանակեր, որ տախտակը հատող շատ ավելի մեծ լարեր: Ես ընտրեցի 8 կապի լարեր, որպեսզի դա անեմ որպես ժամանակավոր միջոց:
6522 նավահանգստի A և B- ում տեղադրված են եղել վարդակներ, որոնք հեշտությամբ կարող են տեղադրվել:
Այժմ շատ ավելի քիչ լարեր կան, քան հացի տախտակի տարբերակի վրա:
Քայլ 2. Programրագրավորման տեսություն
6522 -ն ունի երկու I/O նավահանգիստ, ինչպես նաև բազմաթիվ այլ հնարավորություններ, սակայն A և B նավահանգիստները հեշտությամբ հասանելի են: Նավահանգստում տվյալներ դուրս բերելու համար անհրաժեշտ է, որ տվյալների ուղղման գրանցամատյանը (DDR) համապատասխանաբար սահմանվի և տվյալներն ուղարկվեն բուն նավահանգիստ:
Վերը նշված կարգավորումներով 6522 -ը գտնվում է E000 $ -ում:
B նավահանգստում տվյալներ թողարկելու համար $ E002- ում DDR- ը սահմանվում է $ FF (255 - բոլոր ելքերը) և տվյալները ուղարկվում են $ E000:
A նավահանգստում տվյալներ թողարկելու համար $ E003- ով DDR- ը սահմանվում է $ FF (255 - բոլոր ելքերը), իսկ տվյալները ուղարկվում են $ E001:
Ստորև բերված ծածկագիրը բեռնում է $ FF 6502 A գրանցամատյանում և գրում այն DDR B- ին ՝ E002 դոլարով: Այնուհետև այն բեռնում է 55 դոլար և գրում այն ORB- ին: Կոդը պտտվում է (տալիս է $ AA) և գրվում ORB- ին: Theրագիրը հետ է թռչում 1005 դոլար և կրկնում անվերջ: ՈEՇԱԴՐՈԹՅՈՆ. DDR- ը միայն մեկ անգամ պետք է նախաստորագրվի:
Հասցե Hexdump Dissassembly
$ 1000 a9 ff LDA #$ ff $ 1002 8d 02 e0 STA $ e002 $ 1005 a9 55 LDA #$ 55 $ 1007 8d 00 e0 STA $ e000 $ 100a 6a ROR A $ 100b 8d 00 e0 STA $ e000 $ 100e 4c 05 10 JMP $ 1005
$ 55 -ում երկուական արժեքը 010101010 է, իսկ AA- ն `10101010, ինչը հանգեցնում է LED- ների փոխարինման 4 միացման, 4 անջատման:
Արագ և կեղտոտ շտկում
74HC00- ը (Quad 2 մուտքագրման NAND դարպաս) փոխարինեք 74HC08- ով (Quad 2 մուտքագրում AND դարպաս) և 6522 -ը այժմ գտնվում է $ 6000 -ի փոխարեն $ E000- ի փոխարեն: Սա այն տեղափոխում է վերին 32K- ից 6502 հասցեագրվող հիշողության ստորին 32K:
Քայլ 3. Arduino ծրագիրը և արդյունքը
Քանի որ 6502 -ը RAM կարդալու համար RAM չունի, Arduino- ն ապահովում է այն ընթերցելու ծրագիրը: Երբ ժամացույցի զարկերակը հայտնաբերվում է 18 -րդ կապում, Arduino- ն ծրագրի տվյալները տեղադրում է տվյալների ավտոբուսի վրա (Arduino կապում է 39, 41, 43, 45, 47, 49, 51 և 53): 6502 -ը ստեղծում է իր հասցեները, որոնք միայն Arduino- ի կողմից վերահսկվում են 22 -ից 52. զույգ համարներով: Arduino- ն նաև ապահովում է 37 -ի պտույտի ժամացույցի զարկերակը: 6502 -ի R/W տողը վերահսկվում է 31 -րդ կապում:
Քանի որ Arduino- ն տրամադրում է տվյալները, մինչ այժմ անհնար է եղել 6502 -ը VIA- ից մուտքագրել տվյալները (եթե ավելի լավ չգիտեք):
Arduino ծրագիրը ստորև է, իսկ սերիական մոնիտորից նմուշը ՝ վերևում:
Քայլ 4: Եզրակացություն
Կրկին փորձեցի ցույց տալ, թե ինչպես ստեղծել նվազագույն «6502 համակարգիչ»:
Այս փուլում 6502 -ը դեռ ապավինում է Arduino- ին `այն ապահովելու համար ծրագրով և ժամացույցի զարկերակով, որպեսզի այն գործի:
Դա մի քայլ առաջ է, քան այն ժամանակ, երբ այն տեղադրեցի հացի տախտակի վրա:
Այս անգամ ես չեմ օգտագործել 74HC373- ը, այլ ավելի բարդ 6522 -ը `տվյալների ելքերը փակելու համար: Նաև 6522 -ն ունի երկու մուտք/ելք:
Ես մտադիր եմ այս նախագիծը հետագայում տանել ՝ տեղադրելով որոշ SRAM կամ EEPROM:
Խորհուրդ ենք տալիս:
6502 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 3: 7 քայլ
6502 Նվազագույն համակարգիչ (Arduino MEGA- ի հետ) Մաս 3. Շարունակելով առաջընթացը, ես այժմ հիմնական տախտակին ավելացրել եմ Octal Latch, 8 ուղղանկյուն LED և 220 Օմ դիմադրության զանգված: Alsoանգվածի ընդհանուր քորոցի և գետնի միջև կա նաև jumper, այնպես որ LED- ները կարող են անջատվել: 74HC00 NAND դարպասը ժամ
6502 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 1: 7 քայլ
6502 նվազագույն համակարգիչ (Arduino MEGA- ի հետ) Մաս 1. 6502 միկրոպրոցեսորը առաջին անգամ հայտնվեց 1975 թվականին և նախագծված էր փոքր թիմի կողմից ՝ Չակ Փեդլի գլխավորությամբ, MOS տեխնոլոգիայի համար: Այն ժամանակ այն օգտագործվում էր տեսախցիկների և տնային համակարգիչների մեջ, ներառյալ Atari, Apple II, Nintendo Entertainment System, BBC Micr
Նվազագույն Arduino ձայնային էֆեկտի տուփ ՝ 5 քայլ
Minimal Arduino Sound Effect Box. Սա ձայնային էֆեկտի տուփի արագ նախագիծ է: Սարքը կարդում է նախապես գրանցված wav ֆայլը microSD- ից, որը տրված է հատուկ կոճակին և նվագում է այն սեղմելիս:
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 1) (Սարքավորումներ) ՝ 5 քայլ
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 1) (Սարքաշար). Այստեղ ես ձեզ ցույց կտամ, թե ինչպես եմ պատրաստել վերականգնվող էներգիայի փոքր համակարգերի համար լիովին աշխատող Mini Desktop համակարգիչ: RE համակարգը, որը ես նախատեսում եմ օգտագործել, լինելու է հիմնականում 12 վոլտ համակարգ: 6 կամ 8 Golf Cart մարտկոցներով, և ես կունենամ 700 վտ հզորություն inver
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 2 -ից) (Softwareրագրային ապահովում) `6 քայլ
Համակարգիչ RE Systems- ի համար (2-րդ մաս 2) (Softwareրագրային ապահովում). Այս հրահանգի առաջին մասում տեղադրված է այստեղ ՝ https://www.instructables.com/id/Computer-for-RE-Systems-Part-1-of-2 -Hardware/, ես ավելացրել եմ այն բոլոր սարքավորումները, որոնք ցանկանում էի ստանալ լավ աշխատասեղան համակարգ: Այժմ ծրագրաշարի համար, բայց ծրագրակազմից առաջ