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

VGA նկարչական ծրագիր ՝ 5 քայլ
VGA նկարչական ծրագիր ՝ 5 քայլ

Video: VGA նկարչական ծրագիր ՝ 5 քայլ

Video: VGA նկարչական ծրագիր ՝ 5 քայլ
Video: Երիտասարդ գեղանկարիչների աշխատանքների ցուցադրությունը Մ.Թավրիզյանի անվան արվեստի պետական քոլեջում 2024, Հուլիսի
Anonim
VGA նկարչական ծրագիր
VGA նկարչական ծրագիր

Նախագիծը ՝ Ադամ Քլայն, Յան Ստրախան, Բրենդոն Սլեյթեր

Նախագիծը, որը մենք նախատեսում էինք ավարտել, պետք է պահեր, վերլուծեր և ցուցադրեր տեղեկատվություն USB մկնիկից ՝ նկարչական ծրագրի տեսքով: Նախագծի հիմքում ընկած է այն, որ կարողանանք մկնիկը և VGA մալուխները միացնել Basys- ի տախտակին `ներկառուցված նավահանգիստներում, և մկնիկը ցուցադրվի որպես շարժական նկարչական հրապարակ` մոնիտորի վրա `փոխելով տարբեր գույներ, երբ ձախ և աջ կտտոցները: օգտագործված: Ըստ էության, մենք ստեղծում ենք մկնիկ հիմքի տախտակով մկնիկն օգտագործելու համար վարորդ և ունենալու ենք մոնիտորը որպես մեր ֆունկցիոնալության ստուգում: Այն, ինչ իրականում տեղի ունեցավ, գծագրման ծրագրի ստեղծումն էր `հիմնային տախտակով` որպես մուտքագրման համակարգ և մկնիկի համար տվյալների հավաքման կիսաֆունկցիոնալ համակարգ:

Այս խրատելիքում մենք կկտրենք քայլերը մկնիկի մուտքագրումից մինչև vga ելք:

Քայլ 1: Մոտիվացիա և խնդիր

Խնդիր և մոտիվացիա
Խնդիր և մոտիվացիա

Մոտիվացիա.

Մեր ծրագրի հիմնական մոտիվացիան Basys3- ի տախտակի համար մկնիկի շարժիչ ստեղծելն էր, որը ապագա CPE 133 ուսանողները հետագայում կկարողանային օգտագործել իրենց վերջնական նախագծերի համար: Այնուամենայնիվ, մենք այս գաղափարը մի քայլ առաջ գնացինք ՝ ստեղծելով նկարչական ծրագիր, որը կարող էին հիմնել նաև ապագա ուսանողները:

Խնդիր:

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

Քայլ 2: Basys USB- ից հում բիթային տեղեկատվություն ստանալը

Հում բիտ տեղեկատվության ստացում Basys USB- ից
Հում բիտ տեղեկատվության ստացում Basys USB- ից
  • Այն, ինչ մենք արեցինք մկնիկի համար այս նախագծում, գալիս էր Basys3- ի փաստաթղթերից: Այդ pdf- ի Basys USB պորտի փոքրիկ ուղեցույցից մենք պարզեցինք, որ Basys տախտակն ունի ներկառուցված ժամացույց ՝ USB սարքերից ճիշտ արագությամբ բիթեր կարդալու համար:
  • Ըստ էության, մկնիկը բիթ է ուղարկում usb ՝ սկսած անգործուն վիճակից, կարդում է մկնիկի կարգավիճակը, x դիրքը և y դիրքը ներկայացնող 32 բիթ, և վերջապես ավարտվում է մեկ այլ պարապ բիթով: Դա անելու համար մկնիկի մուտքագրման բաղադրիչը օգտագործում է shift ռեգիստր և 32 բիթ հաշվիչ, որտեղ shift ռեգիստրը օգտագործվում է մկնիկից 32 բիթ մուտքային տվյալներ պահելու համար, իսկ 32 բիթ հաշվիչը ՝ պահվող բիթերի քանակը հաշվելու համար: գրանցվել ՝ վերականգնելու և պահելու համար 32 մուտքային բիթերի հաջորդ փաթեթը:
  • Տեղափոխման ռեգիստրի, 32 բիթանոց հաշվիչի և տվյալների ընթերցողի ծածկագիրը կարելի է ներբեռնել ստորև, ինչպես նաև սահմանափակումների ֆայլը, որը հարմարեցված է USB պորտի ՝ որպես մուտքի, մեր օգտագործմանը:

Քայլ 3. Usb տեղեկատվության վերլուծում

Usb տեղեկատվության վերլուծում
Usb տեղեկատվության վերլուծում
Usb տեղեկատվության վերլուծում
Usb տեղեկատվության վերլուծում
  • Մկնիկի մուտքագրումը usb բաղադրիչին ստեղծելուց հետո հաջորդ քայլը վեկտորի տեղեկատվական բաղադրիչի usb բիթերի ստեղծումն էր, որը մկնիկի կողմից ստացված տվյալները դյուրընթեռնելի կդարձներ vga- ի համար:
  • Այս բաղադրիչն օգտագործում է պետական մեքենա, որն ընդունում է մկնիկի մուտքագրման արդյունքում թողարկված բիթերի հավաքածուն usb և շարժվում է վիճակների միջով ՝ հիմնվելով այն բանի վրա, թե արդյոք մուտքագրվել են մկնիկի կարգավիճակը և դիրքը փոխող նոր բիթեր:
  • Shownրագրի առաջին երկու քայլերի բլոկ -դիագրամը ցուցադրված է այստեղ, և երկու vhdl ֆայլերը նախատեսված են բազային լուսադիոդների (թեստ, որը, ցավոք, երբեք չի անցել) մկնիկի գործարկումը փորձարկելու և USB հոսքից բիթ հոսքը գցելու համար: արագության և դիրքի վեկտորներ, որոնք VGA- ն կարող է օգտագործել:
  • Վերևում գտնվող բլոկ -դիագրամի կողքին գտնվող պատկերը փոքր պատկեր է (Instructables- ը թույլ չի տալիս մեզ ցուցադրել ամբողջական պատկերը) այս քայլն ավարտելու համար հիմնային փաստաթղթերում գտած բիտ տեղեկատվության մասին:

Քայլ 4. Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է

Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
Ներկված պատկերի ցուցադրում VGA- ով և խմբագրում այն, ինչ նկարվում է
  • VGA մալուխն ունի 14 բիթ ելք, 4 բիթ `երեք գույներից յուրաքանչյուրի համար և մի քիչ` հորիզոնական համաժամացման և ուղղահայաց համաժամացման համար:
  • OtherVGA- ն տրամադրված VGA մոդուլն է և գործում է հետևյալ կերպ.

    • Մոնիտորը բաժանված է 16x16 պիքսելանոց 40x30 բլոկների ՝ 640x480 թույլատրությամբ էկրանի համար, ինչպես երևում է վերևում նկարում: Մոդուլն ընտրում է բլոկի հասցե `մոնիտորի 1200 բլոկներից մեկը ներկայացնելու համար: Արգելափակման հասցեն ընտրվում է հետևյալ հավասարման միջոցով. Հասցե = 40y + x
    • Գույնը ներկայացված է 12 բիթանոց ազդանշանով, որը համընկնում է RRRRGGGGBBBB արժեքի հետ, որը գունավորում է ընտրված բլոկը:
  • Մեր կառավարման կոդը ՝ VGAtest և VGAtestconst, գործում է հետևյալ կերպ.

    • Այն նախ ընտրված բլոկը դնում է մոնիտորի կենտրոնի վրա:
    • Բլոկի գույնը որոշվում է տախտակի 12 անջատիչով ՝ սահմանելով RRRRGGGGBBBB արժեքը:
    • Տախտակի չորս ուղղորդված կոճակները փոխում են ընտրված հասցեն: Օրինակ, աջ կոճակը սեղմելը հասցեին կավելացնի 1 ՝ ընտրելով նախորդ բլոկի աջից մեկը: Ստորին կոճակը սեղմելով ՝ հասցեն կավելանա 40 ՝ ընտրելով նախորդ բլոկից ներքև գտնվող բլոկը:
    • Կենտրոնական կոճակը օգտագործվում է ՝ գույնի բոլոր արժեքները 0 -ի վրա սեղմելիս: Սա նշանակում է իրեն պահել որպես ջնջման կոճակ, որը հեշտ է օգտագործողի համար, այնպես որ օգտվողը ջնջելու համար ստիպված չէ ամեն մի անջատիչ շրջել 0 -ի վրա:
  • Վերջին պատկերը վերահսկիչի բլոկ -դիագրամն է: Այն բավականին լայն է, քանի որ այն ներառում է մոդուլի բաղադրիչները և չի կարող ամբողջությամբ ցուցադրվել:

Քայլ 5: Վայելեք ձեր ստեղծագործությունը:

Կապված է այն զվարճանքի արագ տևողությունը, որը կարող եք ունենալ վերջնական նախագծի հետ, նույնիսկ եթե հիմնական մուտքի տախտակի անջատիչներն ու կոճակները որպես մուտք գործածեք:

Շնորհակալություն կարդալու համար:

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