基于ATC的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)_第1頁
基于ATC的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)_第2頁
基于ATC的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)_第3頁
基于ATC的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)_第4頁
基于ATC的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì))38摘 要:該論文設(shè)計(jì)是采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件。利用8段共陽LED作為顯示器件。在此設(shè)計(jì)中共接入了10個(gè)8段共陽LED顯示器,其中計(jì)分器使用4個(gè)LED顯示器記錄甲隊(duì)、乙隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到099分;計(jì)時(shí)器使用4個(gè)LED顯示器則用來記錄賽程時(shí)間,其中2個(gè)用于顯示分鐘,2個(gè)用于顯示秒鐘。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,即比賽前將時(shí)間設(shè)置為12:00,比賽開始時(shí)啟動計(jì)時(shí),直至計(jì)時(shí)到00:00為止;最后2個(gè)LED顯示器則是用來顯示24秒倒計(jì)時(shí)。關(guān)鍵詞:AT89C51,籃球,計(jì)時(shí)器,計(jì)分器Abstract:The design is de

2、signed by single chip microcomputer AT89C51 as the core component.Using 8 with Yang LED as a display device.In the design of the communist party of China access to 10 8 with Yang LED display,One timer USES 4 LED display record team a and b team scores,Each team 2 LED display shows the range can reac

3、h 0 99 points;Timer with four LED display is used to record the race time, among them 2 is used to display minutes, 2 is used to display seconds.Schedule timing using the countdown, namely before the game set time to 12:00, game start timing at the beginning, until time to 00:00;The last two LED dis

4、play is used to display the countdown 24 seconds.Keywords:AT89C51,basketball, timer,score indicator目 錄第一章 緒論 41.1 設(shè)計(jì)背景及意義41.2 設(shè)計(jì)的目的41.3 設(shè)計(jì)要求5第二章 系統(tǒng)硬件介紹 62.1 單片機(jī)概述 62.2 AT89C51性能介紹6 2.3 LED顯示器介紹 8第三章 硬件電路設(shè)計(jì) 123.1 系統(tǒng)構(gòu)成框圖設(shè)計(jì) 18 3.2 振蕩電路設(shè)計(jì) 183.3 計(jì)時(shí)計(jì)分LED顯示器設(shè)計(jì) 193.4 控制鍵盤設(shè)計(jì) 22 第四章 軟件電路設(shè)計(jì)方案 224.1 系統(tǒng)軟件總流程圖 23

5、 4.2 籃球計(jì)時(shí)器流程圖 234.2 籃球計(jì)分器流程圖 235 仿真與調(diào)試 255.1 軟件介紹 25 5.2 功能仿真 25結(jié)論 30 參考文獻(xiàn)31 致謝32 附錄A 硬件電路整體圖 33 附錄B 軟件程序 34 基于AT89C51的籃球計(jì)時(shí)、計(jì)分器設(shè)計(jì)1 緒論1.1設(shè)計(jì)背景在日常生活中單片機(jī)將我們的生活變的更加智能,許多繁瑣的系統(tǒng)如果改由單片機(jī)進(jìn)行設(shè)計(jì),便能使系統(tǒng)更簡潔、更智能。給人們的生活帶來更大的便捷。隨著現(xiàn)在技術(shù)哥發(fā)展,智能化越來越普遍,越來越給人們的生活帶來改變。單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各種系統(tǒng)中已成一種趨勢。此次設(shè)計(jì)就是單片機(jī)和籃球的完美結(jié)合。現(xiàn)如今籃球是一項(xiàng)風(fēng)靡全球

6、運(yùn)動,特別是美國職業(yè)籃球的球星們更是眾多籃球迷所喜愛的與動員。很多人很熟悉籃球,也對籃球的計(jì)時(shí)計(jì)分有一點(diǎn)的了解?;@球是兩個(gè)隊(duì)在規(guī)定的時(shí)間內(nè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)今社會隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許許多多用單片機(jī)做核心的球賽計(jì)時(shí)計(jì)分系統(tǒng)也隨之而產(chǎn)生,例如用AT89C51單片機(jī)控制LCD液晶顯示器計(jì)時(shí)計(jì)分

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

8、以了解到LED顯示器的結(jié)構(gòu)、工作原理以及這種顯示器的接口實(shí)例與具體連接與編程方法。(3) 怎樣對并行I/O接口進(jìn)行擴(kuò)展。1.3設(shè)計(jì)要求(1)籃球計(jì)時(shí)計(jì)分器功能a. 記錄比賽雙方比分,可進(jìn)行加減分b. 交換場地時(shí)比分交換c. 倒計(jì)時(shí)形式記錄比賽時(shí)間d. 倒計(jì)時(shí)記錄單次進(jìn)攻時(shí)間(2)設(shè)計(jì)硬件電路圖。(3)畫出程序流程圖、編寫程序、完成編譯。(4)硬件電路進(jìn)行連接、調(diào)試、并完成Proteus仿真。第二章 系統(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)主要是針對自動控制應(yīng)用而設(shè)計(jì)的,所以單片機(jī)又稱微控

9、制器MCU(Micro Controller Unit)。單片機(jī)由運(yùn)算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。單片機(jī)是通過內(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)的最佳選擇32.2 AT89C51性能介紹MCS-51是指由美國INTEL公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了很多品種,如8031,8051,8751等,其中8051是最早最典型的產(chǎn)

10、品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來的,所以人們習(xí)慣于用8051來稱呼MCS51系列單片機(jī)。AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k 字節(jié)的可反復(fù)擦寫的只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。AT89C51是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口;它主要由中

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

12、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ū)動4個(gè)TTL邏輯電平。當(dāng)P2端口寫“1”時(shí),內(nèi)部上拉電阻拉高端口,這種狀態(tài)下P2端口可以作為輸入端口使用。在被作為輸入

13、端口使用時(shí),被外部拉低的引腳因?yàn)閮?nèi)部電阻的原因,從而輸出電流。當(dāng)訪問外部程序存儲器或使用16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時(shí),P2口送出高8位地址數(shù)據(jù)。在此應(yīng)用中,P2口運(yùn)用很強(qiáng)的內(nèi)部上拉發(fā)送“1”。當(dāng)使用8位地址(如MOVX RI)來訪問外部數(shù)據(jù)存儲器時(shí),P2端口輸出P2鎖存器的內(nèi)容。因此,當(dāng)Flash編程和校驗(yàn)時(shí),P2口也會同時(shí)接收高8位地址字節(jié)和大量的控制信號5。  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸

14、出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/:地址鎖存控制信號(ALE)在訪問外部程

15、序存儲器和數(shù)據(jù)存儲器時(shí),鎖存地址的低8位輸出脈沖。當(dāng)Flash編程時(shí),引腳也被用來作為編程輸入脈沖。在一般情況下,ALE是以時(shí)鐘振蕩頻率的六分之一輸出固定的脈沖信號,能夠用來作為外部定時(shí)器或時(shí)鐘進(jìn)行使用6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。  PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩

16、次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。  EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。  XTAL2:來自反向振蕩器的輸出。3 振蕩器特性:  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反

17、向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4 芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在

18、工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止 6。5.掉電模式在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。推出掉電模式的唯一方法是硬件復(fù)位。復(fù)位后將重新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在VCC恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時(shí)間以使振蕩器重新啟動并且穩(wěn)定的工作 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ù)

19、據(jù)數(shù)據(jù)數(shù)據(jù)P3浮空浮空數(shù)據(jù)數(shù)據(jù)6.程序儲存器的加密AT89C51可使用對芯片上的三個(gè)加密位LB1、LB2、LB32進(jìn)行編程(P)或者不進(jìn)行編程(U)。當(dāng)加密位LB1被編程時(shí),在復(fù)位期間,EA斷的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒有服位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)會保存到真正復(fù)位為止 5。2.3顯示器介紹顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類,按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類似

20、,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息, 如漢字、圖形、圖表等 。兩者之間的區(qū)別:(1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價(jià)格較低。液晶成本較高,面積無法做得很大,但圖像質(zhì)量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。(4)二極管圖像刷新率低,液晶的高 LED顯示器又稱為數(shù)碼管,LED顯示器由8個(gè)發(fā)光二極管組成。中7個(gè)長條形的發(fā)光管排列成“日”字形,另一個(gè)點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。LED顯示器有兩種不同的形式:共陽極LED顯示器和共陰極LED顯示器如圖2-2所

21、示 。本次設(shè)計(jì)使用的是共陰極LED顯示器。圖2-2 共陰與共陽極LED顯示器結(jié)構(gòu)LED顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。在本次設(shè)計(jì)中,采用的是靜態(tài)顯示。靜態(tài)顯示和動態(tài)顯示各有各的有點(diǎn);LED的靜態(tài)顯示優(yōu)點(diǎn)是編程容易、管理簡單,但是靜態(tài)顯示所要占的I/O口資源很多;而動態(tài)顯示所占用資源較少,因此在顯示的LED點(diǎn)較多的情況下,一般都采用動態(tài)顯示方式。在本次設(shè)計(jì)中,采用的是靜態(tài)顯示。這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多。從下圖可以看出,每位LED顯示器需要單獨(dú)占用8根端口線,因此,在數(shù)據(jù)較多的時(shí)候,往往不采用這種設(shè)計(jì),而是采用動態(tài)顯示方式 4。LE

22、D數(shù)碼顯示器如圖2-3所示 2-3 7段LED數(shù)碼管第三章 硬件電路設(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ì)中,共接入十七段共陰LED顯示器,其中4個(gè)用于記錄 甲、乙兩隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器分?jǐn)?shù)范圍可達(dá)到099分,足夠滿足賽程需要。另外4個(gè)LED顯示器則用于記錄賽程的時(shí)間,分別用于記錄分鐘和秒鐘。還有兩個(gè)LED顯示器用于24秒倒計(jì)時(shí)的顯示。賽程計(jì)時(shí)采用倒計(jì)時(shí)

23、方式。即比賽前將時(shí)間設(shè)置為10分鐘,比賽開始時(shí)啟動計(jì)時(shí),直至計(jì)時(shí)到零為止。其次鍵盤共設(shè)置了20個(gè)開關(guān),0-7號鍵盤為計(jì)分鍵盤分別控制甲隊(duì)、乙隊(duì)得分,為防止出現(xiàn)分加錯(cuò)的情況,特別設(shè)置了3、7號開關(guān)為減分按鈕。8、9按鈕分別是比分清零和比分切換按鈕。A-F按鈕則是控制時(shí)間及比賽開始。復(fù)位按鈕控制復(fù)位情況。24秒倒計(jì)時(shí)的三個(gè)開關(guān)分別控制24秒倒計(jì)時(shí)的開始、暫停、復(fù)位。3.2各部分設(shè)計(jì)方案3.2振蕩電路本次設(shè)計(jì)要使用到AT89C51單片機(jī)的時(shí)鐘振蕩功能。AT89C51中有一個(gè)用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個(gè)放大器與作為反饋元件的片外石英

24、晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器7。AT89C51的時(shí)鐘主要分為兩種方式:第一種是片內(nèi)時(shí)鐘振蕩,另一種是外部時(shí)鐘方式。本次設(shè)計(jì)采用的是第一種片內(nèi)時(shí)鐘振蕩方式,通過在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顯示器采用的是靜態(tài)驅(qū)動方式。靜態(tài)驅(qū)動,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示

25、新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼。這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多 。要使LED數(shù)碼管要能夠正常顯示,需要用驅(qū)動電路驅(qū)動數(shù)碼管的各個(gè)段碼,由此顯示需要的數(shù)字和字母,所以按照LED不同的驅(qū)動方式,可以將其分為靜態(tài)模式和動態(tài)模式兩種。(1)動態(tài)顯示驅(qū)動:使用數(shù)碼管動態(tài)顯示界面的顯示方式,已成為在單片機(jī)的應(yīng)用中最廣泛的一種,動態(tài)驅(qū)動就是將每個(gè)數(shù)碼管的8個(gè)顯示的筆劃“a,b,c,d,e,f,g,dp”這幾個(gè)引腳的同名端相連接,同時(shí)給數(shù)碼管公共極COM增加了位元件選通控制電路,該位元件選通通過各自的獨(dú)立輸入/輸出線控制。若單片機(jī)依次輸出了字形碼,則所有的數(shù)碼管必會

26、接收到同樣的字形碼。但是,單片機(jī)對于位元件選通電路的控制則決定了最終是哪個(gè)數(shù)碼管能夠顯示出字形。因此,我們?nèi)粝胨璧臄?shù)碼管燈亮,則只要打開所需對應(yīng)的數(shù)碼管的選通控制,而不打開相應(yīng)選通控制的數(shù)碼管就不會發(fā)光。動態(tài)驅(qū)動就是通過分時(shí)方法輪流控制各個(gè)LED數(shù)碼管的COM端口,從而促使每個(gè)數(shù)碼管輪流的接受控制并顯示。數(shù)碼管在依次顯示的過程當(dāng)中,會產(chǎn)生1ms2ms的點(diǎn)亮?xí)r間,因?yàn)槊總€(gè)人都存在視覺暫留的現(xiàn)象,加之受到發(fā)光二極管余輝效應(yīng)的影響和信號的掃描達(dá)到一定足夠的速度,所以,人會接收到穩(wěn)定的顯示信息。(2)靜態(tài)顯示驅(qū)動:直流驅(qū)動被稱為靜態(tài)驅(qū)動。所謂的靜態(tài)驅(qū)動就是其每一個(gè)的段碼都必須要有一個(gè)單片機(jī)的輸入/輸

27、出端口完成驅(qū)動。編程簡單是靜態(tài)驅(qū)動的優(yōu)點(diǎn),它的顯示亮度非常高,占用I/O口多是它的缺點(diǎn),假設(shè)想要驅(qū)動5個(gè)數(shù)碼管都進(jìn)行靜態(tài)顯示,那么就需要根I/O口來驅(qū)動數(shù)碼管,因?yàn)橐粋€(gè)89C52單片機(jī)只有32個(gè)I/O口,所以,在實(shí)際應(yīng)用時(shí)則需要用利用譯碼器進(jìn)行驅(qū)動,因而對于硬件電路來說則提高了它的復(fù)雜度。計(jì)時(shí)計(jì)分器電路分別如圖3-3、3-4所示 圖3-3計(jì)時(shí)顯示器電路 圖3-4計(jì)分顯示器電路3.4控制鍵盤器控制鍵盤由16個(gè)按鈕組成,主要分為兩個(gè)部分,第一部分是比分控制鍵盤,另一部分是時(shí)間控制鍵盤。比分控制鍵盤由0-7號按鈕組成,分別按下02號按鈕甲隊(duì)分別加一分、兩分和三分,3號按鈕為減分按鈕,防止分?jǐn)?shù)加錯(cuò),每

28、按下一次甲隊(duì)減一分。4-6號按鈕控制的是乙隊(duì)的加一分、兩分和三分,7號按鈕同樣是減分按鈕每按下一次,乙隊(duì)減一分。按下8號鍵,雙方比分清零;中場結(jié)束后開始下半場比賽時(shí)需要交換比賽雙方比分,此時(shí)按下9號按鈕即可。A-F按鈕則是比賽控制按鈕及時(shí)間控制按鈕。按鈕A和按鈕B分別控制時(shí)間的加一和減一,時(shí)間的加減只能再時(shí)間停止時(shí)進(jìn)行。按下按鈕C整個(gè)計(jì)時(shí)計(jì)分器啟動,時(shí)間顯示器顯示10:00的單節(jié)比賽倒計(jì)時(shí),比分顯示器顯示甲乙兩隊(duì)初始比分0:0。當(dāng)比賽需要暫停時(shí)按下D按鈕,單節(jié)比賽結(jié)束后按下E按鈕則時(shí)間恢復(fù)為10:00。鍵盤控制電路如圖3-5所示 3-5控制鍵盤圖第四章 軟件設(shè)計(jì)方案在單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程中

29、,主要采用的有匯編語言和C語言。匯編語言比C語言繁瑣,但是匯編語言能更充分的發(fā)揮指令系統(tǒng)的功能和效率,可以獲得最簡練的目標(biāo)程序。而C語言的應(yīng)用最為廣泛,C語言能直接對計(jì)算機(jī)的硬件進(jìn)行操作,而且語言靈活、程序結(jié)構(gòu)良好、數(shù)據(jù)類型及運(yùn)算符豐富、代碼效率高、可移植性好?;@球計(jì)時(shí)計(jì)分器總流程如圖開始I/O初始化比賽開始計(jì)時(shí)器顯示記分器顯示N時(shí)間歸零Y報(bào)警器報(bào)警比賽結(jié)束 4-1 系統(tǒng)整體流程圖接通電源后,系統(tǒng)進(jìn)行初始化處理,系統(tǒng)開始運(yùn)行,檢測比賽開始按鈕是否按下,比賽開始后,時(shí)間倒計(jì)時(shí)隨即進(jìn)行。雙方比分增加,時(shí)間結(jié)束后報(bào)警器報(bào)警,比賽結(jié)束。計(jì)時(shí)器示流程圖開始比賽開始計(jì)分器顯示倒計(jì)時(shí)開始N時(shí)間為0Y 報(bào)警器

30、報(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í)間停止,蜂鳴器響計(jì)分器顯示流程圖 開始 計(jì)分顯示NNN乙隊(duì)加分乙隊(duì)加分甲隊(duì)減分甲隊(duì)加分 N甲隊(duì)加分 YYYY乙隊(duì)減分顯示乙隊(duì)加分顯示甲隊(duì)減分顯示甲隊(duì)加分顯示N 比分

31、切換Y 比分切換顯示N比分清零Y 比分清零顯示 結(jié)束比賽開始后,比分顯示器顯示00:00,此后甲隊(duì)和乙隊(duì)比分增加,中場休息后,兩隊(duì)交換場地,比分顯示也隨之交換,比賽結(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ì)比分切換第五章 仿真與調(diào)試單片機(jī)應(yīng)用的仿真和調(diào)試主要從硬件及軟件方面進(jìn)行,在本次設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分器

32、中我主要使用的是Keil和Proteus ISIS軟件。5.1 軟件簡介5.1.1 Keil軟件簡介KeilC51是基于80C51單片機(jī)內(nèi)核,由德國Keil Software公司研制的一款實(shí)用、智能的C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。KeilC51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。5.1.2 Proteus 簡介Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試

33、到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、AVR、ARM、8086和MSP430等,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件具有其它EDA工具軟件的功能:原理布圖、PCB自動或人工布線、SPICE電路仿真等Proteus又具有互動的電路仿真、仿真處理器及其外圍電路的革命性特點(diǎn)。5.2 仿真結(jié)果完成硬件電路設(shè)計(jì)后,檢查線路連接,確認(rèn)連線沒有錯(cuò)誤。雙擊單片機(jī)AT89C51,用單擊出

34、現(xiàn)的對話框中的Program File按鈕,在之前保存的位置找到經(jīng)過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)是通過鍵盤控制器中的AE按鈕分別控制時(shí)間加1、時(shí)間減1、比賽開始倒計(jì)時(shí)、比賽時(shí)間暫停和比賽時(shí)間復(fù)位。各按鈕對應(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ù)位效

35、果圖(2) 計(jì)分顯示功能計(jì)分功能的實(shí)現(xiàn)是通過鍵盤控制器中的09按鈕分別控制。03分別控制控制甲隊(duì)比分加1、比分加2、比分加3、比分減1;47分別控制乙隊(duì)比分加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甲隊(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上半場甲乙兩隊(duì)得分 5-15 下半場交換場地比分交換 5-16比賽結(jié)束

36、比分清零結(jié)論通過本次基于AT89C51的籃球計(jì)時(shí)、計(jì)分器的畢業(yè)設(shè)計(jì),實(shí)現(xiàn)了籃球比賽的計(jì)時(shí)以及計(jì)分,能應(yīng)用于學(xué)校中的籃球比賽的計(jì)時(shí)計(jì)分。此次設(shè)計(jì)也使我對于單片機(jī)工作原理,功能有了宏觀的了解,并對單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識。在沒有做畢業(yè)設(shè)計(jì)以前,覺得畢業(yè)設(shè)計(jì)只是對知識的單純總結(jié),但是通過這次畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的觀點(diǎn)有點(diǎn)太片面,畢業(yè)設(shè)計(jì)不僅是對前面所學(xué)知識的一種檢驗(yàn),也是對自己能力的一種提高,通過這次畢業(yè)設(shè)計(jì)使我明白了,自己掌握的知識是非常欠缺的,要學(xué)習(xí)的東西還很多。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很不順手,看似很簡單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來,是很難的

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

38、樣可以更直觀的看到比賽最后階段的時(shí)間變化,也能使比賽別的更激烈,分秒必爭。 參 考 文 獻(xiàn)1彭為.黃科,雷道仲.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講.北京:電子工業(yè)出版社.20062 李廣弟. 單片機(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ī)的LED點(diǎn)陣圖文顯示屏設(shè)計(jì).工礦自動化.200

39、5 年第6 期附錄A 硬件電路整體圖附錄B#include <reg52.h>#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 de

40、lay(uint z) /延時(shí)子函數(shù)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;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

41、 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=P

42、3;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;

43、/甲隊(duì)比分加3if(a>=100)a=99;diapaly1(a);if(temp=0x7e)dalay(5);if(temp=0x7e)a=a-;if(a<=-1) /甲隊(duì)比分減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 (temp!=0xf0) )temp=P3;if(temp=0xed)delay(5);if(temp=0xed)c+; /乙隊(duì)比分加1if(c>=100)c=99;dispaly2(c);if(temp=0xdd)dalay(5);if(temp=0xdd)c=

溫馨提示

  • 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

提交評論