Բովանդակություն:

Կառուցեք համակարգիչ W/ Էլեկտրոնիկայի հիմնական ըմբռնում. 9 քայլ (նկարներով)
Կառուցեք համակարգիչ W/ Էլեկտրոնիկայի հիմնական ըմբռնում. 9 քայլ (նկարներով)

Video: Կառուցեք համակարգիչ W/ Էլեկտրոնիկայի հիմնական ըմբռնում. 9 քայլ (նկարներով)

Video: Կառուցեք համակարգիչ W/ Էլեկտրոնիկայի հիմնական ըմբռնում. 9 քայլ (նկարներով)
Video: Top5 / Լավագույն համակարգչային դետալները / ArmTopFive w/ Egocomp 2024, Հուլիսի
Anonim
Կառուցեք համակարգիչ/ Էլեկտրոնիկայի հիմնական ըմբռնում
Կառուցեք համակարգիչ/ Էլեկտրոնիկայի հիմնական ըմբռնում

Երբևէ ցանկացե՞լ եք ձևացնել, որ իսկապես խելացի եք և զրոյից կառուցեք ձեր սեփական համակարգիչը: Դուք ոչինչ չգիտե՞ք այն մասին, թե ինչ է անհրաժեշտ նվազագույն համակարգիչ պատրաստելու համար: Դե, հեշտ է, եթե դուք բավականաչափ գիտեք էլեկտրոնիկայի մասին ՝ որոշ IC- ներ միասին ճիշտ տեղադրելու համար: Այս խրատը ենթադրելու է, որ դուք այդ մասում լավ եք, գումարած մի քանի այլ բան: Եվ եթե ոչ, ապա դա դեռ չպետք է չափազանց դժվար լինի հետևել, եթե գիտեք, թե ինչպես է կատարվում հացաթխման/նախատիպերի պատրաստումը: Այս հրահանգի նպատակն է ստանալ ձեզ աշխատող «համակարգիչ» ՝ առանց շատ բան իմանալու, թե ինչպես են նրանք աշխատում: Ես կանդրադառնամ էլեկտրագծերի և ծրագրավորման հիմունքներին, ինչպես նաև կտրամադրեմ ձեզ համար շատ կարճ ծրագիր: Այսպիսով, եկեք սկսենք:

Քայլ 1: Մասեր և նյութեր

Մասեր և նյութեր
Մասեր և նյութեր
Մասեր և նյութեր
Մասեր և նյութեր

«Համակարգիչ» -ը պահանջում է ՝ էներգիա, մուտք, մշակում, հիշողություն և ելք: Տեխնիկապես մենք կունենանք այս ամենը: Ես այդ բաները կներկայացնեմ այդ հերթականությամբ:

Էլեկտրաէներգիայի համար ձեզ հարկավոր կլինի 5 վոլտ (այսուհետ ՝ որպես 5 Վ) պիտակ: Խորհուրդ է տրվում, որ այն լինի կարգավորվող աղբյուր, որպեսզի պատահաբար չկոտրեք մասերը ձեր շղթայում: Մեր մուտքը կլինի կոճակներ: Մշակումն ինքնին բացատրելի է. մենք օգտագործում ենք պրոցեսոր: Հիշողությունը բաղկացած կլինի միայն ROM- ից: Պրոցեսորի ներքին ընդհանուր օգտագործման գրանցամատյանները բավական կլինեն որպես RAM օգտագործելու համար: Արդյունքը կլինի LED- ները:

1 LM7805C - 5V կարգավորիչ

1 ZYLOG Z80 - պրոցեսոր

1 AT28C64B - EEPROM

1 74LS273 - Octal D Ֆլիպ -Ֆլոպ

1 74HC374E - Octal D Flip -Flop

3 CD4001BE - Quad NOR դարպաս

1 NE555 - ockամացույցի գեներատոր

2 1K Օմ դիմադրություն

1 10K Օմ դիմադրություն

1 10K Ohm Resistor Network; 8 Bussed OR 8 Լրացուցիչ 10K դիմադրիչներ

1 1uF կոնդենսատոր

1 100uF կոնդենսատոր

1 սեղմիչ կոճակ

1 3x4 կոճակի մատրիցա ԿԱՄ 8 լրացուցիչ կոճակ

