Mục lục:
- Bước 1: Động lực và vấn đề
- Bước 2: Lấy thông tin bit thô từ USB Basys
- Bước 3: Phân tích cú pháp thông tin Usb
- Bước 4: Hiển thị hình ảnh được vẽ trên VGA và chỉnh sửa những gì đang được vẽ
- Bước 5: Tận hưởng sự sáng tạo của bạn
Video: Chương trình Vẽ tranh VGA: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Dự án của: Adam Klein, Ian Strachan, Brandon Slater
Dự án mà chúng tôi đặt ra để hoàn thành là lưu trữ, phân tích cú pháp và hiển thị thông tin từ chuột USB dưới dạng một chương trình vẽ tranh. Ý tưởng đằng sau dự án là có thể cắm chuột và cáp VGA vào bảng Basys trong các cổng tích hợp của nó và hiển thị chuột dưới dạng hình vuông vẽ có thể di chuyển trên màn hình, thay đổi màu sắc khác nhau khi nhấp chuột trái và phải. đã sử dụng. Về bản chất, chúng tôi sẽ tạo một trình điều khiển để sử dụng chuột với bảng nền và có màn hình làm xác minh chức năng của chúng tôi. Điều cuối cùng thực sự xảy ra là việc tạo ra một chương trình vẽ với bảng nền làm hệ thống đầu vào và một hệ thống thu thập dữ liệu bán chức năng cho chuột.
Trong hướng dẫn này, chúng tôi sẽ chia nhỏ các bước từ đầu vào chuột đến đầu ra vga.
Bước 1: Động lực và vấn đề
Động lực:
Động lực chính cho dự án của chúng tôi là tạo ra một trình điều khiển chuột cho bảng Basys3 mà học sinh CPE 133 trong tương lai sẽ có thể sử dụng cho các dự án cuối cùng của họ trong tương lai. Tuy nhiên, chúng tôi đã thực hiện ý tưởng này một bước xa hơn bằng cách tạo ra một chương trình vẽ tranh, một chương trình mà các sinh viên tương lai cũng có thể xây dựng.
Vấn đề:
Vấn đề mà chúng tôi phát hiện ra là không có mô-đun chuột rõ ràng nào sẵn sàng để tải xuống và sử dụng cho bảng Basys3. Để giải quyết vấn đề này, chúng tôi đã cố gắng tự tạo một cái. Bằng cách đó, chúng tôi đang cố gắng tạo ra một mô-đun chuột cho phép các sinh viên tương lai dễ dàng triển khai thao tác nhập chuột trong các dự án của họ hơn.
Bước 2: Lấy thông tin bit thô từ USB Basys
- Phần lớn những gì chúng tôi đã làm cho chuột trong dự án này đến từ tài liệu Basys3. Từ hướng dẫn nhỏ về cổng USB Basys trong pdf đó, chúng tôi nhận thấy rằng bảng Basys được tích hợp đồng hồ để đọc các bit ở tốc độ phù hợp từ các thiết bị USB.
- Về cơ bản, chuột gửi các bit đến usb bắt đầu từ trạng thái nhàn rỗi, đọc 32 bit biểu thị trạng thái chuột, vị trí x và vị trí y, và cuối cùng kết thúc bằng một bit nhàn rỗi khác. Để thực hiện điều này, thành phần đầu vào chuột sử dụng một thanh ghi shift và bộ đếm 32 bit trong đó thanh ghi shift được sử dụng để lưu trữ 32 bit dữ liệu đến từ chuột và bộ đếm 32 bit được sử dụng để đếm số bit được lưu trữ cho phép trạng thái đăng ký để thiết lập lại và lưu trữ bộ 32 bit đến tiếp theo.
- Có thể tải xuống mã cho thanh ghi shift, bộ đếm 32 bit và đầu đọc dữ liệu bên dưới, cũng như tệp ràng buộc được điều chỉnh để chúng ta sử dụng cổng USB làm đầu vào
Bước 3: Phân tích cú pháp thông tin Usb
- Sau khi tạo đầu vào chuột vào thành phần usb, bước tiếp theo là tạo thành phần thông tin từ các bit usb sang thành phần thông tin vectơ để làm cho dữ liệu nhận được của chuột có thể đọc được đối với vga.
- Thành phần này sử dụng một máy trạng thái nhận tập hợp các bit được xuất bởi đầu vào chuột vào usb và di chuyển qua các trạng thái dựa trên việc liệu các bit mới thay đổi trạng thái và vị trí của chuột có được nhập vào hay không.
- Sơ đồ khối cho hai bước đầu tiên của dự án được hiển thị ở đây và hai tệp vhdl dùng để kiểm tra khả năng thực thi của chuột bằng cách sử dụng đèn LED nền (một bài kiểm tra đáng tiếc là chưa bao giờ vượt qua) và để truyền luồng bit từ USB cổng đến tốc độ và vị trí các vectơ mà VGA có thể sử dụng.
- Hình ảnh bên cạnh sơ đồ khối ở trên là một ảnh chụp nhanh nhỏ (Các tài liệu hướng dẫn không cho phép chúng tôi hiển thị toàn bộ hình ảnh rộng) của thông tin bit mà chúng tôi tìm thấy trong tài liệu cơ sở để hoàn thành bước này.
Bước 4: Hiển thị hình ảnh được vẽ trên VGA và chỉnh sửa những gì đang được vẽ
- Cáp VGA có 14 bit đầu ra, 4 bit cho mỗi màu trong ba màu và một bit cho đồng bộ hóa ngang và đồng bộ hóa dọc.
-
OtherVGA là mô-đun VGA được cung cấp và nó hoạt động như sau:
- Màn hình được chia thành các khối 40x30 16x16 pixel để có màn hình độ phân giải 640x480 như trong hình trên. Mô-đun chọn một địa chỉ khối để đại diện cho một trong 1200 khối trên màn hình. Địa chỉ khối được chọn thông qua phương trình sau: address = 40y + x
- Màu được biểu thị bằng tín hiệu 12 bit tương quan với giá trị RRRRGGGGBBBB để tô màu cho khối đã chọn.
-
Mã điều khiển của chúng tôi, VGAtest và VGAtestconst, hoạt động như sau:
- Đầu tiên, nó đặt khối đã chọn vào giữa màn hình.
- Màu của khối được xác định bởi 12 công tắc trên bảng, thiết lập giá trị RRRRGGGGBBBB.
- Bốn nút định hướng trên bảng thay đổi địa chỉ đã chọn. Ví dụ, nhấn nút bên phải sẽ thêm 1 vào địa chỉ, chọn khối một ở bên phải của khối trước đó. Nhấn nút xuống sẽ thêm 40 vào địa chỉ, chọn khối một bên dưới khối trước đó.
- Nút trung tâm được sử dụng để đặt tất cả các giá trị màu thành 0 khi được nhấn. Điều này có nghĩa là hoạt động như một nút xóa dễ dàng cho người dùng sử dụng, vì vậy người dùng không phải chuyển mọi công tắc về 0 để xóa.
- Hình ảnh cuối cùng là sơ đồ khối cho bộ điều khiển. Nó khá rộng vì nó bao gồm các thành phần của mô-đun và có thể không được hiển thị đầy đủ.
Bước 5: Tận hưởng sự sáng tạo của bạn
Được liên kết ở đây là một dòng thời gian nhanh chóng về niềm vui mà bạn có thể có với dự án cuối cùng, thậm chí chỉ với việc sử dụng các công tắc và nút trên bảng nền làm đầu vào.
Cảm ơn vì đã đọc!
Đề xuất:
Lập trình bất kỳ bo mạch / mô-đun ESP8266 nào với Phần mềm chương trình cơ sở lệnh AT: 5 bước
Lập trình bất kỳ bo mạch / mô-đun ESP8266 nào Với Phần mềm điều khiển lệnh AT: Mọi mô-đun và bo mạch ESP8266 có thể được lập trình theo nhiều cách: Arduino, python, Lua, lệnh AT, nhiều hơn nữa có thể là … Ba đầu tiên trong số chúng tốt nhất cho hoạt động độc lập, phần mềm AT là để sử dụng ESP8266 làm mô-đun hoặc để kiểm tra nhanh với TTL RS232 c
Chương trình bổ sung đơn giản bằng ngôn ngữ lập trình Shakespeare: 18 bước
Chương trình bổ sung đơn giản trong ngôn ngữ lập trình Shakespeare: Ngôn ngữ lập trình Shakespeare (SPL) là một ví dụ về ngôn ngữ lập trình bí truyền, một ngôn ngữ có thể thú vị để tìm hiểu và vui khi sử dụng, nhưng không đặc biệt hữu ích trong các ứng dụng đời thực. SPL là một ngôn ngữ mà mã nguồn r
Robot tránh chướng ngại vật sử dụng trình điều khiển động cơ L298n: 5 bước
Robot tránh chướng ngại vật sử dụng trình điều khiển động cơ L298n: xin chào các bạn hôm nay chúng ta sẽ chế tạo robot này .. hy vọng các bạn sẽ thích nó
Hướng dẫn lập trình thú vị cho nhà thiết kế - Kiểm soát quy trình chương trình- Tuyên bố vòng lặp: 8 bước
Hướng dẫn lập trình thú vị cho nhà thiết kế - Điều khiển quy trình chương trình- Tuyên bố vòng lặp: Điều khiển quy trình chương trình- Tuyên bố vòng lặp Từ chương này, bạn sẽ tiếp xúc với một điểm kiến thức quan trọng và mạnh mẽ - Câu lệnh vòng lặp. Trước khi đọc chương này, nếu bạn muốn vẽ 10.000 vòng tròn trong chương trình, bạn chỉ có thể thực hiện với một
Tạo chương trình trong Visual Basic: Trình duyệt web: 9 bước
Tạo một chương trình trong Visual Basic: Trình duyệt web: Hướng dẫn này giải thích quá trình tạo một ứng dụng trình duyệt web đơn giản trong VB.NET Nó được thiết kế như một phần tiếp theo cho VB.NET có thể hướng dẫn đầu tiên của tôi: Tạo chương trình đầu tiên của bạn trong Visual Basic. Bạn nên đọc qua trang đó