基于AT89C51的籃球計時、計分器設(shè)計_第1頁
基于AT89C51的籃球計時、計分器設(shè)計_第2頁
基于AT89C51的籃球計時、計分器設(shè)計_第3頁
基于AT89C51的籃球計時、計分器設(shè)計_第4頁
基于AT89C51的籃球計時、計分器設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、淮陰師范學(xué)院畢業(yè)論文(設(shè)計)畢 業(yè) 論 文學(xué)生姓名張傲學(xué) 號170906039學(xué)院 物理與電子電氣工程學(xué)院專 業(yè)電子信息科學(xué)與技術(shù)題 目基于AT89C51的籃球計時、計分器設(shè)計指導(dǎo)教師 魏東旭 碩士/講師 2013年5月22摘 要:本文中的系統(tǒng)主要使用AT89C51芯片作為核心元件,結(jié)合外部的顯示電路及鍵盤控制電路,構(gòu)成了一個籃球計時計分器。整體電路主要由AT89C51芯片、鍵盤控制、計分顯示器和計時顯示器四個模塊組成。設(shè)計中主要使用Keil軟件和Proteus軟件。Keil軟件主要用來對C語言程序進(jìn)行編譯。Proteus軟件主要用來對硬件電路進(jìn)行仿真。整個設(shè)計可以實現(xiàn)計分顯示、計時顯示和比賽

2、結(jié)束報警等功能。設(shè)計結(jié)果表明,在籃球比賽中使用計時計分器可以準(zhǔn)確的記錄比分和比賽時間,也可以增加籃球比賽的觀賞性。關(guān)鍵詞:AT89C51,籃球,計時器,計分器Abstract:In this paper, the system mainly uses AT89C51 chip as a core component, combination of external display circuit and keyboard control circuit, constituting a basketball timing score indicator. Overall circuit main

3、ly consists of AT89C51 chip, the keyboard control, a scoring display and a timer display. The design Mainly used Keil software and Proteus software. Keil software is mainly used to compile the C language program. Proteus software is mainly used for the simulation of hardware circuit. The design can

4、realize scoring display, timer display and alarm functions at the end of the game. Design results show that using the timer in the basketball match score indicator can accurately record the score and the game time. It can also add to the look of a basketball game.Keywords:AT89C51, basketball, timer,

5、 score indicator目錄1 緒論51.1設(shè)計背景51.2設(shè)計目的51.3設(shè)計要求62 系統(tǒng)硬件介紹62.1單片機概述62.2 AT89C51性能介紹62.3顯示器介紹113 硬件電路設(shè)計123.1系統(tǒng)構(gòu)成框圖123.2振蕩電路133.3計時計分LED顯示器設(shè)計133.4控制鍵盤器154 軟件設(shè)計方案164.1籃球計時計分器總流程如圖174.2計時器示流程圖184.3計分器顯示流程圖195 仿真與調(diào)試205.1軟件簡介205.2仿真結(jié)果21結(jié) 論28參 考 文 獻(xiàn)29致 謝30附錄A 硬件電路整體圖31附錄B 源程序321 緒論本文介紹的是基于單片機控制的籃球計時計分器的發(fā)展和前景,

6、論述其系統(tǒng)的組成框圖,對各部分電路的功能及其器件進(jìn)行論證,主要包括計分器顯示電路,計時器顯示電路、鍵盤控制電路、振蕩電路等。具體論述電路的實現(xiàn)方案及各部分電路使用器件。并設(shè)計軟件部分的程序流程圖、編寫相應(yīng)的程序。最后,應(yīng)用Proteus軟件,實現(xiàn)了功能仿真。1.1設(shè)計背景在日常生活中單片機將我們的生活變的更加智能,許多繁瑣的系統(tǒng)如果改由單片機進(jìn)行設(shè)計,便能使系統(tǒng)更簡潔、更智能。給人們的生活帶來更大的便捷。隨著現(xiàn)在技術(shù)發(fā)展,智能化越來越普遍,越來越給人們的生活帶來改變。單片機與串口通信的結(jié)合更多地應(yīng)用到各種系統(tǒng)中已成一種趨勢。此次設(shè)計就是單片機和籃球的完美結(jié)合。現(xiàn)如今籃球是一項風(fēng)靡全球的運動,特

7、別是美國職業(yè)籃球的球星們更是眾多球迷所喜愛的運動員。很多人很熟悉籃球,也對籃球的計時計分有所了解?;@球比賽是兩個隊在規(guī)定的時間內(nèi)得分多少來決定勝負(fù)的,這就需要有計時計分器記錄下每隊的得分以及所花時間。因此籃球計時計分器就應(yīng)運而生?;蛟S許多人有著用翻牌器計分的記憶,但是根據(jù)目前高水平的籃球要求,需要更精確更及時的計時計分。以便于觀眾能更好的欣賞比賽,能更好的感受比賽緊張的氣氛。于是就有了應(yīng)用AT89C51設(shè)計的籃球計時計分器。1.2設(shè)計目的當(dāng)今社會隨著單片機在各個領(lǐng)域的廣泛應(yīng)用,許許多多用單片機做核心的球賽計時計分系統(tǒng)也隨之而產(chǎn)生,例如用AT89C51單片機控制LCD液晶顯示器計時計分器,還有使

8、用單片機控制LED七段顯示器計時計分器等。本次設(shè)計采用的是由AT89C51控制LED七段數(shù)碼管作顯示的籃球比賽計時計分器。該系統(tǒng)具有比賽時間設(shè)置,比賽時間暫停,甲乙雙方比分累加,甲乙雙方比分切換等功能。它具有價格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點。廣泛適合各類學(xué)?;蛘咝⌒蛨F體作為賽程計時計分 1。通過本次基于C51系列籃球計時計分器的設(shè)計,可以了解、熟悉有關(guān)單片機開發(fā)設(shè)計的過程,并加深對單片機的理解和應(yīng)用以及掌握單片機與外接設(shè)備連接的一些方法和技巧,這主要表現(xiàn)在以下一些方面:(1) 籃球賽計時計分系統(tǒng)包含了8051系列單片機的最小系統(tǒng)的構(gòu)成,同時在此基礎(chǔ)上擴展了一些外接設(shè)備。(2) 可

9、以了解到LED顯示器的結(jié)構(gòu)、工作原理以及這種顯示器的接口實例、具體連接與編程方法。1.3設(shè)計要求(1)籃球計時計分器功能:記錄比賽雙方比分,可進(jìn)行加減分交換場地時比分交換倒計時形式記錄比賽時間比賽結(jié)束發(fā)出報警聲(2)設(shè)計硬件電路圖。(3)畫出程序流程圖、編寫程序、完成編譯。(4)硬件電路進(jìn)行連接、調(diào)試、并完成Proteus仿真。2 系統(tǒng)硬件介紹2.1單片機概述單片機是把一個計算機系統(tǒng)集成在一塊半導(dǎo)體芯片上,其目的在于計算機微型化和提高系統(tǒng)的可靠性。單片機的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對自動控制應(yīng)用而設(shè)計的,所以單片機又稱微控制器MCU(Micro Controller Unit)。單片機由運

10、算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(最小系統(tǒng)),和計算機相比,單片機缺少了外圍設(shè)備等。單片機是通過內(nèi)部的總線把計算機的各個主要部分連接到一個機構(gòu),其內(nèi)部包括三種總線:地址總線、控制總線和數(shù)據(jù)總線2。單片機的體積小、質(zhì)量輕、價格便宜,為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇3。2.2 AT89C51性能介紹MCS-51是指由美國INTEL公司生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了很多品種,如8031,8051,8751等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而

11、來的,所以人們習(xí)慣于用8051來稱呼MCS51系列單片機。AT89C51是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含4k 字節(jié)的可反復(fù)擦寫的只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM)。AT89C51單片機使用的是高密度的生產(chǎn)技術(shù)并且還不容易丟失內(nèi)部存儲的數(shù)據(jù),對其進(jìn)行編譯是可以使用51單片機指令系統(tǒng)。AT89C51是一個使用性能高但是損耗功率很小的單片機,40個外部引腳,其中包含有32個雙向輸入/輸出(I/O)端口,單片機內(nèi)部還含2個全雙工串行通信口,以及2個16位可編程定時計數(shù)器和2個外中斷口;它主要由中央處理器,控制器,存儲器,I/O接口,定時器/計數(shù)器, 中斷控

12、制系統(tǒng),內(nèi)部總線等部分組成。如圖2-1所示 2-1 AT89C51引腳圖主要特性:兼容MCS-51的相關(guān)指令系統(tǒng)4K字節(jié)可擦寫存儲器32個I/O接口8*128bit位內(nèi)部RAM2個16位定時/計數(shù)器工作時鐘頻率0-24MHz5個中斷源可供編程使用的串行口管腳說明:VCC:供電電壓。  GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必

13、須被拉高。  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。   P2口:P2口是一個8位雙向輸入/輸出端口,擁有內(nèi)部上拉電阻。P2端口輸出的緩沖器能夠驅(qū)動4個TTL邏輯電平。當(dāng)P2端口寫“1”時,內(nèi)部上拉電阻拉高端口,這種狀態(tài)下P2端口可以作為輸入端口使用。在被作為輸入端口使用時,被外部拉低的引腳因為內(nèi)部電阻的原因,從而輸出電流。當(dāng)訪問外部程序

14、存儲器或使用16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在此應(yīng)用中,P2口運用很強的內(nèi)部上拉發(fā)送“1”。當(dāng)使用8位地址(如MOVX RI)來訪問外部數(shù)據(jù)存儲器時,P2端口輸出P2鎖存器的內(nèi)容。因此,當(dāng)Flash編程和校驗時,P2口也會同時接收高8位地址字節(jié)和大量的控制信號3。  P3口:P3口為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻,它是雙功能復(fù)用口,每個引腳可驅(qū)動4個TTL負(fù)載。作為通用I/O接口時,功能與P1口相同,常使用第二功能。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能 P3.7端口也作為