8 LED - գույնի ընտրությունը նշանակություն չունի

8 330 Օմ դիմադրող կամ դիմադրողական ցանց

1 Իսկապես մեծ տախտակ կամ բազմաթիվ փոքրիկներ

Շատ և շատ մետաղալարեր

Իմ սխեմատիկ պատկերում ես տեղադրված եմ SRAM փայտ: Դրա համար նույնիսկ անհանգստանալու կարիք չկա: Ես միայն այն ավելացրեցի սխեմատիկայում ՝ իմ իրական սխեման ճշգրիտ արտացոլելու համար, և այն ավելացրեցի սխեմայում `հետագա օգտագործման համար: Սխեմատիկային ավելացված է նաև չորս OR դարպասը (74LS36): Երկու չօգտագործված դարպասների մուտքերը կապված են VCC- ի հետ, և դրանց ելքերը մնում են լողացող (ոչ գծված): Նաև գծագրված կամ վերը թվարկված չեն հոսանքի շղթայի երկու կոնդենսատորներ:

Ես սնուցում եմ կարգավորվող 12 Վ լարման 5V կարգավորիչով ՝ ամբողջ տախտակը կերակրելու համար: Այն բավականին տաքանում է, ուստի ես կցեցի ջերմամեկուսիչ ՝ այն սառեցնելու համար: Եթե կարգավորիչը սնուցելու համար օգտագործում եք 12 Վ -ից պակաս (օգտագործեք առնվազն 7 Վ), այն պետք է ավելի սառը աշխատի:

Z80- ն այնտեղ է, որտեղ տեղի է ունենում կախարդանքը: Այն տանում է ROM- ում պահված հրահանգներ և կատարում դրանք: EEPROM- ը պահում է մեր ծրագիրը պրոցեսորի կատարման համար:

Օկտալ մատով, որը մեր ելքային սարքն է, որը տվյալների ավտոբուսի տվյալները կպցնում է իր սեփական ելքին: Սա թույլ է տալիս մեզ փոխել ավտոբուսում եղածը, ինչը շատ կարևոր քայլ է, որը կատարվում է մեկ հրահանգով մի քանի անգամ ՝ առանց փոխելու այն, ինչ տեսնում է օգտագործողը/դիտողը: Flip-flop- ը չի կարող քշել ելքային LED- ները լուսավորելու համար պահանջվող հոսանքը, ուստի դրանք սնվում են քառապատիկ NOR դարպասի երկու չիպերով, որոնք ազդում են LED- ները վարելու 8 տվյալների տողերի բուֆերի վրա: Քանի որ դարպասների ելքը շրջված է, մենք նաև պետք է մետաղալարով միացնենք LED- ները, որպեսզի դրանք շրջվեն, բայց դրան կգանք, երբ դրան հասնենք: Մյուս NOR չիպը օգտագործվում է տրամաբանական վերծանման համար, սակայն օգտագործվում են ընդամենը երեք դարպասներ:

Մուտքի համար օգտագործվող օկտալային մատիտը, ըստ էության, նույն բանն է: Ելքային մատանի-մատանիներն իրենց ելքը պահում են կամ բարձր, կամ ցածր, այնպես որ այն չի կարող օգտագործվել ավտոբուս վարելու համար. այն տվյալներ կպահեր ավտոբուսի վրա: Մուտքի համար օգտագործվող մատիտը փոխարինում է /RESET քորոցը /EN- ով, որը քիչ թե շատ անջատում է չիպի ելքերը (և դրանից), այնպես որ չի պահում տվյալներ (եռակի վիճակի ելքեր):

Քայլ 2. Էլեկտրաէներգիայի, ժամացույցի և միացման սխեմաների միացում

Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում
Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում
Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում
Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում
Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում
Էլեկտրաէներգիայի, ժամացույցի և վերակայման սխեմաների միացում

Ո NOTՇԱԴՐՈԹՅՈՆ. Բոլոր մասերի համար նախ միացրեք հոսանքի ռելսերը: Բոլոր բաներից, որոնք պետք է մոռանալ լարերը, չիպսերը շատ ավելի քիչ հավանական կլինի գոյատևել մոռացված հոսանքի միացումներից:

Էլեկտրաէներգիայի միացումն ամենապարզ միացումն է լարին, որին հաջորդում են համապատասխանաբար վերակայման և ժամացույցի սխեմաները: Նկարում 12 Վ մուտքը գտնվում է ծայրամասային աջ կողմում գտնվող էլեկտրահաղորդիչի վրա: Դարչնագույն մետաղալարը, որի տակ թաքցնում է դեղինը, սնուցում է 12 Վ լարման կարգավորիչը: Կարգավորիչի ելքը կերակրում է տախտակի վրա տեղադրված յուրաքանչյուր այլ էլեկտրական ժապավեն, և յուրաքանչյուր էլեկտրական ժապավեն կիսում է ընդհանուր հիմքը, քանի որ այդպես է աշխատում էլեկտրոնիկան:

Պրոցեսորը աշխատելու համար պահանջում է ժամացույցի միացում: Առանց դրա, այն պարզապես կնստի այնտեղ իր սկզբնական վիճակում և ոչինչ չի անի: Theամացույցը գործարկում է պրոցեսորների ներքին հերթափոխի գրանցամատյանները, որպեսզի կարողանա ազդակներ առաջացնել ՝ աշխատանք կատարելու համար: Clockամացույցի ցանկացած մուտք գործելու է, նույնիսկ պարզ դիմադրություն և սեղմիչ կոճակ: Բայց հրահանգները կատարելու համար անհրաժեշտ է ժամացույցի շատ ցիկլեր: Ելքի վրա գրելու հրահանգն ինքնին տևում է 12 ցիկլ: Դուք հավանաբար չեք ցանկանում նստել այնտեղ և սեղմել կոճակը 100+ անգամ ՝ ծածկագրի ընդամենը մեկ օղակ ստանալու համար (իրական թվերը հրահանգվողի վերջում են): Դրա համար է NE555- ը: Դա փոխում է ձեզ համար և դա անում է (համեմատաբար) արագ տեմպերով:

Նախքան որևէ բան լարերի տեղադրումը սկսելը, գուցե ցանկանաք առաջ գնալ և պարզել, թե ինչպես եք ցանկանում, որ ձեր բաղադրիչները շարված լինեն տախտակի վրա: Իմ ժամացույցի միացումը պարզապես տեղադրված է տախտակի ներքևում, որպեսզի այն դուրս գա այլ բաղադրիչներից: Ենթադրենք, որ դուք գիտեք, թե ինչպես պատրաստել հիմնական ժամացույցը ժամանակաչափով: Եթե դա չեք անում, կցանկանաք փնտրել «555 Astable» - ը և հետևել ձեռնարկին: Օգտագործեք 1K ռեզիստորը ՝ 5V ռելսերի և ժամաչափի (R1) և 10K- ի միջև, 7 -րդ և pin 2 (R2) միջև: Համոզվեք, որ միացրեք վերականգնման քորոցը, 4 -րդ կապը 5 Վ ռելսին, որպեսզի ժամանակաչափը կարողանա աշխատել: Ես իմ լուսարձակի վրա դրեցի լուսադիոդ, որպեսզի կարողանամ ստուգել, որ ժամացույցն իսկապես աշխատել է, բայց դրա կարիքը չկա:

NE555- ի մեկ այլ տարբերակ է այն տեղադրել որպես NOT դարպաս և օգտագործել 1K դիմադրություն `ելքը հետադարձին կապելու համար: Սովորաբար խորհուրդ է տրվում օգտագործել 3 ժամաչափ ՝ դա անելու համար, բայց ես գտա, որ ընդամենը 1 -ը պետք է լավ աշխատի: Պարզապես իմացեք, որ եթե դա անեք, դա շատ մեծ արագությամբ կտատանվի, և նույնիսկ դժվար կլինի ասել, որ ելքային LED- ները թարթում են: Այս կարգավորումը կոչվում է «օղակի տատանում»:

