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

下載本文檔

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

文檔簡介

1、目錄1 緒論11.1 本設(shè)計(jì)的研究背景和研究目的11.2 國內(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簡介63.1.2 單片機(jī)端口分配63.2 電源電路的設(shè)計(jì)83.3 時(shí)鐘電路的設(shè)計(jì)93.4 復(fù)位電路的設(shè)計(jì)93.5 按鍵電路的設(shè)計(jì)103.6 模擬球臺電路的設(shè)計(jì)113.6.1譯碼器簡介113.6.2發(fā)光二極管

2、簡介133.6.3 模擬球拍電路的設(shè)計(jì)143.7 顯示電路的設(shè)計(jì)143.7.1 lcd1602簡介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軟件簡介245.1.2 keil uvision4軟件簡介255.1.3 仿真調(diào)試255.1.4 仿真調(diào)試的結(jié)果分析275.2 實(shí)物調(diào)試及分析275.2.1 制作實(shí)物的過程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ì)的研究背景和研究目的乒乓球,中華人民共和國國球,是一種世界流行的球類體育項(xiàng)目。它的英語官方名稱是“table tennis”,即“網(wǎng)上桌球”。乒乓球的名字起源于1990年。乒乓球的比賽賽制是以11分為一局

4、,采用五局三勝(團(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)境等因素的影響,在家即可

5、進(jìn)行操作。操作的同時(shí),讓操作者仿佛在真正的打乒乓球。而且該設(shè)計(jì)屬于一種益智類設(shè)計(jì),讓人既可以鍛煉身體,也可以鍛煉智力。1.2 國內(nèi)外研究現(xiàn)狀第二次世界大戰(zhàn)以后,電子計(jì)算機(jī)技術(shù)得到了突飛猛進(jìn)的發(fā)展。電子計(jì)算機(jī)一代一代的更新的同時(shí),軟件設(shè)計(jì)也迅速發(fā)展。于是,1971年,世界上第一臺電子游戲機(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è)信號發(fā)生器。如今乒乓游戲機(jī)已出現(xiàn)3d類,體感類等等類型。乒乓游戲機(jī)不僅可以實(shí)現(xiàn)人們對乒乓球的熱愛,又可以讓人們在玩耍的同時(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)乒乓球的位置和移動方向由燈亮及依次點(diǎn)燃的方向決定,球移動的速度為0.11s移動一位。游戲者根據(jù)球的位置發(fā)出相應(yīng)的動作,

7、提前擊球或出界均判失分。(3)比賽用11分為一局來進(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軟件對電路進(jìn)行仿真,最后通過制作實(shí)物實(shí)現(xiàn)設(shè)計(jì)。2 乒乓游戲機(jī)設(shè)計(jì)方案目前,有兩種方案來設(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ī)電路、模擬球臺電路、按鍵電路、顯示電路等電路的設(shè)計(jì)。軟件設(shè)計(jì)包括:主程序、按鍵組程序(球拍模擬和暫停/開始子程序)、發(fā)球程序、線路程序(包括線路選擇和led點(diǎn)陣子程序)、回球程序、lcd顯示程序?;趩纹瑱C(jī)的乒乓游戲機(jī)系統(tǒng)框圖如圖2.1所示。單 片 機(jī) 模 塊電源電路模擬球臺電路時(shí)鐘電路 復(fù)位電路lcd顯示屏按鍵電路圖2.1 基于單片機(jī)的乒乓游戲機(jī)的系統(tǒng)框圖2.1.1 硬件設(shè)計(jì)電源電路設(shè)計(jì):單片機(jī)正常工作電壓為+5v,

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

10、程序時(shí),對游戲機(jī)進(jìn)行暫?;蜷_始或復(fù)位。模擬球臺設(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ì)主程序:對乒乓游戲機(jī)進(jìn)行初始化,定時(shí)器設(shè)置,對led點(diǎn)陣輸入數(shù)據(jù)等,延時(shí)掃描按鍵。按鍵程序:在回球和發(fā)球時(shí),按鍵按下給單片機(jī)傳入數(shù)據(jù)作出相應(yīng)處理。包括暫停/開始子程序,對系統(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)。通過對各部分

12、編寫vhdl程序,然后進(jìn)行編譯、仿真、邏輯綜合、邏輯適配,最后進(jìn)行編程下載,并通過程序驗(yàn)證結(jié)果。用16個(gè)發(fā)光二極管代表乒乓球,在游戲機(jī)的兩側(cè)各設(shè)置兩個(gè)開關(guān),一個(gè)是發(fā)球開關(guān),一個(gè)是擊球開關(guān)。甲方按動發(fā)球開關(guān)時(shí),靠近甲方的第一盞燈亮,然后發(fā)光二極管由甲向乙依次點(diǎn)亮,代表乒乓球在移動。當(dāng)球過網(wǎng)后,按設(shè)計(jì)者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或沒有擊到球,則判乙方失分,甲方自動加分,重新發(fā)球比賽繼續(xù)進(jìn)行到一方記分到11分,該局結(jié)束,記分牌清零,可以開始新的一局比賽。其系統(tǒng)框圖如2.2所示。圖2.2 基于fpga乒乓游戲機(jī)的系統(tǒng)框圖2.3 方案比較與選擇fpga的運(yùn)行速度很快,適合高速場合,而單片機(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ī)芯片是固定的,通過軟件編程語言描述在硬件芯片上的執(zhí)行的軟件指令。fpga設(shè)計(jì)屬于硬件范疇,它的硬件即fpga是可編程的,是一個(gè)通過硬件描述語言在fpga芯片上自定義集成電路的過程。由上可知,fpga具有很多優(yōu)點(diǎn),但是對

14、本設(shè)計(jì)而言是大材小用,而且芯片造價(jià)較高,因此選用單片機(jī)完成本設(shè)計(jì)。在國內(nèi),有很多成熟且性價(jià)比高的單片機(jī),以51單片機(jī)為主。本設(shè)計(jì)對芯片的要求不高,因此選用性價(jià)比高的單片機(jī)stc89c51。stc89c51是isp的系統(tǒng)可編程芯片,可以直接將程序燒錄到芯片中,方便程序的修改和實(shí)物調(diào)試。其工作電壓要求低,工作頻率可達(dá)48mhz。并且可通過串口直接下載程序,數(shù)秒即可完成下載。采用單片機(jī)完成設(shè)計(jì),可利用proteus繪制電路原理圖,用keil uvision4進(jìn)行編程,然后進(jìn)行仿真調(diào)試,減少出錯(cuò)。并且采用c語言編程,移植性強(qiáng),使端口的程序控制變得簡單。綜上所述,采用方案一完成乒乓游戲機(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),并且其具有在線編程功能,可以直接將程序燒錄到芯片中,不需要對硬件進(jìn)行修改。就乒乓游戲機(jī)而言,stc89c51能通過程序的編寫實(shí)現(xiàn)所需的功能。3.1.1 單片機(jī)stc89c51簡介單片機(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存儲單元,具有在系統(tǒng)可編程特性,配合pc端的控制程序即可將用戶的程序代碼下載到單片機(jī)內(nèi)部,并且速度更快。stc89c51的芯片擦除特性:整個(gè)perom陣列與三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳低電平10ms來完成。在芯片擦除中,代碼陣列全被寫“1”,且在任何非空存儲字節(jié)被重復(fù)編程以前,必須執(zhí)行該操作。stc89c51芯片及其引腳如圖3.1所示。圖3.1 stc89c51芯片及其芯片引腳圖3.1.2 單片機(jī)端口分配乒乓游戲機(jī)需要八個(gè)端口接按鍵;16個(gè)發(fā)光二極管則通過兩個(gè)3-8譯碼器與單片機(jī)連接,需要六個(gè)端口;lcd顯示屏需要7個(gè)端口;單片機(jī)時(shí)鐘電路接兩個(gè)端

17、口;復(fù)位電路接復(fù)位端口;暫停/開始按鍵需要兩個(gè)端口;發(fā)球指示燈和暫停指示燈需要兩個(gè)端口。下面對所需端口進(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ù)存儲器,它可以被定義為數(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口用于外部程序存儲器或十六位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),p2口輸出高八位地址。在給出地址“1”時(shí),利用上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),p2口輸出單片機(jī)特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。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ù)存儲器寫選通)p3.7/rd (外部數(shù)據(jù)存儲器讀選通) 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作為譯碼器信號輸入口控制發(fā)光二極管;p3.2p3.4作為lcd顯示屏的控制端;rst引腳為復(fù)位電路輸入口;xtal1、xtal2分別作為片內(nèi)振蕩器的輸入和輸出。3.2 電源電路的設(shè)計(jì)單片機(jī)stc89c51的工作電壓為+5v,因此需要一個(gè)電源電路

21、來提供這一電壓。設(shè)計(jì)通過固定三端穩(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)部包含了過流、過熱和調(diào)整管的保護(hù)電路,使用時(shí)組成穩(wěn)壓電源所需的外圍元件少,使用起來可靠、方便、快捷。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ū)動下的時(shí)序邏輯電路,即單片機(jī)必須在時(shí)鐘的驅(qū)動下才能夠工作。單片機(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í)鐘信號。電路中的電容作用有兩個(gè):一是對振蕩器的頻率進(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ù)位端。對該引腳程序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)過一定時(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ì)按鍵是一種常見的控制電器元件,常用來接通或斷開控制電路,從而達(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è)是對led點(diǎn)

25、陣線路的操作,一個(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ì)圖如3.6所示。圖3.6 按鍵電路設(shè)計(jì)圖暫停和開始按鍵分別與單片機(jī)的p1.0和p1.1相連。復(fù)位按鍵與單片機(jī)復(fù)位端口相連。暫停和開始按鍵電路設(shè)計(jì)圖如圖3.7所示。圖3.7 暫停和開始按鍵電路設(shè)計(jì)圖3.6 模擬球臺電路的設(shè)計(jì)模擬球臺電路設(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 譯碼器簡介本設(shè)計(jì)采用74ls138譯碼器進(jìn)行譯碼。74ls138為3-8線譯碼器,其中l(wèi)s指采用低功耗肖特基電路。該譯碼器有3位二進(jìn)制輸入a0、a1、a2,共有8種狀態(tài)的組合,即可譯出8個(gè)輸出信號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)制編碼在對應(yīng)的輸出端以低電平譯出。74ls138的引腳圖如圖3.8示。圖3.8 74ls138的引腳圖74ls138的功能真值表如表3.3所示。表3.3 74ls138功能真值表輸入輸出e3e2e1a2a1a0y0y1y2y3y4y5y6y7xhxxxxhhhhhhhhxxhxxxhhhhhhhhlxxxxxhhhhhhhhhllllllhhhhhhhhllllhhlhhhhhhhlllhlhhlhhhhhhlllhhhhhlh

28、hhhhllhllhhhhlhhhhllhlhhhhhhlhhhllhhlhhhhhhlhhllhhhhhhhhhhl3.6.2發(fā)光二極管簡介發(fā)光二極管簡稱為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è)過渡層,稱為pn結(jié)。在某些半導(dǎo)體材料的pn結(jié)中,注入少數(shù)載流子與多數(shù)數(shù)載流子復(fù)合時(shí)把多余的能量以光的形式釋放出來,從而把電能轉(zhuǎn)換成光能。發(fā)光二極管的兩根引線較長的一根是正極,需接電源正極。發(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口輸出信號,從而達(dá)到控制發(fā)光二極管的熄滅與點(diǎn)亮。其電路圖如圖3.10所示。圖3.10模擬球臺電路設(shè)計(jì)圖3

30、.7 顯示電路的設(shè)計(jì)乒乓游戲機(jī)的數(shù)據(jù)較為簡單,只需要顯示比分和最終勝利的狀態(tài),因此選用只顯示字符和數(shù)字的lcd1602顯示屏。3.7.1 lcd1602簡介乒乓游戲機(jī)顯示電路設(shè)計(jì)采用lcd1602顯示屏。lcd1602為工業(yè)字符型液晶,能夠同時(shí)顯示32個(gè)字符。它是專門用來顯示字母、數(shù)字、符號等的點(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)液晶顯示器對比度調(diào)整端,接正電源對比度最弱,接地電源最高rs寄存器選擇。高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器rw讀寫信號線。高電平時(shí)讀取信息,低電平時(shí)進(jìn)行寫操作e(en)使能端。高電平時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令d0d78位雙向數(shù)據(jù)端bla背光正極blk背光負(fù)極lcd1602的特性:3.3v或5v工作電壓,對比度可調(diào);內(nèi)含復(fù)位電路,提供各種控制命令;有80字節(jié)顯示數(shù)據(jù)存儲器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來顯示乒乓游戲機(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è)模擬乒乓球臺桌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)流程圖通過程序?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ù)。 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)來自由按鍵組傳來的數(shù)據(jù),如果在delay_1(t)中作出正確的選擇,進(jìn)入回球程序,否則對方加1分。 按下按鍵否是是否成功對方分?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í),按鍵都沒做出正確輸入時(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)乒乓球的移動。 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í),同理。這里需要對16個(gè)燈(d2-d17)進(jìn)行處理。下面對其中一個(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軟件簡介proteus軟件是英國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)過焊接、組裝、調(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軟件簡介keil uvision4是德國keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng)。keilc51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件提供了c語言環(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)行編譯,修改直至無錯(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)試過程中,觀看lcd顯示屏的變化,由此得出設(shè)計(jì)是否正確。如果不正確,按以上步驟進(jìn)行修改,直到達(dá)到設(shè)計(jì)要求。5.1.4 仿真調(diào)試的結(jié)果分析對電路進(jìn)行仿真調(diào)試后,發(fā)現(xiàn)了一些問題。(1)led未

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

45、中。燒錄的步驟為:選項(xiàng)/串口設(shè)置、芯片型號選擇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í)物制作后,對總電路進(jìn)行調(diào)試。在調(diào)試中遇到的問題:

46、(1)在按鍵操作過程中,發(fā)光二極管快速變化,與設(shè)定值不一樣。經(jīng)分析,原因?yàn)槌绦蛑械姆蓝秳庸δ懿煌晟?。在?shí)際的電路中,機(jī)械式按鍵按下或釋放時(shí),因?yàn)闄C(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動,然后其觸點(diǎn)才穩(wěn)定下來??赡茉诎聪掳存I時(shí),已經(jīng)對按鍵進(jìn)行了幾次操作,因此發(fā)光二極管快速的變化。通過對程序的修改,問題解決。(2)發(fā)光二極管未按預(yù)期效果被點(diǎn)亮,經(jīng)過分析,發(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ī)的雙人對打。本設(shè)計(jì)采用44的線路電路,乒乓球的位置和移動方向由燈亮及依次燈亮的方向決定使用,乒乓游戲機(jī)的a、b兩方在各自不同的位置發(fā)球或擊球,分別有左、中、右、加速四個(gè)按鍵作為模擬球拍。游戲者根據(jù)球的位置按下相應(yīng)的按鍵得分,最后通過lcd顯示屏顯示數(shù)據(jù)。通過一系列的仿真調(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ù)雜,如果可以采取無線的方式,則更加方便攜帶

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

49、生產(chǎn)、安裝、調(diào)試等一系列的過程。回顧四年大學(xué)生活,有太多事情對以后的人生影響深遠(yuǎn)。特別是2012年暑假,我在實(shí)驗(yàn)室學(xué)到了很多,對我這次的畢業(yè)設(shè)計(jì)的完成提供了基礎(chǔ)。感謝我的指導(dǎo)老師孫曉玲老師。她在忙碌的教學(xué)工作中,孫老師每周二都會對我們的畢業(yè)設(shè)計(jì)審查,從設(shè)計(jì)的選題直至最后畢業(yè)論文的修改整個(gè)過程,孫老師都給出了自己的寶貴意見,孫老師的悉心指導(dǎo)和建議給了我極大的幫助,在此對孫老師表示衷心感謝。同時(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)問題時(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 郝建國 鄭燕 薛延俠.單片機(jī)在電子電路設(shè)計(jì)中

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

溫馨提示

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

評論

0/150

提交評論