基于51單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)附Proteus仿真畢業(yè)設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)附Proteus仿真畢業(yè)設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)附Proteus仿真畢業(yè)設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)附Proteus仿真畢業(yè)設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)附Proteus仿真畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄1 緒論11.1 本設(shè)計(jì)的研究背景和研究目的11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3 本設(shè)計(jì)的任務(wù)和設(shè)計(jì)方法21.3.1 設(shè)計(jì)任務(wù)21.3.2 設(shè)計(jì)方法22 乒乓游戲機(jī)設(shè)計(jì)方案32.1 基于單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)32.1.1 硬件設(shè)計(jì)32.1.2 軟件設(shè)計(jì)42.2 基于fpga的乒乓游戲機(jī)設(shè)計(jì)42.3 方案比較與選擇53硬件電路的設(shè)計(jì)63.1 硬件核心電路選擇63.1.1 單片機(jī)stc89c51簡(jiǎn)介63.1.2 單片機(jī)端口分配63.2 電源電路的設(shè)計(jì)83.3 時(shí)鐘電路的設(shè)計(jì)93.4 復(fù)位電路的設(shè)計(jì)93.5 按鍵電路的設(shè)計(jì)103.6 模擬球臺(tái)電路的設(shè)計(jì)113.6.1譯碼器簡(jiǎn)介113.6.2發(fā)光二極管

2、簡(jiǎn)介133.6.3 模擬球拍電路的設(shè)計(jì)143.7 顯示電路的設(shè)計(jì)143.7.1 lcd1602簡(jiǎn)介153.7.2 顯示電路的設(shè)計(jì)163.8 乒乓游戲機(jī)總電路的設(shè)計(jì)164 乒乓游戲機(jī)的軟件設(shè)計(jì)及編程184.1 主程序的設(shè)計(jì)及功能實(shí)現(xiàn)194.2 按鍵組的設(shè)計(jì)及功能實(shí)現(xiàn)194.2.1 球拍模擬子程序204.2.2 暫停/開始子程序204.3 發(fā)球程序的設(shè)計(jì)及功能實(shí)現(xiàn)204.4 線路程序的設(shè)計(jì)及功能實(shí)現(xiàn)214.4.1 線路選擇子程序214.4.2 led點(diǎn)陣子程序214.5 回球程序的設(shè)計(jì)及功能實(shí)現(xiàn)224.6 lcd顯示程序設(shè)計(jì)及功能實(shí)現(xiàn)234.7 設(shè)計(jì)源程序235 系統(tǒng)調(diào)試及分析245.1 仿真調(diào)試

3、及分析245.1.1 proteus軟件簡(jiǎn)介245.1.2 keil uvision4軟件簡(jiǎn)介255.1.3 仿真調(diào)試255.1.4 仿真調(diào)試的結(jié)果分析275.2 實(shí)物調(diào)試及分析275.2.1 制作實(shí)物的過(guò)程275.2.2 進(jìn)行實(shí)物調(diào)試275.2.3 實(shí)物調(diào)試的結(jié)果分析306 結(jié)論與展望31謝辭(acknowledge)32參考文獻(xiàn)33附錄1:程序34附錄2:元件清單491 緒論1.1 本設(shè)計(jì)的研究背景和研究目的乒乓球,中華人民共和國(guó)國(guó)球,是一種世界流行的球類體育項(xiàng)目。它的英語(yǔ)官方名稱是“table tennis”,即“網(wǎng)上桌球”。乒乓球的名字起源于1990年。乒乓球的比賽賽制是以11分為一局

4、,采用五局三勝(團(tuán)體)或七局四勝制(單項(xiàng))。比賽分團(tuán)體、單項(xiàng)(男單、女單、男雙、女雙、混雙)。在中國(guó),到處可見打乒乓球的人,以學(xué)生居多。因?yàn)椋S著人們現(xiàn)代化節(jié)奏的加快,工作壓力的增大,傳統(tǒng)打乒乓球的方式受到運(yùn)動(dòng)設(shè)施、場(chǎng)地、環(huán)境的因素的影響,讓人們對(duì)乒乓球運(yùn)動(dòng)減少了很多興趣。隨著科學(xué)技術(shù)的發(fā)展,人類進(jìn)入信息化社會(huì),信息社會(huì)的發(fā)展離不開電子產(chǎn)品的進(jìn)步?,F(xiàn)代電子產(chǎn)品發(fā)展的越來(lái)越快,于是人們將乒乓球與電子產(chǎn)品結(jié)合在一起,形成了乒乓游戲機(jī)。通過(guò)使用按鍵模擬球拍,發(fā)光二極管模擬乒乓球,進(jìn)行乒乓球游戲的操作。乒乓游戲機(jī)的出現(xiàn)解決了人類的很大難題。因?yàn)樵摦a(chǎn)品不受運(yùn)動(dòng)設(shè)施、空間、場(chǎng)地、環(huán)境等因素的影響,在家即可

5、進(jìn)行操作。操作的同時(shí),讓操作者仿佛在真正的打乒乓球。而且該設(shè)計(jì)屬于一種益智類設(shè)計(jì),讓人既可以鍛煉身體,也可以鍛煉智力。1.2 國(guó)內(nèi)外研究現(xiàn)狀第二次世界大戰(zhàn)以后,電子計(jì)算機(jī)技術(shù)得到了突飛猛進(jìn)的發(fā)展。電子計(jì)算機(jī)一代一代的更新的同時(shí),軟件設(shè)計(jì)也迅速發(fā)展。于是,1971年,世界上第一臺(tái)電子游戲機(jī)出現(xiàn)了。隨著電子技術(shù)的迅猛發(fā)展,電子游戲機(jī)進(jìn)入了次世代,主要有三大游戲機(jī)廠商。分別為:sony、微軟和任天堂。如今,大部分益智類游戲機(jī)屬于電子游戲機(jī),乒乓游戲機(jī)就屬于電子游戲機(jī)。隨著電子技術(shù)的突破,電子游戲機(jī)開始朝著“便攜式”和“家庭化”方向發(fā)展,彩色電視的普及使大型游戲機(jī)的顯像管和掃描版部分完全可以被彩色電視