Նկատի ունեցեք, որ մենք դեռ չենք միացնում ժամացույցը պրոցեսորին: Մենք պարզապես պատրաստում ենք այն: Նաև ուշադրություն դարձրեք պատկերի տրամաբանական ժամացույցին հենց ժամացույցի վերևում: Այն ավելացվել է ավելի ուշ, և դա միակ կիսախելամիտ տեղն էր, որը մնացել էր այն տեղադրելու համար: Այն օգտագործվում է RAM/ROM ընտրության համար: Այս հրահանգը անտեսում է RAM- ը, այնպես որ դուք չեք ունենա այս չիպը ձեր տախտակին:

Այժմ մենք միացնում ենք վերականգնման սխեման: Նախ պետք է դրա համար տեղ գտնել ձեր տախտակին: Ես ընտրեցի ժամացույցի կողքին: Ավելացրեք ձեր կոճակը գրատախտակին: Օգտագործեք 1K ռեզիստոր `կոճակի մի կողմը 5V ռելսին կապելու համար: Մեր RESET կապումներն ակտիվ են ցածր մակարդակի վրա, այսինքն `մենք պետք է դրանք բարձր պահենք: Դրա համար է դիմադրությունը: Այս հանգույցը նաև այն վայրն է, որտեղ միանում են վերականգնման կապումներին: Կոճակի մյուս կողմը ուղիղ գետնին է անցնում: Եթե ցանկանում եք միացում վերականգնել, այս հանգույցին ավելացրեք նաև 10uF կոնդենսատորը: Այն կպահպանի լարվածությունը վերակայման կապում բավականաչափ ցածր `պրոցեսորի և մատով խափանման միջակայքում միացման սխեման ակտիվացնելու համար:

Քայլ 3. Z80- ի լարերի միացում

Այժմ մենք հասնում ենք մանրախիճին: Մենք կապելու ենք գազանին, որը Z80- ն է: Իմ տախտակի վրա ես Z80- ը դրեցի վերևում ՝ տախտակի նույն հատվածում, ինչպես վերակայման սխեման: Ինչպես արդեն նշվեց, առաջին հերթին լարերը միացրեք էլեկտրահաղորդիչներին: 5V- ը գնում է դեպի 11 -րդ կապը ձախ կողմում, իսկ գետինը `մեկ քորոց ներքև, բայց աջ: Դուք կարող եք նկատել նաև չիպի տարօրինակ լայնությունը: Դա ձեզ կհանգեցնի 3 բաց միակցիչների մի կողմում `տախտակի վրա, իսկ 2 -ը` մյուս կողմից: Դա միայն ավելի քիչ հարմարավետ է դարձնում լրացուցիչ նյութեր լարեր կապելը, եթե դա որոշեք:

