2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于單片機(jī)籃球賽計時計分器設(shè)計</p><p>  Design of Timing and Scoring of Basketball Competition Based on Single Chip Computer</p><p><b>  摘 要</b></p><p>  籃球比賽計時計分器是為了解決籃球比賽時

2、計分與計時準(zhǔn)確的問題。此裝置利用單片機(jī)AT89C51完成了計時和計分的功能。本文詳細(xì)地介紹了系統(tǒng)硬件與軟件的設(shè)計過程,設(shè)計由AT89C51編程控制LED七段數(shù)碼管作顯示的球賽計時計分系統(tǒng)。該系統(tǒng)具有賽程定時設(shè)置,賽程時間暫停,及時刷新甲、乙雙方的成績以及賽后成績暫存等功能。它具有價格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點。廣泛適合各類學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計時計分。</p><p>  關(guān)鍵詞:單片機(jī) 籃球

3、賽計時 籃球賽計分 </p><p><b>  ABSTRACT</b></p><p>  Time scoring basketball game is to solve the game of basketball with the time points when the issue of accuracy. This device is complete

4、d using AT89C51 single- chip timing and scoring functions. This article describes in detail the system hardware and software design process, design by AT89C51 programming control for LED Seven-Segment LED display subsyst

5、em of the game time. The system is set up with the schedule from time to time, schedule time to pause, refresh in time A, B, and after the two s</p><p>  Key words: MCU Basketball Time Basketball Scoreboard&

6、lt;/p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  Abstract1</p><p><b>  目 錄I</b></p><p>  第一章 引言- 1 -</p>&l

7、t;p>  1.1 背景知識介紹- 1 -</p><p>  1.2 設(shè)計意義- 1 -</p><p>  1.3 設(shè)計目的- 1 -</p><p>  第二章 系統(tǒng)硬件介紹- 3 -</p><p>  2.1 MCS-51單片機(jī)簡述- 3 -</p><p>  2.1.1 單片機(jī)AT89C5

8、1簡介- 3 -</p><p>  2.1.2 主要特性- 4 -</p><p>  2.1.3 管腳說明- 4 -</p><p>  2.1.4 芯片擦除- 6 -</p><p>  2.1.5 掉電模式- 6 -</p><p>  2.1.6 程序儲存器的加密- 6 -</p>

9、<p>  2.2 顯示器及其接口- 7 -</p><p>  2.2.1 顯示器介紹- 7 -</p><p>  2.2.2 結(jié)構(gòu)與原理- 7 -</p><p>  2.2.3 LED顯示器顯示方式- 8 -</p><p>  2.3 CD4094芯片介紹- 8 -</p><p>  2

10、.4 74LS21芯片介紹- 9 -</p><p>  2.5 報警器- 9 -</p><p>  2.5.1 報警器的分類- 10 -</p><p>  2.5.2 報警器工作原理- 10 -</p><p>  第三章 硬件電路設(shè)計- 11 -</p><p>  3.1 系統(tǒng)方案設(shè)計- 11 -

11、</p><p>  3.1.1 系統(tǒng)構(gòu)成框圖- 11 -</p><p>  3.1.2 器件選擇- 12 -</p><p>  3.2 硬件總體設(shè)計- 12 -</p><p>  3.3 計時電路部分- 12 -</p><p>  3.3.1 振蕩電路- 12 -</p><p&

12、gt;  3.3.2 計時電路的工作原理- 15 -</p><p>  3.4 計分電路部分- 16 -</p><p>  3.4.1 串行接口工作原理- 16 -</p><p>  3.4.2 計分電路原理圖- 16 -</p><p>  3.4.3 計分電路的工作原理- 17 -</p><p>

13、  第四章 籃球計時計分器軟件設(shè)計- 19 -</p><p>  4.1 球賽計時計分器的工作過程- 19 -</p><p>  4.2 籃球計時計分器編程設(shè)計- 19 -</p><p>  4.3 主要模塊說明- 20 -</p><p>  4.3.1 計時部分模塊流程- 20 -</p><p>

14、  4.3.2 記分部分模塊流程- 21 -</p><p>  4.4 籃球計時計分器程序源代碼- 21 -</p><p>  結(jié) 論- 31 -</p><p>  參考文獻(xiàn)- 32 -</p><p>  致 謝- 33 -</p><p><b>  第一章 引言</b><

15、;/p><p>  1.1 背景知識介紹</p><p>  單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇[2]。</p><p><b>  1.2 設(shè)計意

16、義</b></p><p>  單片機(jī)的應(yīng)用是具有高度現(xiàn)實意義的。單片機(jī)極高的可靠性,微型性和智能性(我們只要編寫不同的程序后就能夠完成不同的控制工作),單片機(jī)已成為工業(yè)控制領(lǐng)域中普遍采用的智能化控制工具,已經(jīng)深深地滲入到我們的日常生活當(dāng)中。</p><p>  通過此次基于單片機(jī)設(shè)計的籃球計時計分系統(tǒng),我們可以更清楚詳細(xì)的了解單片機(jī)程序設(shè)計的基本指令功能、編程步驟和技巧來講述

17、單片機(jī)編程,并對MCS-51單片機(jī)的結(jié)構(gòu)和原理進(jìn)行講述,以及基于單片機(jī)開發(fā)應(yīng)用的相關(guān)芯片的工作原理,并且可以在將來的工作和學(xué)習(xí)中加以應(yīng)用[5]。</p><p><b>  1.3 設(shè)計目的</b></p><p>  隨著單片機(jī)在各個領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)做控制的球賽計時計分系統(tǒng)也應(yīng)運而產(chǎn)生,如用單片機(jī)控制LCD液晶顯示器計時計分器,用單片機(jī)控制LED七段顯示

18、器計時計分器等。</p><p>  本次設(shè)計用由AT89C51編程控制LED七段數(shù)碼管作顯示的球賽計時計分系統(tǒng)。該系統(tǒng)具有賽程定時設(shè)置,賽程時間暫停,及時刷新甲、乙雙方的成績以及賽后成績暫存等功能。它具有價格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點。廣泛適合各類學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計時計分 [8]。</p><p>  通過本次基于C51系列籃球計時計分器的設(shè)計,可以了解、熟悉有關(guān)

19、單片機(jī)開發(fā)設(shè)計的過程,并加深對單片機(jī)的理解和應(yīng)用以及掌握單片機(jī)與外圍接口的一些方法和技巧,這主要表現(xiàn)在以下一些方面:</p><p>  (1) 籃球賽計時計分系統(tǒng)包含了8051系列單片機(jī)的最小應(yīng)用系統(tǒng)的構(gòu)成,同時在此基礎(chǔ)上擴(kuò)展了一些使用性強(qiáng)的外圍接口。</p><p>  (2) 可以了解到LED顯示器的結(jié)構(gòu)、工作原理以及這種顯示器的接口實例與具體連接與編程方法。</p>

20、<p>  (3) 怎樣利用串行口來擴(kuò)展顯示接口等[6]。</p><p>  第二章 系統(tǒng)硬件介紹</p><p>  2.1 MCS-51單片機(jī)簡述</p><p>  2.1.1 單片機(jī)AT89C51簡介</p><p>  本課題中用到的芯片就是AT系列中的AT89C51單片機(jī)芯片。</p><p>

21、  AT89C51是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),內(nèi)置功能強(qiáng)大的微型計算機(jī)的AT89C51提供了高性價比的解決方案 [7]。</p><p>  AT89C51具有PDIP、PQFP/TQFP及PLCC等三種封

22、裝形式,以適應(yīng)不同產(chǎn)品的需求。它是一個低功耗高性能單片機(jī),40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。如圖所示圖2-1為AT89C51單片機(jī)基本構(gòu)造,其基本性能介紹如圖2-1:</p>

23、<p>  圖2-1 AT89C51引腳圖</p><p>  AT89C51本身內(nèi)含40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中端口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。</p><p&

24、gt;  2.1.2 主要特性</p><p>  AT89C51的主要特性如表2-1所示:</p><p>  表2-1 AT89C51主要功能描述</p><p>  2.1.3 管腳說明     VCC:供電電壓。</p><p><b>  GND:接地。</b>&l

25、t;/p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口

26、緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將

27、輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”

28、后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3口也可作為AT89C51的一些特殊功能口,如表2-2所示:</p><p>  表2-2 AT89C51特殊功能表</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p&g

29、t;  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。</p><p>  ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE

30、脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平

31、時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。</p>

32、;<p>  2.1.4 芯片擦除</p><p>  整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。<

33、;/p><p>  在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止 [6]。</p><p>  2.1.5 掉電模式</p><p>  在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終

34、止掉電模式前被凍結(jié)。推出掉電模式的唯一方法是硬件復(fù)位。復(fù)位后將重新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在VCC恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時間以使振蕩器重新啟動并且穩(wěn)定的工作 [5]。</p><p>  表2-3 外部引腳狀態(tài)表</p><p>  2.1.6 程序儲存器的加密</p><p>  AT89C51可使用對芯片上的三個

