Përmbajtje:

Programi i Pikturës VGA: 5 hapa
Programi i Pikturës VGA: 5 hapa

Video: Programi i Pikturës VGA: 5 hapa

Video: Programi i Pikturës VGA: 5 hapa
Video: Жареный карась без костей, 3 способа рассказала моя бабушка 2024, Korrik
Anonim
Programi i Pikturës VGA
Programi i Pikturës VGA

Projekti nga: Adam Klein, Ian Strachan, Brandon Slater

Projekti që ne filluam të përfundonim ishte ruajtja, analizimi dhe shfaqja e informacionit nga një mi USB në formën e një programi pikturimi. Ideja që qëndron pas projektit është që të jeni në gjendje të lidhni miun dhe kabllot VGA në tabelën Basys në portet e tij të integruara, dhe ta shfaqni miun si një shesh pikture të lëvizshëm në monitor, duke ndryshuar ngjyra të ndryshme kur klikimet e majta dhe të djathta janë të përdorura. Në thelb, ne do të krijonim një drejtues për përdorimin e miut me tabelën bazë dhe të kishim monitorin si verifikimin tonë të funksionalitetit. Ajo që përfundoi me të vërtetë ndodhi ishte krijimi i një programi vizatimi me tabelën bazë si një sistem hyrës, dhe një sistem gjysmë funksional të kapjes së të dhënave për miun.

Në këtë udhëzues, ne do të ndajmë hapat nga hyrja e miut në daljen vga.

Hapi 1: Motivimi dhe Problemi

Motivimi dhe Problemi
Motivimi dhe Problemi

Motivimi:

Motivimi kryesor për projektin tonë ishte krijimi i një drejtuesi miu për tabelën Basys3 që studentët e ardhshëm të CPE 133 do të mund të përdorin për projektet e tyre përfundimtare në të ardhmen. Sidoqoftë, ne e bëmë këtë ide një hap më tej duke krijuar një program pikture, atë nga i cili studentët e ardhshëm mund të ndërtonin gjithashtu.

Problemi:

Problemi që zbuluam ishte se nuk ka asnjë modul të qartë të miut gati për tu shkarkuar dhe përdorur për tabelën Basys3. Për të zgjidhur këtë problem, ne u përpoqëm të krijonim një vetë. Duke vepruar kështu, ne po përpiqeshim të krijonim një modul miu që do t'i lejonte studentët e ardhshëm të zbatonin më lehtë inputin e miut në projektet e tyre.

Hapi 2: Marrja e informacionit të bitit të papërpunuar nga USB -ja e Basys

Marrja e informacionit të bitit të papërpunuar nga USB Basys
Marrja e informacionit të bitit të papërpunuar nga USB Basys
  • Pjesa më e madhe e asaj që bëmë për miun në këtë projekt erdhi nga dokumentacioni i Basys3. Nga udhëzuesi i vogël në portën USB Basys në atë pdf, zbuluam se bordi Basys ka një orë të integruar për leximin e pjesëve me shpejtësinë e duhur nga pajisjet USB.
  • Në thelb, miu dërgon bit në usb duke filluar nga një gjendje boshe, lexon 32 bit që përfaqësojnë statusin e miut, pozicionin x dhe pozicionin y, dhe përfundimisht përfundon me një bit tjetër boshe. Për ta bërë këtë, komponenti i hyrjes së miut përdor një regjistër zhvendosës dhe një numërues 32 bitësh, ku regjistri i ndërrimit përdoret për të ruajtur 32 bit të të dhënave hyrëse nga miu dhe numëruesi 32 bit përdoret për të numëruar numrin e bitëve që ruhen duke lejuar gjendjen regjistrohuni për të rivendosur dhe ruajtur grupin tjetër prej 32 bitësh hyrës.
  • Kodi për regjistrin e ndërrimit, numëruesin 32 bit dhe lexuesin e të dhënave mund të shkarkohen më poshtë, si dhe skedarin e kufizimeve të përshtatur për përdorimin tonë të portës USB si hyrje