Հետևյալ կապի համարները, ենթադրում եմ, որ դուք գիտեք, թե ինչպես կարելի է հաշվել քորոցները IC- ի վրա, չօգտագործված մուտքեր են և պետք է կապված լինեն 5 Վ ռելսերի հետ ՝ 16, 17, 24, 25:

Հիշու՞մ եք մեր ժամացույցը: Դրա ելքը z80- ում անցնում է 6 -րդ փինին: Վերականգնման սխեման միանում է 26 -րդ կապին: Առանց տախտակի վրա մնացած բաղադրիչները ունենալու, սա այնքանով է, որքանով ես ձեզ կարող եմ ծանոթանալ բուն z80- ի լարերի հետ: Ավելի շատ էլեկտրագծեր կկատարվեն հետագա քայլերում:

Քանի որ ես արդեն կառուցել էի շրջանը, դեռևս մտածելի չէի գրել այս խրատական, ես կպահպանեմ նկարը մինչև հաջորդ քայլը:

Քայլ 4: ROM- ի միացում

ROM- ի միացում
ROM- ի միացում

EԱՆՈԹՈԹՅՈՆ. Դուք գուցե ցանկանաք զսպել այն փաստացի տեղադրելով գրատախտակին, եթե այն դեռ ծրագրավորված է (դրա մասին ավելի ուշ):