35、加密位LB1、LB2、LB3[2]進(jìn)行編程(P)</p><p>  或者不進(jìn)行編程(U)。當(dāng)加密位LB1被編程時,在復(fù)位期間,EA斷的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒有服位,則鎖存起的初始值是一個隨機(jī)數(shù),這個隨機(jī)數(shù)會保存到真正復(fù)位為止 [5]。</p><p>  2.2 顯示器及其接口</p><p>  2.2.1 顯示器介紹</p>

36、<p>  顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價格便宜,接口容易實現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類,按顯示方式可分為段式,行點陣式和全點陣式。段式與數(shù)碼管類似,行點陣式一般是英文字符,全點陣式可顯示任何信息, 如漢字、圖形、圖表等 [4]。</p><p><b> 

37、 兩者之間的區(qū)別:</b></p><p> ?。?)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 </p><p> ?。?)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價格較低。液晶成本較高,面積無法做得很大,但圖像質(zhì)量很好,適合做顯示器。 </p><p> ?。?)二極管耗電大,液晶耗電小。</p><p> ?。?)二

38、極管圖像刷新率低,液晶的高 </p><p>  2.2.2 結(jié)構(gòu)與原理</p><p>  圖2-2 7段LED數(shù)碼管</p><p>  如圖2-2,LED顯示器又稱為數(shù)碼管,LED顯示器由8個發(fā)光二極管組成。中7個長條形的發(fā)光管排列成“日”字形,另一個賀點形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部份英文字母。LEDD顯示器有兩種不同的形

39、式:一種是8個發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED顯示器 [1]。如圖2-3所示。</p><p>  圖2-3 共陰與共陽極LED顯示器</p><p>  2.2.3 LED顯示器顯示方式</p><p>  點亮LED顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。在本次設(shè)計中,采用

40、的是靜態(tài)顯示。</p><p>  這種電路的優(yōu)點在于:在同一時間可以顯示不同的字符;但缺點就是占用端口資源較多。從下圖可以看出,每位LED顯示器需要單獨占用8根端口線,因此,在數(shù)據(jù)較多的時候,往往不采用這種設(shè)計,而是采用動態(tài)顯示方式 [3]。</p><p>  所謂動態(tài)顯示,就是將要顯示的多位LED顯示器采用一個8位的段選端口,然后采用動態(tài)掃描一位一位地輪流點亮各位顯示器。圖2-4為4

41、位LED顯示器動態(tài)顯示電路。</p><p>  圖2-4 動態(tài)顯示圖</p><p>  2.3 CD4094芯片介紹</p><p>  在本次設(shè)計的計分電路中,我們使用集成電路CD4094。CD4094是8位移位寄存器,它主要完成串行輸入,并行輸出8位數(shù)據(jù)的功能,所以又叫8位串/并轉(zhuǎn)換器。圖2-5為CD4094的引腳圖:</p><p&g

42、t;  圖2-5 CD4094引腳分布圖</p><p>  2.4 74LS21芯片介紹</p><p>  本次設(shè)計中的比分校正電路采用四輸入與門74LS21來實現(xiàn)。74LS21是雙4輸入與門。在一個芯片里有兩個相同的單元,其中一個任何一個都是1/2斷口。同型號的74系列、74HC系列、74LS系列芯片,邏輯功能上是一樣的。表2-4為74、74HC、74LS系列芯片資料 [8]。<

43、;/p><p>  表2-4 74、74HC、74LS相關(guān)資料表</p><p><b>  2.5 報警器</b></p><p>  2.5.1 報警器的分類</p><p>  蜂鳴器有兩類3大品種。一類是壓電式,一類是電磁式,電磁式又有兩大品種,鐵振膜式和動圈式,二者原理一樣只是結(jié)構(gòu)不同。所有蜂鳴器都有兩種類型:純

44、蜂鳴器和帶驅(qū)動的蜂鳴器,蜂鳴器都是用音頻信號驅(qū)動的,都是交流驅(qū)動。 </p><p>  2.5.2 報警器工作原理</p><p>  報警器的種類很多,比如:揚聲器,蜂鳴器等,本次設(shè)計采用的是電磁式蜂鳴器作為報警器。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、震動膜片以及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號通過電磁線圈,使得電磁線圈產(chǎn)生了一個磁場。振動膜片在電磁線

45、圈和磁鐵的相互作用下,周期性的振動發(fā)聲 [2]。</p><p>  第三章 硬件電路設(shè)計</p><p>  系統(tǒng)硬件由以下幾個部分組成:</p><p> ?。?)單片機(jī) AT89C51</p><p><b>  (2)計時電路</b></p><p><b> ?。?)計分電路&

46、lt;/b></p><p><b> ?。?)按鍵開關(guān)</b></p><p>  說明:整個系統(tǒng)只用一片AT89C51;在圖中將計時電路與計分電路分開畫,只是為了能夠更好的更清晰的說明問題;并且在整個畫圖過程中將AT89C51引腳打亂是為了使圖示能夠更加的清晰明了[7]。</p><p>  3.1 系統(tǒng)方案設(shè)計</p>

47、<p>  3.1.1 系統(tǒng)構(gòu)成框圖</p><p>  基于單片機(jī)系統(tǒng)的籃球賽計時計分器的系統(tǒng)構(gòu)成框圖如圖3-1所視。</p><p>  圖3-1 系統(tǒng)構(gòu)成圖</p><p>  本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計的核心元件。利用7段共陰LED作為顯示器件。在本次設(shè)計中,共接入十個七段共陰LED顯示器,其中6個用于記錄 甲、乙兩隊的分?jǐn)?shù),每隊3

48、個LED顯示器分?jǐn)?shù)范圍可達(dá)到0—99分,足夠滿足賽程需要。另外4個LED顯示器則用于記錄賽程的時間,其中兩個用于顯示分鐘;2個用于顯示秒鐘。賽程計時采用倒計時方式。即比賽前將時間設(shè)置好,比賽開始時啟動計時,直至計時到零為止。根據(jù)設(shè)計,計時范圍可達(dá)0—99分鐘,也完全滿足賽程的需要。</p><p>  其次,為了配合計時器和計分器校正、調(diào)整時間和比分,特在本設(shè)計中設(shè)立了7個按鍵。其中4個用于輸入甲、乙兩隊的分?jǐn)?shù);

49、另外3個則用于完成設(shè)置、調(diào)整、啟動和暫停賽程時間等功能 [6]。</p><p>  3.1.2 器件選擇</p><p>  本系統(tǒng)在設(shè)計的過程中主要選取了以下一些器件:</p><p>  單片機(jī):AT89C51</p><p>  四一七段BCD譯碼芯片:CD4511</p><p>  并行 / 串行轉(zhuǎn)換芯片:

50、CD4094</p><p>  四輸入與門:74LS21</p><p>  顯示器件:7段共陰LED顯示器</p><p><b>  按鍵:歐姆龍按鍵</b></p><p>  3.2 硬件總體設(shè)計</p><p>  這次設(shè)計的核心是:如何運用AT89C51單片機(jī),CD451譯碼芯片,C

51、D4094 8位移位寄存器。7段共陰LED顯示數(shù)碼管等電子元件完成顯示設(shè)計在電路上的實現(xiàn) [8]。</p><p>  從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形和文字的各個點所在位置對應(yīng)的LED器件發(fā)光,就能得到結(jié)果。</p><p>  本次設(shè)計采用的是靜態(tài)驅(qū)動方式。</p><p>  所謂靜態(tài)驅(qū)動,就是每一個顯示器都要占用單獨的具有鎖存功能的I

52、/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開銷小[4]。</p><p>  這種電路的優(yōu)點在于:在同一時間可以顯示不同的字符;但缺點就是占用端口資源較多 [3]。</p><p>  3.3 計時電路部分</p><p>  3.3.1 振蕩電

53、路</p><p>  本次設(shè)計要使用到AT89C51單片機(jī)的時鐘振蕩功能。AT89C51中有一個用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器[1]。</p><p>  振蕩電路如圖3-2所示</p><p>  圖3-2 時鐘振蕩電路</

54、p><p>  圖3-3 外部時鐘電路</p><p>  圖3-4 系統(tǒng)總體電路</p><p>  圖3-5 計時電路原理圖</p><p>  3.3.2 計時電路的工作原理</p><p>  計時電路如圖3-5所示,主要由開關(guān)K5-K7,單片機(jī)AT89C51,譯碼器以及LED顯示器構(gòu)成。</p>

55、<p><b>  其工作過程如下:</b></p><p>  當(dāng)比賽準(zhǔn)備開始的時候,當(dāng)調(diào)時(十位)開關(guān)K5按下時,產(chǎn)生一個低電平;立即數(shù)00H取出,同時對應(yīng)調(diào)分(十位)控制端P2.0的LE輸出高電平,表示此時可以向調(diào)分(十位)的CD4511發(fā)送數(shù)據(jù),但CD4511的輸出端不會有輸出,因為LE=1時,CD4511鎖存。</p><p>  這時,只要將要顯

56、示數(shù)據(jù)的代碼經(jīng)過P1口的P1.0送到CD4511的輸入端A~~D端,送完后,將LE清零。這時便可以將要顯示數(shù)據(jù)的代碼經(jīng)過CD4511譯碼后,從輸出端a~~g輸出,送LED顯示器顯示即可。調(diào)時按鍵開關(guān)每按一次,數(shù)字自動加1,直到調(diào)到需要設(shè)置的時間即 [2]。</p><p>  3.4 計分電路部分</p><p>  8051系列單片機(jī)除了有4個8位并行口外,還有一個能同時進(jìn)行串行發(fā)送和接

57、收的全雙工串行通信口。它能同時發(fā)送和接收數(shù)據(jù),還能作為同步移位寄存器使用。球賽計分電路正是利用了8051單片機(jī)串行口可以外接串行輸入并行輸出移位寄存作用為輸出口來實現(xiàn)球賽比分刷新顯示的 [9]。</p><p>  3.4.1 串行接口工作原理</p><p>  MCS-51系列單片機(jī)片內(nèi)有一個串行I/O端口,通過引腳 RXD(P3.0)和TXD(P3.1)可與外設(shè)電路進(jìn)行全雙工的 串行

58、異步通信 [12]。 </p><p>  8051單片機(jī)的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的I/O電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2,3除有方式l的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。串行端口有兩個控制寄存器(SCON和PCON),用來設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位

59、、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標(biāo)志等 [11]。</p><p>  串行端口有一個數(shù)據(jù)寄存器SBUF(在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同。發(fā)送時,只寫不讀;接收時,只讀不寫。在一定條件下,向SBUF寫入數(shù)據(jù)就啟動了發(fā)送過程;讀SBUF就啟動了接收過程。串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器T1的溢出率確定,使用十分方便靈

60、活 [10]。</p><p>  3.4.2 計分電路原理圖</p><p>  圖3-6 計分電路原理圖</p><p>  3.4.3 計分電路的工作原理</p><p>  計分電路主要由單片機(jī)AT89C51,串行/并行轉(zhuǎn)換器(CD4094),LED顯示器,74LS21以及按鍵開關(guān)組成。其工作過程如下:按鍵開關(guān)K1~~K4組成甲、乙兩

61、隊加減分控制。按鍵K1~~K4一端接地,另一端輸入與門74LS21的9腳,10腳,12腳,13腳,以及單片機(jī)AT89C51的P3.5,P3.4,P0.2,P0.1,8腳接AT89C51的P3.2腳。當(dāng)按鍵開關(guān)K1~~K4四個按鍵的任何一個一位按下時,與門的8腳輸出都會產(chǎn)生低電平使單片機(jī)中斷,從而使相應(yīng)LED顯示。因為按鍵開關(guān)按下時為低電平 [12]。</p><p>  第四章 籃球計時計分器軟件設(shè)計</p

62、><p>  4.1 籃球計時計分器的工作過程</p><p>  首先在比賽之前,接通電源,系統(tǒng)自動復(fù)位,此時計時電路與計分電路中的共陰極數(shù)碼管全部顯示為0000和000 000;然后我們按照計時電路中的K5鍵來設(shè)置比賽時間的十位數(shù),例如比賽時間上半場為20分鐘,則通過K5鍵,使數(shù)碼管1顯示“2”即可;再按下K6鍵,設(shè)置比賽時間的個位數(shù),使數(shù)碼管2顯示“0”即可。一般比賽時間為40分鐘,所示

63、只需要按下K5鍵顯示“4”,按下K6鍵顯示“0”即可。</p><p>  時間設(shè)置好時,等待賽程開始,當(dāng)裁判吹響哨聲時,啟動計時,這時計時電路便開始工作,計時采用到計時方式,即從20分鐘減為0分鐘表示上半場結(jié)束。上半場結(jié)束時,蜂鳴器會發(fā)出10秒鐘響聲,通知上半場結(jié)束,這時按下K7鍵,便完成了甲、乙兩隊的分?jǐn)?shù)交換。在整個賽程中,我們還要對兩隊比分進(jìn)行及時刷新,這時我們通過計分電路中的K1-K4鍵完成此功能,K1和

64、K2鍵完成甲隊加分、減分,K3和K4鍵完成乙隊加分、減分。按鍵每按一下,表示加上或者減去1分。</p><p>  由于加分、減分我們采用中斷完成,且加、減分的中斷優(yōu)先權(quán)小于計時電路中的中斷優(yōu)先權(quán),所以不會對計時電路造成影響。如果在賽程過程中,一方的教練申請暫停時,經(jīng)裁判批準(zhǔn),我們立即按下K7鍵,即可以暫停計時,暫停時間到時,再按下K7鍵繼續(xù)計時,直至上半場賽程結(jié)束,蜂鳴器會發(fā)出10秒的響聲。下半場的流程和上半場

65、基本上是一樣的 [8]。</p><p>  4.2 籃球計時計分器編程設(shè)計</p><p>  編程前,必須設(shè)置好地址、數(shù)據(jù)以及控制信號。</p><p>  編程單元的地址加在P1口和P2口的P2.0—P2.3(11位地址范圍為0000H—0FFFH),數(shù)據(jù)從P0口輸入,引腳P2.6、P2.7、P3.6、P3.7的電平設(shè)置參考校驗電路,/PSEN為低電平,RST

66、保持高電平,EA/Vpp引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖。</p><p>  編程時,可采用4—20MHZ的時鐘振蕩器,本次設(shè)計采用12MHZ的石英晶體振蕩器。具體過程是:</p><p> ?。?)在地址線上加上要編程單元的地址信號,這里為33H,34H,35H,36H,37H,38H,6個地址符。</p><p> 

67、?。?)在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié),比如甲隊加一分就是在36H地址上加上(偏移)一個字符06H。</p><p> ?。?)激活相應(yīng)的控制信號。</p><p> ?。?)在高電壓編程方式時,將EA/Vpp端加上+12V編程電壓。</p><p> ?。?)改變編程單元的地址和寫入的數(shù)據(jù),重復(fù)1—5步驟,直到全部文件編程結(jié)束,每個字節(jié)寫入周期是自身定時的,通常約

68、為1.5ms [7]。</p><p>  本次設(shè)計的程序流程圖如4-1:</p><p>  圖4-1 程序流程圖</p><p>  4.3 主要模塊說明</p><p>  4.3.1 計時部分模塊流程</p><p>  圖4-2 計時部分流程圖</p><p>  4.3.2 記分部分

69、模塊流程</p><p>  圖4-3 計分部分流程</p><p>  4.4 籃球計時計分器程序源代碼</p><p><b>  程序代碼:</b></p><p>  ORG 0000H</p><p>  AJMP LK1 ;主程序地址</p>

70、;<p>  ORG 000BH ;定時中斷入口地址</p><p>  AJMP CTCO</p><p>  ORG 0013H ;外部中斷入口地址</p><p>  AJMP CXT</p><p>  LK1: MOV 33H

71、,#00H ;甲隊記分清0</p><p>  MOV 34H,#00H </p><p>  MOV 35H,#00H</p><p>  MOV 36H,#00H ;乙隊記分清0</p><p>  MOV 37H,#00H <

72、/p><p>  MOV 38H,#00H</p><p>  MOV 40H,#00H ;記時分鐘清0</p><p>  MOV 41H,#00H</p><p>  CLR P0.0</p><p>  Mp: CLR P2.0

73、 ;計時牌子清零</p><p>  CLR P2.1 ;分分秒秒清0</p><p>  CLR P2.2 </p><p>  CLR P2.3</p><p>  MOV P1,#00H</p><p><b>  NOP</b>

74、;</p><p><b>  NOP</b></p><p>  SETB P2.0</p><p>  SETB P2.1</p><p>  SETB P2.2</p><p>  SETB P2.3</p><p>  MOV 42H,#05H

75、 ;送秒鐘初值59秒</p><p>  MOV 43H,#09H</p><p>  MOV SCON,#00H ;計分牌子清零程序</p><p>  CLR P3.7</p><p>  MOV R1,#33H</p><p>  MOV R2,#06 &l

76、t;/p><p>  LP: MOV A,@R1</p><p>  MOV DPTR,#TAB ;取顯示數(shù)</p><p>  MOVC A,@A+DPTR</p><p>  MOV SBUF,A ;通過串行口發(fā)顯示數(shù)據(jù)</p><p>  JN

77、B TI,$ ;是否發(fā)送完畢</p><p>  CLR TI ;清除標(biāo)志位</p><p><b>  INC R1</b></p><p>  DJNZ R2,LP ;6次是否 發(fā)送完畢</p><p>  SETB P

78、3.7 ;顯示數(shù)據(jù)</p><p>  LK3: JB P2.4,LK6 </p><p>  ACALL D10MS</p><p>  JB P2.4,LK3 </p><p>  ACALL D2S</p><p

79、>  LK4: JB P2.4,LK3 ;調(diào)整分鐘(十位)</p><p>  CLR P2.0 ;顯示分鐘十位數(shù)據(jù)</p><p>  MOV P1,40H</p><p>  SETB P2.0</p><p>  ACALL D2S

