趙巧妮
基于Proteus 的俄羅斯方塊電路的設計和仿真
趙巧妮
基于AT89S52單片機實現俄羅斯方塊游戲的設計,使用keilC集成環境進行軟件的編程和調試,通過Proteus繪制仿真電路圖,結合keil與Proteus來進行聯合調試仿真,結果表明能實現游戲的正常運行。
AT89S52;俄羅斯方塊;Proteus;仿真
俄羅斯方塊是一款風靡全球的經典掌上游戲,最初于1984年6月由俄羅斯人阿列克謝·帕基特諾夫發明。它看似簡單但卻變化無窮,令人上癮。本文擬用單片機結合Proteus仿真軟件來設計一款俄羅斯方塊游戲。
依據電路系統的鍵來控制方塊的變換與移動,控制方塊或下、或左、或右移動;達到消除一行或者多行的目的;消除一行并計分;消除多行額外獎勵記分,方塊堆滿時結束游戲。
依據游戲功能說明,繪制出系統的框圖,如圖1所示:

圖1 系統框圖
包括單片機系統、按鍵電路、顯示電路。
3.1 最小系統電路
單片機最小保證系統能正常工作的最小電路,包括復位電路和時鐘電路[1]。如圖2所示:

圖2 最小系統電路
復位電路由R1、C4和按鍵1構成,按鍵1為手動復位,R1與C4構成自動復位,復位信號為高電平有效。
3.2 液晶電路
液晶電路用于顯示方塊的運動狀況,包括HD61202液晶顯示控制驅動器和JM12864J液晶顯示器,HD61202液晶顯示控制驅動器是一種帶有驅動輸出的圖形液晶顯示控制器[2,3]。如圖3所示:

圖3 液晶電路
液晶顯示器的數據、指令選擇信號RS端接單片機P3.2口;讀寫選擇信號R/W端接單片機P3.1口;DB0~DB7分別接單片機的P2.0~P2.7口;芯片1、芯片2的片選分別接單片機的P3.4、P3.3口;復位端RST、背光正電源LEDA接+5V;液晶驅動電壓VEE、背光負電源LEDK接地。
3.3 按鍵電路
采用了4個按鍵,分別與單片機的 P1.0、P3.5、P3.6、P3.7口相連,分別對應旋轉、左移、下、右移,如圖4所示:

圖4 按鍵電路
旋轉按鍵用于控制形狀逆時針旋轉;左移鍵用于控制方塊左移動一格;右移鍵用于控制方塊右移動一格;下降鍵用于控制方塊快速下降。
軟件采用KEIL C51集成環境來編寫程序程,程序的編寫流程圖包括繪圖工作流程圖、按鍵按下的流程圖、主流程圖等。繪圖流程圖如圖5所示:

圖5 繪圖工作流程圖
5.1 Proteus軟件介紹
Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件。電路仿真是交互互動的,針對微處理器的應用,可以直接在基于原理圖的虛擬原型上編程,實現軟件源碼級的實時調試[4,5]。
5.2 Proteus與Keil聯調
1.用Proteus軟件,根據俄羅斯方塊電路原理圖,畫出仿真圖。
2.用Keil編寫程序并調試完畢無誤后,準備將Proteus仿真電路圖與Keil聯調。
3.單擊Keil軟件的“Project菜單/Options for Target”選項或者點擊工具欄的“option for target”按鈕,彈出窗口,點擊“Debug”按鈕,頁面[6-7]如圖6所示:

圖6 Target窗口
在出現的對話框里在右欄上部的下拉菜單里選中“Proteus VSM Monitor一51 Driver”。并且還要點擊一下“Use”前面表明選中的小圓點。
再點擊“Setting”按鈕,設置通信接口,在“Host”后面添上“127.0.0.1”,在“Port”后面添加“8000”。設置好的情形如圖5(b)所示,點擊“OK”按鈕即可。最后將工程編譯,進入調試狀態,并運行。
4.Proteus的設置
打開“嘗試”文件,鼠標左鍵點擊菜單“Debug”,選中“use romotedebuger monitor”,如圖7所示:

圖7 Debug窗口
此后,便可實現KeilC與Proteus連接調試。
5.3 仿真結果
經Proteus仿真結果如圖8所示:

圖8 仿真結果
可見液晶屏幕上可顯示方塊的下降速度、游戲得分情況以及下一次要出現的方塊形狀,可以表明此俄羅斯方塊游戲能正常運行。
利用單片機AT89S52來設計俄羅斯方塊游戲,結合proteus仿真軟件,實現了俄羅斯方塊游戲系統的預期功能,有一定的趣味性和學習性。
[1] 王瑾.虛擬仿真技術在單片機課程教學中的應用電子設計工程[J],2016.1:45-47.
[2] 吳文通. 基于Keil及Proteus的繼電控制系統功能仿真與檢測. 電力系統保護與控制[J]2015.3:150-154.
[3] 張玲. 基于Proteus的數字電壓表的設計與仿真, 自動化與儀器儀表[J]. 2016.2:221-222.
[4] 陳建林.基于Proteus的數字密碼鎖的仿真設計[J]. 2009.80:44-49.
[5] 鐘蔚. 點陣式LED滾動漢字顯示屏的Proteus仿真設計[J] .2008.24:106-107.
[6] 汪寧.Proteus軟件的單片機仿真方法[J], 山東輕工業學院學報. 2007.3:24-25.
[7] 魏魯原. 基于Proteus的單片機虛擬實驗室的構建[J].電子世界,2016.2:187-189.
Design and Simulation of Tetris Circuit Based on Proteus
Zhao Qiaoni
(1.South West Jiaotong University, Chengdu 610031, China; 2.Hunan Railway Professional Technology College, Zhuzhou 412001, China)
The tetris is designed by AT89S52,which uses keil C integrated environment for software programming and debugging. Draw circuit simulation by Proteus. It combines keil with Proteus to simulate for joint commissioning. The results shows that the game can be realized.
AT89S52; Tetris; Proteus Simulation
TP319
A
1007-757X(2016)08-0059-02
2016.04.26)
趙巧妮(1982-),女,西南交通大學四川成都,湖南鐵道職業技術學院,講師,碩士,研究方向:電路設計,株洲,412001