6、取代,使得微處理機(jī)部分與現(xiàn)實(shí)屏幕實(shí)現(xiàn)了分離?,F(xiàn)在制成的游戲機(jī)只相當(dāng)于一個(gè)信號(hào)發(fā)生器。如今乒乓游戲機(jī)已出現(xiàn)3d類,體感類等等類型。乒乓游戲機(jī)不僅可以實(shí)現(xiàn)人們對(duì)乒乓球的熱愛,又可以讓人們?cè)谕嫠5耐瑫r(shí)進(jìn)行身體鍛煉和智力提高,具有明朗的前景。1.3 本設(shè)計(jì)的任務(wù)和設(shè)計(jì)方法1.3.1 設(shè)計(jì)任務(wù)如今各種不同類型的游戲設(shè)備一直是消費(fèi)領(lǐng)域的熱點(diǎn),本設(shè)計(jì)要求用低廉的成本設(shè)計(jì)出符合要求的游戲設(shè)備,要求操作方便,系統(tǒng)穩(wěn)定度高。設(shè)計(jì)任務(wù)為:(1)使用乒乓游戲機(jī)的甲乙雙方各在不同的位置發(fā)球或擊球。(2)乒乓球的位置和移動(dòng)方向由燈亮及依次點(diǎn)燃的方向決定,球移動(dòng)的速度為0.11s移動(dòng)一位。游戲者根據(jù)球的位置發(fā)出相應(yīng)的動(dòng)作,

7、提前擊球或出界均判失分。(3)比賽用11分為一局來(lái)進(jìn)行,甲乙雙方都應(yīng)設(shè)置各自的記分牌,任何一方先記滿11分,該方就算勝了此局。當(dāng)記分牌清零后,又可開始新的一局比賽。 1.3.2 設(shè)計(jì)方法本設(shè)計(jì)是基于單片機(jī)的乒乓游戲機(jī)設(shè)計(jì),分別進(jìn)行了硬件和軟件兩部分的設(shè)計(jì)。硬件設(shè)計(jì)包括單片機(jī)電路、譯碼電路、發(fā)光二極管電路、按鍵電路、顯示電路等電路的設(shè)計(jì)。軟件設(shè)計(jì)是使用keil uvision4軟件編寫與硬件模塊相應(yīng)的源程序。利用proteus軟件對(duì)電路進(jìn)行仿真,最后通過(guò)制作實(shí)物實(shí)現(xiàn)設(shè)計(jì)。2 乒乓游戲機(jī)設(shè)計(jì)方案目前,有兩種方案來(lái)設(shè)計(jì)乒乓游戲機(jī)設(shè)計(jì)。方案一是基于單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)。方案二是基于fpga的乒乓游戲

8、機(jī)設(shè)計(jì)。2.1 基于單片機(jī)的乒乓游戲機(jī)設(shè)計(jì)方案一是基于單片機(jī)的乒乓游戲機(jī)設(shè)計(jì),結(jié)果用lcd1602顯示屏顯示。軟件方面,使用keil uvision4進(jìn)行編程。硬件設(shè)計(jì)包含單片機(jī)電路、模擬球臺(tái)電路、按鍵電路、顯示電路等電路的設(shè)計(jì)。軟件設(shè)計(jì)包括:主程序、按鍵組程序(球拍模擬和暫停/開始子程序)、發(fā)球程序、線路程序(包括線路選擇和led點(diǎn)陣子程序)、回球程序、lcd顯示程序?;趩纹瑱C(jī)的乒乓游戲機(jī)系統(tǒng)框圖如圖2.1所示。單 片 機(jī) 模 塊電源電路模擬球臺(tái)電路時(shí)鐘電路 復(fù)位電路lcd顯示屏按鍵電路圖2.1 基于單片機(jī)的乒乓游戲機(jī)的系統(tǒng)框圖2.1.1 硬件設(shè)計(jì)電源電路設(shè)計(jì):?jiǎn)纹瑱C(jī)正常工作電壓為+5v,

9、設(shè)計(jì)采用三端穩(wěn)壓集成電路輸出+5v電壓。時(shí)鐘電路設(shè)計(jì):?jiǎn)纹瑱C(jī)可以看成是在時(shí)鐘驅(qū)動(dòng)下的時(shí)序邏輯電路,即單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。因此,單片機(jī)需要時(shí)鐘電路支持,否則不能執(zhí)行程序。復(fù)位電路設(shè)計(jì):?jiǎn)纹瑱C(jī)的復(fù)位電路使系統(tǒng)的所有功能部件都處于一個(gè)確定的初始狀態(tài),防止單片機(jī)執(zhí)行錯(cuò)誤操作、發(fā)出錯(cuò)誤的指令等失誤。單片機(jī)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。本設(shè)計(jì)采用手動(dòng)按鈕復(fù)位方式進(jìn)行復(fù)位。按鍵電路設(shè)計(jì):包含兩個(gè)按鍵組,一個(gè)是模擬球拍按鍵電路,一個(gè)是暫停/開始和復(fù)位按鍵電路。模擬球拍按鍵分為左右兩邊,左右各四個(gè)。這四個(gè)按鍵其中三個(gè)是對(duì)led點(diǎn)陣線路的操作,一個(gè)是進(jìn)行加速;暫停/開始和復(fù)位按鍵是在運(yùn)行任一

10、程序時(shí),對(duì)游戲機(jī)進(jìn)行暫?;蜷_始或復(fù)位。模擬球臺(tái)設(shè)計(jì):包括譯碼電路設(shè)計(jì)和發(fā)光二極管設(shè)計(jì)。譯碼電路設(shè)計(jì):本設(shè)計(jì)中采用16個(gè)發(fā)光二極管,而單片機(jī)的端口較少,因此采用3-8譯碼器節(jié)約端口。發(fā)光二極管設(shè)計(jì):由單片機(jī)控制74ls138譯碼器,74ls138譯碼器譯碼控制led點(diǎn)陣得點(diǎn)亮順序和相應(yīng)點(diǎn)亮?xí)r間。顯示電路設(shè)計(jì):設(shè)計(jì)中采用lcd顯示屏顯示結(jié)果,左右兩邊分別用a、b表示。2.1.2 軟件設(shè)計(jì)主程序:對(duì)乒乓游戲機(jī)進(jìn)行初始化,定時(shí)器設(shè)置,對(duì)led點(diǎn)陣輸入數(shù)據(jù)等,延時(shí)掃描按鍵。按鍵程序:在回球和發(fā)球時(shí),按鍵按下給單片機(jī)傳入數(shù)據(jù)作出相應(yīng)處理。包括暫停/開始子程序,對(duì)系統(tǒng)進(jìn)行暫停和開始。發(fā)球程序:綠色指示燈亮起

11、時(shí),b得到發(fā)球球權(quán),否則a得到發(fā)球球權(quán)。線路程序:游戲發(fā)球有8個(gè)線路選擇,ab分別4個(gè)線路選擇,共有16個(gè)回球線路,存在數(shù)組b16中,包括led點(diǎn)陣子程序,由單片機(jī)線路和delay_1(t)控制74ls138譯碼器,74ls138譯碼器譯碼控制led點(diǎn)陣得點(diǎn)亮順序和相應(yīng)點(diǎn)亮?xí)r間?;厍虺绦颍寒?dāng)球在a邊時(shí),a可在相應(yīng)delay_1(t)中感應(yīng)a按鍵組的數(shù)據(jù)并作出相應(yīng)處理;當(dāng)球在b邊時(shí),同理。顯示程序:顯示游戲比分,當(dāng)a或b到達(dá)11分時(shí)進(jìn)入相應(yīng)win子程序。2.2 基于fpga的乒乓游戲機(jī)設(shè)計(jì)方案二是基于fpga的乒乓游戲機(jī)設(shè)計(jì)。因?yàn)閷W(xué)校具備專門的實(shí)驗(yàn)箱,如果采用方案二只需編程便可實(shí)現(xiàn)。通過(guò)對(duì)各部分

12、編寫vhdl程序,然后進(jìn)行編譯、仿真、邏輯綜合、邏輯適配,最后進(jìn)行編程下載,并通過(guò)程序驗(yàn)證結(jié)果。用16個(gè)發(fā)光二極管代表乒乓球,在游戲機(jī)的兩側(cè)各設(shè)置兩個(gè)開關(guān),一個(gè)是發(fā)球開關(guān),一個(gè)是擊球開關(guān)。甲方按動(dòng)發(fā)球開關(guān)時(shí),靠近甲方的第一盞燈亮,然后發(fā)光二極管由甲向乙依次點(diǎn)亮,代表乒乓球在移動(dòng)。當(dāng)球過(guò)網(wǎng)后,按設(shè)計(jì)者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或沒(méi)有擊到球,則判乙方失分,甲方自動(dòng)加分,重新發(fā)球比賽繼續(xù)進(jìn)行到一方記分到11分,該局結(jié)束,記分牌清零,可以開始新的一局比賽。其系統(tǒng)框圖如2.2所示。圖2.2 基于fpga乒乓游戲機(jī)的系統(tǒng)框圖2.3 方案比較與選擇fpga的運(yùn)行速度很快,適合高速場(chǎng)合,而單片機(jī)

13、的運(yùn)行速度低的多;fpga的i/o口多,容易實(shí)現(xiàn)大規(guī)模系統(tǒng),方便連接外設(shè),而單片機(jī)的i/o口較少,適合小規(guī)模系統(tǒng);fpga的內(nèi)部程序是并行運(yùn)行,具有處理復(fù)雜功能的能力,而單片機(jī)程序時(shí)串行執(zhí)行,程序需要執(zhí)行完一條才能執(zhí)行下一條,處理突發(fā)事件時(shí)只能調(diào)用中斷資源;fpga包含單片機(jī)和dsp軟核,即單片機(jī)和dsp能實(shí)現(xiàn)的功能,fpga一般都能實(shí)現(xiàn)。單片機(jī)設(shè)計(jì)屬于軟件范疇,它的硬件即單片機(jī)芯片是固定的,通過(guò)軟件編程語(yǔ)言描述在硬件芯片上的執(zhí)行的軟件指令。fpga設(shè)計(jì)屬于硬件范疇,它的硬件即fpga是可編程的,是一個(gè)通過(guò)硬件描述語(yǔ)言在fpga芯片上自定義集成電路的過(guò)程。由上可知,fpga具有很多優(yōu)點(diǎn),但是對(duì)

14、本設(shè)計(jì)而言是大材小用,而且芯片造價(jià)較高,因此選用單片機(jī)完成本設(shè)計(jì)。在國(guó)內(nèi),有很多成熟且性價(jià)比高的單片機(jī),以51單片機(jī)為主。本設(shè)計(jì)對(duì)芯片的要求不高,因此選用性價(jià)比高的單片機(jī)stc89c51。stc89c51是isp的系統(tǒng)可編程芯片,可以直接將程序燒錄到芯片中,方便程序的修改和實(shí)物調(diào)試。其工作電壓要求低,工作頻率可達(dá)48mhz。并且可通過(guò)串口直接下載程序,數(shù)秒即可完成下載。采用單片機(jī)完成設(shè)計(jì),可利用proteus繪制電路原理圖,用keil uvision4進(jìn)行編程,然后進(jìn)行仿真調(diào)試,減少出錯(cuò)。并且采用c語(yǔ)言編程,移植性強(qiáng),使端口的程序控制變得簡(jiǎn)單。綜上所述,采用方案一完成乒乓游戲機(jī)的設(shè)計(jì)。3硬件電

15、路的設(shè)計(jì)3.1 硬件核心電路選擇乒乓游戲機(jī)設(shè)計(jì)選用單片機(jī)作為主控芯片,設(shè)計(jì)選用性價(jià)比高的stc89c51單片機(jī)。stc89c51與其它51單片機(jī)比較,具有成本低,性能好的優(yōu)點(diǎn),并且其具有在線編程功能,可以直接將程序燒錄到芯片中,不需要對(duì)硬件進(jìn)行修改。就乒乓游戲機(jī)而言,stc89c51能通過(guò)程序的編寫實(shí)現(xiàn)所需的功能。3.1.1 單片機(jī)stc89c51簡(jiǎn)介單片機(jī)stc89c51是宏晶科技推出的超強(qiáng)抗干擾/低功耗的單片機(jī),指令代碼與引腳結(jié)構(gòu)完全兼容傳統(tǒng)的8051單片機(jī)。其最高工作時(shí)鐘頻率為80mhz,片內(nèi)含8k bytes的可反復(fù)擦寫1000次的flash rom,芯片內(nèi)集成了通用8位中央處理器和i

16、sp flash存儲(chǔ)單元,具有在系統(tǒng)可編程特性,配合pc端的控制程序即可將用戶的程序代碼下載到單片機(jī)內(nèi)部,并且速度更快。stc89c51的芯片擦除特性:整個(gè)perom陣列與三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ale管腳低電平10ms來(lái)完成。在芯片擦除中,代碼陣列全被寫“1”,且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,必須執(zhí)行該操作。stc89c51芯片及其引腳如圖3.1所示。圖3.1 stc89c51芯片及其芯片引腳圖3.1.2 單片機(jī)端口分配乒乓游戲機(jī)需要八個(gè)端口接按鍵;16個(gè)發(fā)光二極管則通過(guò)兩個(gè)3-8譯碼器與單片機(jī)連接,需要六個(gè)端口;lcd顯示屏需要7個(gè)端口;單片機(jī)時(shí)鐘電路接兩個(gè)端

17、口;復(fù)位電路接復(fù)位端口;暫停/開始按鍵需要兩個(gè)端口;發(fā)球指示燈和暫停指示燈需要兩個(gè)端口。下面對(duì)所需端口進(jìn)行介紹及分配:p0口(3932腳):p0.0p0.7統(tǒng)稱為p0口。p0口是一個(gè)三態(tài)雙向口,每個(gè)引腳可吸收八個(gè)ttl門電流。當(dāng)p0口的管腳第一次寫“1”時(shí),被定義為高阻輸入。p0可用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在flash編程時(shí),p0口用作原碼輸入口。當(dāng)flash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,必須接上拉電阻。p1口(18腳):p1.0p1.7統(tǒng)稱為p1口.p1口為準(zhǔn)雙向口,p1口緩沖器能接收四個(gè)ttl門電流。p1口的管腳寫“1”后,內(nèi)部上拉為高,可用作輸入。p1口被外部

18、下拉為低電平時(shí),因?yàn)閮?nèi)部上拉,將輸出電流。在flash編程和校驗(yàn)時(shí),p1口接收低八位地址。p2口(2128腳):p2.0p2.7統(tǒng)稱為p2口。p2口為準(zhǔn)雙向口,緩沖器可接收/輸出4個(gè)ttl門電流。當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),p2口的管腳被外部拉低,因?yàn)閮?nèi)部上拉將輸出電流。當(dāng)p2口用于外部程序存儲(chǔ)器或十六位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出高八位地址。在給出地址“1”時(shí),利用上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出單片機(jī)特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口(1017腳):p3.

19、0p3.7統(tǒng)稱為p3口。p2口為準(zhǔn),雙向口可接收/輸出四個(gè)ttl門電流。當(dāng)p3口寫入“1”時(shí),被內(nèi)部上拉為高電平,并用作輸入。當(dāng)外部下拉為低電平,因?yàn)樯侠木壒?,p3口將輸出電流。p3口作為第二功能使用時(shí)各端口引腳的作用,如表3.1所示。表3.1 p3口的第二功能端口引腳第二功能p3.0rxd (串行輸入口)p3.1txd(串行輸出口)p3.2/int0 (外中斷0)p3.3/int1 (外中斷1)p3.4t0 (定時(shí)/計(jì)數(shù)器0)p3.5t1(定時(shí)/計(jì)數(shù)器1)p3.6 /wr (外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7/rd (外部數(shù)據(jù)存儲(chǔ)器讀選通) rst:復(fù)位輸入。振蕩器復(fù)位器件時(shí),保持rst引腳兩

20、個(gè)機(jī)器周期高電平時(shí)間。xtal1:反向放大器的輸入、內(nèi)部時(shí)鐘工作電路的輸入。xtal2:反向振蕩器的輸出。本設(shè)計(jì)中,stc89c51單片機(jī)的管腳如下分配:p0.0p0.7口用作按鍵輸入口,接上拉電阻;p1.0p1.1口作為暫停、開始按鍵輸入口;p1.2p1.5作為lcd顯示屏輸入口;p1.6作為發(fā)球權(quán)指示燈,p1.7作為暫停指示燈控制口;p2.0p2.7作為譯碼器信號(hào)輸入口控制發(fā)光二極管;p3.2p3.4作為lcd顯示屏的控制端;rst引腳為復(fù)位電路輸入口;xtal1、xtal2分別作為片內(nèi)振蕩器的輸入和輸出。3.2 電源電路的設(shè)計(jì)單片機(jī)stc89c51的工作電壓為+5v,因此需要一個(gè)電源電路

21、來(lái)提供這一電壓。設(shè)計(jì)通過(guò)固定三端穩(wěn)壓集器,輸出使單片機(jī)工作的+5v電壓。固定三端穩(wěn)壓器主要有78xx系列的正電壓輸出穩(wěn)壓器和79xx系列的負(fù)電壓穩(wěn)壓器。兩個(gè)系列的固定三端穩(wěn)壓器,輸出電壓有5v、6v、9v、12v、15v、18v、24v等規(guī)格,最大輸出電流為1.5a。這種三端穩(wěn)壓器內(nèi)部包含了過(guò)流、過(guò)熱和調(diào)整管的保護(hù)電路,使用時(shí)組成穩(wěn)壓電源所需的外圍元件少,使用起來(lái)可靠、方便、快捷。7805的參數(shù)為:在25,輸入電壓為7.520v時(shí),輸出電壓為4.8v5.2v。因此本設(shè)計(jì)采用三端穩(wěn)壓器7805輸出5v電壓。固定三端穩(wěn)壓器7805的1腳為輸入端,2腳為接地端,三腳為輸出端。芯片7805及其引腳圖如

22、圖3.2所示。1 2 3圖3.2 芯片7805及其引腳圖3.3 時(shí)鐘電路的設(shè)計(jì)單片機(jī),可以認(rèn)為是在時(shí)鐘驅(qū)動(dòng)下的時(shí)序邏輯電路,即單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能夠工作。單片機(jī)內(nèi)部含有一個(gè)可以構(gòu)成振蕩器的放大電路。在單片機(jī)內(nèi)部含時(shí)鐘振蕩電路,外部一個(gè)振蕩源產(chǎn)生是送到單片機(jī)內(nèi)部,決定單片機(jī)的工作速度。此設(shè)計(jì)選用內(nèi)部振蕩方式,即把放大器與振蕩器連接,構(gòu)成的內(nèi)部自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。選用的元器件為一個(gè)12mhz的石英晶體振蕩器,兩個(gè)30pf的電容。此電路在加點(diǎn)延遲10ms后振蕩起振,在xtal2引腳產(chǎn)生正弦時(shí)鐘信號(hào)。電路中的電容作用有兩個(gè):一是對(duì)振蕩器的頻率進(jìn)行微調(diào),二是幫助振蕩器起振。因?yàn)槭⒕w

23、振蕩器的振蕩頻率為12mhz,即單片機(jī)的振蕩周期為1us,狀態(tài)周期為2us,機(jī)器周期為12us。時(shí)鐘電路設(shè)計(jì)如圖3.3所示。圖3.3 時(shí)鐘電路圖3.4 復(fù)位電路的設(shè)計(jì)單片機(jī)stc89c51第九引腳為硬件復(fù)位端。對(duì)該引腳程序4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)都恢復(fù)到初始化狀態(tài)。復(fù)位電路由按鍵及電容,電阻構(gòu)成。當(dāng)按下按鍵時(shí),電源經(jīng)電阻r1、r2分壓,在復(fù)位管腳產(chǎn)生一個(gè)復(fù)位高電平,此時(shí)單片機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,電容緩慢充電,單片機(jī)的復(fù)位管腳電壓由高向低轉(zhuǎn)化,經(jīng)過(guò)一定時(shí)間,復(fù)位管腳處于穩(wěn)定的低電平狀態(tài),此時(shí)單片機(jī)復(fù)位完畢,系統(tǒng)從0000h執(zhí)行程序。該電路使用了按鍵一個(gè),10uf的電容一

24、個(gè),10k和1k的電阻各一個(gè)。復(fù)位電路設(shè)計(jì)圖如圖3.4所示。圖3.4復(fù)位電路設(shè)計(jì)圖3.5 按鍵電路的設(shè)計(jì)按鍵是一種常見的控制電器元件,常用來(lái)接通或斷開控制電路,從而達(dá)到控制電路的一種開關(guān)。按鍵共有4個(gè)引腳,當(dāng)未按下按鍵時(shí),2引腳和3引腳是導(dǎo)通的,1引腳和4引腳是導(dǎo)通的。當(dāng)按下按鍵時(shí),1引腳和2引腳連通,3引腳和4引腳連通,1引腳2引腳和3引腳連通,1引腳和4引腳連通。按鍵及其引腳圖如圖3.5所示。4引腳2引腳3引腳圖3.5按鍵及其引腳圖乒乓游戲機(jī)的按鍵電路包含兩個(gè)按鍵組,一個(gè)是模擬球拍按鍵電路,一個(gè)是暫停/開始和復(fù)位按鍵電路。模擬球拍按鍵分為左右兩邊,左右各四個(gè)。這四個(gè)按鍵其中三個(gè)是對(duì)led點(diǎn)

25、陣線路的操作,一個(gè)是進(jìn)行加速;暫停/開始和復(fù)位按鍵是在運(yùn)行任一程序時(shí),對(duì)游戲機(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ì)圖如3.6所示。圖3.6 按鍵電路設(shè)計(jì)圖暫停和開始按鍵分別與單片機(jī)的p1.0和p1.1相連。復(fù)位按鍵與單片機(jī)復(fù)位端口相連。暫停和開始按鍵電路設(shè)計(jì)圖如圖3.7所示。圖3.7 暫停和開始按鍵電路設(shè)計(jì)圖3.6 模擬球臺(tái)電路的設(shè)計(jì)模擬球臺(tái)電路設(shè)計(jì)包括譯碼電路設(shè)計(jì)和發(fā)光二極管設(shè)計(jì)。乒乓游戲機(jī)采用16個(gè)發(fā)光二極管,單片機(jī)的端口有限,因此采用單片機(jī)的

26、p2口的5個(gè)端口控制74ls138譯碼器進(jìn)行譯碼,節(jié)約端口。譯碼器74ls138的輸入電壓范圍為+3.5+5v。3.6.1 譯碼器簡(jiǎn)介本設(shè)計(jì)采用74ls138譯碼器進(jìn)行譯碼。74ls138為3-8線譯碼器,其中l(wèi)s指采用低功耗肖特基電路。該譯碼器有3位二進(jìn)制輸入a0、a1、a2,共有8種狀態(tài)的組合,即可譯出8個(gè)輸出信號(hào)y0y7,輸出低電平有效。此外,還設(shè)置了e1、e2和e3三個(gè)使能輸入端,為電路功能的擴(kuò)展提供方便。譯碼器74ls138的管腳及其功能如表3.2所示。表3.2 譯碼器74ls138管腳功能管腳功能vcc電源正gnd地e1選通端e2 /e3選通端(低電平有效)a0a3地址輸入端y0y

27、7:輸出端(低電平有效)74ls138譯碼器的工作原理為:當(dāng)一個(gè)選通端(e1)為高電平,另兩個(gè)選通端(e2)和 (e3)為低電平時(shí),可將地址端(a0、a1、a2)的二進(jìn)制編碼在對(duì)應(yīng)的輸出端以低電平譯出。74ls138的引腳圖如圖3.8示。圖3.8 74ls138的引腳圖74ls138的功能真值表如表3.3所示。表3.3 74ls138功能真值表輸入輸出e3e2e1a2a1a0y0y1y2y3y4y5y6y7xhxxxxhhhhhhhhxxhxxxhhhhhhhhlxxxxxhhhhhhhhhllllllhhhhhhhhllllhhlhhhhhhhlllhlhhlhhhhhhlllhhhhhlh

28、hhhhllhllhhhhlhhhhllhlhhhhhhlhhhllhhlhhhhhhlhhllhhhhhhhhhhl3.6.2發(fā)光二極管簡(jiǎn)介發(fā)光二極管簡(jiǎn)稱為led,是一種能發(fā)光的半導(dǎo)體電子元件。這種電子元件在1962年出現(xiàn),由鎵(ga)與砷(as)、磷(p)的化合物組成的二極管,電子與空穴復(fù)合時(shí)能輻射出可見光。其中,磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。發(fā)光二極管具有單向?qū)ㄐ?,即發(fā)光二極管只能往一個(gè)方向通電,這種特性叫做正向偏置(正向偏壓)。發(fā)光二極管的基本結(jié)構(gòu)是一塊電致發(fā)光的半導(dǎo)體材料,置于一個(gè)有引線的架子上,然后用環(huán)氧樹脂密封,起到保護(hù)內(nèi)部芯片線的作用。發(fā)光二極

29、管的核心部分是由p型半導(dǎo)體和n型半導(dǎo)體組成的晶片,在p型半導(dǎo)體和n型半導(dǎo)體之間有一個(gè)過(guò)渡層,稱為pn結(jié)。在某些半導(dǎo)體材料的pn結(jié)中,注入少數(shù)載流子與多數(shù)數(shù)載流子復(fù)合時(shí)把多余的能量以光的形式釋放出來(lái),從而把電能轉(zhuǎn)換成光能。發(fā)光二極管的兩根引線較長(zhǎng)的一根是正極,需接電源正極。發(fā)光二極管及其構(gòu)造如圖3.9所示。圖3.9發(fā)光二極管及其構(gòu)造3.6.3 模擬球拍電路的設(shè)計(jì)單片機(jī)p2.0p2.3控制兩個(gè)譯碼器的a,b,c端,p2.4和p2.7分別控制兩個(gè)譯碼器的e1端,且e2、e3兩個(gè)端口接地。單片機(jī)p2口輸出信號(hào),從而達(dá)到控制發(fā)光二極管的熄滅與點(diǎn)亮。其電路圖如圖3.10所示。圖3.10模擬球臺(tái)電路設(shè)計(jì)圖3

30、.7 顯示電路的設(shè)計(jì)乒乓游戲機(jī)的數(shù)據(jù)較為簡(jiǎn)單,只需要顯示比分和最終勝利的狀態(tài),因此選用只顯示字符和數(shù)字的lcd1602顯示屏。3.7.1 lcd1602簡(jiǎn)介乒乓游戲機(jī)顯示電路設(shè)計(jì)采用lcd1602顯示屏。lcd1602為工業(yè)字符型液晶,能夠同時(shí)顯示32個(gè)字符。它是專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。由若干個(gè)5*7或5*11等點(diǎn)陣字符位組成。每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。lcd采用標(biāo)準(zhǔn)的16腳接口,其管腳功能如表3.4所示。表3.4 lcd1602的管腳功能表管腳功能vss電源地vcc接5v電源電極v0(v

31、ee)液晶顯示器對(duì)比度調(diào)整端,接正電源對(duì)比度最弱,接地電源最高rs寄存器選擇。高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器rw讀寫信號(hào)線。高電平時(shí)讀取信息,低電平時(shí)進(jìn)行寫操作e(en)使能端。高電平時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令d0d78位雙向數(shù)據(jù)端bla背光正極blk背光負(fù)極lcd1602的特性:3.3v或5v工作電壓,對(duì)比度可調(diào);內(nèi)含復(fù)位電路,提供各種控制命令;有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器ddram;內(nèi)建有192個(gè)5*7點(diǎn)陣的字型的字符發(fā)生器cgrom;8個(gè)可由用戶自定義的5*7的字符發(fā)生器cgram;lcd1602及其引腳圖如圖3.11所示。圖3.11 lcd1602及其引腳圖3.7.2 顯

32、示電路的設(shè)計(jì)此設(shè)計(jì)中的顯示模塊采用lcd來(lái)顯示乒乓游戲機(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相連,用于寫入控制。其電路設(shè)計(jì)圖如圖3.12所示。圖3.12顯示電路設(shè)計(jì)圖3.8 乒乓游戲機(jī)總電路的設(shè)計(jì)本設(shè)計(jì)采用proteus繪制電路設(shè)計(jì)仿真圖,乒乓游戲機(jī)的硬件設(shè)計(jì)包括單片機(jī)電路、譯碼電路、發(fā)光二極管電路、按鍵電路、顯示電路等電路的設(shè)計(jì)。其仿真圖如圖3.13所示。圖3.13總電路設(shè)計(jì)圖乒乓游戲機(jī)的硬件包括單片機(jī)電路、譯碼電路、發(fā)光

33、二極管電路、按鍵電路、顯示電路等電路。其中單片機(jī)電路包括:晶振電路,復(fù)位電路;由譯碼器接p2的5個(gè)i/o口控制16個(gè)模擬乒乓球臺(tái)桌led燈;由單片機(jī)的p0口接上拉電阻,感應(yīng)按鍵電路的輸入;有p1.2到p1.5給lcd進(jìn)行數(shù)據(jù)的輸入,p3.2-p3.3給lcd進(jìn)行寫入控制。4 乒乓游戲機(jī)的軟件設(shè)計(jì)及編程本系統(tǒng)的軟件主要采用模塊化結(jié)構(gòu)設(shè)計(jì),具體的程序有主程序、按鍵組程序(球拍模擬和暫停/開始子程序)、發(fā)球程序、線路程序(包括線路選擇和led點(diǎn)陣子程序)、回球程序、lcd顯示程序。系統(tǒng)流程圖如圖4.1所示。開 始初始化主程序否發(fā)球指示燈是否點(diǎn)亮是a發(fā)球b發(fā)球線路程序回球程序是ab回球是否成功否否b失

34、敗a加1分a失敗b加1分顯示程序否得分11是結(jié) 束圖4.1 系統(tǒng)流程圖通過(guò)程序?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)入線路程序,回球失敗,對(duì)手分?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ù)。 4.1 主程序的設(shè)計(jì)及功能實(shí)現(xiàn)主程序的功能是進(jìn)行初始化工作,并控制“

35、乒乓球”游戲的開始。led燈組接單片機(jī)的p2口上,按鍵組接單片機(jī)p0口上,lcd顯示屏由單片機(jī)控制。游戲開始時(shí),程序控制顯示上行a:0;下行b:0。void main()write_com(0x01);/顯示器清屏p2=0;/led點(diǎn)陣全部熄滅 fuwei();/數(shù)據(jù)初始化ea=1;ex0=1;ex1=1;et0=1;it0=1;it1=1;tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;tr0=1;/定式掃描初始化設(shè)置qiuquan();/跳轉(zhuǎn)到發(fā)球程序while(1)/循環(huán)掃描并點(diǎn)亮相應(yīng)led int t=1000+w*1000;

36、p2=qn;delay_1(t);/延時(shí)處理程序xianlu();/線路控制程序4.2 按鍵組的設(shè)計(jì)及功能實(shí)現(xiàn)此程序貫穿了整個(gè)系統(tǒng)框圖中,包括球拍模擬子程序和暫停/開始子程序。4.2.1 球拍模擬子程序單片機(jī)p0口在相應(yīng)時(shí)間段內(nèi)感應(yīng)來(lái)自由按鍵組傳來(lái)的數(shù)據(jù),如果在delay_1(t)中作出正確的選擇,進(jìn)入回球程序,否則對(duì)方加1分。 按下按鍵否是是否成功對(duì)方分?jǐn)?shù)加1回球程序 圖4.2 按鍵組流程圖4.2.2 暫停/開始子程序當(dāng)暫停鍵被按下后,程序進(jìn)入中斷,暫停燈亮起,當(dāng)按下開始按鍵時(shí),程序繼續(xù)。其流程圖如圖4.3所示。定時(shí)程序是否暫停否繼續(xù)游戲是回到游戲是是否解除暫停繼續(xù)暫停否圖4.3 暫停/開始

37、程序流程圖4.3 發(fā)球程序的設(shè)計(jì)及功能實(shí)現(xiàn)綠色指示燈亮起時(shí),b得到發(fā)球球權(quán),否則a得到發(fā)球球權(quán)。void qiuquan(void)w=1;/球速控制變量v=0;/發(fā)球控制變量 if(f=3)/球權(quán)控制變量0-3循環(huán)。 f=0; else f+; if(f256)/m取自b中得數(shù)據(jù) n=m/256;m=m%256; else if(m16) n=m/16;m=m%16; else if(m=0) n=m;m=-1; else if(m0)/當(dāng)m取完數(shù)據(jù)時(shí),按鍵都沒(méi)做出正確輸入時(shí),表明a或b回球失敗。 p2=0; if(n=8) chang1(); qiuquan(); 4.4.2 led點(diǎn)陣子

38、程序由單片機(jī)線路和delay_1(t)控制74ls138譯碼器,74ls138譯碼器譯碼控制led點(diǎn)陣得點(diǎn)亮順序和相應(yīng)點(diǎn)亮?xí)r間。q16寄存數(shù)組,列如p2=q0時(shí)點(diǎn)亮a邊的第一個(gè)燈,單片機(jī)將數(shù)據(jù)傳輸給74ls138進(jìn)行譯碼點(diǎn)亮相應(yīng)的led實(shí)現(xiàn)乒乓球的移動(dòng)。 4.5 回球程序的設(shè)計(jì)及功能實(shí)現(xiàn)當(dāng)球在a邊時(shí),a可在相應(yīng)delay_1(t)中感應(yīng)a按鍵組的數(shù)據(jù)并作出相應(yīng)處理;當(dāng)球在b邊時(shí),同理。這里需要對(duì)16個(gè)燈(d2-d17)進(jìn)行處理。下面對(duì)其中一個(gè)燈進(jìn)行解釋。w=p0_3;/a的p0_3控制游戲的速度/d2 if(n=0)/n=0時(shí)d2燈點(diǎn)亮 if(x=13&!p0_0)/當(dāng)線路為13時(shí)且p0_0按

39、下時(shí)按以下處理。 if(!w) x=3; else x=0; while(!p0_0) ; m=bx; if(x=8)/當(dāng)線路為8時(shí)只能按以下處理 if(!p0_0) x=3; while(!p0_0); m=bx; else if(!p0_1) x=0; while(!p0_1); m=bx; 4.6 lcd顯示程序設(shè)計(jì)及功能實(shí)現(xiàn)lcd1602與單片機(jī)p1口相連,程序控制顯示上行a:0;下行b:0。當(dāng)a或b到達(dá)11分時(shí)進(jìn)入相應(yīng)win子程序。 write_com(0x80+2);/第一行隔兩位寫入以下字符a: 0; write_data(a); write_data(:); write_dat

40、a( ); write_data(0); write_com(0xc0+2);/第一行隔兩位寫入以下字符b: 0; write_data(b); write_data(:); write_data( ); write_data(0);4.7 設(shè)計(jì)源程序設(shè)計(jì)源程序見附錄1。5 系統(tǒng)調(diào)試及分析5.1 仿真調(diào)試及分析乒乓游戲機(jī)設(shè)計(jì)利用proteus軟件設(shè)計(jì)原理圖,keil uvision4軟件進(jìn)行編程。5.1.1 proteus軟件簡(jiǎn)介proteus軟件是英國(guó)labcenter electronics公司出版的eda工具軟件。它不僅具有eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。從原理圖布圖

41、、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換至pcb設(shè)計(jì),實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。其處理器支持的模型有:8051、hc11、pic10/12/16/18/24/30/d是、pic33、avr、arm、8086和msp430等。在編譯方面,它也支持iar、keil和mplab等多種編譯器。電路原理圖是生產(chǎn)電子產(chǎn)品的基礎(chǔ),電路設(shè)計(jì)的最終目的是從電路原理圖到設(shè)計(jì)出印制電路板圖,經(jīng)過(guò)焊接、組裝、調(diào)試得到合格的電子產(chǎn)品。利用proteus繪制原理圖的基本流程如圖5.1所示。設(shè)置圖紙規(guī)格及編輯器系統(tǒng)參數(shù)放置元器件設(shè)置元器件屬性原理圖連線生成電路設(shè)計(jì)報(bào)表及網(wǎng)絡(luò)文件文件保存及輸出圖5.1 繪制原理圖的

42、基本流程5.1.2 keil uvision4軟件簡(jiǎn)介keil uvision4是德國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開發(fā)系統(tǒng)。keilc51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件提供了c語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效、快速的特點(diǎn)。它比以前的keil uvision系列的優(yōu)點(diǎn)是引入靈活的窗口管理系統(tǒng)。目前使用keil uvision4的產(chǎn)品有keil mdk-arm,keil c51,keil c166和keil c251。5.1.3 仿真調(diào)試仿真調(diào)試的步驟:(1) 在keil中建立工程,輸入程序,進(jìn)行編譯,修改直至無(wú)錯(cuò),最后編譯并保存。將保存的程序進(jìn)行編譯和生

43、成.hex文件,如圖5.2所示。圖 5.2 生成.hex文件(2) 在proteus中設(shè)計(jì)硬件原理圖。(3) 在proteus中導(dǎo)入.hex文件,如圖5.3所示。導(dǎo)入的方法:將鼠標(biāo)置于電路圖中stc89c51器件上,先右擊再左擊,即彈出導(dǎo)入框,再導(dǎo)入框中導(dǎo)入乒乓球.hex文件。圖5.3 導(dǎo)入 乒乓球.hex文件(4) 點(diǎn)擊仿真盤框中的運(yùn)行按鈕,電路進(jìn)入仿真狀態(tài),開始調(diào)試。如圖5.4所示。圖5.4仿真調(diào)試圖在調(diào)試過(guò)程中,觀看lcd顯示屏的變化,由此得出設(shè)計(jì)是否正確。如果不正確,按以上步驟進(jìn)行修改,直到達(dá)到設(shè)計(jì)要求。5.1.4 仿真調(diào)試的結(jié)果分析對(duì)電路進(jìn)行仿真調(diào)試后,發(fā)現(xiàn)了一些問(wèn)題。(1)led未

44、按正常預(yù)期工作,發(fā)球與回球的程序存在共同部分,加入發(fā)球控制參數(shù)后,正常工作。(2)發(fā)球程序出現(xiàn)問(wèn)題,有時(shí)候發(fā)球指示燈亮?xí)r,b卻不能成功發(fā)球,經(jīng)過(guò)修改程序,解決這個(gè)問(wèn)題。5.2 實(shí)物調(diào)試及分析5.2.1 制作實(shí)物的過(guò)程根據(jù)原理圖焊接電路。在每焊接完成一個(gè)模塊時(shí),檢查電路焊接是否正確、是否連錯(cuò)端口、是否有虛焊,確認(rèn)無(wú)誤后,完成焊接。如圖5.5所示。焊接遇到的問(wèn)題:(1) led燈接反,導(dǎo)致led點(diǎn)陣不工作,改正全部的點(diǎn)陣燈后,正常工作。(2) 74ls138沒(méi)有接電源,開始一直不工作,改正后正常工作。5.2.2 進(jìn)行實(shí)物調(diào)試用燒錄器將keil軟件中生成的.hex文件燒錄到單片機(jī)stc89c51芯片

45、中。燒錄的步驟為:選項(xiàng)/串口設(shè)置、芯片型號(hào)選擇stc89c51rc、打開程序文件、選擇.hex文件、download/下載、擦除、查空、編程、校驗(yàn)。燒錄程序圖如圖5.6所示。5.6 燒錄程序圖最后將芯片安裝到硬件電路中,接入5v穩(wěn)壓電源,乒乓游戲機(jī)開始運(yùn)行。調(diào)試初始狀態(tài)如圖5.7所示。圖5.7 調(diào)試初始狀態(tài)ab雙方任一方為11分時(shí),結(jié)束游戲,11分的一方獲得勝利。游戲勝利狀態(tài)圖如圖5.8所示。圖5.8 游戲狀態(tài)勝利圖按下暫停鍵,游戲機(jī)暫停,同時(shí)暫停指示燈亮。暫停調(diào)試狀態(tài)圖如圖5.9所示。圖5.9 暫停調(diào)試狀態(tài)圖5.2.3 實(shí)物調(diào)試的結(jié)果分析完成實(shí)物制作后,對(duì)總電路進(jìn)行調(diào)試。在調(diào)試中遇到的問(wèn)題:

46、(1)在按鍵操作過(guò)程中,發(fā)光二極管快速變化,與設(shè)定值不一樣。經(jīng)分析,原因?yàn)槌绦蛑械姆蓝秳?dòng)功能不完善。在實(shí)際的電路中,機(jī)械式按鍵按下或釋放時(shí),因?yàn)闄C(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)??赡茉诎聪掳存I時(shí),已經(jīng)對(duì)按鍵進(jìn)行了幾次操作,因此發(fā)光二極管快速的變化。通過(guò)對(duì)程序的修改,問(wèn)題解決。(2)發(fā)光二極管未按預(yù)期效果被點(diǎn)亮,經(jīng)過(guò)分析,發(fā)現(xiàn)實(shí)際中與仿真的接線不同,改正相應(yīng)參數(shù)后,正常運(yùn)行。6 結(jié)論與展望6.1 結(jié)論本設(shè)計(jì)根據(jù)乒乓游戲機(jī)的功能要求,本設(shè)計(jì)采用性價(jià)比高的單片機(jī)設(shè)計(jì)出操作方便,系統(tǒng)穩(wěn)定度高的乒乓游戲機(jī)設(shè)計(jì)。本設(shè)計(jì)采用單片機(jī)stc89c51作為主控芯片,采用p

47、roteus軟件和keil uvision4軟件分別進(jìn)行硬件仿真和軟件編程,最后制作實(shí)物,實(shí)現(xiàn)乒乓游戲機(jī)的雙人對(duì)打。本設(shè)計(jì)采用44的線路電路,乒乓球的位置和移動(dòng)方向由燈亮及依次燈亮的方向決定使用,乒乓游戲機(jī)的a、b兩方在各自不同的位置發(fā)球或擊球,分別有左、中、右、加速四個(gè)按鍵作為模擬球拍。游戲者根據(jù)球的位置按下相應(yīng)的按鍵得分,最后通過(guò)lcd顯示屏顯示數(shù)據(jù)。通過(guò)一系列的仿真調(diào)試和實(shí)物調(diào)試,已驗(yàn)證本設(shè)計(jì)的開發(fā)方案是基本可行的。這種成本低,操作方便,穩(wěn)定度高的設(shè)計(jì),能很好的適應(yīng)乒乓游戲機(jī)的開發(fā)。此外,本次設(shè)計(jì)還有以下一些可以加以改進(jìn)的地方:(1) 設(shè)計(jì)線路復(fù)雜,如果可以采取無(wú)線的方式,則更加方便攜帶

48、與玩耍。(2) 選用更加好的lcd顯示屏,使界面更加美觀(3) 娛樂(lè)效果過(guò)低,如果可以玩游戲的同時(shí)播放音樂(lè),或動(dòng)態(tài)顯示,則提高娛樂(lè)性。6.2 展望如今各種不同類型的游戲設(shè)備一直是消費(fèi)領(lǐng)域的熱點(diǎn),作為電子游戲產(chǎn)品,乒乓游戲機(jī)的競(jìng)爭(zhēng)十分激烈。在功能上,乒乓游戲機(jī)不應(yīng)只是一個(gè)益智,還可以提供娛樂(lè)性,提供鍛煉身體的功能,比如游戲時(shí)添加音樂(lè),采用人體感應(yīng)技術(shù)實(shí)現(xiàn)人機(jī)互動(dòng),采用3d效果更加真實(shí)。讓人感覺(jué)不枯燥,且具有豐富的娛樂(lè)性。這些都將使乒乓游戲機(jī)更加成熟,更受歡迎。謝辭(acknowledge)轉(zhuǎn)眼間,兩個(gè)月過(guò)去了。在實(shí)驗(yàn)室的兩個(gè)月里,我完成了畢業(yè)設(shè)計(jì)。讓我完整的完成了一次電子產(chǎn)品的生產(chǎn),經(jīng)過(guò)了設(shè)計(jì)、

49、生產(chǎn)、安裝、調(diào)試等一系列的過(guò)程?;仡櫵哪甏髮W(xué)生活,有太多事情對(duì)以后的人生影響深遠(yuǎn)。特別是2012年暑假,我在實(shí)驗(yàn)室學(xué)到了很多,對(duì)我這次的畢業(yè)設(shè)計(jì)的完成提供了基礎(chǔ)。感謝我的指導(dǎo)老師孫曉玲老師。她在忙碌的教學(xué)工作中,孫老師每周二都會(huì)對(duì)我們的畢業(yè)設(shè)計(jì)審查,從設(shè)計(jì)的選題直至最后畢業(yè)論文的修改整個(gè)過(guò)程,孫老師都給出了自己的寶貴意見,孫老師的悉心指導(dǎo)和建議給了我極大的幫助,在此對(duì)孫老師表示衷心感謝。同時(shí)感謝所有教過(guò)我的老師,謝謝你們對(duì)我們孜孜不悔的教誨,你們傳授的知識(shí)為我在以后的道路奠定了良好的基礎(chǔ)。在此之外感謝學(xué)校,給我們一個(gè)良好的學(xué)習(xí)環(huán)境,提供我們畢業(yè)設(shè)計(jì)所需的器材,讓我們能夠更方便的進(jìn)行畢業(yè)設(shè)計(jì)。感

50、謝實(shí)驗(yàn)室的同學(xué),在我的設(shè)計(jì)出現(xiàn)問(wèn)題時(shí),提出意見,在進(jìn)行自己的畢業(yè)設(shè)計(jì)時(shí)愿意擠出時(shí)間幫助我。感謝同學(xué)們讓我擁有了美好的四年大學(xué)生活。參考文獻(xiàn)1 謝龍漢 莫衍.proteus電子電路設(shè)計(jì)及仿真.北京:電子工業(yè)出版社,20122 周靈彬 任開杰.基于proteus 的電路與pcb的設(shè)計(jì).北京:電子工業(yè)出版社,20103 康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版). 北京:高等教育出版社,2006.14 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分(第五版).北京:高等教育出版社,2006.15 李建忠.單片機(jī)原理及應(yīng)用(第二版).西安:西安電子科技大學(xué)出版社,2008.26 郝建國(guó) 鄭燕 薛延俠.單片機(jī)在電子電路設(shè)計(jì)中

51、的應(yīng)用.北京:清華大學(xué)出版社,2006.57 顧三春 仝迪.電子技術(shù)實(shí)驗(yàn).北京:化學(xué)工業(yè)出版社,2009.88 趙廣林.常用電子元器件識(shí)別/檢測(cè)/選用一讀通.北京:電子工業(yè)出版社,2007.49 米旭.protel 2004電路設(shè)計(jì)與仿真.北京:機(jī)械工業(yè)出版社,2006.110 王國(guó)勝.c#基礎(chǔ)與案件開發(fā)祥解.清華大學(xué)出版社,200911 周長(zhǎng)發(fā). c#面向?qū)ο缶幊?電子工業(yè)出版社,200712 謝自美.電子線路綜合設(shè)計(jì).武漢:華中科技大學(xué)出版社,2006.613 彭偉.單片機(jī)c語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于8051+proteus仿真.北京:電子工業(yè)出版社,200914 劉同法.單片機(jī)c語(yǔ)言編程基礎(chǔ)與實(shí)踐.北京:北京航空航天大學(xué)出版社,200

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論