基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì).doc_第1頁(yè)
基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì).doc_第2頁(yè)
基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì).doc_第3頁(yè)
基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì).doc_第4頁(yè)
基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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)介

淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì))畢 業(yè) 論 文學(xué)生姓名張傲學(xué) 號(hào)170906039學(xué)院 物理與電子電氣工程學(xué)院專 業(yè)電子信息科學(xué)與技術(shù)題 目基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì)指導(dǎo)教師 魏東旭 碩士/講師 2013年5月22摘 要:本文中的系統(tǒng)主要使用AT89C51芯片作為核心元件,結(jié)合外部的顯示電路及鍵盤控制電路,構(gòu)成了一個(gè)籃球計(jì)時(shí)計(jì)分器。整體電路主要由AT89C51芯片、鍵盤控制、計(jì)分顯示器和計(jì)時(shí)顯示器四個(gè)模塊組成。設(shè)計(jì)中主要使用Keil軟件和Proteus軟件。Keil軟件主要用來(lái)對(duì)C語(yǔ)言程序進(jìn)行編譯。Proteus軟件主要用來(lái)對(duì)硬件電路進(jìn)行仿真。整個(gè)設(shè)計(jì)可以實(shí)現(xiàn)計(jì)分顯示、計(jì)時(shí)顯示和比賽結(jié)束報(bào)警等功能。設(shè)計(jì)結(jié)果表明,在籃球比賽中使用計(jì)時(shí)計(jì)分器可以準(zhǔn)確的記錄比分和比賽時(shí)間,也可以增加籃球比賽的觀賞性。關(guān)鍵詞:AT89C51,籃球,計(jì)時(shí)器,計(jì)分器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 mainly 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 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, score indicator目錄1 緒論51.1設(shè)計(jì)背景51.2設(shè)計(jì)目的51.3設(shè)計(jì)要求62 系統(tǒng)硬件介紹62.1單片機(jī)概述62.2 AT89C51性能介紹62.3顯示器介紹113 硬件電路設(shè)計(jì)123.1系統(tǒng)構(gòu)成框圖123.2振蕩電路133.3計(jì)時(shí)計(jì)分LED顯示器設(shè)計(jì)133.4控制鍵盤器154 軟件設(shè)計(jì)方案164.1籃球計(jì)時(shí)計(jì)分器總流程如圖174.2計(jì)時(shí)器示流程圖184.3計(jì)分器顯示流程圖195 仿真與調(diào)試205.1軟件簡(jiǎn)介205.2仿真結(jié)果21結(jié) 論28參 考 文 獻(xiàn)29致 謝30附錄A 硬件電路整體圖31附錄B 源程序321 緒論本文介紹的是基于單片機(jī)控制的籃球計(jì)時(shí)計(jì)分器的發(fā)展和前景,論述其系統(tǒng)的組成框圖,對(duì)各部分電路的功能及其器件進(jìn)行論證,主要包括計(jì)分器顯示電路,計(jì)時(shí)器顯示電路、鍵盤控制電路、振蕩電路等。具體論述電路的實(shí)現(xiàn)方案及各部分電路使用器件。并設(shè)計(jì)軟件部分的程序流程圖、編寫相應(yīng)的程序。最后,應(yīng)用Proteus軟件,實(shí)現(xiàn)了功能仿真。1.1設(shè)計(jì)背景在日常生活中單片機(jī)將我們的生活變的更加智能,許多繁瑣的系統(tǒng)如果改由單片機(jī)進(jìn)行設(shè)計(jì),便能使系統(tǒng)更簡(jiǎn)潔、更智能。給人們的生活帶來(lái)更大的便捷。隨著現(xiàn)在技術(shù)發(fā)展,智能化越來(lái)越普遍,越來(lái)越給人們的生活帶來(lái)改變。單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各種系統(tǒng)中已成一種趨勢(shì)。此次設(shè)計(jì)就是單片機(jī)和籃球的完美結(jié)合?,F(xiàn)如今籃球是一項(xiàng)風(fēng)靡全球的運(yùn)動(dòng),特別是美國(guó)職業(yè)籃球的球星們更是眾多球迷所喜愛的運(yùn)動(dòng)員。很多人很熟悉籃球,也對(duì)籃球的計(jì)時(shí)計(jì)分有所了解?;@球比賽是兩個(gè)隊(duì)在規(guī)定的時(shí)間內(nèi)得分多少來(lái)決定勝負(fù)的,這就需要有計(jì)時(shí)計(jì)分器記錄下每隊(duì)的得分以及所花時(shí)間。因此籃球計(jì)時(shí)計(jì)分器就應(yīng)運(yùn)而生?;蛟S許多人有著用翻牌器計(jì)分的記憶,但是根據(jù)目前高水平的籃球要求,需要更精確更及時(shí)的計(jì)時(shí)計(jì)分。以便于觀眾能更好的欣賞比賽,能更好的感受比賽緊張的氣氛。于是就有了應(yīng)用AT89C51設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分器。1.2設(shè)計(jì)目的當(dāng)今社會(huì)隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許許多多用單片機(jī)做核心的球賽計(jì)時(shí)計(jì)分系統(tǒng)也隨之而產(chǎn)生,例如用AT89C51單片機(jī)控制LCD液晶顯示器計(jì)時(shí)計(jì)分器,還有使用單片機(jī)控制LED七段顯示器計(jì)時(shí)計(jì)分器等。本次設(shè)計(jì)采用的是由AT89C51控制LED七段數(shù)碼管作顯示的籃球比賽計(jì)時(shí)計(jì)分器。該系統(tǒng)具有比賽時(shí)間設(shè)置,比賽時(shí)間暫停,甲乙雙方比分累加,甲乙雙方比分切換等功能。它具有價(jià)格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點(diǎn)。廣泛適合各類學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計(jì)時(shí)計(jì)分 1。通過(guò)本次基于C51系列籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì),可以了解、熟悉有關(guān)單片機(jī)開發(fā)設(shè)計(jì)的過(guò)程,并加深對(duì)單片機(jī)的理解和應(yīng)用以及掌握單片機(jī)與外接設(shè)備連接的一些方法和技巧,這主要表現(xiàn)在以下一些方面:(1) 籃球賽計(jì)時(shí)計(jì)分系統(tǒng)包含了8051系列單片機(jī)的最小系統(tǒng)的構(gòu)成,同時(shí)在此基礎(chǔ)上擴(kuò)展了一些外接設(shè)備。(2) 可以了解到LED顯示器的結(jié)構(gòu)、工作原理以及這種顯示器的接口實(shí)例、具體連接與編程方法。1.3設(shè)計(jì)要求(1)籃球計(jì)時(shí)計(jì)分器功能:記錄比賽雙方比分,可進(jìn)行加減分交換場(chǎng)地時(shí)比分交換倒計(jì)時(shí)形式記錄比賽時(shí)間比賽結(jié)束發(fā)出報(bào)警聲(2)設(shè)計(jì)硬件電路圖。(3)畫出程序流程圖、編寫程序、完成編譯。(4)硬件電路進(jìn)行連接、調(diào)試、并完成Proteus仿真。2 系統(tǒng)硬件介紹2.1單片機(jī)概述單片機(jī)是把一個(gè)計(jì)算機(jī)系統(tǒng)集成在一塊半導(dǎo)體芯片上,其目的在于計(jì)算機(jī)微型化和提高系統(tǒng)的可靠性。單片機(jī)的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對(duì)自動(dòng)控制應(yīng)用而設(shè)計(jì)的,所以單片機(jī)又稱微控制器MCU(Micro Controller Unit)。單片機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。單片機(jī)是通過(guò)內(nèi)部的總線把計(jì)算機(jī)的各個(gè)主要部分連接到一個(gè)機(jī)構(gòu),其內(nèi)部包括三種總線:地址總線、控制總線和數(shù)據(jù)總線2。單片機(jī)的體積小、質(zhì)量輕、價(jià)格便宜,為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇3。2.2 AT89C51性能介紹MCS-51是指由美國(guó)INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了很多品種,如8031,8051,8751等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱呼MCS51系列單片機(jī)。AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k 字節(jié)的可反復(fù)擦寫的只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。AT89C51單片機(jī)使用的是高密度的生產(chǎn)技術(shù)并且還不容易丟失內(nèi)部存儲(chǔ)的數(shù)據(jù),對(duì)其進(jìn)行編譯是可以使用51單片機(jī)指令系統(tǒng)。AT89C51是一個(gè)使用性能高但是損耗功率很小的單片機(jī),40個(gè)外部引腳,其中包含有32個(gè)雙向輸入/輸出(I/O)端口,單片機(jī)內(nèi)部還含2個(gè)全雙工串行通信口,以及2個(gè)16位可編程定時(shí)計(jì)數(shù)器和2個(gè)外中斷口;它主要由中央處理器,控制器,存儲(chǔ)器,I/O接口,定時(shí)器/計(jì)數(shù)器, 中斷控制系統(tǒng),內(nèi)部總線等部分組成。如圖2-1所示 2-1 AT89C51引腳圖主要特性:兼容MCS-51的相關(guān)指令系統(tǒng)4K字節(jié)可擦寫存儲(chǔ)器32個(gè)I/O接口8*128bit位內(nèi)部RAM2個(gè)16位定時(shí)/計(jì)數(shù)器工作時(shí)鐘頻率0-24MHz5個(gè)中斷源可供編程使用的串行口管腳說(shuō)明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口是一個(gè)8位雙向輸入/輸出端口,擁有內(nèi)部上拉電阻。P2端口輸出的緩沖器能夠驅(qū)動(dòng)4個(gè)TTL邏輯電平。當(dāng)P2端口寫“1”時(shí),內(nèi)部上拉電阻拉高端口,這種狀態(tài)下P2端口可以作為輸入端口使用。在被作為輸入端口使用時(shí),被外部拉低的引腳因?yàn)閮?nèi)部電阻的原因,從而輸出電流。當(dāng)訪問(wèn)外部程序存儲(chǔ)器或使用16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2口送出高8位地址數(shù)據(jù)。在此應(yīng)用中,P2口運(yùn)用很強(qiáng)的內(nèi)部上拉發(fā)送“1”。當(dāng)使用8位地址(如MOVX RI)來(lái)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2端口輸出P2鎖存器的內(nèi)容。因此,當(dāng)Flash編程和校驗(yàn)時(shí),P2口也會(huì)同時(shí)接收高8位地址字節(jié)和大量的控制信號(hào)3。P3口:P3口為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻,它是雙功能復(fù)用口,每個(gè)引腳可驅(qū)動(dòng)4個(gè)TTL負(fù)載。作為通用I/O接口時(shí),功能與P1口相同,常使用第二功能。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能 P3.7端口也作為 /RD端口,功能是:外部數(shù)據(jù)存儲(chǔ)器讀選通 P3.6 端口也作為 /WR端口,功能是:外部數(shù)據(jù)存儲(chǔ)器寫選通 P3.5 端口也作為T1端口,功能是:記時(shí)器1外部輸入 P3.4 端口也作為T0端口,功能是:記時(shí)器0外部輸入 P3.3 端口也作為/INT1端口,功能是:外部中斷1 P3.2 端口也作為/INT0端口,功能是:外部中斷0 P3.1 端口也作為TXD端口,功能是:串行輸出口 P3.0 端口也作為RXD端口,功能是:串行輸入口 P3口同時(shí)也可以接收一些控制信號(hào)供編程校驗(yàn)和閃爍編程使用。RST端口:復(fù)位輸入端。當(dāng)RST端口持續(xù)兩個(gè)機(jī)器周期的高電平時(shí),則單片機(jī)進(jìn)行復(fù)位。ALE/PROG:地址鎖存允許/編程引腳。當(dāng)訪問(wèn)外部的程序存儲(chǔ)器時(shí),ALE的輸出用于鎖存地址的地位字節(jié),一邊與P0口實(shí)現(xiàn)地址/數(shù)據(jù)復(fù)用。當(dāng)不訪問(wèn)外部程序存儲(chǔ)器時(shí),ALE端口將輸出一個(gè)1/6時(shí)鐘頻率的脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)做一個(gè)時(shí)鐘向外輸出。第二功能是對(duì)EPROM芯片進(jìn)行編程和校驗(yàn)是,此引腳傳送52ms寬的負(fù)脈沖信號(hào)。在需要的情況下,可以將地址為8EH單元的SFR的D0位置“1”,則ALE操作將無(wú)效。若這個(gè)位置“1”,ALE則僅在執(zhí)行MOVC或MOVX指令時(shí)能被激活13。PSEN:作為片外ROM選通線。在執(zhí)行訪問(wèn)片外ROM的指令MOVC時(shí),80C51自動(dòng)在該引腳上產(chǎn)生一個(gè)負(fù)脈沖,用于對(duì)片外ROM的選通。在其他情況下,該引腳均為高電平封鎖狀態(tài)。EA/VPP:作為允許訪問(wèn)片外程序存儲(chǔ)器/編程電源線。80C51內(nèi)置有4KB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4KB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4KB地址時(shí),則讀取外部程序存儲(chǔ)器指令。如果為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。由此看出,對(duì)于片內(nèi)沒(méi)有程序存儲(chǔ)器的單片機(jī),此引腳必須接地。此引腳是復(fù)用引腳,其第二功能是片內(nèi)EPROM編程/校驗(yàn)時(shí)的電源線,在編程時(shí),此引腳需加上21V的編程電壓。XTAL1/XTAL2:作為片內(nèi)振蕩電路的輸入端。作為片內(nèi)振蕩電路的輸出端。1.振蕩器特性:XTAL1引腳為片內(nèi)振蕩電路的輸入端,XTAL2引腳為片內(nèi)振蕩電路的輸出端。80C51單片機(jī)的時(shí)鐘有兩種方式:一種是片內(nèi)時(shí)鐘振蕩方式,但是需要在18和19引腳外部接上一個(gè)石英晶振和振蕩電容,振蕩電容的值一般取30pF;另一種是外部時(shí)鐘方式,就是將XTAL1懸空,外部時(shí)鐘信號(hào)從XTAL2引腳輸入12。2.芯片擦除當(dāng)ALE引腳持續(xù)10ms的低電平時(shí),我們可以通過(guò)準(zhǔn)確的控制信號(hào)的不同組合方式來(lái)對(duì)三個(gè)鎖定位和整個(gè)陣列進(jìn)行電擦除。要想擦除芯片,就需要在不為空的存儲(chǔ)字節(jié)在程序中被重復(fù)的編程之前,將代碼陣列的值全部設(shè)置為“1”,如果不采取此動(dòng)作,則無(wú)法擦除芯片4。此外,穩(wěn)態(tài)邏輯也存在于AT89C51中,靜態(tài)邏輯在頻率接近零頻率時(shí)產(chǎn)生,而且其掉電模式能夠從兩種不同的軟件中自選。在空閑工作式下,將IDL位置為1,此時(shí)封鎖了進(jìn)入CPU的時(shí)鐘,于是CPU進(jìn)入空閑待機(jī)狀態(tài)。中斷系統(tǒng)、串行口、計(jì)數(shù)器/定時(shí)器,仍有時(shí)鐘信號(hào),繼續(xù)工作。在掉電工作方式下,將PD位置為1,可以使單片機(jī)的振蕩器停止振蕩,只有片內(nèi)的RAM和SER中的數(shù)據(jù)保持不變,而且包括中斷系統(tǒng)在內(nèi)的全部電路都將處于停止工作的狀態(tài) 6。3.掉電模式在掉電工作方式下,將PD位置為1,可以使單片機(jī)的振蕩器停止振蕩,只有片內(nèi)的RAM和SER中的數(shù)據(jù)保持不變,而且包括中斷系統(tǒng)在內(nèi)的全部電路都將處于停止工作的狀態(tài)。要想退出掉電工作方式,只能采用硬件復(fù)位,即需要在RST引腳上外加一個(gè)足夠?qū)挼膹?fù)位脈沖,使80C51復(fù)位。不能采用中斷喚醒的方法。想要使單片機(jī)從掉電方式退出后繼續(xù)執(zhí)行掉電前的程序,則必須在掉電前預(yù)先把SFR中的內(nèi)容保存到片內(nèi)RAM中 5。表2-3 外部引腳狀態(tài)表模式空閑模式空閑模式掉電模式掉電模式程序存儲(chǔ)器內(nèi)部外部?jī)?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.程序儲(chǔ)存器的加密AT89C51可使用對(duì)芯片上的三個(gè)加密位LB1、LB2、LB3進(jìn)行編程(P)或者不進(jìn)行編程(U)。當(dāng)加密位LB1被編程時(shí),在復(fù)位期間,EA斷的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒(méi)有服位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)會(huì)保存到真正復(fù)位為止 。2.3顯示器介紹顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類,按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類似,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息, 如漢字、圖形、圖表等 。兩者之間的區(qū)別:(1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價(jià)格較低。液晶成本較高,面積無(wú)法做得很大,但圖像質(zhì)量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。(4)二極管圖像刷新率低,液晶的高 LED顯示器又稱為數(shù)碼管,LED數(shù)碼管是將8個(gè)發(fā)光二極管組合在一起從而構(gòu)成一個(gè)數(shù)碼管。其中7個(gè)組成一個(gè)“8”字型,還有一個(gè)是圓點(diǎn)樣的發(fā)光二極管作為一個(gè)小數(shù)點(diǎn)。由于其內(nèi)部結(jié)構(gòu)的引線已經(jīng)全部連接完成,所以只要導(dǎo)出各自的每一筆劃以及公共的電極。LED顯示器有兩種不同的形式:共陰極LED顯示器和共陽(yáng)極LED顯示器,如圖2-2所示 。本次設(shè)計(jì)使用的是共陰極LED顯示器。 圖2-2 共陰與共陽(yáng)極LED顯示器結(jié)構(gòu)LED顯示器有兩種方式:一是靜態(tài)顯示;二是動(dòng)態(tài)顯示。在本次設(shè)計(jì)中,采用的是動(dòng)態(tài)顯示。靜態(tài)顯示和動(dòng)態(tài)顯示各有各的有點(diǎn);LED的靜態(tài)顯示優(yōu)點(diǎn)是編程容易、管理簡(jiǎn)單,但是靜態(tài)顯示所要占的I/O口資源很多;而動(dòng)態(tài)顯示所占用資源較少,因此在顯示的LED點(diǎn)較多的情況下,一般都采用動(dòng)態(tài)顯示方式4。在本次設(shè)計(jì)中,采用的是動(dòng)態(tài)顯示。這種電路的優(yōu)點(diǎn)在于:通過(guò)分時(shí)方法分別控制每一個(gè)LED數(shù)碼管的COM端口,從而促使每個(gè)數(shù)碼管依次的接受控制并顯示。通過(guò)程序設(shè)置依次點(diǎn)亮每個(gè)數(shù)碼管,產(chǎn)生1ms2ms的發(fā)光時(shí)間,因?yàn)槊總€(gè)人都存在視覺(jué)暫留的現(xiàn)象,加之受到發(fā)光二極管余輝效應(yīng)的影響和信號(hào)的掃描達(dá)到一定足夠的速度,就能看到點(diǎn)亮后的顯示結(jié)果。LED數(shù)碼顯示器如圖2-3所示。 2-3 7段LED數(shù)碼管3 硬件電路設(shè)計(jì) 3.1系統(tǒng)構(gòu)成框圖 本次設(shè)計(jì)主要基于AT89C51單片機(jī),主體的計(jì)時(shí)計(jì)分器系統(tǒng)框圖如圖3-1所示。計(jì)分顯示電路晶振電路89C51計(jì)時(shí)顯示電路控制鍵盤圖3-1系統(tǒng)整體框圖本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件。利用7段共陰LED作為顯示器件。在本次設(shè)計(jì)中,共接入8個(gè)共陰LED顯示器,其中4個(gè)用于記錄 甲、乙兩隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器分?jǐn)?shù)范圍可達(dá)到099分,足夠滿足賽程需要。另外4個(gè)LED顯示器則用于記錄賽程的時(shí)間,分別用于記錄分鐘和秒鐘。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式。即比賽前將時(shí)間設(shè)置為10分鐘,比賽開始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。其次鍵盤共設(shè)置了16個(gè)開關(guān),0-7號(hào)鍵盤為計(jì)分鍵盤分別控制甲隊(duì)、乙隊(duì)得分,為防止出現(xiàn)分加錯(cuò)的情況,特別設(shè)置了3、7號(hào)開關(guān)為減分按鈕。8、9按鈕分別是比分清零和比分切換按鈕。A-F按鈕則是控制時(shí)間及比賽開始。復(fù)位按鈕控制復(fù)位情況。3.2振蕩電路本次設(shè)計(jì)要使用到AT89C51單片機(jī)的時(shí)鐘振蕩功能。AT89C51中有一個(gè)用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器7。AT89C51的時(shí)鐘主要分為兩種方式:第一種是片內(nèi)時(shí)鐘振蕩,另一種是外部時(shí)鐘方式。本次設(shè)計(jì)采用的是第一種片內(nèi)時(shí)鐘振蕩方式,通過(guò)在18和19端口外接石英晶體和振蕩電容組成,這樣既可產(chǎn)生本設(shè)計(jì)所需的時(shí)鐘。振蕩電路如圖3-2所示。 圖3-2 時(shí)鐘振蕩電路3.3計(jì)時(shí)計(jì)分LED顯示器設(shè)計(jì)本次設(shè)計(jì)的核心就是采用AT89C51設(shè)計(jì)出一整套計(jì)時(shí)計(jì)分器,以滿足與籃球比賽的需要。本次設(shè)計(jì)的LED顯示器采用的是動(dòng)態(tài)驅(qū)動(dòng)方式。動(dòng)態(tài)驅(qū)動(dòng),就是通過(guò)控制依次點(diǎn)亮每一段數(shù)碼管,每個(gè)數(shù)碼管點(diǎn)亮的時(shí)間在1ms至2ms,利用人眼的視覺(jué)暫留現(xiàn)象,就可以讓人看到顯示的結(jié)果。加之發(fā)光二極管還有余暉效應(yīng),只要信號(hào)的掃描達(dá)到一定的速度,就能穩(wěn)定的顯示信息。動(dòng)態(tài)驅(qū)動(dòng)不需要使用過(guò)多的I/O端口,這樣可以簡(jiǎn)化電路。要使LED數(shù)碼管要能夠正常顯示,需要用驅(qū)動(dòng)電路驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,由此顯示需要的數(shù)字和字母,所以按照LED不同的驅(qū)動(dòng)方式,可以將其分為靜態(tài)模式和動(dòng)態(tài)模式兩種11。(1)動(dòng)態(tài)顯示驅(qū)動(dòng):使用數(shù)碼管動(dòng)態(tài)顯示界面的顯示方式,已成為在單片機(jī)的應(yīng)用中最廣泛的一種,動(dòng)態(tài)驅(qū)動(dòng)就是將每個(gè)數(shù)碼管的8個(gè)顯示的筆劃“a, b, c, d, e, f, g, dp”這幾個(gè)引腳的同名端相連接,同時(shí)給數(shù)碼管公共極COM增加了位元件選通控制電路,該位元件選通通過(guò)各自的獨(dú)立輸入/輸出線控制。若單片機(jī)依次輸出了字形碼,則所有的數(shù)碼管必會(huì)接收到同樣的字形碼。但是,單片機(jī)對(duì)于位元件選通電路的控制則決定了最終是哪個(gè)數(shù)碼管能夠顯示出字形。因此,我們?nèi)粝胨璧臄?shù)碼管燈亮,則只要打開所需對(duì)應(yīng)的數(shù)碼管的選通控制,而不打開相應(yīng)選通控制的數(shù)碼管沒(méi)有辦法亮。動(dòng)態(tài)驅(qū)動(dòng)就是通過(guò)分時(shí)方法分別控制每一個(gè)LED數(shù)碼管的COM端口,從而促使每個(gè)數(shù)碼管依次的接受控制并顯示。數(shù)碼管在依次顯示的過(guò)程當(dāng)中,會(huì)產(chǎn)生1ms2ms的發(fā)光時(shí)間,因?yàn)槊總€(gè)人都存在視覺(jué)暫留的現(xiàn)象,加之受到發(fā)光二極管余輝效應(yīng)的影響和信號(hào)的掃描達(dá)到一定足夠的速度,所以,人會(huì)接收到穩(wěn)定的顯示信息10。(2)靜態(tài)顯示驅(qū)動(dòng):直流驅(qū)動(dòng)被稱為靜態(tài)驅(qū)動(dòng)。所謂的靜態(tài)驅(qū)動(dòng)就是其每一個(gè)的段碼都必須要有一個(gè)單片機(jī)的輸入/輸出端口完成驅(qū)動(dòng)。編程簡(jiǎn)單是靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn),它的顯示亮度非常高,占用I/O口多是它的缺點(diǎn),假設(shè)想要驅(qū)動(dòng)5個(gè)數(shù)碼管都進(jìn)行靜態(tài)顯示,那么就需要根I/O口來(lái)驅(qū)動(dòng)數(shù)碼管,因?yàn)橐粋€(gè)89C52單片機(jī)只有32個(gè)I/O口,所以,在實(shí)際應(yīng)用時(shí)則需要用利用譯碼器進(jìn)行驅(qū)動(dòng),因而對(duì)于硬件電路來(lái)說(shuō)則提高了它的復(fù)雜度9。計(jì)時(shí)計(jì)分器電路分別如圖3-3、3-4所示。 圖3-3計(jì)時(shí)顯示器電路 圖3-4計(jì)分顯示器電路3.4控制鍵盤器控制鍵盤由16個(gè)按鈕組成,主要分為兩個(gè)部分,第一部分是比分控制鍵盤,另一部分是時(shí)間控制鍵盤。比分控制鍵盤由0-9號(hào)按鈕組成,分別按下02號(hào)按鈕甲隊(duì)分別加一分、兩分和三分,3號(hào)按鈕為減分按鈕,防止分?jǐn)?shù)加錯(cuò),每按下一次甲隊(duì)減一分。4-6號(hào)按鈕控制的是乙隊(duì)的加一分、兩分和三分,7號(hào)按鈕同樣是減分按鈕每按下一次,乙隊(duì)減一分。按下8號(hào)鍵,雙方比分清零;中場(chǎng)結(jié)束后開始下半場(chǎng)比賽時(shí)需要交換比賽雙方比分,此時(shí)按下9號(hào)按鈕即可。A-F按鈕則是比賽控制按鈕及時(shí)間控制按鈕。按鈕A和按鈕B分別控制時(shí)間的加一和減一,時(shí)間的加減只能再時(shí)間停止時(shí)進(jìn)行。按下按鈕C整個(gè)計(jì)時(shí)計(jì)分器啟動(dòng),時(shí)間顯示器顯示10:00的單節(jié)比賽倒計(jì)時(shí),比分顯示器顯示甲乙兩隊(duì)初始比分00:00。當(dāng)比賽需要暫停時(shí)按下D按鈕,單節(jié)比賽結(jié)束后按下E按鈕則時(shí)間恢復(fù)為10:00。鍵盤控制電路如圖3-5所示。 3-5控制鍵盤圖4 軟件設(shè)計(jì)方案在單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過(guò)程中,主要采用的有匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言比C語(yǔ)言繁瑣,但是匯編語(yǔ)言能更充分的發(fā)揮指令系統(tǒng)的功能和效率,可以獲得最簡(jiǎn)練的目標(biāo)程序。而C語(yǔ)言的應(yīng)用最為廣泛,C語(yǔ)言能直接對(duì)計(jì)算機(jī)的硬件進(jìn)行操作,而且語(yǔ)言靈活、程序結(jié)構(gòu)良好、數(shù)據(jù)類型及運(yùn)算符豐富、代碼效率高、可移植性好8。4.1 籃球計(jì)時(shí)計(jì)分器總流程如圖開始I/O初始化比賽開始計(jì)時(shí)器顯示記分器顯示N時(shí)間歸零Y報(bào)警器報(bào)警比賽結(jié)束接通電源后,系統(tǒng)進(jìn)行初始化處理,系統(tǒng)開始運(yùn)行,檢測(cè)比賽開始按鈕是否按下,比賽開始后,時(shí)間倒計(jì)時(shí)隨即進(jìn)行。雙方比分增加,時(shí)間結(jié)束后報(bào)警器報(bào)警,比賽結(jié)束。4.2 計(jì)時(shí)器示流程圖 開始比賽開始計(jì)分器顯示倒計(jì)時(shí)開始N時(shí)間為0Y 報(bào)警器報(bào)警 結(jié)束比賽開始后,計(jì)時(shí)器則顯示單節(jié)比賽時(shí)間10:00,倒計(jì)時(shí)開始,當(dāng)比賽時(shí)間減到0時(shí),報(bào)警器發(fā)出報(bào)警聲。部分倒計(jì)時(shí)主要程序如下:TH0=0x4C; /50ms延時(shí)初值TL0=0x00;t+;if(t=20) /50ms走20次剛好1s,1s時(shí)間到減1操作t=0;miao-;if(miao=-1)fen-; /當(dāng)59s減完,分減1miao=59;if(fen=-1)fen=0; /分清零miao=0; /秒清零beep=0; /時(shí)間停止,蜂鳴器響4.3計(jì)分器顯示流程圖 開始 計(jì)分顯示甲隊(duì)減分甲隊(duì)加分乙隊(duì)加分NNN乙隊(duì)加分 甲隊(duì)加分 NYYYY甲隊(duì)減分顯示甲隊(duì)加分顯示乙隊(duì)減分顯示乙隊(duì)加分顯示N 比分切換Y 比分切換顯示N比分清零Y 比分清零顯示 結(jié)束比賽開始后,比分顯示器顯示00:00,此后甲隊(duì)和乙隊(duì)比分增加,中場(chǎng)休息后,兩隊(duì)交換場(chǎng)地,比分顯示也隨之交換,比賽結(jié)束后,雙方比分清零。部分加分和比分交換程序如下:加分程序(部分):dalay(5);if(temp=0xde)a=a+ /甲隊(duì)比分加1if(a=100)a=99;diapaly1(a);比分交換程序:delay(5);if(temp=0xdb)e=a;f=c;a=f;dispaly1(a);c=e;dispaly2(c); /兩隊(duì)比分切換5 仿真與調(diào)試單片機(jī)應(yīng)用的仿真和調(diào)試主要從硬件及軟件方面進(jìn)行,在本次設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分器中我主要使用的是Keil和Proteus ISIS軟件。5.1軟件簡(jiǎn)介5.1.1 Keil軟件簡(jiǎn)介Proteus 簡(jiǎn)介Keil C51軟件有很多庫(kù)函數(shù),它還有功能強(qiáng)大的集成工具盒開發(fā)工具,還具有調(diào)試工具,Keil C51軟件生成的所需代碼的效率特別高,及時(shí)語(yǔ)句很多得到的匯編代碼比較少,容易理解。Keil C51軟件使用高級(jí)語(yǔ)言編輯,在大型軟件設(shè)計(jì)中有很大優(yōu)勢(shì)。Keil C51單片機(jī)軟件開發(fā)系統(tǒng)可以完成連接、仿真、調(diào)試、編譯、編輯等開發(fā)流程。該軟件可以用集成開發(fā)環(huán)境IDE本身或其他編輯器C或匯編源文件而易學(xué)易用。Keil C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成后的開發(fā)環(huán)境包含:調(diào)試器,實(shí)時(shí)操作系統(tǒng),匯編器,項(xiàng)目管理器,編譯器。5.1.2 Proteus 簡(jiǎn)介Proteus是全球出名的EDA仿真軟件,從原理圖繪制、編譯調(diào)試代碼到單片機(jī)與外部電路同時(shí)仿真,只需要一鍵單擊即可切換到PCB設(shè)計(jì),從而達(dá)到了從想象中的設(shè)計(jì)到實(shí)物設(shè)計(jì)。是當(dāng)前全球獨(dú)一無(wú)二的將三種軟件合一的設(shè)計(jì)平臺(tái),三種軟件分別是電路仿真軟件,以及PCB設(shè)計(jì)軟件,還有虛擬模型仿真軟件。其處理器模型有很多種,例如8051、8086和ARM等,并還在不停添加別的類型處理器模型。Proteus可以通過(guò)多種軟件進(jìn)行編譯,例如Keil以及MPLAB,還有IAR軟件也可以。Proteus軟件也還有其它EDA工具軟件的功能:PCB自動(dòng)或人工布線、SPICE電路仿真、原理布圖等。Proteus還具有仿真處理器、互動(dòng)的電路仿真及其外圍電路的革命性特點(diǎn)。5.2仿真結(jié)果完成硬件電路設(shè)計(jì)后,檢查線路連接,確認(rèn)連線沒(méi)有錯(cuò)誤。雙擊單片機(jī)AT89C51,用單擊出現(xiàn)的對(duì)話框中的Program File按鈕,在之前保存的位置找到經(jīng)過(guò)Keil軟件編譯而生成的HEX文件,載入后點(diǎn)擊“OK”按鈕。然后單擊開始仿真按鈕進(jìn)行仿真。Proteus仿真總圖如圖5.1所示: 圖5-1 系統(tǒng)仿真總圖籃球計(jì)時(shí)計(jì)分的具體操作:(1) 計(jì)時(shí)顯示功能計(jì)時(shí)功能的實(shí)現(xiàn)是通過(guò)鍵盤控制器中的AE按鈕分別控制時(shí)間加1、時(shí)間減1、比賽開始倒計(jì)時(shí)、比賽時(shí)間暫停和比賽時(shí)間復(fù)位。各按鈕對(duì)應(yīng)得到的數(shù)碼管顯示如圖5-1、5-2、5-3、5-4、5-5。圖5-1 單節(jié)比賽開始總時(shí)間效果圖圖5-2 比賽時(shí)間暫停效果圖圖5-3 在暫停情況下時(shí)間加1效果圖圖5-4 在暫停情況下時(shí)間減1效果圖圖5-5 時(shí)間復(fù)位效果圖(2) 計(jì)分顯示功能計(jì)分功能的實(shí)現(xiàn)是通過(guò)鍵盤控制器中的09按鈕分別控制。03分別控制控制甲隊(duì)比分加1、比分加2、比分加3、比分減1;47分別控制乙隊(duì)比分加1、比分加2、比分加3、比分減1;8、9分別控制比分清零和中場(chǎng)比分交換。各按鈕對(duì)應(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甲隊(duì)加1分 5-7甲隊(duì)加2分 5-8甲隊(duì)加3分 5-9 甲隊(duì)減1分 5-10乙隊(duì)加1分 5-11乙隊(duì)加2分 5-12 乙隊(duì)加3分 5-13 乙隊(duì)減1分 5-14上半場(chǎng)甲乙兩隊(duì)得分 5-15 下半場(chǎng)交換場(chǎng)地比分交換 5-16比賽結(jié)束比分清零結(jié) 論通過(guò)本次基于AT89C51的籃球計(jì)時(shí)、計(jì)分器的畢業(yè)設(shè)計(jì),實(shí)現(xiàn)了籃球比賽的計(jì)時(shí)計(jì)分,可應(yīng)用于學(xué)校中的籃球比賽的計(jì)時(shí)計(jì)分。此次設(shè)計(jì)也使我對(duì)于單片機(jī)工作原理、功能有了宏觀的了解,并對(duì)單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識(shí)。在進(jìn)行本次設(shè)計(jì)之前,覺(jué)得這個(gè)設(shè)計(jì)是一個(gè)比較簡(jiǎn)單的設(shè)計(jì),而且自己對(duì)籃球比賽也有所了解,舉得自己應(yīng)該能做好。不過(guò)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)自己還是有許多不足的,雖然對(duì)知識(shí)有所了解,但是并不熟練,不能準(zhǔn)確的將書本上的知識(shí)轉(zhuǎn)化為設(shè)計(jì)的結(jié)果在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,給我的感覺(jué)就是下手很難,很不順手,看似很簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來(lái),是很難的一件事,主要原因是我們沒(méi)有經(jīng)常動(dòng)手設(shè)計(jì)過(guò)電路。另外單片機(jī)系統(tǒng)的知識(shí)似懂非懂,而且很多知識(shí)當(dāng)時(shí)弄明白了,現(xiàn)在要用的時(shí)候又不記得,造成我用了大量的時(shí)間去查閱各種資料和程序命令,因此整個(gè)過(guò)程時(shí)間安排不合理。由于設(shè)計(jì)的計(jì)劃沒(méi)有安排好,設(shè)計(jì)的時(shí)間極為倉(cāng)促,尤其是在硬件調(diào)試的過(guò)程中出現(xiàn)了很大的問(wèn)題。另外資料的查找也是一大難題,這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會(huì)把從書本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來(lái),這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助。對(duì)于基于AT89C51的籃球計(jì)時(shí)、計(jì)分器的畢業(yè)設(shè)計(jì),還有兩點(diǎn)改進(jìn)之處。一是加入24秒倒計(jì)時(shí),對(duì)單次進(jìn)攻時(shí)間做出限制;二是在單節(jié)比賽時(shí)間小于1分鐘時(shí),倒計(jì)時(shí)顯示可以精確到0.1秒,這樣可以更直觀的看到比賽最后階段的時(shí)間變化,也能使比賽變的更激烈,分秒必爭(zhēng)。 參 考 文 獻(xiàn)1 彭為.黃科,雷道仲.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講M.北京:電子工業(yè)出版社,2006.2 李廣弟. 單片機(jī)基礎(chǔ)M. 北京:北京航空航天大學(xué)出版社,1996.3 胡漢才.單片機(jī)原理及其接口技術(shù)M.北京:清華大學(xué)出版社,1996.4 諸昌鈐.LED顯示屏系統(tǒng)原理及工程技術(shù)M.成都:電子科技大學(xué)出版社,2000.5 唐俊杰,高秦生. 微型計(jì)算機(jī)原理及應(yīng)用M. 北京:高等教育出版社,1998.6 陳梓城. 電子技術(shù)實(shí)訓(xùn)M.北京:機(jī)械工業(yè)出版社,2002.7 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:北京航天航空大學(xué)出版社,1990.8 張建勛.C語(yǔ)言程序設(shè)計(jì)教程M.北京:清華大學(xué)出版社,2008.9 余發(fā)山.單片機(jī)原理及應(yīng)用技術(shù)M.徐州:中國(guó)礦業(yè)大學(xué)出版社,2003.12.10 吳秀清. 微型計(jì)算機(jī)原理與接口技術(shù)M.北京:中國(guó)科學(xué)技術(shù)出版社,2008.6. 11 樊明龍,任麗靜.單片機(jī)原理與應(yīng)用M.北京:化學(xué)工業(yè)出版社,2005.6.12 周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M.北京:北京航空航天大學(xué)出版社,2002.13 崔華,蔡炎光著.單片機(jī)實(shí)用技術(shù)M.北京:清華大學(xué)出版社,2001.致 謝在這三個(gè)半月的時(shí)間里,首先感謝魏老師對(duì)我的幫助。魏老師是一個(gè)有責(zé)任心、有耐心、有包容心的一個(gè)老師,具有豐富的單片機(jī)知識(shí)和設(shè)計(jì)經(jīng)驗(yàn)。在此次設(shè)計(jì)中魏老師給予了我很大的幫助,當(dāng)我對(duì)程序不知所措時(shí),是魏老師給我指點(diǎn)迷津,讓我在毫無(wú)頭緒的狀態(tài)下慢慢理清思緒,在他的幫助和指導(dǎo)下我才能順利的完成此次設(shè)計(jì)。我從魏老師身上學(xué)到了很多專業(yè)知識(shí),還學(xué)到了對(duì)待學(xué)術(shù)嚴(yán)謹(jǐn)?shù)膽B(tài)度和獨(dú)立發(fā)現(xiàn)并解決問(wèn)題的能力。其次我要感謝物理與電子電氣工程學(xué)院的所有老師,謝謝你們四年來(lái)對(duì)我的教誨以及幫助,沒(méi)有你們的教誨也不會(huì)有今天的我。還要感謝我的班主任孫老師,這四年來(lái)你為我們操勞了很多,感謝這四年來(lái)你對(duì)我的關(guān)心和指導(dǎo)。我還要感謝我的舍友,大學(xué)四年來(lái)是你們陪我度過(guò)每一個(gè)日日夜夜,在你們的支持和陪伴下,我走過(guò)來(lái)大學(xué)四年。在本次設(shè)計(jì)中你們也給了我很大的幫助,在我困惑的時(shí)候幫我理清思路。還要感謝全班同學(xué),是你們給了我一個(gè)多姿多彩的大學(xué)生活。最后我要感謝所有幫助過(guò)我的同學(xué)和老師,還有我的父母,在你們的支持下,我走過(guò)來(lái)大學(xué)四年,從你們身上我學(xué)到了很多,讓我終生受益,謝謝你們!附錄A 硬件電路整體圖附錄B 源程序#include #define uchar unsigned char#define uint unsigned intUchar code tab=0xc0,0xf9,0xa4,0xb0,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; /定時(shí)初始時(shí)間變量uchar flag; /標(biāo)志位uchar temp; /矩陣鍵盤鍵值sbit beep=P17; /蜂鳴器void delay(uint z) /延時(shí)子函數(shù)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void dispaly() /定時(shí)時(shí)間顯示uchar miaoge,fenge,miaoshi,fenshi;miaoge=miao%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) /甲隊(duì)比分顯示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) 乙隊(duì)比分顯示uchar ge2,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=0xee)a+; /甲隊(duì)比分加1if(a=100)a=99;dispaly1(a);if(temp=0xde)dalay(5);if(temp=0xde)a=a+2; /甲隊(duì)比分加2if(a=100)a=99;diapaly1(a);if(temp=0xbe)dalay(5);if(temp=0xbe)a=a+3; /甲隊(duì)比分

溫馨提示

  • 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)論