Tartalomjegyzék:
- Kellékek
- 1. lépés: Az áramkör
- 2. lépés: Programozási elmélet
- 3. lépés: Az Arduino program és kimenet
- 4. lépés: Következtetés
Videó: 6502 és 6522 minimális számítógép (Arduino MEGA -val) 2. rész: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A korábbi Instructable -t követve most a 6502 -et egy szalaglapra tettem, és hozzáadtam egy 6522 -es sokoldalú interfész adaptert (VIA). Ismét a 6522 WDC verzióját használom, mivel tökéletesen illeszkedik a 6502 -hez. Nem csak ezek az új chipek sokkal kevesebb energiát fogyasztanak, mint az eredeti MOS verziók, de lassabb sebességgel is futtathatók vagy akár át is léphetők programot minden probléma nélkül.
Az Arduino programot eredetileg Ben Eater írta (akinek sok videója van a YouTube -on), és én módosítottam, hogy elérjem ezt az eredményt.
Kellékek
1 db WDC W65C02 processzor
1 x WDC W65C22 sokoldalú interfész adapter
1 x 74HC00N IC (négy bemenetű NAND kapu) vagy hasonló
1 x 10 cm széles (35 vonal) szalagdeszka
2 x 40 tűs DIL foglalat
1 x 14 tűs DIL foglalat
NYÁK fejlécek 2,54 mm
NYÁK csatlakozóaljzatok 2,54 mm
1 x 12 mm -es pillanatnyi tapintható nyomógombos kapcsoló NYÁK -ra szerelt SPST vagy hasonló
1 x 1K ellenállás
1 x 3K3 ellenállás
2 x 0,1 uF kerámia kondenzátor
1 x 8 utas vízfényű sátor 5 mm -es piros LED
Különböző színű huzal a csatlakozásokhoz
8 db férfi - férfi összekötő vezeték
1. lépés: Az áramkör
Az áramköri lap meglehetősen kompakt, és az alsó része közvetlenül az Arduino MEGA -ba csatlakozik. Ennek elérése érdekében a csapokat a lehető legmesszebbre tolják a műanyag tartóba, mielőtt a tábla alsó oldalához forrasztják. Ehhez hosszabb csapokat is lehetett volna használni, de a szabványos csapok azt jelentik, hogy a tábla szilárdan a MEGA tetején nyugszik.
A 6502 -es és a 6522 -es IC -ket úgy sorakoztattam fel, hogy a szalaglemez -sávokat használják a MEGA -hoz való csatlakozáshoz. Van néhány kapcsolat a 6502 -hez az IC alatt. A tábla készítésekor először le kellett vágni azt a 16 csíkot, amelyek az Arduino kettős foglalatsorához csatlakoznak. A külső 2 -t nem kell vágni, mivel az 5v és a Gnd mindkét oldalon található. Következő forrasztás a 2 sorban, 18 tűvel az alsó oldalon, és a 2 sorban lévő 18 foglalattal a felső oldalon.
Ezt követően a DIL aljzatokat a helyükre forrasztották, és a vágányokat elvágták közöttük. Megmenthettem volna egy kapcsolatot, ha a 74HC00 14. tűjét ugyanahhoz a sávhoz helyeztem, mint az 5v. Csak akkor vágtam el a vágányokat, amikor biztos voltam benne, hogy azoknak kell lenniük, miközben forrasztottam az összekötő vezetékeket. Azonban a dolgok nem mindig a tervek szerint alakulnak, eredetileg az előző kenyértábláról készített szalagdeszkát terveztem az Arduino 2., 3. és 7. csapja segítségével, de ezek nem illeszkednek a szalaglapon lévő lyukakhoz, ezért 18., 31. és 37. csap. Innen származnak a 31. és a 37. táblámon található linkek. Lehet, hogy vajon miért nem használtam fel az egyik fel nem használt tűt (23, 24 stb.) az órához, ez azért van, mert nem támogatják megszakítja, ezért a 18, 19, 20 vagy 21 tűt kellett használni. Szerencsére ez a 4 csap egy vonalban van a szalaglap lyukaival, és mindent tömörít. A 18 -as csap is a legtávolabb van az összes többi vezetéktől.
Azt is észreveheti, hogy a kész táblám nem pontosan ugyanaz, mint a diagramom. Ez azért van, mert valaki más diagramját követtem. Ezért a 74HC00 csatlakozói. Hozzáadtam egy tápellátás LED -et és további 2 soros aljzatot a Gnd és az 5v számára, valamint további pár kondenzátort.
Csatlakoztathattam volna a 2 adatcsatlakozót, de ez sokkal több vezetéket jelentene a táblán. Ehhez ideiglenes intézkedésként 8 összekötő vezetéket választottam.
A 6522 A és B portok aljzatai forrasztva vannak a pályákhoz, így a LED -jelzők könnyen behelyezhetők.
Most sokkal kevesebb vezeték van, mint a kenyértáblás változatban.
2. lépés: Programozási elmélet
A 6522 két I/O porttal, valamint számos más funkcióval rendelkezik, de az A és B port könnyen elérhető. Ahhoz, hogy adatokat küldjön a porton, az adatirány -nyilvántartást (DDR) ennek megfelelően kell beállítani, és az adatokat magának a portnak kell elküldeni.
A fenti beállításokkal a 6522 E000 dollárnál található.
A B porton történő adatkimenethez a DDR $ E002 értéken $ FF értékre van állítva (255 - minden kimenet), és az adatokat E000 $ értékre küldi.
Az A porton történő adatkimenethez a DDR $ E003 értéken $ FF értékre van állítva (255 - minden kimenet), és az adatokat $ E001 értékre küldi.
Az alábbi kód betölti a $ FF -et a 6502 A regiszterbe, és a DDR B -be írja E002 dolláron. Ezután 55 dollárt tölt be, és írja az ORB -nak. A kódot elforgatják ($ AA), és az ORB -nak írják. A program 1005 dollárral ugrik vissza, és végtelenül ismétlődik. MEGJEGYZÉS: A DDR -t csak egyszer kell inicializálni.
Cím Hexdump Bontás
$ 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
A $ 55 bináris értéke 010101010, az AA dollár pedig 10101010, ami miatt a LED -ek váltakozva 4 be, 4 ki.
Gyors és piszkos javítás:
Cserélje ki a 74HC00 (Quad 2 bemenetű NAND Gate) egy 74HC08 (Quad 2 bemenet ÉS kapu) elemre, és a 6522 most 6000 dollárnál található. Ez a 6502 címzett memóriájának felső 32K -ról az alsó 32K -ra mozgatja.
3. lépés: Az Arduino program és kimenet
Mivel a 6502 -nek nincs RAM -ja, amelyből olvashat, az Arduino szolgáltatja a programot az olvasáshoz. Amikor óraimpulzust észlel a 18. érintkezőn, az Arduino a programadatokat az adatbuszra helyezi (Arduino 39., 41., 43., 45., 47., 49., 51. és 53. tű). A 6502 saját címeket állít elő, amelyeket csak az Arduino figyel a páros számozott 22–52 -es tűkön. Az Arduino az óraimpulzust is szolgáltatja a 37 -es tűn. A 6502 -es vonal/vonal a 31 -es tűn figyelhető meg.
Mivel az Arduino szolgáltatja az adatokat, eddig nem sikerült elérni, hogy a 6502 bemenjen adatokat a VIA -tól (hacsak nem tudja jobban).
Az Arduino program az alábbiakban található, a minta kimenet pedig a soros monitor felett.
4. lépés: Következtetés
Ismét megpróbáltam megmutatni, hogyan kell minimális "6502 számítógépet" beállítani.
Ebben a szakaszban a 6502 még mindig az Arduino -ra támaszkodik, hogy programot és óraimpulzust adjon neki a működéshez.
Ez egy lépéssel tovább, mint amikor a kenyértáblára állítottam.
Ezúttal nem a 74HC373 -at használtam, hanem a bonyolultabb 6522 -et az adatkimenetek rögzítésére. A 6522 két I/O porttal is rendelkezik.
Szándékomban áll továbbvinni ezt a projektet egy SRAM vagy egy EEPROM telepítésével.
Ajánlott:
6502 Minimális számítógép (Arduino MEGA -val) 3. rész: 7 lépés
6502 Minimális számítógép (Arduino MEGA -val) 3. rész: Tovább haladva most hozzáadtam egy oktális reteszt, 8 téglalap alakú LED -et és egy 220 ohmos ellenállást az alaplaphoz. Van egy jumper is a tömb közös csapja és a föld között, így a LED -ek kikapcsolhatók. A 74HC00 NAND kapu h
6502 Minimális számítógép (Arduino MEGA -val) 1. rész: 7 lépés
6502 Minimális számítógép (Arduino MEGA -val) 1. rész: A 6502 mikroprocesszor először 1975 -ben jelent meg, és egy kis csapat tervezte, Chuck Peddle vezetésével a MOS technológia számára. Akkoriban videokonzolokon és otthoni számítógépeken használták, beleértve az Atari, az Apple II, a Nintendo Entertainment System és a BBC Micr
A PSP használata számítógép -botkormányként, majd a számítógép vezérlése a PSP -vel: 5 lépés (képekkel)
A PSP használata számítógép -botkormányként, majd a számítógép vezérlése a PSP -vel: Sok jó dolgot tehet a PSP homebrew segítségével, és ebben az oktatható útmutatóban megtanítom, hogyan kell használni a PSP -t joystickként a játékokhoz, de van egy program, amely lehetővé teszi, hogy a joystickot egérként használja. Itt vannak az anyák
A számítógép ablakának bevésése (1. rész): 6 lépés
Számítógépes ablak gravírozása (1. rész): Sok esetet láttam a gravírozott átlátszó ablakokkal. Elhatároztam, hogy bevésem a házamat, hogy új külsőt nyújtsak nekik. Ez nem olyan nehéz, mint amilyennek látszik, csak szánjon időt, és jó eredményeket fog elérni. Egyéb esetablak -utasítások megtalálhatók az Instru
Számítógép RE rendszerekhez (1/2. Rész) (hardver): 5 lépés
Számítógép RE rendszerekhez (1/2. Rész) (Hardver): Itt megmutatom, hogyan készítettem egy teljesen működő mini asztali számítógépet a megújuló energiaforrások kisméretű rendszereihez. A tervezett RE rendszer elsősorban 12 voltos rendszer lesz 6 vagy 8 golfkocsi akkumulátorral, és lesz egy 700 wattos teljesítményem