Բովանդակություն:
- Քայլ 1: Անհրաժեշտ նյութեր
- Քայլ 2. LFSR- ի ստեղծում (Հետադարձ կապի գծային գրանցման գրանցում)
- Քայլ 3: Յոթ հատվածի ցուցադրման կարգավորում
- Քայլ 4. Խաղի մոդուլի ստեղծում
- Քայլ 5: Խաղացեք խաղը:
Video: CPE 133 Վերջնական նախագիծ տասնորդականից երկուական `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Երկուական թվերն առաջին բաներից են, որոնք գալիս են մտքիս թվային տրամաբանության մասին մտածելիս: Այնուամենայնիվ, Երկուական թվերը կարող են դժվար հասկացություն լինել դրանում նորեկների համար:
Այս նախագիծը կօգնի նրանց, ովքեր և՛ նոր են, և՛ փորձառու երկուական թվերով, որոնք տիրապետում են տասնորդական թվերի փոխակերպմանը: Խաղի ստեղծման միջոցով մենք փորձարկելու ենք օգտվողներին իրենց փոխակերպման հմտությունները: Այս խաղը կիրականացվի Basys3 Board- ի վրա և ծրագրված կլինի Verilog- ում:
Քայլ 1: Անհրաժեշտ նյութեր
Հետևյալ նյութերն անհրաժեշտ են երկուական փոխակերպման տասնորդական խաղը դարձնելու համար.
- Xilinx Vivado Design Suite ծրագրակազմ
- Digilent Basys3 FPGA տախտակ
- USB միկրո USB մալուխ
Քայլ 2. LFSR- ի ստեղծում (Հետադարձ կապի գծային գրանցման գրանցում)
LFSR (Linear Feedback Shift Register) մոդուլ է, որն օգտագործվում է «պատահական» թվեր գեներացնելու համար:
LFSR- ն ամբողջովին պատահական չէ, քանի որ այն առաջացնում է կեղծ պատահական թվեր, ինչը թվերի ստեղծման գործընթաց է, որոնք հայտնվում են պատահական, բայց ոչ:
LFSR- ը հերթափոխային գրանցամատյան է, որի մուտքային բիթը իր նախորդ վիճակի գծային գործառույթն է, ինչը նշանակում է, որ LFSR- ը կշրջվի վերջավոր բազմության թվերով: Հատկապես այս խաղի համար, LFSR- ն կօգտագործի ընդամենը 8 բիթ `տասնորդական թիվը սահմանափակելու համար` մինչև 255:
Կոճակ L (btnL) օգտագործվում է LFSR- ի համարը վերականգնելու համար:
Այս LFSR մոդուլը չի ստեղծվել այս խաղի ստեղծողների կողմից: LFSR մոդուլը ստեղծվել է Կարլթոնի համալսարանի պրոֆեսոր Johnոն Նայթի կողմից: Նրա մոդուլի հղումը ներկայացված է ստորև:
www.doe.carleton.ca/~jknight/97.478/97.478_…
Քայլ 3: Յոթ հատվածի ցուցադրման կարգավորում
Յոթ հատվածից ցուցադրումը օգտագործվում է Basys3 տախտակի վրա և այլ սարքավորումների վրա `այբբենական թվեր ցուցադրելու համար:
Այս խաղում օգտագործվող Seven-Segment Display մոդուլը երկուական թիվը վերածում է տասնորդականի և ցուցադրում այն որպես տասնորդական թիվ:
Օգտագործելով նախկինում քննարկված LFSR մոդուլը, պատահական գեներացվող թիվը դուրս կգա Յոթ հատվածից բաղկացած էկրանին:
Յոթ հատվածի ցուցադրման մոդուլը չի ստեղծվել այս խաղի ստեղծողների կողմից: Յոթ հատվածից ցուցադրվող մոդուլը տրամադրել է Կալիֆոռնիայի պոլիտեխնիկական պետական համալսարանի պրոֆեսոր Josephոզեֆ Կալենես-Սլոանը: Մոդուլի PDF- ն կցված է ստորև:
Քայլ 4. Խաղի մոդուլի ստեղծում
Ստեղծել խաղի (հիմնական) մոդուլ:
Այս մոդուլը կօգտագործի LFSR մոդուլը ՝ պատահական թիվ գեներացնելու և այնուհետև այն թողարկելու համար Յոթ հատվածային ցուցադրման վրա:
Այնուհետև մոդուլը օգտագործում է միշտ բլոկ, որը վերականգնում է պատահական թիվը: Սա գործում է Button R- ի (btnR) դրական եզրին, ինչը նշանակում է, որ այն կգործի միայն այն ժամանակ, երբ սեղմված է R կոճակը:
Երկրորդ միշտ բլոկը գործում է ժամացույցի դրական եզրին (clk): Եթե կոճակը C (btnC) սեղմված է, դա կստուգի, թե արդյոք յոթ հատվածի ցուցադրման համարը նույնն է, ինչ անջատիչներից (sw): Այս բլոկը կբարձրացնի դրոշ (դրոշի գրանցամատյանը (դրոշը) դրեք 1 -ի վրա) և կփոխի messageVal հաղորդալարը ըստ այն բանի, եթե օգտվողը հաղթել կամ պարտվել է:
Երրորդ բլոկը գործում է նաև ժամացույցի դրական եզրին: Եթե դրոշը բարձրացված է, այն ssegInputVal- ը կդնի յոթ հատվածից ցուցադրվող messageVal լարին: Եթե դրոշը չբարձրացվի, այն կշարունակի դուրս բերել պատահական թիվը (randomVal):
Քայլ 5: Խաղացեք խաղը:
Հրահանգներ.
- Օգտագործողը կտտացնի R կոճակը ՝ նոր խաղ պատրաստելու համար, կամ կփոխի համարը Յոթ հատվածից բաղկացած էկրանին:
- Օգտվողը կթափի առաջին 8 անջատիչները վեր (1) կամ ներքև (0) ՝ մուտքագրելով ներկայացված երկուական թիվը:
- Կոճակը C- ն կօգտագործվի ՝ օգտագործողի հաղթած կամ պարտված լինելու ստուգման համար:
- Եթե Օգտատերը շահեց, «111» -ը կցուցադրվի Յոթ հատվածից բաղկացած էկրանին:
- Եթե Օգտատերը կորցրել է '0' -ը կցուցադրվի Յոթ հատվածից բաղկացած էկրանին:
- Նոր խաղ սկսելու համար ցանկացած պահի կարող եք սեղմել R կոճակը:
Խորհուրդ ենք տալիս:
Վերջնական երկուական ժամացույց. 12 քայլ (նկարներով)
Վերջնական երկուական ժամացույց. Ես վերջերս ծանոթացա երկուական ժամացույցների հայեցակարգին և սկսեցի որոշ հետազոտություններ կատարել `տեսնելու, թե արդյոք կարող եմ ինքս ինձ համար սարքել: Այնուամենայնիվ, ես չկարողացա գտնել գոյություն ունեցող դիզայն, որը միաժամանակ և՛ ֆունկցիոնալ էր, և՛ ոճային: Այսպիսով, ես որոշեցի
PHYS 339 Վերջնական նախագիծ. Simple Theremin: 3 քայլ
PHYS 339 Եզրափակիչ նախագիծ. Պարզ Թերմին. Որպես ժամանցի երաժիշտ և ֆիզիկոս, ես միշտ մտածել եմ, որ այդ գործիքներն ամենաթեժ էլեկտրոնային գործիքն են: Նրանց ձայնը գրեթե հիպնոսային է, երբ նվագում է մասնագետը, և էլեկտրոնիկայի տեսությունը, որն անհրաժեշտ է նրանց աշխատանքի համար, բավականին
Հագանելի - Վերջնական նախագիծ ՝ 7 քայլ
Wearable - Վերջնական նախագիծ. Գիտե՞ք, որ ձեր սիրտը համաժամացվում է երաժշտության BPM- ի հետ: Դուք կարող եք փորձել վերահսկել ձեր տրամադրությունը երաժշտության միջոցով, բայց ինչ կլինի, եթե մենք թույլ տանք
Վերջնական նախագիծ LED Happy Face: 7 քայլ
Վերջնական նախագիծ LED Happy Face: Բարի գալուստ իմ երջանիկ դեմքի նախագիծ: Այս Instructable- ը մի փոքր ավելի, քան սկսնակ Arduino նախագիծ է, որը նախատեսված է բոլորի համար, ովքեր պարզապես ցանկանում են զվարճանալ էլեկտրոնիկայի հետ: Arduino- ի այս նախագիծը ներառում է 8 LED- ների օգտագործումը, որոնք լուսավորում են ձախից աջ
Վերջնական նախագիծ. 6 քայլ (նկարներով)
Վերջնական նախագիծ. Իմ թվային էլեկտրոնիկայի վերջնական նախագիծը Chevy- ի լոգոն է, որը կտրված է ալյումինից `գունափոխվող նեոպիքսելներով, որը կարող է կախված լինել պատից