基於FPGA的飛機的小遊戲

基於FPGA的飛機的小遊戲

實驗原理

    該實驗主要分爲4個模塊,採用至上而下的設計方法進行設計。由50M的晶振電路提供時鐘源,VGA顯示控制模塊、圖形顯示控制模塊、移動模塊的時鐘爲25M,由時鐘分頻電路產生得到。時鐘分頻模塊採用PLL進行設計,由50M時鐘進行2分頻得到25M時鐘。微信

    移動模塊,控制我方飛機和敵方飛機、子彈的移動,移動的速度能夠經過時鐘的頻率進行控制,操做我方飛機的移動和子彈的發射由外部按鍵進行控制,控制的方式有發射子彈、左移、右移。spa

    圖像顯示控制模塊,用於控制我方飛機、敵方飛機、子彈、 "goal"字符的顯示,因爲我方飛機和敵方飛機、子彈是移動的,由此須要根據移動的座標進行控制,經過獲取移動的座標,將座標信息傳入VGA顯示模塊,由VGA顯示模塊根據座標值和掃描的行、場信號進行控制顯示。設計

    VGA顯示控制模塊,主要用於控制VGA時序信號的產生,便是行信號、場信號的產生。同時,根據掃描的行地址和列地址,對我方飛機、敵方飛機、子彈、 "goal"字符進行顯示。3d

    

硬件原理圖

實驗代碼

工程文件 blog

頂層文件 遊戲

文件名:圖片

    

我方飛機模型 博客

用於顯示在顯示器的飛機形狀設置原理

敵方飛機模型 硬件

用於顯示在顯示器的飛機形狀設置

子彈顯示模型

字符顯示模型

用於顯示在顯示器上的字符的調用,如:0~9,A~Z等字符,在顯示分數和顯示GAME OVER的時候要用到。

圖形顯示模塊

用於控制我方飛機和敵方飛機,子彈,分數,GAME OVER等圖形的顯示,是關鍵模塊,也是比較複雜的。

移動模塊

用於控制敵方飛機、我方飛機、子彈的移動

分頻模塊

將50M的輸入時鐘分頻成1M和1K的時鐘信號

VGA顯示模塊

用於產生行掃描、場掃描、RBG顏色等3種信號,用於驅動VGA的顯示。(至關於電腦的顯卡)

實驗操做

子彈

左移

右移

開始

復位

復位按鍵,按下,有回到剛上電的狀態。

 

大西瓜FPGA-->https://daxiguafpga.taobao.com

 

博客資料、代碼、圖片、文字等屬大西瓜FPGA全部,切勿用於商業! 若引用資料、代碼、圖片、文字等等請註明出處,謝謝!

 

每日推送不一樣科技解讀,原創深耕解讀當下科技,敬請關注微信公衆號「科乎」。

相關文章
相關標籤/搜索