ROM- ի համար ես այն դրեցի Z80- ի կողքին ՝ աջ կողմում, ինչպես նաև տեղաշարժեցի այն սեղանի վրա: Սա ինձ թույլ տվեց ուղիղ միացնել հասցեի ավտոբուսը, բայց դրա մասին ավելի ուշ: AT28C64B- ն EEPROM է, ինչը նշանակում է, որ այն կարող է ծրագրվել մի քանի անգամ ՝ անջատելով և միացնելով որոշ կապում: Մենք չենք ցանկանում, որ մեր EEPROM- ը պատահաբար ինքն իրեն ծրագրավորի, երբ այն գտնվում է շղթայում: Այսպիսով, երբ ձեր հոսանքի ռելսերը միացված են, լարով ամրացրեք 27 (/WE) 5V ռելսին `գրելու գործառույթն ընդհանրապես անջատելու համար:

Իմ ծրագիրը այնքան փոքր է, ինձ պետք էին միայն ստորին 5 հասցեների տողերը (A0-A4), բայց ամեն դեպքում միացրել էի A5, A6 և A7- ը, որպեսզի կարողանամ ավելի մեծ ծրագրեր գրել առանց լրացուցիչ աշխատանքի: Հասցեի լրացուցիչ տողերը (A8-A12) ուղղակիորեն կապված են գետնին `կանխելու լողացող մուտքերից անցանկալի մուտքերը բարձր հասցեներին: Չօգտագործված հասցեների մուտքերը կապված են գետնին և գրելու հսկողությունը `կապված 5 Վ -ի հետ, մնացածը միացնելը բավականին պարզ է: Գտեք A0 պրոցեսորի վրա և միացրեք այն A0- ին ROM- ում: Այնուհետև գտեք A1 պրոցեսորի վրա և միացրեք այն A1- ին ROM- ում: Դա արեք այնքան ժամանակ, մինչև միացնեք բոլոր հասցեները միասին: Պատկերում, իմ հասցեն ավտոբուսը դեպի ROM կատարվում է կապույտ լարերով: RAM- ի գնացող հասցեի ավտոբուսը կատարվում է կարմիր լարերով: Այս լարերը բոլորը նախապես կտրված և հանված էին, քանի որ գալիս էին տախտակի էլեկտրագծերի հավաքածուի մեջ և կատարյալ էին այս էլեկտրագծերի համար:

Հասցեները լարով ստանալուց հետո (սա կոչվում է հասցեի ավտոբուս), նույնը արեք D0 պիտակով, այնուհետև D1, D2 և այլն: Սա արեք տվյալների բոլոր կապում (D0 - D7) տվյալների ավտոբուսը լարված է: Մենք գրեթե ավարտեցինք ROM- ի էլեկտրամոնտաժը: Գտեք ROM- ի /CE (չիպի միացման) քորոցը և միացրեք այն պրոցեսորների 19 -րդ կապին, /MREQ (հիշողության խնդրանք), այնուհետև գտեք ROM- ի /OE- ի (ելքը միացնելու) և միացրեք այն պրոցեսորի 21 -րդ, /RD (կարդացեք): Մենք այժմ ավարտել ենք: Այս բոլորը կատարվում են ցատկող լարերով, քանի որ դրանք պետք է անցնեն պրոցեսորի մյուս կողմը, և տախտակը բավականաչափ տեղ չի տալիս նման կոկիկ էլեկտրագծերի օգտագործման համար:

Քայլ 5: Ելքի միացում

Էլեկտրահաղորդման ելք
Էլեկտրահաղորդման ելք
Էլեկտրահաղորդման ելք
Էլեկտրահաղորդման ելք

Քանի որ այն չբնակեցված էր, ելքի համար ընտրեցի տախտակի հատվածը Z80- ից ձախ: Տեղադրեք մատիտը այնտեղ և միացրեք դրանք հոսանքի ռելսերով: Պին 1, /MR (վերականգնում) կարող է միանալ անմիջապես պրոցեսորի վերակայման քորոցին, բայց կարող եք այն թողնել կապված 5 Վ ռելսին: Դա անելը միայն կհանգեցնի նրան, որ մինչև առաջին գրելը ցուցադրի անպիտան տվյալները: Ուշադրություն դարձրեք, թե ինչպես է չիպը ժամացույցի մուտք ունի 11 -րդ կապում: Այս մուտքագրումը տարօրինակ է նրանով, որ այն ակտիվանում է, երբ քորոցը բարձրանում է: Նաև նշեք, որ այս քորոցը ՉԻ նույն ժամացույցը, որը քշում է պրոցեսորը: Այս ժամացույցը ամրացնում է տվյալների ավտոբուսում հաստատված տվյալները:

Հիշու՞մ եք, թե ինչպես ենք մենք միացրել D0 - D7- ը ROM- ի վրա պրոցեսորի նույն կապումներին: Նույնը կատարեք այս չիպի համար: Նրա D0- ն անցնում է D0- ին տվյալների ավտոբուսում և այլն: «Q» - ով սկսվող կապումներն ելքեր են: Նախքան դրանք միացնելը, մենք պետք է ավելացնենք ավելի շատ չիպսեր: Ես օգտագործեցի քառակի NOR դարպասները, քանի որ դրանցից մի խողովակ ունեմ, և ես արդեն դրա կարիքն ունեի, բայց ցանկացած չիպի մասին կաշխատի, եթե այն ճիշտ լարով ամրացնես: Ես կարող էի բոլոր դարպասների վրա մի մուտք կապել գետնին, իսկ մյուս մուտքերը օգտագործել որպես լավ մուտքեր, բայց պարզության համար ընտրեցի երկու մուտքերն իրար միացնել:

Չիպսերը դնում եմ մատնահետքի տակ, որպեսզի ավելի հեշտ լինի առանց թռչկոտների մետաղալարեր կապելը, բայց այս պահին ես լարերի պակաս ունեի, ուստի դա վերջնականապես նշանակություն չուներ: Ֆլիպ-ֆլոպի Q0, Q1…..7 Q7 գնում է դեպի առանձին դարպասների մուտքերը: Յուրաքանչյուր փաթեթում/չիպում 4 դարպաս ունենալով, ինձ 2 փաթեթ էր պետք և օգտագործեցի բոլոր դարպասները: Եթե դուք գտնում եք մատով խփած մի տարբերակ, որը կարող է LED- ները վարել առանց նման բուֆերի կարիք ունենալու, այս երկու չիպերի կարիքը չկա: Եթե դուք օգտագործում եք դարպասներ որպես բուֆեր, որոնք չունեն շրջված ելքեր (AND/OR/XOR), ապա կարող եք միացնել LED- ները այնպես, ինչպես դուք կսպասեիք: Եթե դուք օգտագործում եք նույն մասերը, ինչ ես և/կամ ելքերը շրջված են, LED- ները պետք է լարված լինեն, ինչպես նկարագրված է ստորև: Առաջին պատկերը ցույց է տալիս ելքի IC հատվածը:

Օգտագործեք 330 Օմ ռեզիստորները ՝ LED- ները դրական (Անոդ) կապելու համար 5V ռելսին և բացասականը (կաթոդ) միացրեք դարպասների ելքին: Երկրորդ նկարում կարող եք տեսնել, որ ես օգտագործել եմ երկու դիմադրող ավտոբուս, որոնցից յուրաքանչյուրը ընդամենը հինգ ներքին դիմադրիչ է: Նման LED- ները միացնելը դրանք կլուսավորի, երբ ելքն անջատված է: Մենք դա անում ենք, քանի որ ելքն անջատված է, երբ մուտքը միացված է: Բացարձակապես համոզվեք, որ հետևում եք, թե որ դարպասներից է ձեր ելքերը մատով խփող հսկիչից: Եթե ձեր LED- ները ցրված չեն կամ դրանց կարգը անիմաստ է, դրանց հետքերը կորցնելը հետագայում կարող է շփոթություն առաջացնել, երբ ինքներդ ձեզ հարցնում եք, թե ինչու է ելքը սխալ:

Քայլ 6: Ներածման լարերի միացում

Մուտքային լարերի միացում
Մուտքային լարերի միացում

Վերցրեք այդ 74HC374 մատիտը և տեղադրեք այն ինչ-որ տեղ: Իմը Z80- ից ինչ -որ տեղ ներքևում էր դեպի տախտակի ներքևը: Հիշու՞մ եք վերջին անգամ, երբ մենք D0- ն կապում էինք D0- ի, իսկ D1- ը `D1- ին և այլն: Այս անգամ մենք Q0- ը կապում ենք D0- ի և Q1- ը D1- ի հետ և այլն: Բարեբախտաբար, այս անգամ բուֆերային չիպսեր չպետք է ավելացնենք, հահա: Փոխարենը մենք մտադիր ենք միացնել 10K Օմ յուրաքանչյուր «D» կապում (D0-D7) և գետնին, այնուհետև կոճակ նույն կապումներին և 5V ռելսին: Կամ կարող եք օգտագործել դիմադրության ավտոբուս և շատ կրճատել ձեր մասերի հաշվարկը: 3x4 կոճակների մատրիցը (առանց մատրիցային ելքի !!) նույնպես կօգնի: Պատկերը ցույց է տալիս մուտքային շղթայի ամբողջականությունը սոսնձի տրամաբանության հետ միասին (այդ հատվածը հաջորդն է):

Քայլ 7: Սոսնձի տրամաբանություն

Մենք ունենք մի վերջին բան, որը պետք է լարել: Այն կոչվում է «սոսնձման տրամաբանություն», քանի որ այն օգտագործվում է կառավարման ազդանշանների վերծանման համար, որպեսզի ամեն ինչ աշխատի; դա այն է, ինչը միավորում է միացումը: Երբ պրոցեսորը ցանկանում է տվյալներ գրել ելքի վրա, երկուսն էլ /IORQ և /WR (համապատասխանաբար 20 և 22) իջնում են, և ուղարկվող տվյալները հաստատվում են տվյալների ավտոբուսի վրա: Flամացույցի քորոցը երկու մատնահետքերի վրա ակտիվ են բարձր, ինչը նշանակում է, որ տվյալները կողպվում են, երբ քորոցը ստանում է բարձր ազդանշան: Մենք օգտագործում ենք NOR դարպաս և մետաղալար /IORQ դարպասի մեկ մուտքի համար և /WR մյուս մուտքի համար: Երբ որևէ մեկը բարձր է, այսինքն ՝ IO- ի սխեմաները չեն ընտրվում կամ գրելու գործողություն չի կատարվում, մատնահետքի ժամացույցը սնուցող ելքը մնում է ցածր: Երբ երկու մուտքերն էլ ցածր են, և միայն այն ժամանակ, երբ ելքը բարձրանում է բարձր, և մատով խփում է տվյալները:

Այժմ մենք պետք է մետաղալարով ներածենք մատնահետքը: Մենք կարող ենք ժամացույցի կապը միացնել այնպես, ինչպես նախորդը, բայց օգտագործելով /IORQ և /RD: Բայց, ի տարբերություն մյուս մատանի-թռիչքի, մենք ունենք նաև /OE պին, որը պետք է ցածր լինի միայն այն դեպքում, երբ /IORQ և /RD- ն ցածր են: Մենք կարող էինք օգտագործել OR դարպասը: Կամ մենք պարզապես կարող էինք վերցնել ազդանշանը, որն արդեն ունենք ժամացույցի համար և այն շրջել այն երկու շրջադարձ դարպասներից մեկի հետ, որոնք մենք արդեն ունենք: Այս խրատական հայտարարելու պահին ես չունեի OR դարպաս, այնպես որ ես օգտագործեցի վերջին տարբերակներից մեկը: Վերջին տարբերակի օգտագործումը նշանակում էր, որ ես ամեն դեպքում լրացուցիչ մասեր ավելացնելու կարիք չունեմ:

Քայլ 8: Programրագրավորում

Եթե ձեր էլեկտրագծերը ճիշտ լինեն, և իմ բացատրությունը հստակ լինի, մնում է միայն ROM- ը ծրագրավորել: Այս մասին մի քանի ճանապարհ կա: Կարող եք անցնել հեշտ ճանապարհով և պատվիրել Digikey- ի նոր չիպ: Երբ դուք պատվիրում եք հատվածը, դուք կունենաք տարբերակ ՝ վերբեռնելու HEX ֆայլ և նրանք ծրագրավորելու են այն առաքելուց առաջ: Օգտագործեք HEX կամ OBJ ֆայլերը, որոնք կցված են այս հրահանգին և պարզապես սպասեք, մինչև այն հասնի փոստին: Տարբերակ 2 -ը `ծրագրավորող կառուցել Arduino- ով կամ ինչ -որ այլ բանով: Ես փորձեցի այդ ճանապարհը, և այն չկարողացավ ճիշտ պատճենել որոշ տվյալներ, և դա պարզելու համար ինձանից շաբաթներ պահանջվեցին: Վերջացրեցի 3 -րդ տարբերակը, այն է ՝ ծրագրավորել այն ձեռքով և մատների անջատիչներով ՝ հասցեի և տվյալների տողերը վերահսկելու համար:

Ուղղակիորեն պրոցեսորի OP կոդին փոխարկվելուց հետո այս ամբողջ ծրագիրը գտնվում է հասցեի տարածության ընդամենը 17 բայթում, այնպես որ ձեռքով ծրագրելը այնքան էլ սարսափելի չէր: Generalրագիրը բեռնվում է ընդհանուր նշանակության B ռեգիստրում `00 արժեքը: B գրանցամատյանը օգտագործվում է նախորդ լրացման արդյունքը պահելու համար: Քանի որ A գրանցամատյանը այնտեղ է, որտեղ տեղի է ունենում մաթեմատիկան, մենք չենք օգտագործի այն տվյալների պահպանման համար:

Խոսելով A գրանցամատյանի մասին, մենք կատարում ենք IN հրաման, որը կարդում է մուտքը և կարդում ենք տվյալները A- ում, այնուհետև ավելացնում ենք B ռեգիստրի բովանդակությունը և արդյունքը թողնում:

Դրանից հետո գրանցամատյանը A պատճենվում է գրանցամատյան B.- ում: Եվ հետո մենք կատարում ենք մի շարք թռիչքային հրամաններ: Քանի որ բոլոր թռիչքները մատնանշում են հասցեի տողերի ստորին բայթը, և քանի որ ցատկման հրահանգի վերին բայթը տրված է երկրորդ արգումենտում և «00» է, մենք կարող ենք ստիպել յուրաքանչյուր ցատկին հետևել NOP- ով: Մենք դա անում ենք ՝ ելքը ցուցադրելու և մուտքի ընթերցման միջև ժամանակ տալու համար ՝ պատահական մուտքագրումը կանխելու համար: Յուրաքանչյուր ցատկում օգտագործվում է ժամացույցի տասը ցիկլ, իսկ յուրաքանչյուր NOP- ը `չորս: Եթե օղակը շատ երկար տևի ձեր սրտով, կարող եք բարձրացնել ժամացույցի արագությունը կամ կարող եք այն նորից ծրագրավորել `մեկ ցատկում ավելի քիչ օգտագործելու համար:

Քայլ 9: Փորձարկում

Եթե ամեն ինչ ճիշտ եք միացրել, և ձեր ROM- ը ճիշտ է ծրագրավորված, մնում է կատարել մեկ վերջին քայլ. Միացրեք այն և տեսեք, թե այն աշխատում է: Սեղմեք կոճակը և սպասեք մի քանի վայրկյան: Firstրագրի առաջին օղակին հասնելու համար պահանջվում է 81 ժամացույցի ցիկլ, և յուրաքանչյուր հանգույց տևում է 74 ժամացույցի ցիկլ:

Եթե դա չի աշխատում, ստուգեք կարճ և չկապված կապում (բացվում է) և էլեկտրագծերի այլ խնդիրներ: Եթե դուք անջատել եք միացման կարգավորումը, նախքան պրոցեսորը որևէ բան անելը, ձեզ հարկավոր է ձեռքով վերականգնել: Կարող եք նաև LED- ներ ամրացնել հասցեի ավտոբուսին ՝ տեսնելու, թե արդյոք նրանք իրենց պահում են: Ես ինքս խնդիրներ ունեի դրա հետ, ուստի դրանք ուղղակիորեն կպցրեցի տվյալների ավտոբուսին: Սա թույլ տվեց ինձ տեսնել, թե ինչ է հաղորդվում պրոցեսորի և ROM- ի միջև, առանց անհանգստանալու կարիք ունենալու, եթե ROM- ը ճիշտ է կարդացվում, ինչը կպահանջեր ժամանակային դիագրամներ, և ես պարզապես չէի ցանկանա դրանով զբաղվել: Պարզվեց, որ դա լավ ընտրություն էր, քանի որ ես վերջապես բռնեցի խնդրահարույց OP կոդերը, որոնք սխալ պահված էին:

Խորհուրդ ենք տալիս: