Có khả năng mạch cần thêm màn hình VGA vào PIC sẽ vượt quá chi phí và độ phức tạp của việc sử dụng một con chip khác có thể cung cấp màn hình và cũng có thể làm bất cứ điều gì PIC sẽ làm, hoặc sử dụng thứ gì đó như Raspberry Pi để cung cấp màn hình và để nó giao tiếp với PIC thông qua UART hoặc một cái gì đó tương tự (tôi nghĩ Raspberry PI có ít nhất một UART trong số các chân I / O của nó).
Nếu mục tiêu của bạn là xây dựng cho mình một hệ thống con VGA để bạn có thể tìm hiểu cách thức hoạt động của những thứ như vậy, giao diện VGA ở 640x480 yêu cầu khả năng đạt khoảng 32 triệu pixel / giây. Đó sẽ là một chút công bằng vượt quá khả năng của một PIC "chưa được đăng ký"; bạn có thể sẽ không phải thêm nhiều phần cứng vào PIC để cho phép nó xuất văn bản nếu bạn không bận tâm đến việc màn hình hiển thị bộ xử lý trong phần lớn mỗi khung hình, nhưng PIC có thể sẽ không có thời gian cho bất cứ điều gì khác; mỗi dòng quét sẽ yêu cầu nó thực hiện một chuỗi 160 lệnh như sau:
movf POSTINC0,w,c
movwf PORTC,c
bắt đầu chỉ đúng chu kỳ và chạy mà không bị gián đoạn [phần cứng sẽ lấy dữ liệu ký tự từ PORTC một cách mù quáng tại thời điểm đáng lẽ nó ở đó, đưa nó qua ROM hình dạng ký tự và tải nó vào một thanh ghi thay đổi].
Nếu bạn đã làm một cái gì đó tương tự, có thể PIC 32 MHz có thể tạo văn bản 80x25 bằng cách sử dụng một cái gì đó như ROM 32Kx8 nhanh (25ns) để giữ hình dạng ký tự và tuần tự hóa chúng, bộ đếm 3 bit để hiển thị các pixel của mỗi ký tự và một vài cổng linh tinh; người ta có thể sử dụng một trong các mô-đun PWM của PIC để xử lý đồng bộ hóa ngang. Cách tiếp cận này sẽ cung cấp một ma trận gạch 80x25, mỗi ô có thể là bất kỳ hình nào trong số 256 hình; mỗi hình dạng sẽ là 8x16 pixel và bất kỳ sự kết hợp nào của 256 màu [để đơn giản, hình các màu có thể sẽ là RRRGGGBB hoặc đại loại như thế]. Nếu một người gặp khó khăn trong việc tìm kiếm ROM 32Kx8 đủ nhanh, thay vào đó, người ta có thể sử dụng RAM 32Kx8 nhanh và cung cấp cơ chế cung cấp dữ liệu vào nó khi khởi động hệ thống.