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

AVR Assembler ձեռնարկ 8: 4 քայլ
AVR Assembler ձեռնարկ 8: 4 քայլ

Video: AVR Assembler ձեռնարկ 8: 4 քայլ

Video: AVR Assembler ձեռնարկ 8: 4 քայլ
Video: Areg's Time - Tarva Eghanakner | Տարվա Եղանակներ 2024, Հուլիսի
Anonim
AVR Assembler ձեռնարկ 8
AVR Assembler ձեռնարկ 8

Բարի գալուստ Tutorial 8:

Այս կարճ ձեռնարկում մենք մի փոքր շեղում կստանանք հավաքման լեզվի ծրագրավորման նոր ասպեկտների ներդրումից `ցույց տալու, թե ինչպես տեղափոխել մեր նախատիպերի բաղադրիչները առանձին« տպագիր »տպատախտակին: Պատճառն այն է, որ այս պահին մեր հիմնական նախատիպի տախտակը հագեցած է այնքան չիպսերով, լարերով, կոճակներով և LED- ներով, որ դժվարանում է նոր բաներ փորձարկել, և քանի որ մենք, ի վերջո, պետք է բաղադրիչները տեղափոխենք իրենց սեփական տախտակներ:, գուցե հիմա էլ սկսենք: Ձեզանից շատերը, հավանաբար, արդեն իսկ տիրապետում են այն բաներին, որոնք մենք կներկայացնենք այս ձեռնարկում: Այսպիսով, դուք կարող եք դիտել այս ձեռնարկը `որպես կոդավորումից պարզապես հանգստանալու ընդմիջում:

Այսպիսով, այսօր մենք մեր զառախաղ ATMega328P- ը և դրան ուղեկցող զույգ զույգը կտեղափոխենք արտաքին տախտակ `մեր հիմնական տախտակին միացված և դրան միացնելու համար: Բացի դրանից, զառերի էլեկտրագծերը և աշխատանքը ինքնուրույն կլինեն այդ բաղադրիչի շրջանակներում:

Դուք հավանաբար այստեղից կարող եք կանխատեսել, որ մեր վերջնական նպատակն է դա անել ճանապարհին կառուցվող յուրաքանչյուր բաղադրիչով, որպեսզի ավարտելուց հետո կարողանանք դրանք բոլորը թաքցնել գեղեցիկ տեսք ունեցող փաթեթի մեջ, որը կգործի կոճակներով ՝ առանց տեսնելու բոլորը լարերի և ներքին աշխատանքների:

Այս ձեռնարկի մեծ մասը մենք կանցկացնենք ֆիզիկական առաջադրանքների կատարմամբ, ինչպիսիք են սխեման նախագծելը, նախատիպի տախտակի քարտեզավորումը և իրերի զոդումը միասին, բայց մի փոքր ծրագրավորում կա, որը պետք է անենք վերջում ՝ իրերը տեղափոխելուց հետո: Պատճառն այն է, որ մենք ի վերջո օգտագործելու ենք երկալար սերիական ինտերֆեյս `մեր հիմնական« վարպետ »վերահսկիչի և բոլոր« ստրուկ »վերահսկիչների միջև, որոնք կազմում են մեր ընդհանուր նախագծի բաղադրիչները այս ձեռնարկների շարքում և, Ինչպես հիշում եք, 6 -րդ ձեռնարկում մենք հորինեցինք Մորզեի ծածկագրերի մի տեսակ ՝ մեր զառերը փոխանցելու համար զառախաղից (ձեռնարկ 4) գրանցման անալիզատորին (ձեռնարկ 5), որը ցուցադրեց զառերի արդյունքը երկուականում 8 LED- ով:. Դե, դա պարզապես հաղորդակցության «ինքդ քո» մեթոդն էր, որը ես որոշեցի օգտագործել, որովհետև այդ ժամանակ դեռ վաղ էր երկալար սերիական հաղորդակցության մեջ մտնելը: Մենք այժմ գրեթե պատրաստ ենք սուզվել սերիական հաղորդակցության խորքում, և դա կանենք 10-րդ ձեռնարկում, բայց առայժմ պետք է կանխատեսել, որ ապագա զարգացումը և նորից միացնենք մեր զառախաղի լուսադիոդները, որպեսզի ազատենք երկուսը կապեր, որոնք մեզ անհրաժեշտ են սերիական հաղորդակցության համար:

Սրանք SCL և SDA կապում են ATmega328P- ում: Դուք կարող եք pinout դիագրամով տեսնել, որ դրանք կոչվում են նաև ADC5 և ADC4, երբ օգտագործվում են անալոգային-թվային փոխակերպումներում, դրանք կոչվում են PCINT13 և PCINT12, երբ օգտագործվում են որպես «Pin Change Interrupt» կապում, և, ի վերջո, մենք դրանք ընդհանուր առմամբ անվանում ենք PC5 և PC4: երբ պարզապես դիտարկվում է որպես PortCs- ի կապում: Քանի որ մենք օգտագործել ենք այս երկու կապում որպես զառախաղի մի մաս տարբեր պատճառներով (հիմնականը այն է, որ այն հեշտացրել է ծածկագրումը և ավելի հեշտ դրել տախտակի LED- ները), այժմ ստիպված կլինենք փոփոխել մեր ծածկագիրը և մի փոքր նորից միացնել այն ազատեք այս կապումներն ապագա շփման համար:

Այսպիսով, մենք կսկսենք նախագծման, կտրման, էլեկտրագծերի և զոդման աշխատանքներով: Այնուհետև մենք նորից կգրենք զառախաղը ՝ մեր նոր հավաքածուի հետ աշխատելու համար և վերջապես կփորձարկենք այն ՝ համոզվելու համար, որ այն դեռ աշխատում է:

Այս ձեռնարկը լրացնելու համար ձեզ հարկավոր են հետևյալ տարրերը.

  1. Այն ստանդարտ իրերը, որոնց դուք միշտ կարիք ունեք, ես դադարելու եմ անընդհատ կրկնել ՝ ձեր նախատիպերի տախտակը, տվյալների թերթիկի և հրահանգների ձեր պատճենը և ձեր ուղեղը:
  2. PCB տախտակի նման անլար միացում, որը նախատիպավորում է այսպիսին. -circuit-proto-proto… քանի որ ես ունեմ դրանցից մի քանիսը ձեռքի տակ, բայց 103RAW-0 տարբերակը, որին ես կապում եմ վերևում, նույնպես լավ կաշխատի:
  3. Կտրող սարքեր, լարեր, զոդ, երկաթ, «օգնող ձեռքեր» կամ ինչ -որ բան պահելու համար, և այլն, և այլն, և այլն: Եթե իրականում այսքան հեռու եք հասել այս ձեռնարկներում, ապա հավանաբար արդեն ունեք այս ամենը:

Ահա հղում իմ AVR հավաքողների ձեռնարկների ամբողջական հավաքածուին ՝

Քայլ 1. Նախագծեք էլեկտրագծերի դիագրամ

Նախագծեք էլեկտրագծերի դիագրամ
Նախագծեք էլեկտրագծերի դիագրամ
Նախագծեք էլեկտրագծերի դիագրամ
Նախագծեք էլեկտրագծերի դիագրամ
Նախագծեք էլեկտրագծերի դիագրամ
Նախագծեք էլեկտրագծերի դիագրամ

Measure Explorer- ի տախտակների մեջ ամենահետաքրքիրն այն է, որ եթե որոշ ժամանակ տրամադրեք և ամեն ինչ սկզբում գծեք, կարող եք վերջում ձեզ խնայել շատ էլեկտրագծեր: Այսպիսով, մենք կսկսենք որոշ ժամանակ հատկացնելով մեր դասավորության ձևավորմանը, նախքան որևէ բանի զոդման սկսելը: Նման տախտակի միջոցով դուք պետք է կտրեք մի քանի կապող լարեր, ինչը այդքան էլ հեշտ չէ, բայց արդյունքը շատ գեղեցիկ կոմպակտ տախտակ է `խճճված լարերի նվազագույն խառնաշփոթով: Առաջին բանը, որ մենք պետք է անենք, դա նախագծելն է միացում այնպես, որ այն տեղավորվի տախտակի վրա: Դա անելու լավ միջոց է ներբեռնել գրատախտակի քարտեզը, այնուհետև օգտագործել այն ՝ տարբեր դիզայններով խաղալու համար, մինչև որ գտնեք այն, որն աշխատում է: Ահա ME-PB-103RAWD- ի դասավորությունը https://www.bluemelon.com/photo/3483513-T800600-j.webp

Քայլ 2. Կտրեք շրջանը գրատախտակին

Կտրեք շրջանը գրատախտակին
Կտրեք շրջանը գրատախտակին
Կտրեք շրջանը գրատախտակին
Կտրեք շրջանը գրատախտակին
Կտրեք շրջանը գրատախտակին
Կտրեք շրջանը գրատախտակին

Սկզբում վերցրեք սրիչ և, օգտագործելով ձեր նախորդ դասում նկարագրված ձեր դասավորությունը, գծեք ձեր սխեման գրատախտակին: Այսինքն գծեր գծեր, որոնք ներկայացնում են լարերը: Ոչինչ մի նկարեք բաղադրիչների առումով, այլ միայն միացնող լարերը, ինչպես ցույց է տրված առաջին նկարում: Ուշադրություն դարձրեք, որ երբ դուք պտուտակում եք (և եթե ինձ նման եք, այս քայլերում շատ անգամներ կփչացնեք), կարող եք օգտագործել ռետին և ջնջել գիծը: Դա արեք տախտակի երկու կողմերի համար:

Հաջորդը դուք պետք է կտրեք կապերը գծերի շուրջ: Եթե ուշադիր նայեք տախտակին, ապա կտեսնեք, որ յուրաքանչյուր կապող անցք կապված է տախտակի երկու կողմերում գտնվող 4 հարակից փոսերի հետ, որպեսզի սկսելու ժամանակ տախտակի բոլոր անցքերը կապված լինեն միմյանց հետ: Այսպիսով, դուք պետք է կտրեք ձեր լարերից յուրաքանչյուրի երկու կողմերը `դրանք մեկուսացնելու համար: Այս կտրումը կատարելու ամենատարածված եղանակը Exacto դանակն է: Բայց ես ծծում եմ Exacto դանակները և հավանաբար ինքս ինձ կկտրեի: Այսպիսով, ես օգտագործում եմ Dremel- ը `բարակ կտրող գործիքի հավելվածով: Կցանկանայի, որ ես ունենայի մի տեսակ հղկող կցորդ, որը հասավ սուր կետի, քանի որ դա ամենալավը կաշխատեր, բայց ես նմանը չունեմ, այնպես որ ես օգտագործեցի կտրող սղոցի հավելվածը: (Նշումն ավելացված է. Այս նախագիծն ավարտելուց հետո ես գտա, որ Dremels- ի համար նախատեսված «ծանր պարտադիր անիվի» գլուխներն ամենալավն են աշխատում, նրանք նման են հղկաթղթի փոքր շրջանակների և աշխատում են այստեղ ցուցադրված կտրող գործիքի հետ, բացառությամբ, որ դրանք ավելի փոքր տրամագծով են և այլն): շատ ավելի հեշտ է տեսնել և վերահսկել, թե որտեղ եք կտրում)

Theանապարհին օգտակար է տախտակը պահել մինչև լույսը և համոզվել, որ լարերը իրականում կտրված են: Ձեզ կարող է նյարդայնացնել այն փաստը, որ տախտակի երկու կողմերում կան միացումներ, այնպես որ ստիպված եք նորից կրկնել կտրման գործընթացը մյուս կողմից, բայց կարծում եմ, որ դրա ավարտը կտեսնեք: Ես շատ սխալներ թույլ տվեցի ՝ կտրելով լարերը, որոնք չպետք է կտրված լինեին, և մյուս կողմը դեռ միացված լիներ, գեղեցիկ ստացվեց:

Շղթան տախտակի մեջ կտրելը բավականին ժամանակ և համբերություն կպահանջի, բայց դա մի տեսակ զվարճալի է, երբ դրան լավ տիրապետես:

Քայլ 3. Sոդեք բաղադրիչները և փորձարկեք

Erոդեք բաղադրիչները և փորձարկեք
Erոդեք բաղադրիչները և փորձարկեք
Erոդեք բաղադրիչները և փորձարկեք
Erոդեք բաղադրիչները և փորձարկեք
Erոդեք բաղադրիչները և փորձարկեք
Erոդեք բաղադրիչները և փորձարկեք

Այժմ, երբ մեկուսացրել եք ձեր տպատախտակի բոլոր լարերը, կարող եք սկսել եռակցումը առանձին բաղադրիչների վրա:

Սկզբում ես LED- ների վրա զոդեցի զառերից մեկի համար, այնուհետև իմ տախտակից վերցրեցի դրական և բացասական կապեր և փորձարկեցի յուրաքանչյուր LED- ի միացումները `համոզվելու համար, որ դրանք մեկուսացված են միմյանցից և աշխատում են:

Նմանապես մյուս մահացածի հետ:

Այնուհետև ամրացրեք ռեզիստորը յուրաքանչյուր սալիկի վրա, իսկ 10K դիմադրությունը `տախտակի հետևի մասում:

Այնուհետև կցեք բյուրեղային տատանողը, 22pf գլխարկները, սեղմման կոճակները և ATmega328P- ը: Կարող եք կցել մի չիպի վարդակ, այնուհետև տեղադրել ձեր ATmega328P- ը դրա մեջ, որպեսզի ցանկության դեպքում հեռացնեք այն և նորից օգտագործեք այլ բանում: Ես պարզապես միացրեցի իմ չիպը տախտակին, քանի որ գիտեմ, թե ինչ ենք մենք վերջապես կառուցում այս բոլոր ձեռնարկներով և գիտեմ, որ այն ինձ այնքան դուր կգա, որ ես չեմ ցանկանա չիպը հանել:

Ուշադրություն դարձրեք, նայելով տախտակի հետևի հատվածին, ինչպես ենք ամրացրել վերնագրերը: Ես օգտագործել եմ երկար կապի վերնագրեր և դրանք թեքում եմ հորիզոնական, որպեսզի դրանք դուրս չգան տախտակից: Սա այնպես է, որ ես ի վերջո կարողանամ տախտակը ծածկել մինչև սեղմման կոճակների և LED- ների մակարդակը կոնտեյներով և չունենալ վերնագրեր, որոնք խանգարում են: Մենք ունենք վերնագիր Tx- ի, Rx- ի համար, որպեսզի կարողանանք ծրագրավորել չիպը, մենք ունենք վերնագիր SDA- ի, SCL- ի համար, որպեսզի հետագայում կարողանանք օգտագործել 2-հաղորդալար հաղորդակցություն: և մենք ունենք 3 փին վերնագիր AVCC, AREF, GND տախտակի մյուս կողմում: Ես ունեմ բոլոր ստորգետնյա կապումներն ու VCC կապերը, որոնք միացված են չիպի վրա, այնպես որ մեզ անհրաժեշտ է միայն մեկ հոսանքի մուտք:

Վերջապես, երբ ամեն ինչ միացված է, մենք մետաղալարով մեռնում ենք 1 մահից 2 այնպես, ինչպես արեցինք սեղանի վրա, որպեսզի կարողանանք երկու զառերը վերահսկել միայն 9 կապում:

Այժմ մենք պետք է փոփոխենք մեր կոդը, որպեսզի այն վերահսկի այս նոր կարգավորումը:

Քայլ 4. Հավաքման ծածկագիր և տեսանյութ

Ես կցել եմ հավաքման ծածկագիրը և գործող զառախաղի տեսագրությունը: Այն ամենը, ինչ ես արել եմ, վերցրել ենք ձեռնարկ 6 -ից մեր զառերի գլանափաթեթի ծածկագիրը, փոփոխել կապերը նոր դասավորությանը համապատասխան և հեռացնել հաղորդակցության ենթածրագիրը, քանի որ մենք գրելու ենք: նորը 10-րդ ձեռնարկում: Հաջորդ անգամ մենք նորից կբացենք մեր ստեղնաշարը և կսովորենք, թե ինչպես կառավարել 7-հատվածանոց էկրանները: Այդ դեպքում կտեսնվենք:

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