15、/RD端口,功能是:外部數(shù)據(jù)存儲器讀選通 P3.6 端口也作為 /WR端口,功能是:外部數(shù)據(jù)存儲器寫選通 P3.5 端口也作為T1端口,功能是:記時器1外部輸入 P3.4 端口也作為T0端口,功能是:記時器0外部輸入 P3.3 端口也作為/INT1端口,功能是:外部中斷1 P3.2 端口也作為/INT0端口,功能是:外部中斷0 P3.1 端口也作為TXD端口,功能是:串行輸出口 P3.0 端口也作為RXD端口,功能是:串行輸入口 P3口同時也可以接收一些控制信號供編程校驗和閃爍編程使用。  RST端口:復(fù)位輸入端。當(dāng)RST端口持續(xù)兩個機器周期的高電平時,則單片機進(jìn)行復(fù)位。A

16、LE/PROG:地址鎖存允許/編程引腳。當(dāng)訪問外部的程序存儲器時,ALE的輸出用于鎖存地址的地位字節(jié),一邊與P0口實現(xiàn)地址/數(shù)據(jù)復(fù)用。當(dāng)不訪問外部程序存儲器時,ALE端口將輸出一個1/6時鐘頻率的脈沖信號,這個信號可以用于識別單片機是否工作,也可以當(dāng)做一個時鐘向外輸出。第二功能是對EPROM芯片進(jìn)行編程和校驗是,此引腳傳送52ms寬的負(fù)脈沖信號。在需要的情況下,可以將地址為8EH單元的SFR的D0位置“1”,則ALE操作將無效。若這個位置“1”,ALE則僅在執(zhí)行MOVC或MOVX指令時能被激活13。PSEN:作為片外ROM選通線。在執(zhí)行訪問片外ROM的指令MOVC時,80C51自動在該引腳上產(chǎn)

17、生一個負(fù)脈沖,用于對片外ROM的選通。在其他情況下,該引腳均為高電平封鎖狀態(tài)。EA/VPP:作為允許訪問片外程序存儲器/編程電源線。80C51內(nèi)置有4KB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4KB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4KB地址時,則讀取外部程序存儲器指令。如果為低電平,則不管地址大小,一律讀取外部程序存儲器指令。由此看出,對于片內(nèi)沒有程序存儲器的單片機,此引腳必須接地。此引腳是復(fù)用引腳,其第二功能是片內(nèi)EPROM編程/校驗時的電源線,在編程時,此引腳需加上21V的編程電壓。  XTAL1/XTAL2:作為片內(nèi)振蕩電路的輸入端。作為片內(nèi)振蕩電路的輸出

18、端。1.振蕩器特性:  XTAL1引腳為片內(nèi)振蕩電路的輸入端,XTAL2引腳為片內(nèi)振蕩電路的輸出端。80C51單片機的時鐘有兩種方式:一種是片內(nèi)時鐘振蕩方式,但是需要在18和19引腳外部接上一個石英晶振和振蕩電容,振蕩電容的值一般取30pF;另一種是外部時鐘方式,就是將XTAL1懸空,外部時鐘信號從XTAL2引腳輸入12。2.芯片擦除當(dāng)ALE引腳持續(xù)10ms的低電平時,我們可以通過準(zhǔn)確的控制信號的不同組合方式來對三個鎖定位和整個陣列進(jìn)行電擦除。要想擦除芯片,就需要在不為空的存儲字節(jié)在程序中被重復(fù)的編程之前,將代碼陣列的值全部設(shè)置為“1”,如果不采取此動作,則無法擦除芯片4。

19、此外,穩(wěn)態(tài)邏輯也存在于AT89C51中,靜態(tài)邏輯在頻率接近零頻率時產(chǎn)生,而且其掉電模式能夠從兩種不同的軟件中自選。在空閑工作式下,將IDL位置為1,此時封鎖了進(jìn)入CPU的時鐘,于是CPU進(jìn)入空閑待機狀態(tài)。中斷系統(tǒng)、串行口、計數(shù)器/定時器,仍有時鐘信號,繼續(xù)工作。在掉電工作方式下,將PD位置為1,可以使單片機的振蕩器停止振蕩,只有片內(nèi)的RAM和SER中的數(shù)據(jù)保持不變,而且包括中斷系統(tǒng)在內(nèi)的全部電路都將處于停止工作的狀態(tài) 6。3.掉電模式在掉電工作方式下,將PD位置為1,可以使單片機的振蕩器停止振蕩,只有片內(nèi)的RAM和SER中的數(shù)據(jù)保持不變,而且包括中斷系統(tǒng)在內(nèi)的全部電路都將處于停止工作的狀態(tài)。要

20、想退出掉電工作方式,只能采用硬件復(fù)位,即需要在RST引腳上外加一個足夠?qū)挼膹?fù)位脈沖,使80C51復(fù)位。不能采用中斷喚醒的方法。想要使單片機從掉電方式退出后繼續(xù)執(zhí)行掉電前的程序,則必須在掉電前預(yù)先把SFR中的內(nèi)容保存到片內(nèi)RAM中 5。表2-3 外部引腳狀態(tài)表模式空閑模式空閑模式掉電模式掉電模式程序存儲器內(nèi)部外部內(nèi)部外部ALE1100/PROG1100P0數(shù)據(jù)浮空數(shù)據(jù)浮空P1數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)P2數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)P3浮空浮空數(shù)據(jù)數(shù)據(jù)4.程序儲存器的加密AT89C51可使用對芯片上的三個加密位LB1、LB2、LB3進(jìn)行編程(P)或者不進(jìn)行編程(U)。當(dāng)加密位LB1被編程時,在復(fù)位期間,EA斷的邏輯電

21、平被采樣并鎖存,如果單片機上電后一直沒有服位,則鎖存起的初始值是一個隨機數(shù),這個隨機數(shù)會保存到真正復(fù)位為止 。2.3顯示器介紹顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機系統(tǒng)設(shè)計中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價格便宜,接口容易實現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類,按顯示方式可分為段式,行點陣式和全點陣式。段式與數(shù)碼管類似,行點陣式一般是英文字符,全點陣式可顯示任何信息, 如漢字、圖形、圖表等 。兩者之間的區(qū)別:(1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價格較

22、低。液晶成本較高,面積無法做得很大,但圖像質(zhì)量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。(4)二極管圖像刷新率低,液晶的高 LED顯示器又稱為數(shù)碼管,LED數(shù)碼管是將8個發(fā)光二極管組合在一起從而構(gòu)成一個數(shù)碼管。其中7個組成一個“8”字型,還有一個是圓點樣的發(fā)光二極管作為一個小數(shù)點。由于其內(nèi)部結(jié)構(gòu)的引線已經(jīng)全部連接完成,所以只要導(dǎo)出各自的每一筆劃以及公共的電極。LED顯示器有兩種不同的形式:共陰極LED顯示器和共陽極LED顯示器,如圖2-2所示 。本次設(shè)計使用的是共陰極LED顯示器。 圖2-2 共陰與共陽極LED顯示器結(jié)構(gòu)LED顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。在本次設(shè)計

23、中,采用的是動態(tài)顯示。靜態(tài)顯示和動態(tài)顯示各有各的有點;LED的靜態(tài)顯示優(yōu)點是編程容易、管理簡單,但是靜態(tài)顯示所要占的I/O口資源很多;而動態(tài)顯示所占用資源較少,因此在顯示的LED點較多的情況下,一般都采用動態(tài)顯示方式4。在本次設(shè)計中,采用的是動態(tài)顯示。這種電路的優(yōu)點在于:通過分時方法分別控制每一個LED數(shù)碼管的COM端口,從而促使每個數(shù)碼管依次的接受控制并顯示。通過程序設(shè)置依次點亮每個數(shù)碼管,產(chǎn)生1ms2ms的發(fā)光時間,因為每個人都存在視覺暫留的現(xiàn)象,加之受到發(fā)光二極管余輝效應(yīng)的影響和信號的掃描達(dá)到一定足夠的速度,就能看到點亮后的顯示結(jié)果。LED數(shù)碼顯示器如圖2-3所示。 2-3 7段LED數(shù)

24、碼管3 硬件電路設(shè)計 3.1系統(tǒng)構(gòu)成框圖 本次設(shè)計主要基于AT89C51單片機,主體的計時計分器系統(tǒng)框圖如圖3-1所示。計分顯示電路晶振電路89C51計時顯示電路控制鍵盤圖3-1系統(tǒng)整體框圖本系統(tǒng)采用單片機AT89C51作為本設(shè)計的核心元件。利用7段共陰LED作為顯示器件。在本次設(shè)計中,共接入8個共陰LED顯示器,其中4個用于記錄 甲、乙兩隊的分?jǐn)?shù),每隊2個LED顯示器分?jǐn)?shù)范圍可達(dá)到099分,足夠滿足賽程需要。另外4個LED顯示器則用于記錄賽程的時間,分別用于記錄分鐘和秒鐘。賽程計時采用倒計時方式。即比賽前將時間設(shè)置為10分鐘,比賽開始時啟動計時,直至計時到零為止。其次鍵盤共設(shè)置了16個開關(guān),

25、0-7號鍵盤為計分鍵盤分別控制甲隊、乙隊得分,為防止出現(xiàn)分加錯的情況,特別設(shè)置了3、7號開關(guān)為減分按鈕。8、9按鈕分別是比分清零和比分切換按鈕。A-F按鈕則是控制時間及比賽開始。復(fù)位按鈕控制復(fù)位情況。3.2振蕩電路本次設(shè)計要使用到AT89C51單片機的時鐘振蕩功能。AT89C51中有一個用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器7。AT89C51的時鐘主要分為兩種方式:第一種是片內(nèi)時鐘振蕩,另一種是外部時鐘方式。本次設(shè)計采用的是第一種片內(nèi)時鐘振蕩方式,通過在18和19端口外

26、接石英晶體和振蕩電容組成,這樣既可產(chǎn)生本設(shè)計所需的時鐘。振蕩電路如圖3-2所示。 圖3-2 時鐘振蕩電路3.3計時計分LED顯示器設(shè)計本次設(shè)計的核心就是采用AT89C51設(shè)計出一整套計時計分器,以滿足與籃球比賽的需要。本次設(shè)計的LED顯示器采用的是動態(tài)驅(qū)動方式。動態(tài)驅(qū)動,就是通過控制依次點亮每一段數(shù)碼管,每個數(shù)碼管點亮的時間在1ms至2ms,利用人眼的視覺暫留現(xiàn)象,就可以讓人看到顯示的結(jié)果。加之發(fā)光二極管還有余暉效應(yīng),只要信號的掃描達(dá)到一定的速度,就能穩(wěn)定的顯示信息。動態(tài)驅(qū)動不需要使用過多的I/O端口,這樣可以簡化電路。要使LED數(shù)碼管要能夠正常顯示,需要用驅(qū)動電路驅(qū)動數(shù)碼管的各個段碼,由此顯

27、示需要的數(shù)字和字母,所以按照LED不同的驅(qū)動方式,可以將其分為靜態(tài)模式和動態(tài)模式兩種11。(1)動態(tài)顯示驅(qū)動:使用數(shù)碼管動態(tài)顯示界面的顯示方式,已成為在單片機的應(yīng)用中最廣泛的一種,動態(tài)驅(qū)動就是將每個數(shù)碼管的8個顯示的筆劃“a, b, c, d, e, f, g, dp”這幾個引腳的同名端相連接,同時給數(shù)碼管公共極COM增加了位元件選通控制電路,該位元件選通通過各自的獨立輸入/輸出線控制。若單片機依次輸出了字形碼,則所有的數(shù)碼管必會接收到同樣的字形碼。但是,單片機對于位元件選通電路的控制則決定了最終是哪個數(shù)碼管能夠顯示出字形。因此,我們?nèi)粝胨璧臄?shù)碼管燈亮,則只要打開所需對應(yīng)的數(shù)碼管的選通控制,

28、而不打開相應(yīng)選通控制的數(shù)碼管沒有辦法亮。動態(tài)驅(qū)動就是通過分時方法分別控制每一個LED數(shù)碼管的COM端口,從而促使每個數(shù)碼管依次的接受控制并顯示。數(shù)碼管在依次顯示的過程當(dāng)中,會產(chǎn)生1ms2ms的發(fā)光時間,因為每個人都存在視覺暫留的現(xiàn)象,加之受到發(fā)光二極管余輝效應(yīng)的影響和信號的掃描達(dá)到一定足夠的速度,所以,人會接收到穩(wěn)定的顯示信息10。(2)靜態(tài)顯示驅(qū)動:直流驅(qū)動被稱為靜態(tài)驅(qū)動。所謂的靜態(tài)驅(qū)動就是其每一個的段碼都必須要有一個單片機的輸入/輸出端口完成驅(qū)動。編程簡單是靜態(tài)驅(qū)動的優(yōu)點,它的顯示亮度非常高,占用I/O口多是它的缺點,假設(shè)想要驅(qū)動5個數(shù)碼管都進(jìn)行靜態(tài)顯示,那么就需要根I/O口來驅(qū)動數(shù)碼管,

29、因為一個89C52單片機只有32個I/O口,所以,在實際應(yīng)用時則需要用利用譯碼器進(jìn)行驅(qū)動,因而對于硬件電路來說則提高了它的復(fù)雜度9。計時計分器電路分別如圖3-3、3-4所示。 圖3-3計時顯示器電路 圖3-4計分顯示器電路3.4控制鍵盤器控制鍵盤由16個按鈕組成,主要分為兩個部分,第一部分是比分控制鍵盤,另一部分是時間控制鍵盤。比分控制鍵盤由0-9號按鈕組成,分別按下02號按鈕甲隊分別加一分、兩分和三分,3號按鈕為減分按鈕,防止分?jǐn)?shù)加錯,每按下一次甲隊減一分。4-6號按鈕控制的是乙隊的加一分、兩分和三分,7號按鈕同樣是減分按鈕每按下一次,乙隊減一分。按下8號鍵,雙方比分清零;中場結(jié)束后開始下半

30、場比賽時需要交換比賽雙方比分,此時按下9號按鈕即可。A-F按鈕則是比賽控制按鈕及時間控制按鈕。按鈕A和按鈕B分別控制時間的加一和減一,時間的加減只能再時間停止時進(jìn)行。按下按鈕C整個計時計分器啟動,時間顯示器顯示10:00的單節(jié)比賽倒計時,比分顯示器顯示甲乙兩隊初始比分00:00。當(dāng)比賽需要暫停時按下D按鈕,單節(jié)比賽結(jié)束后按下E按鈕則時間恢復(fù)為10:00。鍵盤控制電路如圖3-5所示。 3-5控制鍵盤圖4 軟件設(shè)計方案在單片機應(yīng)用系統(tǒng)的開發(fā)過程中,主要采用的有匯編語言和C語言。匯編語言比C語言繁瑣,但是匯編語言能更充分的發(fā)揮指令系統(tǒng)的功能和效率,可以獲得最簡練的目標(biāo)程序。而C語言的應(yīng)用最為廣泛,C

31、語言能直接對計算機的硬件進(jìn)行操作,而且語言靈活、程序結(jié)構(gòu)良好、數(shù)據(jù)類型及運算符豐富、代碼效率高、可移植性好8。4.1 籃球計時計分器總流程如圖開始I/O初始化比賽開始計時器顯示記分器顯示N時間歸零Y報警器報警比賽結(jié)束接通電源后,系統(tǒng)進(jìn)行初始化處理,系統(tǒng)開始運行,檢測比賽開始按鈕是否按下,比賽開始后,時間倒計時隨即進(jìn)行。雙方比分增加,時間結(jié)束后報警器報警,比賽結(jié)束。4.2 計時器示流程圖 開始比賽開始計分器顯示倒計時開始N時間為0Y 報警器報警 結(jié)束比賽開始后,計時器則顯示單節(jié)比賽時間10:00,倒計時開始,當(dāng)比賽時間減到0時,報警器發(fā)出報警聲。部分倒計時主要程序如下:TH0=0x4C; /50

32、ms延時初值TL0=0x00;t+;if(t=20) /50ms走20次剛好1s,1s時間到減1操作t=0;miao-;if(miao=-1)fen-; /當(dāng)59s減完,分減1miao=59;if(fen=-1)fen=0; /分清零miao=0; /秒清零beep=0; /時間停止,蜂鳴器響4.3計分器顯示流程圖 開始 計分顯示甲隊減分甲隊加分乙隊加分NNN乙隊加分 甲隊加分 NYYYY甲隊減分顯示甲隊加分顯示乙隊減分顯示乙隊加分顯示N 比分切換Y 比分切換顯示N比分清零Y 比分清零顯示 結(jié)束比賽開始后,比分顯示器顯示00:00,此后甲隊和乙隊比分增加,中場休息后,兩隊交換場地,比分顯示也隨

33、之交換,比賽結(jié)束后,雙方比分清零。部分加分和比分交換程序如下:加分程序(部分):dalay(5);if(temp=0xde)a=a+ /甲隊比分加1if(a>=100)a=99;diapaly1(a);比分交換程序:delay(5);if(temp=0xdb)e=a;f=c;a=f;dispaly1(a);c=e;dispaly2(c); /兩隊比分切換5 仿真與調(diào)試單片機應(yīng)用的仿真和調(diào)試主要從硬件及軟件方面進(jìn)行,在本次設(shè)計的籃球計時計分器中我主要使用的是Keil和Proteus ISIS軟件。5.1軟件簡介5.1.1 Keil軟件簡介Proteus 簡介Keil C51軟件有很多庫函數(shù)

34、,它還有功能強大的集成工具盒開發(fā)工具,還具有調(diào)試工具,Keil C51軟件生成的所需代碼的效率特別高,及時語句很多得到的匯編代碼比較少,容易理解。Keil C51軟件使用高級語言編輯,在大型軟件設(shè)計中有很大優(yōu)勢。Keil C51單片機軟件開發(fā)系統(tǒng)可以完成連接、仿真、調(diào)試、編譯、編輯等開發(fā)流程。該軟件可以用集成開發(fā)環(huán)境IDE本身或其他編輯器C或匯編源文件而易學(xué)易用。Keil C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成后的開發(fā)環(huán)境包含:調(diào)試器,實時操作系統(tǒng),匯編器,項目管理器,編譯器。5.1.2 Proteus 簡介Proteus是全球出名的EDA仿真軟件,從原理圖繪制、編譯調(diào)

35、試代碼到單片機與外部電路同時仿真,只需要一鍵單擊即可切換到PCB設(shè)計,從而達(dá)到了從想象中的設(shè)計到實物設(shè)計。是當(dāng)前全球獨一無二的將三種軟件合一的設(shè)計平臺,三種軟件分別是電路仿真軟件,以及PCB設(shè)計軟件,還有虛擬模型仿真軟件。其處理器模型有很多種,例如8051、8086和ARM等,并還在不停添加別的類型處理器模型。Proteus可以通過多種軟件進(jìn)行編譯,例如Keil以及MPLAB,還有IAR軟件也可以。Proteus軟件也還有其它EDA工具軟件的功能:PCB自動或人工布線、SPICE電路仿真、原理布圖等。Proteus還具有仿真處理器、互動的電路仿真及其外圍電路的革命性特點。5.2仿真結(jié)果完成硬件

36、電路設(shè)計后,檢查線路連接,確認(rèn)連線沒有錯誤。雙擊單片機AT89C51,用單擊出現(xiàn)的對話框中的Program File按鈕,在之前保存的位置找到經(jīng)過Keil軟件編譯而生成的HEX文件,載入后點擊“OK”按鈕。然后單擊開始仿真按鈕進(jìn)行仿真。Proteus仿真總圖如圖5.1所示: 圖5-1 系統(tǒng)仿真總圖籃球計時計分的具體操作:(1) 計時顯示功能計時功能的實現(xiàn)是通過鍵盤控制器中的AE按鈕分別控制時間加1、時間減1、比賽開始倒計時、比賽時間暫停和比賽時間復(fù)位。各按鈕對應(yīng)得到的數(shù)碼管顯示如圖5-1、5-2、5-3、5-4、5-5。圖5-1 單節(jié)比賽開始總時間效果圖圖5-2 比賽時間暫停效果圖圖5-3 在

37、暫停情況下時間加1效果圖圖5-4 在暫停情況下時間減1效果圖圖5-5 時間復(fù)位效果圖(2) 計分顯示功能計分功能的實現(xiàn)是通過鍵盤控制器中的09按鈕分別控制。03分別控制控制甲隊比分加1、比分加2、比分加3、比分減1;47分別控制乙隊比分加1、比分加2、比分加3、比分減1;8、9分別控制比分清零和中場比分交換。各按鈕對應(yīng)得到的數(shù)碼管顯示如圖5-6、5-7、5-8、5-9、5-10、5-11、5-12、5-13、5-14、5-15、5-16。 5-6甲隊加1分 5-7甲隊加2分 5-8甲隊加3分 5-9 甲隊減1分 5-10乙隊加1分 5-11乙隊加2分 5-12 乙隊加3分 5-13 乙隊減1分

38、 5-14上半場甲乙兩隊得分 5-15 下半場交換場地比分交換 5-16比賽結(jié)束比分清零結(jié) 論通過本次基于AT89C51的籃球計時、計分器的畢業(yè)設(shè)計,實現(xiàn)了籃球比賽的計時計分,可應(yīng)用于學(xué)校中的籃球比賽的計時計分。此次設(shè)計也使我對于單片機工作原理、功能有了宏觀的了解,并對單片機匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識。在進(jìn)行本次設(shè)計之前,覺得這個設(shè)計是一個比較簡單的設(shè)計,而且自己對籃球比賽也有所了解,舉得自己應(yīng)該能做好。不過在設(shè)計的過程中發(fā)現(xiàn)自己還是有許多不足的,雖然對知識有所了解,但是并不熟練,不能準(zhǔn)確的將書本上的知識轉(zhuǎn)化為設(shè)計的結(jié)果在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很

39、不順手,看似很簡單的電路,要動手把它給設(shè)計出來,是很難的一件事,主要原因是我們沒有經(jīng)常動手設(shè)計過電路。另外單片機系統(tǒng)的知識似懂非懂,而且很多知識當(dāng)時弄明白了,現(xiàn)在要用的時候又不記得,造成我用了大量的時間去查閱各種資料和程序命令,因此整個過程時間安排不合理。由于設(shè)計的計劃沒有安排好,設(shè)計的時間極為倉促,尤其是在硬件調(diào)試的過程中出現(xiàn)了很大的問題。另外資料的查找也是一大難題,這就要求我們在以后的學(xué)習(xí)中,應(yīng)該注意到這一點,更重要的是我們要學(xué)會把從書本中學(xué)到的知識和實際的電路聯(lián)系起來,這不論是對我們以后的就業(yè)還是學(xué)習(xí),都會起到很大的促進(jìn)和幫助。對于基于AT89C51的籃球計時、計分器的畢業(yè)設(shè)計,還有兩點

40、改進(jìn)之處。一是加入24秒倒計時,對單次進(jìn)攻時間做出限制;二是在單節(jié)比賽時間小于1分鐘時,倒計時顯示可以精確到0.1秒,這樣可以更直觀的看到比賽最后階段的時間變化,也能使比賽變的更激烈,分秒必爭。 參 考 文 獻(xiàn)1 彭為.黃科,雷道仲.單片機典型系統(tǒng)設(shè)計實例精講M.北京:電子工業(yè)出版社,2006.2 李廣弟. 單片機基礎(chǔ)M. 北京:北京航空航天大學(xué)出版社,1996.3 胡漢才.單片機原理及其接口技術(shù)M.北京:清華大學(xué)出版社,1996.4 諸昌鈐.LED顯示屏系統(tǒng)原理及工程技術(shù)M.成都:電子科技大學(xué)出版社,2000.5 唐俊杰,高秦生. 微型計算機原理及應(yīng)用M. 北京:高等教育出版社,1998.6

41、 陳梓城. 電子技術(shù)實訓(xùn)M.北京:機械工業(yè)出版社,2002.7 何立民.MCS-51單片機應(yīng)用系統(tǒng)設(shè)計M.北京:北京航天航空大學(xué)出版社,1990.8 張建勛.C語言程序設(shè)計教程M.北京:清華大學(xué)出版社,2008.9 余發(fā)山.單片機原理及應(yīng)用技術(shù)M.徐州:中國礦業(yè)大學(xué)出版社,2003.12.10 吳秀清. 微型計算機原理與接口技術(shù)M.北京:中國科學(xué)技術(shù)出版社,2008.6. 11 樊明龍,任麗靜.單片機原理與應(yīng)用M.北京:化學(xué)工業(yè)出版社,2005.6.12 周航慈.單片機應(yīng)用程序設(shè)計技術(shù)M.北京:北京航空航天大學(xué)出版社,2002.13 崔華,蔡炎光著.單片機實用技術(shù)M.北京:清華大學(xué)出版社,20

42、01.致 謝在這三個半月的時間里,首先感謝魏老師對我的幫助。魏老師是一個有責(zé)任心、有耐心、有包容心的一個老師,具有豐富的單片機知識和設(shè)計經(jīng)驗。在此次設(shè)計中魏老師給予了我很大的幫助,當(dāng)我對程序不知所措時,是魏老師給我指點迷津,讓我在毫無頭緒的狀態(tài)下慢慢理清思緒,在他的幫助和指導(dǎo)下我才能順利的完成此次設(shè)計。我從魏老師身上學(xué)到了很多專業(yè)知識,還學(xué)到了對待學(xué)術(shù)嚴(yán)謹(jǐn)?shù)膽B(tài)度和獨立發(fā)現(xiàn)并解決問題的能力。其次我要感謝物理與電子電氣工程學(xué)院的所有老師,謝謝你們四年來對我的教誨以及幫助,沒有你們的教誨也不會有今天的我。還要感謝我的班主任孫老師,這四年來你為我們操勞了很多,感謝這四年來你對我的關(guān)心和指導(dǎo)。我還要感謝

43、我的舍友,大學(xué)四年來是你們陪我度過每一個日日夜夜,在你們的支持和陪伴下,我走過來大學(xué)四年。在本次設(shè)計中你們也給了我很大的幫助,在我困惑的時候幫我理清思路。還要感謝全班同學(xué),是你們給了我一個多姿多彩的大學(xué)生活。最后我要感謝所有幫助過我的同學(xué)和老師,還有我的父母,在你們的支持下,我走過來大學(xué)四年,從你們身上我學(xué)到了很多,讓我終生受益,謝謝你們!附錄A 硬件電路整體圖附錄B 源程序#include <reg52.h>#define uchar unsigned char#define uint unsigned intUchar code tab=0xc0,0xf9,0xa4,0xb0,

44、0x99,0x92,0x82,0xf8,0x80,0x90,0xff; /0,1,2,3,4,5,6,7,8,9關(guān)顯示uchar b,d,t; /定義變量uchar fen=10,miao=0; /定時初始時間變量uchar flag; /標(biāo)志位uchar temp; /矩陣鍵盤鍵值sbit beep=P17; /蜂鳴器void delay(uint z) /延時子函數(shù)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void dispaly() /定時時間顯示uchar miaoge,fenge,miaoshi,fenshi;miaoge=mia

45、o%10;P2=0x80;P0=tabmiaoge;delay(1);miaoshi =miao/10;P2=0x40;P0=tabmiaoshi;delay(1);fenge=fen%10;P2=0x10;P0=tabfenshi;delay(1);P2=0x00;void dispaly1(char a) /甲隊比分顯示uchar ge1,shi1;b=a;ge1=b%10;P2=0x02;P0=tabge1;delay(1);shi1=b/10;P2=0x01;P0=tabshi1;delay(1);P2=0x00;void dispaly2(char c) 乙隊比分顯示uchar ge

46、2,shi2;d=c;ge2=b%10;P2=0x08;P0=tabge2;delay(1);shi2=d/10;P2=0x04;P0=tabshi2;delay(1);P2=0x80;void keyscan() /矩陣鍵盤掃描控制char a,c,e,f;dispaly1(a);dispaly2(c);P3=0xfe;temp=P3;temp=temp&0xf0;while (temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while (temp!=0xf0);)temp=P3;if(temp=0xee)delay(5);if(temp

47、=0xee)a+; /甲隊比分加1if(a>=100)a=99;dispaly1(a);if(temp=0xde)dalay(5);if(temp=0xde)a=a+2; /甲隊比分加2if(a>=100)a=99;diapaly1(a);if(temp=0xbe)dalay(5);if(temp=0xbe)a=a+3; /甲隊比分加3if(a>=100)a=99;diapaly1(a);if(temp=0x7e)dalay(5);if(temp=0x7e)a=a-;if(a<=-1) /甲隊比分減1a=0;diapaly1(a);while(temp!=0xf0) /松手檢測temp=P3;temp=temp&0xf0;dispaly1(a);P3=0xfd;temp=P3;temp=temp&0xf0;while (temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;while

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論