Powered By Blogger

2020年5月14日 星期四

FPFA控制電腦VGA螢幕製作乒乓球遊戲(使用VHDL語言3)-搖桿控制球拍

既然是乒乓球遊戲,而4根BAR若都是由程式控制地自由移動,那還是滿無聊的,看久了不免要打瞌睡。且不加上人為的控制,那稱得上是"遊戲"呢?因此,接下來就加上搖桿以"人為操控"提振一下精神吧!


實驗三:FPFA控制電腦VGA螢幕製作乒乓球遊戲(3)-搖桿控制球拍

1、功能需求:實驗二功能雷同,只是將下方的BAR2改成由人為透過Joystick搖桿控制左右方向。


2、電路接線圖:實驗一實驗二的硬體基礎上再加上Joystick搖桿及ADC電路。由於Joystick搖桿的輸出為類比信號,所以需以ADC IC將其轉為數位信號後才送入系統做為左移右移的判斷依據。而本實驗採用了Microchip的MCP3202 ADC IC,這是一顆有12bits解析度(0~4095),2個channel輸入,通訊方式為SPI介面的8支腳IC。整體電路圖如下:

3、系統程式架構:VHDL硬體描述語言的程式架構如下圖所示:



4、程式下載:[下列四支程式放至同一專案內]
      4.1 vga_pingpong_game.vhd  [主程式:請以此名稱當成專案名稱]
      4.2 vga_control.vhd  [元件程式:主要是控制螢幕顯示功能]
      4.3 pingpong_game_control.vhd [元件程式:主要是控制各物件的位置及遊戲功能]
      4.4 mcp3202_driver.vhd[元件程式:與外部ADC IC通訊用,用以讀取Joystick搖桿信號]

5、.程式功能(影片檔)

6、誌謝。以上程式有參考下列書籍及網址搜尋到的資料,感謝無遠弗界的網路世界及不藏私的神人。
      6.1 FPGA晶片設計實務  -  張義和、程兆龍著(新文京出版社)[ch11-mcp3202_driver.vhd檔案]
      6.2 ece-research.unm.edu/jimp/vhdl_fpgas/slides/VGA.pdf

本網誌其它"軌跡"

// 以下為新增的程式碼 FOR 文章分類 // 以上為新增的程式碼 FOR 文章分類