Hapi 3: Analizimi i informacionit të Usb

Analizimi i informacionit Usb
Analizimi i informacionit Usb
Analizimi i informacionit Usb
Analizimi i informacionit Usb
  • Pas krijimit të hyrjes së miut në komponentin usb, hapi tjetër ishte krijimi i pjesëve të USB -së në përbërësin e informacionit vektor që do t'i bënte të dhënat e marra nga miu të lexueshme për vga.
  • Ky komponent përdor një makinë shtetërore që merr grupin e bitëve të nxjerrë nga hyrja e miut në usb dhe lëviz nëpër gjendjet bazuar në faktin nëse janë futur pjesë të reja që ndryshojnë statusin dhe pozicionin e miut.
  • Bllok -diagrami për dy hapat e parë të projektit është treguar këtu, dhe dy skedarët vhdl janë për të testuar zbatimin e miut duke përdorur LED -të e bazës (një test që për fat të keq nuk u kalua kurrë) dhe për hedhjen e rrjedhës së bitit nga USB port për shpejtësinë dhe pozicionimin e vektorëve që VGA mund të përdorë.
  • Imazhi pranë bllok -diagramit më sipër është një pamje e vogël (Instructables nuk na lejon të shfaqim imazhin e plotë të gjerë) të informacionit të vogël që gjetëm në dokumentacionin bazë për përfundimin e këtij hapi.

Hapi 4: Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet

Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
Shfaqja e imazhit të pikturuar mbi VGA dhe redaktimi i asaj që po vizatohet
  • Kablloja VGA ka 14 bit dalje, 4 bit për secilën nga tre ngjyrat dhe pak për sinkronizim horizontal dhe sinkronizim vertikal.
  • TjetërVGA është moduli i ofruar VGA dhe funksionon si më poshtë:

    • Monitori është i ndarë në blloqe 40x30 me 16x16 piksele për një ekran me rezolucion 640x480 siç shihet në foton e mësipërme. Moduli zgjedh një adresë blloku për të përfaqësuar një nga 1200 blloqet në monitor. Adresa e bllokut zgjidhet përmes ekuacionit të mëposhtëm: adresa = 40y + x
    • Ngjyra përfaqësohet nga një sinjal 12 bit i cili lidhet me një vlerë RRRRGGGGBBBB që ngjyros bllokun e zgjedhur.
  • Kodi ynë i kontrollit, VGAtest dhe VGAtestconst, funksionon si më poshtë:

    • Së pari e vendos bllokun e zgjedhur në qendër të monitorit.
    • Ngjyra e bllokut përcaktohet nga 12 ndërprerës në tabelë, duke vendosur vlerën RRRRGGGGBBBB.
    • Katër butonat drejtues në tabelë ndryshojnë adresën e zgjedhur. Për shembull, shtypja e butonit të djathtë do të shtojë 1 në adresë, duke zgjedhur bllokun në të djathtë të bllokut të mëparshëm. Shtypja e butonit poshtë do të shtojë 40 në adresë, duke zgjedhur bllokun poshtë bllokut të mëparshëm.
    • Butoni qendror përdoret për të vendosur të gjitha vlerat e ngjyrave në 0 kur shtypet. Kjo ka për qëllim të sillet si një buton fshirjeje që është i lehtë për përdoruesin, kështu që përdoruesi nuk ka pse të rrotullojë çdo çelës në 0 në mënyrë që të fshihet.
  • Imazhi i fundit është diagrami i bllokut për kontrolluesin. Fairlyshtë mjaft e gjerë pasi përfshin përbërës të modulit dhe mund të mos shfaqet plotësisht.

Hapi 5: Shijoni krijimin tuaj

E lidhur këtu është një kalim i shpejtë i argëtimit që mund të keni me projektin përfundimtar, madje edhe vetëm me përdorimin e çelsave dhe butonave në tabelën e bazës si hyrje.

Faleminderit per leximin!

Recommended: