聶茹, 韋莉莉
(華南理工大學(xué)廣州學(xué)院 電子信息工程學(xué)院, 廣州 510800)
基于Proteus的乒乓游戲機(jī)系統(tǒng)設(shè)計(jì)與仿真
聶茹, 韋莉莉
(華南理工大學(xué)廣州學(xué)院 電子信息工程學(xué)院, 廣州 510800)
如今各種不同類型的游戲設(shè)備一直是消費(fèi)領(lǐng)域的熱點(diǎn),用低廉的成本設(shè)計(jì)出符合要求的乒乓游戲機(jī)設(shè)備,采用單片機(jī)STC89C51作為主控芯片,采用Proteus軟件進(jìn)行軟件編程,實(shí)現(xiàn)乒乓游戲機(jī)的雙人對打。乒乓球的位置和移動方向由燈亮及依次燈亮的方向決定使用,乒乓游戲機(jī)的A、B兩方在各自不同的位置發(fā)球或擊球,分別有左、中、右、加速4個(gè)按鍵作為模擬球拍。游戲者根據(jù)球的位置按下相應(yīng)的按鍵得分,最后通過LCD顯示屏顯示數(shù)據(jù)。系統(tǒng)硬件部分包括單片機(jī)電路、譯碼電路、發(fā)光二極管電路、按鍵電路、顯示電路等電路的設(shè)計(jì),并采用Proteus軟件仿真其效果,系統(tǒng)操作方便,穩(wěn)定度高。
乒乓游戲機(jī); Proteus; 仿真
乒乓球,中華人民共和國國球,是一種世界流行的球類體育項(xiàng)目,乒乓球的名字起源于1990年。乒乓球的比賽賽制是以11分為一局,采用五局三勝(團(tuán)體)或七局四勝制(單項(xiàng))。比賽分團(tuán)體、單項(xiàng)(男單、女單、男雙、女雙、混雙)。
在中國,到處可見打乒乓球的人,以學(xué)生居多。因?yàn)?,隨著人們現(xiàn)代化節(jié)奏的加快,工作壓力的增大,傳統(tǒng)打乒乓球的方式受到運(yùn)動設(shè)施、場地、環(huán)境的因素的影響,讓人們對乒乓球運(yùn)動減少了很多興趣。隨著科學(xué)技術(shù)的發(fā)展,人類進(jìn)入信息化社會,信息社會的發(fā)展離不開電子產(chǎn)品的進(jìn)步?,F(xiàn)代電子產(chǎn)品發(fā)展的越來越快,于是人們將乒乓球與電子產(chǎn)品結(jié)合在一起,形成了乒乓游戲機(jī)。通過使用按鍵模擬球拍,發(fā)光二極管模擬乒乓球,進(jìn)行乒乓球游戲的操作。乒乓游戲機(jī)的出現(xiàn)解決了人類的很大難題。因?yàn)樵摦a(chǎn)品不受運(yùn)動設(shè)施、空間、場地、環(huán)境等因素的影響,在家即可進(jìn)行操作。操作的同時(shí),讓操作者仿佛在真正的打乒乓球。而且該設(shè)計(jì)屬于一種益智類設(shè)計(jì),讓人既可以鍛煉身體,也可以鍛煉智力[1]。
本設(shè)計(jì)中用低廉的成本設(shè)計(jì)出符合要求的游戲設(shè)備,并用Proteus軟件仿真其效果:
(1)使用乒乓游戲機(jī)的甲乙雙方各在不同的位置發(fā)球或擊球。
(2)乒乓球的位置和移動方向由燈亮及依次點(diǎn)燃的方向決定,球移動的速度為0.1~1s移動一位。游戲者根據(jù)球的位置發(fā)出相應(yīng)的動作,提前擊球或出界均判失分。
(3)比賽用11分為一局來進(jìn)行,甲乙雙方都應(yīng)設(shè)置各自的記分牌,任何一方先記滿11分,該方就算勝了此局。當(dāng)記分牌清零后,又可開始新的一局比賽。
硬件設(shè)計(jì)包含單片機(jī)電路、模擬球臺電路、按鍵電路、顯示電路等電路的設(shè)計(jì)。軟件設(shè)計(jì)包括:主程序、按鍵組程序(球拍模擬和暫停/開始子程序)、發(fā)球程序、線路程序(包括線路選擇和LED點(diǎn)陣子程序)、回球程序、LCD顯示程序?;趩纹瑱C(jī)的乒乓游戲機(jī)系統(tǒng)框圖,如圖1所示。
圖1 乒乓游戲機(jī)系統(tǒng)框圖
本系統(tǒng)選用性價(jià)比高的STC89C51單片機(jī)。STC89C51與其它51單片機(jī)比較,具有成本低,性能好的優(yōu)點(diǎn),并且其具有在線編程功能,可以直接將程序燒錄到芯片中,不需要對硬件進(jìn)行修改。就乒乓游戲機(jī)而言,STC89C51能通過程序的編寫實(shí)現(xiàn)所需的功能[2]。
單片機(jī)STC89C51的工作電壓為+5 V,因此需要一個(gè)電源電路來提供這一電壓。設(shè)計(jì)通過固定三端穩(wěn)壓集器,輸出使單片機(jī)工作的+5 V電壓。固定三端穩(wěn)壓器主要有78XX系列的正電壓輸出穩(wěn)壓器和79XX系列的負(fù)電壓穩(wěn)壓器。兩個(gè)系列的固定三端穩(wěn)壓器,輸出電壓有5 V、6 V、9 V、12 V、15 V、18 V、24 V等規(guī)格,最大輸出電流為1.5 A。這種三端穩(wěn)壓器內(nèi)部包含了過流、過熱和調(diào)整管的保護(hù)電路,使用時(shí)組成穩(wěn)壓電源所需的外圍元件少,使用起來可靠、方便、快捷。
乒乓游戲機(jī)的按鍵電路包含兩個(gè)按鍵組,一個(gè)是模擬球拍按鍵電路,一個(gè)是暫停/開始和復(fù)位按鍵電路。模擬球拍按鍵分為左右兩邊,左右各四個(gè)。這5個(gè)按鍵其中3個(gè)是對LED點(diǎn)陣線路的操作,一個(gè)是進(jìn)行加速;暫停/開始和復(fù)位按鍵是在運(yùn)行任一程序時(shí),對游戲機(jī)進(jìn)行暫?;蜷_始或復(fù)位。設(shè)計(jì)中模擬球拍按鍵與P0口相連,同時(shí)P0口接5KΩ的上拉電阻。當(dāng)發(fā)光二極管亮?xí)r,按下按鍵進(jìn)行控制。當(dāng)按鍵按下的時(shí)候,相應(yīng)端口感應(yīng)輸入為低電平0。模擬球拍按鍵電路設(shè)計(jì)圖,如圖2所示。
圖2 按鍵電路圖
模擬球臺電路設(shè)計(jì)包括譯碼電路設(shè)計(jì)和發(fā)光二極管設(shè)計(jì)。乒乓游戲機(jī)采用16個(gè)發(fā)光二極管,單片機(jī)的端口有限,因此采用單片機(jī)的P2口的5個(gè)端口控制74LS138譯碼器進(jìn)行譯碼,節(jié)約端口。譯碼器74LS138的輸入電壓范圍為+3.5~+5V。單片機(jī)P2.0~P2.3控制兩個(gè)譯碼器的A,B,C端,P2.4和P2.7分別控制兩個(gè)譯碼器的E1端,且E2、E3兩個(gè)端口接地。單片機(jī)P2口輸出信號,從而達(dá)到控制發(fā)光二極管的熄滅與點(diǎn)亮[3]。其電路圖,如圖3所示。
圖3 模擬球臺電路設(shè)計(jì)圖
乒乓游戲機(jī)的數(shù)據(jù)較為簡單,只需要顯示比分和最終勝利的狀態(tài),因此選用只顯示字符和數(shù)字的LCD1602顯示屏。此設(shè)計(jì)中的顯示模塊采用LCD來顯示乒乓游戲機(jī)的AB隊(duì)比分。LCD1602的D4、D5、D6、D7分別與單片機(jī)中的P1.5、P1.4、P1.3、P1.2相連,用于數(shù)據(jù)和地址的傳輸。LCD1602的RS、RW、E分別與單片機(jī)中的P3.4、P3.3、P3.2相連,用于寫入控制[4]。
本系統(tǒng)的軟件主要采用模塊化結(jié)構(gòu)設(shè)計(jì),具體的程序有主程序、按鍵組程序(球拍模擬和暫停/開始子程序)、發(fā)球程序、線路程序(包括線路選擇和LED點(diǎn)陣子程序)、回球程序、LCD顯示程序。系統(tǒng)流程圖,如圖4所示。
圖4 系統(tǒng)流程圖
通過程序?qū)崿F(xiàn)的功能為:在主程序進(jìn)入初始化,LCD屏的清零,及初始化顯示設(shè)置;然后進(jìn)入發(fā)球程序,綠色指示燈亮起時(shí),B得到球權(quán),否則A得到球權(quán);當(dāng)發(fā)球成功后,進(jìn)入線路模塊,在不同的情況進(jìn)入相應(yīng)的線路,依據(jù)線路的選擇依次點(diǎn)亮線路所包含的LED燈;而后進(jìn)入回球程序,回球成功繼續(xù)進(jìn)入線路程序,回球失敗,對手分?jǐn)?shù)加1,并進(jìn)入LCD顯示程序;當(dāng)AB隊(duì) 任一隊(duì)11分后進(jìn)入相應(yīng)win子程序。暫停/開始程序在定時(shí)掃描,當(dāng)暫停鍵按下時(shí),游戲暫停,在游戲暫停時(shí)當(dāng)開始按下游戲繼續(xù)[5]。
本次所編寫的系統(tǒng)功能都可以通過Proteus軟件仿真實(shí)現(xiàn),點(diǎn)擊仿真盤框中的運(yùn)行按鈕,電路進(jìn)入仿真狀態(tài),開始調(diào)試。如圖5所示。
在調(diào)試過程中,觀看LCD顯示屏的變化,由此得出設(shè)計(jì)是否正確。如果不正確,按以上步驟進(jìn)行修改,直到達(dá)到設(shè)計(jì)要求。
對電路進(jìn)行仿真調(diào)試后,發(fā)現(xiàn)了一些問題。
(1)LED未按正常預(yù)期工作,發(fā)球與回球的程序存在共同部分,加入發(fā)球控制參數(shù)后,正常工作。
(2)發(fā)球程序出現(xiàn)問題,有時(shí)候發(fā)球指示燈亮?xí)r,B卻不能成功發(fā)球,經(jīng)過修改程序,解決這個(gè)問題。
圖5 仿真調(diào)試圖
系統(tǒng)采用單片機(jī)STC89C51作為主控芯片,以Proteus軟件進(jìn)行仿真,實(shí)現(xiàn)乒乓游戲機(jī)的雙人對打。采用4×4的線路電路,乒乓球的位置和移動方向由燈亮及依次燈亮的方向決定使用,乒乓游戲機(jī)的A、B兩方在各自不同的位置發(fā)球或擊球,分別有左、中、右、加速四個(gè)按鍵作為模擬球拍。游戲者根據(jù)球的位置按下相應(yīng)的按鍵得分,最后通過LCD顯示屏顯示數(shù)據(jù)。
[1] 汪吉鵬,馬云峰.微機(jī)原理與接口技術(shù)[M].北京:高等教育出版社,2001:25-42.
[2] 張福學(xué).傳感器應(yīng)用及其電路精選[M].北京:高等教育出版社,2004:58-67.
[3] 沈紅衛(wèi).單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析[M].北京:航天航空大學(xué)出版社,2003:10-25.
[4] 張丹,費(fèi)陸公.基于proteus和labview的教學(xué)監(jiān)控系統(tǒng)的設(shè)計(jì)[J].儀器儀表標(biāo)準(zhǔn)化與測量,2008(1):42-44.
[5] 周林,殷俠.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005:1-39.
DesignandSimulationofTableTennisGameSystemBasedonProteus
Nie Ru, Wei Lili
(College of Electronic Information Engineering, Guangzhou College of South China University of Technology, Guangzhou 510800, China)
Nowadays, various types of game equipment have been a hotspot in the field of consumer, this article is to design table tennis game machine equipment with the low cost by using STC89C51 MCU as the main control chip, using Proteus software to carry on the software programming. It realizes the table tennis game machine double rally. The tennis ball location and moving direction are determined by light and switch of lamp. The A, B two parties in their different position serve or strike, respectively. There are left, middle, right, and speed up four buttons as a simulation. The player depends on the position of the ball, and presses the button accordingly, and finally uses the LCD to display data. The hardware of the system includes the design of single chip microcomputer circuit, decoding circuit, light emitting diode circuit, key circuit, display circuit and so on, and it uses Proteus software to simulate its effect. The system is easy to operate, and stable.
Table tennis game; Proteus; Simulation
1007-757X(2017)12-0064-03
聶 茹(1982-),女,吉安市人,碩士,工學(xué)碩士,講師。研究方向:智能控制。
韋莉莉(1970-),女,廣西人,高級工程師。研究方向:過程控制。
TN277
A
2016.12.27)