80、 ;調(diào)用延時程序</p><p>  INC 40H ;將十位加1</p><p>  MOV A,40H</p><p>  CJNE A,#0AH,LK4 ;十到了沒有</p><p>  MOV 40H,#00H</p><

81、p>  AJMP LK4</p><p>  LK6: JB P2.5,LK5 </p><p>  ACALL D10MS</p><p>  JB P2.5,LK6</p><p>  ACALL D2S</p><p>  LK7:

82、 JB P2.5,LK6 ; 調(diào)分鐘(個位)</p><p>  CLR P2.1 ;顯示分鐘個位數(shù)據(jù)</p><p>  MOV P1,41H</p><p>  SETB P2.1</p><p>  ACALL D2S

83、 ;調(diào)用延時程序</p><p>  INC 41H ;將個位加1</p><p>  MOV A,41H</p><p>  CJNE A,#0AH,LK7 ;十到了沒有</p><p>  MOV 41H,# 00H</p><p> 

84、 AJMP LK7</p><p>  LK5: JB P2.6,LK3 ;等待啟動計時</p><p>  ACALL D10MS</p><p>  JB P2.6,LK5</p><p>  CLR P2.2 ;顯示秒鐘十位

85、</p><p>  MOV P1,42H</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  SETB P2.2</p><p>  CLR P2.3 ;顯示秒鐘個位

86、</p><p>  MOV P1,43H</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  SETB P2.3</p><p>  SETB P0.0 ;點亮計時指示

87、燈</p><p>  MOV TMOD,#01H ;定時中斷初始化</p><p>  MOV TL0,#0B0H ;送定時初值</p><p>  MOV TH0,#3CH</p><p>  SETB ET0 ;開放定時中斷</p>

88、<p>  SETB EX1 ;開放外部中斷</p><p>  CLR IT0 ;外部中斷低電平有效</p><p>  SETB TR0 ;啟動定時</p><p>  MOV R0,#14H</p><

89、p><b>  SJMP $</b></p><p>  CTCO: JNB P2.6,LK8 ;定時中斷程序</p><p>  DJNZ R0,NEXT ;一秒鐘到了嗎?</p><p>  MOV R0,#14H</p><p>  

90、DEC 43H</p><p>  CLR P2.3 ;顯示時間</p><p>  MOV P1,43H ;顯示秒鐘個位</p><p><b>  NOP</b></p><p><b>  NOP</b></p>

91、;<p>  SETB P2.3</p><p>  CLR P2.2 ;顯示秒鐘十位</p><p>  MOV P1,42H</p><p><b>  NOP</b></p><p><b>  NOP</b></p>

92、<p>  SETB P2.2</p><p>  CLR P2.1 ;顯示分鐘個位</p><p>  MOV P1,41H</p><p><b>  NOP</b></p><p><b>  NOP</b></p>

93、<p>  SETB P2.1</p><p>  CLR P2.0 ;顯示分鐘十位</p><p>  MOV P1,40H</p><p><b>  NOP</b></p><p><b>  NOP</b></p>&l

94、t;p>  SETB P2.0</p><p>  MOV A,43H</p><p>  CJNE A,#00H,NEXT ;秒鐘個位回到0沒有</p><p>  MOV 43H,#0AH ;秒鐘個位送初值10</p><p>  MOV A,42H</p><p>

95、;  CJNE A,00H,LP3 ;秒鐘十位回到0沒有</p><p>  MOV 42H,#05H ;秒鐘十位送初值5</p><p>  MOV A,41H</p><p>  CJNE A,#00H,LP2 ;分種個位回到0沒有</p><p>  MOV 41H,#09H

96、 ;分鐘個位送初值9</p><p>  MOV A,40H</p><p>  CJNE A,#00H,LP1 ;分鐘十位回到0沒有</p><p>  CLR P0.0 </p><p>  CLR P3.6 ;時間到發(fā)出警備10S&l

97、t;/p><p>  ACALL D10S</p><p>  SETB P3.6</p><p>  KP11: JB P2.6,KP11 ;等待交換</p><p>  AJMP KP12 ;去兩隊分?jǐn)?shù)交換程序 </p><p> 

98、 LK8: ACALL D10MS </p><p>  JB P2.6,CTCO ;計時暫停處理</p><p>  CLR P0.0</p><p>  LK9: JNB P2.6,LK9 ;等待鍵按下</p><p>  KL

99、10: JB P2.6,LK10 ;等待鍵放開</p><p>  SETB P0.0 ;繼續(xù)計時</p><p>  AJMP CTCO</p><p>  P3: DEC 42H ;將秒鐘十位減1 </p>

100、;<p>  AJMP NEXT</p><p>  LP1: DEC 40H ;將分鐘十位減1</p><p>  AJMP NEXT</p><p>  LP2: DEC 41H ;將分鐘個位減1</p>

101、<p>  NEXT: MOV TL0,#0B0H ;定時中斷送初值返回</p><p>  MOV TH0,#3CH</p><p><b>  RETI</b></p><p>  KP12: MOV A,33H ;甲乙兩隊交換分?jǐn)?shù)<

102、/p><p>  XCH A,36H </p><p>  MOV 33H,A</p><p>  MOV A,34H</p><p>  XCH A,37H</p><p>  MOV 34H,A</p><p>  MOV A,35H<

103、;/p><p>  XCH A,38H</p><p>  MOV 35H,A</p><p>  AJMP mp ;返回顯示交換后的分?jǐn)?shù)</p><p>  CXT: JNB P3.5,KP1 ;甲隊+1</p><p>

104、  JNB P3.4,KP2 ;甲隊-1</p><p>  JNB P0.2,KP3 ;乙隊+1</p><p>  JNB P0.1,KP4 ;乙隊-1</p><p><b>  AJMP KP</b></p><p>  KP

105、1: JNC 36H ;甲隊+1程序</p><p>  MOV A,36H</p><p>  CJNE A,#0AH,KP5</p><p>  MOV 36H,#00H</p><p>  INC 37H</p><p>  MOV

106、 A,37H</p><p>  CJNE A,#0AH,KP5</p><p>  MOV 37H,#00H</p><p>  INC 38H</p><p>  AJMP KP5</p><p>  KP2: MOV A,36H ;甲隊

107、-1程序</p><p>  CJNE A,#00H,AP1</p><p>  MOV 36H,#09H</p><p>  DEC 37H</p><p>  AJMP KP5</p><p>  AP1: DEC 36H</p><p>  

108、AJMP KP5</p><p>  KP3: INC 33H ;乙隊+1程序</p><p>  MOV A,33H</p><p>  CJNE A,#0AH,KP5</p><p>  MOV 33H,#00H</p><p>  INC

109、 34H</p><p>  MOV A,34H</p><p>  CJNE A,#0AH,KP5</p><p>  MOV A,34H</p><p>  CJNE A,# 0AH,KP5</p><p>  MOV 34H,#00H</p><p>  IN

110、C 35H</p><p>  AJMP KP5</p><p>  KP4: MOV A,33H ;乙隊-1程序</p><p>  CJNE A,#00H,AP2</p><p>  MOV 34H,#09H</p><p>  DEC 35H

111、</p><p>  AJMP KP5</p><p>  AP2: DEC 34H</p><p>  KP5: CLR P3.7 ;顯示分?jǐn)?shù)</p><p>  MOV R1,#33H</p><p>  MOV R2,#

112、06H</p><p>  LP6: MOV A,@R1</p><p>  MOV DPTR,#TAB ;查找顯示數(shù)據(jù)</p><p>  MOVC A,@A+DPTR</p><p>  MOV SBUF,A ;通過串行口發(fā)送顯示</p><

113、p>  JNB TI,$ ;串行口是否發(fā)送完畢</p><p>  CLR TI ;串行口標(biāo)志清0</p><p><b>  INC R1</b></p><p>  DJNZ R2,L ;6次是否發(fā)送完畢</p><p

114、>  SETB P3.7</p><p>  KP6: JNB P3.3,KP6</p><p>  KP: RETI</p><p>  TAB: DB 3FH, 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H ;顯示字</p>

115、<p>  D10S: MOV 50H,#05H ;延時程序10S</p><p>  D2S: MOV R3,#0AH ;延時程序2S</p><p>  D200MS: MOV R7,#14H</p><p>  D10MS:

116、MOV R6,#05H</p><p>  LOOP3: MOV R5,#0F9H</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LOOP2: DJNZ R5,LOOP2</p&g

117、t;<p>  DJNZ R6,LOOP3</p><p>  DJNZ R7,D10MS</p><p>  DJNZ R3,D200MS</p><p>  DJNZ 50H,D2S</p><p><b>  RET</b></p><p><b> 

118、 結(jié) 論</b></p><p>  在本次畢業(yè)設(shè)計,我通過基于典型單片機(jī)AT89C51的設(shè)計和應(yīng)用,對于單片機(jī)工作原理,功能有了宏觀的了解,并對單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識。</p><p>  在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很不順手,看似很簡單的電路,要動手把它給設(shè)計出來,是很難的一件事,主要原因是我們沒有經(jīng)常動手設(shè)計過電路。另

119、外單片機(jī)系統(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)和幫助。&l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論