Mündəricat:

VGA Rəsm Proqramı: 5 addım
VGA Rəsm Proqramı: 5 addım

Video: VGA Rəsm Proqramı: 5 addım

Video: VGA Rəsm Proqramı: 5 addım
Video: Cinsi orqanı necə böyütmək olar? - Kişilər BAXIN 2024, Noyabr
Anonim
VGA Rəsm Proqramı
VGA Rəsm Proqramı

Layihə: Adam Klein, Ian Strachan, Brandon Slater

Tamamlamağı planlaşdırdığımız layihə, USB siçanındakı məlumatları rəsm proqramı şəklində saxlamaq, təhlil etmək və göstərmək idi. Layihənin arxasında duran fikir, siçanı və VGA kabellərini quraşdırılmış portlarında Basys lövhəsinə qoşa bilmək və siçanın sol və sağ kliklədikdə fərqli rəngləri dəyişərək monitorda hərəkət edən bir rəsm meydanı olaraq göstərilməsidir. istifadə olunur. Əslində, siçanı bazis lövhəsi ilə istifadə etmək üçün bir sürücü yaradacağıq və monitorun funksionallığımızı yoxlayacağıq. Həqiqətən baş verən şey, giriş sistemi olaraq basys board ilə bir rəsm proqramı və siçan üçün yarı funksional məlumat tutma sistemi yaratmaq idi.

Bu təlimatda, siçan girişindən vga çıxışına qədər olan addımları ayıracağıq.

Addım 1: Motivasiya və Problem

Motivasiya və problem
Motivasiya və problem

Motivasiya:

Layihəmizin əsas motivasiyası, gələcək CPE 133 şagirdlərinin gələcəkdə son layihələri üçün istifadə edə biləcəkləri Basys3 lövhəsi üçün siçan sürücüsü yaratmaq idi. Ancaq gələcək şagirdlərin də qura biləcəyi bir rəsm proqramı hazırlayaraq bu fikri bir addım daha irəli apardıq.

Problem:

Kəşf etdiyimiz problem, Basys3 lövhəsi üçün yüklənməyə və istifadəyə hazır olan aydın bir siçan modulunun olmaması idi. Bu problemi həll etmək üçün özümüz yaratmağa çalışdıq. Bunu etməklə, gələcək tələbələrə siçan girişlərini layihələrində daha asan tətbiq etmələrini təmin edəcək bir siçan modulu yaratmağa çalışırdıq.

Addım 2: Basys USB -dən Raw Bit Məlumatını Alın

Raw Bit məlumatını Basys USB -dən əldə etmək
Raw Bit məlumatını Basys USB -dən əldə etmək
  • Bu layihədə siçan üçün etdiklərimizin çoxu Basys3 sənədlərindən gəldi. Həmin pdfdəki Basys USB portundakı kiçik bələdçidən, Basys lövhəsinin bitləri USB cihazlarından lazımi sürətlə oxumaq üçün quraşdırılmış bir saata sahib olduğunu gördük.
  • Əslində, siçan boş bir vəziyyətdən başlayaraq usb -ə bit göndərir, siçanların vəziyyətini, x mövqeyini və y mövqeyini təmsil edən 32 bit oxuyur və nəhayət başqa bir boş bitlə bitir. Bunu etmək üçün, siçan giriş komponenti bir keçid qeydindən və 32 bit sayğacından istifadə edir, burada keçid qeydindən siçandan gələn 32 bit məlumatı saxlamaq üçün istifadə olunur və 32 bit sayğacı vəziyyətə imkan verən saxlanılan bitlərin sayını hesablamaq üçün istifadə olunur. Növbəti 32 daxil olan biti sıfırlamaq və saxlamaq üçün qeydiyyatdan keçin.
  • Dəyişdirmə reyestri, 32 bit sayğacı və məlumat oxuyucusunun kodu aşağıda yüklənə bilər, həmçinin USB portunu giriş olaraq istifadə etməyimizə uyğunlaşdırılmış məhdudiyyətlər faylı.

Addım 3: Usb məlumatlarının təhlili

Usb Məlumatlarının Ayrılması
Usb Məlumatlarının Ayrılması
Usb Məlumatlarının Ayrılması
Usb Məlumatlarının Ayrılması
  • Usb komponentinə siçan girişi yaratdıqdan sonra, növbəti addım, siçanın aldığı məlumatları vga üçün oxunaqlı hala gətirəcək vektor məlumat komponentinə usb bit yaratmaq idi.
  • Bu komponent, siçan girişi ilə çıxarılan bit dəstini usb -ə götürən və siçanın vəziyyətini və mövqeyini dəyişdirən yeni bitlərin daxil olub -olmamasına əsaslanaraq hərəkət edən bir dövlət maşını istifadə edir.
  • Layihənin ilk iki addımı üçün blok diaqramı burada göstərilmişdir və iki vhdl faylı basys LED -lərindən istifadə edərək siçanın tətbiqini yoxlamaq üçün (təəssüf ki, heç vaxt keçməmiş bir test) və bit axını USB -dən ötürmək üçündür. VGA -nın istifadə edə biləcəyi sürət və mövqe vektorlarına liman.
  • Yuxarıdakı blok diaqramının yanındakı şəkil, bu addımı tamamlamaq üçün basys sənədlərində tapdığımız bit məlumatlarının kiçik bir anlıq görüntüsüdür (Instructables bizə tam geniş görüntünü göstərməyə imkan vermir).

Addım 4: Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək

Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
Boyalı Şəkili VGA üzərindən göstərmək və çəkilənləri redaktə etmək
Boyalı Şəkli VGA üzərindən göstərmək və çəkilənləri redaktə etmək
Boyalı Şəkli VGA üzərindən göstərmək və çəkilənləri redaktə etmək
  • VGA kabelində 14 bit çıxış, hər üç rəng üçün 4 bit və üfüqi sinxronizasiya və şaquli sinxronizasiya üçün bir az var.
  • OtherVGA, təqdim olunan VGA moduludur və aşağıdakı kimi işləyir:

    • Monitör, yuxarıdakı şəkildə göründüyü kimi 640x480 çözünürlüklü bir ekran üçün 16x16 piksellik 40x30 bloklara bölünmüşdür. Modul, monitordakı 1200 blokdan birini təmsil etmək üçün bir blok ünvanı seçir. Blok ünvanı aşağıdakı tənlik ilə seçilir: ünvan = 40y + x
    • Rəng, seçilmiş bloka rəng verən RRRRGGGGBBBB dəyərinə uyğun gələn 12 bitlik bir siqnalla təmsil olunur.
  • Nəzarət kodumuz VGAtest və VGAtestconst aşağıdakı kimi işləyir:

    • Əvvəlcə seçilmiş bloku monitorun mərkəzinə qoyur.
    • Blokun rəngi, RRRRGGGGBBBB dəyərini təyin edən lövhədəki 12 açarla təyin olunur.
    • Lövhədəki dörd istiqamət düyməsi seçilmiş ünvanı dəyişir. Məsələn, sağ düyməni basmaq, ünvana 1 əlavə edəcək, əvvəlki blokun sağındakı birini seçin. Aşağı düyməni basaraq, əvvəlki blokun altındakı bloku seçərək ünvana 40 əlavə edəcək.
    • Orta düymə, bütün rəng dəyərlərini basıldığında 0 olaraq təyin etmək üçün istifadə olunur. Bu, istifadəçinin istifadə etməsi asan olan bir silmə düyməsi kimi davranmaq üçündür, buna görə də istifadəçini silmək üçün hər açarı 0 -a çevirmək lazım deyil.
  • Son şəkil nəzarətçi üçün blok diaqramdır. Modulun komponentlərini ehtiva etdiyi üçün kifayət qədər genişdir və tam olaraq göstərilə bilməz.

Addım 5: Yaradıcılığınızdan zövq alın

Burada əlaqəli, son layihə ilə edə biləcəyiniz əyləncənin qısa bir gecikməsidir, hətta bazis lövhəsindəki açarları və düymələri giriş olaraq istifadə etsəniz belə.

Oxuduğunuz üçün təşəkkürlər!

Tövsiyə: