版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)</p><p> Design of Timing and Scoring of Basketball Competition Based on Single Chip Computer</p><p><b> 摘 要</b></p><p> 籃球比賽計(jì)時(shí)計(jì)分器是為了解決籃球比賽時(shí)
2、計(jì)分與計(jì)時(shí)準(zhǔn)確的問(wèn)題。此裝置利用單片機(jī)AT89C51完成了計(jì)時(shí)和計(jì)分的功能。本文詳細(xì)地介紹了系統(tǒng)硬件與軟件的設(shè)計(jì)過(guò)程,設(shè)計(jì)由AT89C51編程控制LED七段數(shù)碼管作顯示的球賽計(jì)時(shí)計(jì)分系統(tǒng)。該系統(tǒng)具有賽程定時(shí)設(shè)置,賽程時(shí)間暫停,及時(shí)刷新甲、乙雙方的成績(jī)以及賽后成績(jī)暫存等功能。它具有價(jià)格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點(diǎn)。廣泛適合各類(lèi)學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計(jì)時(shí)計(jì)分。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 籃球
3、賽計(jì)時(shí) 籃球賽計(jì)分 </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 背景知識(shí)介紹- 1 -</p><p> 1.2 設(shè)計(jì)意義- 1 -</p><p> 1.3 設(shè)計(jì)目的- 1 -</p><p> 第二章 系統(tǒng)硬件介紹- 3 -</p><p> 2.1 MCS-51單片機(jī)簡(jiǎn)述- 3 -</p><p> 2.1.1 單片機(jī)AT89C5
8、1簡(jiǎn)介- 3 -</p><p> 2.1.2 主要特性- 4 -</p><p> 2.1.3 管腳說(shuō)明- 4 -</p><p> 2.1.4 芯片擦除- 6 -</p><p> 2.1.5 掉電模式- 6 -</p><p> 2.1.6 程序儲(chǔ)存器的加密- 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 報(bào)警器- 9 -</p><p> 2.5.1 報(bào)警器的分類(lèi)- 10 -</p><p> 2.5.2 報(bào)警器工作原理- 10 -</p><p> 第三章 硬件電路設(shè)計(jì)- 11 -</p><p> 3.1 系統(tǒng)方案設(shè)計(jì)- 11 -
11、</p><p> 3.1.1 系統(tǒng)構(gòu)成框圖- 11 -</p><p> 3.1.2 器件選擇- 12 -</p><p> 3.2 硬件總體設(shè)計(jì)- 12 -</p><p> 3.3 計(jì)時(shí)電路部分- 12 -</p><p> 3.3.1 振蕩電路- 12 -</p><p&
12、gt; 3.3.2 計(jì)時(shí)電路的工作原理- 15 -</p><p> 3.4 計(jì)分電路部分- 16 -</p><p> 3.4.1 串行接口工作原理- 16 -</p><p> 3.4.2 計(jì)分電路原理圖- 16 -</p><p> 3.4.3 計(jì)分電路的工作原理- 17 -</p><p>
13、 第四章 籃球計(jì)時(shí)計(jì)分器軟件設(shè)計(jì)- 19 -</p><p> 4.1 球賽計(jì)時(shí)計(jì)分器的工作過(guò)程- 19 -</p><p> 4.2 籃球計(jì)時(shí)計(jì)分器編程設(shè)計(jì)- 19 -</p><p> 4.3 主要模塊說(shuō)明- 20 -</p><p> 4.3.1 計(jì)時(shí)部分模塊流程- 20 -</p><p>
14、 4.3.2 記分部分模塊流程- 21 -</p><p> 4.4 籃球計(jì)時(shí)計(jì)分器程序源代碼- 21 -</p><p> 結(jié) 論- 31 -</p><p> 參考文獻(xiàn)- 32 -</p><p> 致 謝- 33 -</p><p><b> 第一章 引言</b><
15、;/p><p> 1.1 背景知識(shí)介紹</p><p> 單片機(jī)又稱(chēng)單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇[2]。</p><p><b> 1.2 設(shè)計(jì)意
16、義</b></p><p> 單片機(jī)的應(yīng)用是具有高度現(xiàn)實(shí)意義的。單片機(jī)極高的可靠性,微型性和智能性(我們只要編寫(xiě)不同的程序后就能夠完成不同的控制工作),單片機(jī)已成為工業(yè)控制領(lǐng)域中普遍采用的智能化控制工具,已經(jīng)深深地滲入到我們的日常生活當(dāng)中。</p><p> 通過(guò)此次基于單片機(jī)設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分系統(tǒng),我們可以更清楚詳細(xì)的了解單片機(jī)程序設(shè)計(jì)的基本指令功能、編程步驟和技巧來(lái)講述
17、單片機(jī)編程,并對(duì)MCS-51單片機(jī)的結(jié)構(gòu)和原理進(jìn)行講述,以及基于單片機(jī)開(kāi)發(fā)應(yīng)用的相關(guān)芯片的工作原理,并且可以在將來(lái)的工作和學(xué)習(xí)中加以應(yīng)用[5]。</p><p><b> 1.3 設(shè)計(jì)目的</b></p><p> 隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)做控制的球賽計(jì)時(shí)計(jì)分系統(tǒng)也應(yīng)運(yùn)而產(chǎn)生,如用單片機(jī)控制LCD液晶顯示器計(jì)時(shí)計(jì)分器,用單片機(jī)控制LED七段顯示
18、器計(jì)時(shí)計(jì)分器等。</p><p> 本次設(shè)計(jì)用由AT89C51編程控制LED七段數(shù)碼管作顯示的球賽計(jì)時(shí)計(jì)分系統(tǒng)。該系統(tǒng)具有賽程定時(shí)設(shè)置,賽程時(shí)間暫停,及時(shí)刷新甲、乙雙方的成績(jī)以及賽后成績(jī)暫存等功能。它具有價(jià)格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點(diǎn)。廣泛適合各類(lèi)學(xué)校或者小型團(tuán)體作為賽程計(jì)時(shí)計(jì)分 [8]。</p><p> 通過(guò)本次基于C51系列籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì),可以了解、熟悉有關(guān)
19、單片機(jī)開(kāi)發(fā)設(shè)計(jì)的過(guò)程,并加深對(duì)單片機(jī)的理解和應(yīng)用以及掌握單片機(jī)與外圍接口的一些方法和技巧,這主要表現(xiàn)在以下一些方面:</p><p> (1) 籃球賽計(jì)時(shí)計(jì)分系統(tǒng)包含了8051系列單片機(jī)的最小應(yīng)用系統(tǒng)的構(gòu)成,同時(shí)在此基礎(chǔ)上擴(kuò)展了一些使用性強(qiáng)的外圍接口。</p><p> (2) 可以了解到LED顯示器的結(jié)構(gòu)、工作原理以及這種顯示器的接口實(shí)例與具體連接與編程方法。</p>
20、<p> (3) 怎樣利用串行口來(lái)擴(kuò)展顯示接口等[6]。</p><p> 第二章 系統(tǒng)硬件介紹</p><p> 2.1 MCS-51單片機(jī)簡(jiǎn)述</p><p> 2.1.1 單片機(jī)AT89C51簡(jiǎn)介</p><p> 本課題中用到的芯片就是AT系列中的AT89C51單片機(jī)芯片。</p><p>
21、 AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案 [7]。</p><p> AT89C51具有PDIP、PQFP/TQFP及PLCC等三種封
22、裝形式,以適應(yīng)不同產(chǎn)品的需求。它是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。如圖所示圖2-1為AT89C51單片機(jī)基本構(gòu)造,其基本性能介紹如圖2-1:</p>
23、<p> 圖2-1 AT89C51引腳圖</p><p> AT89C51本身內(nèi)含40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中端口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。</p><p&
24、gt; 2.1.2 主要特性</p><p> AT89C51的主要特性如表2-1所示:</p><p> 表2-1 AT89C51主要功能描述</p><p> 2.1.3 管腳說(shuō)明 VCC:供電電壓。</p><p><b> GND:接地。</b>&l
25、t;/p><p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口
26、緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將
27、輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”
28、后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如表2-2所示:</p><p> 表2-2 AT89C51特殊功能表</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p&g
29、t; RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE
30、脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平
31、時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p>
32、;<p> 2.1.4 芯片擦除</p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。<
33、;/p><p> 在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(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ú)效,且必須保持一定時(shí)間以使振蕩器重新啟動(dòng)并且穩(wěn)定的工作 [5]。</p><p> 表2-3 外部引腳狀態(tài)表</p><p> 2.1.6 程序儲(chǔ)存器的加密</p><p> AT89C51可使用對(duì)芯片上的三個(gè)
35、加密位LB1、LB2、LB3[2]進(jìn)行編程(P)</p><p> 或者不進(jìn)行編程(U)。當(dāng)加密位LB1被編程時(shí),在復(fù)位期間,EA斷的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒(méi)有服位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)會(huì)保存到真正復(fù)位為止 [5]。</p><p> 2.2 顯示器及其接口</p><p> 2.2.1 顯示器介紹</p>
36、<p> 顯示器是最常用的輸出設(shè)備,其種類(lèi)繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類(lèi),按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類(lèi)似,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息, 如漢字、圖形、圖表等 [4]。</p><p><b>
37、 兩者之間的區(qū)別:</b></p><p> ?。?)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 </p><p> ?。?)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價(jià)格較低。液晶成本較高,面積無(wú)法做得很大,但圖像質(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顯示器又稱(chēng)為數(shù)碼管,LED顯示器由8個(gè)發(fā)光二極管組成。中7個(gè)長(zhǎng)條形的發(fā)光管排列成“日”字形,另一個(gè)賀點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。LEDD顯示器有兩種不同的形
39、式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱(chēng)之為共陽(yáng)極LED顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱(chēng)之為共陰極LED顯示器 [1]。如圖2-3所示。</p><p> 圖2-3 共陰與共陽(yáng)極LED顯示器</p><p> 2.2.3 LED顯示器顯示方式</p><p> 點(diǎn)亮LED顯示器有兩種方式:一是靜態(tài)顯示;二是動(dòng)態(tài)顯示。在本次設(shè)計(jì)中,采用
40、的是靜態(tài)顯示。</p><p> 這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多。從下圖可以看出,每位LED顯示器需要單獨(dú)占用8根端口線,因此,在數(shù)據(jù)較多的時(shí)候,往往不采用這種設(shè)計(jì),而是采用動(dòng)態(tài)顯示方式 [3]。</p><p> 所謂動(dòng)態(tài)顯示,就是將要顯示的多位LED顯示器采用一個(gè)8位的段選端口,然后采用動(dòng)態(tài)掃描一位一位地輪流點(diǎn)亮各位顯示器。圖2-4為4
41、位LED顯示器動(dòng)態(tài)顯示電路。</p><p> 圖2-4 動(dòng)態(tài)顯示圖</p><p> 2.3 CD4094芯片介紹</p><p> 在本次設(shè)計(jì)的計(jì)分電路中,我們使用集成電路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è)計(jì)中的比分校正電路采用四輸入與門(mén)74LS21來(lái)實(shí)現(xiàn)。74LS21是雙4輸入與門(mén)。在一個(gè)芯片里有兩個(gè)相同的單元,其中一個(gè)任何一個(gè)都是1/2斷口。同型號(hào)的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ào)警器</b></p><p> 2.5.1 報(bào)警器的分類(lèi)</p><p> 蜂鳴器有兩類(lèi)3大品種。一類(lèi)是壓電式,一類(lèi)是電磁式,電磁式又有兩大品種,鐵振膜式和動(dòng)圈式,二者原理一樣只是結(jié)構(gòu)不同。所有蜂鳴器都有兩種類(lèi)型:純
44、蜂鳴器和帶驅(qū)動(dòng)的蜂鳴器,蜂鳴器都是用音頻信號(hào)驅(qū)動(dòng)的,都是交流驅(qū)動(dòng)。 </p><p> 2.5.2 報(bào)警器工作原理</p><p> 報(bào)警器的種類(lèi)很多,比如:揚(yáng)聲器,蜂鳴器等,本次設(shè)計(jì)采用的是電磁式蜂鳴器作為報(bào)警器。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、震動(dòng)膜片以及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)通過(guò)電磁線圈,使得電磁線圈產(chǎn)生了一個(gè)磁場(chǎng)。振動(dòng)膜片在電磁線
45、圈和磁鐵的相互作用下,周期性的振動(dòng)發(fā)聲 [2]。</p><p> 第三章 硬件電路設(shè)計(jì)</p><p> 系統(tǒng)硬件由以下幾個(gè)部分組成:</p><p> ?。?)單片機(jī) AT89C51</p><p><b> (2)計(jì)時(shí)電路</b></p><p><b> ?。?)計(jì)分電路&
46、lt;/b></p><p><b> ?。?)按鍵開(kāi)關(guān)</b></p><p> 說(shuō)明:整個(gè)系統(tǒng)只用一片AT89C51;在圖中將計(jì)時(shí)電路與計(jì)分電路分開(kāi)畫(huà),只是為了能夠更好的更清晰的說(shuō)明問(wèn)題;并且在整個(gè)畫(huà)圖過(guò)程中將AT89C51引腳打亂是為了使圖示能夠更加的清晰明了[7]。</p><p> 3.1 系統(tǒng)方案設(shè)計(jì)</p>
47、<p> 3.1.1 系統(tǒng)構(gòu)成框圖</p><p> 基于單片機(jī)系統(tǒng)的籃球賽計(jì)時(shí)計(jì)分器的系統(tǒng)構(gòu)成框圖如圖3-1所視。</p><p> 圖3-1 系統(tǒng)構(gòu)成圖</p><p> 本系統(tǒng)采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件。利用7段共陰LED作為顯示器件。在本次設(shè)計(jì)中,共接入十個(gè)七段共陰LED顯示器,其中6個(gè)用于記錄 甲、乙兩隊(duì)的分?jǐn)?shù),每隊(duì)3
48、個(gè)LED顯示器分?jǐn)?shù)范圍可達(dá)到0—99分,足夠滿足賽程需要。另外4個(gè)LED顯示器則用于記錄賽程的時(shí)間,其中兩個(gè)用于顯示分鐘;2個(gè)用于顯示秒鐘。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式。即比賽前將時(shí)間設(shè)置好,比賽開(kāi)始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。根據(jù)設(shè)計(jì),計(jì)時(shí)范圍可達(dá)0—99分鐘,也完全滿足賽程的需要。</p><p> 其次,為了配合計(jì)時(shí)器和計(jì)分器校正、調(diào)整時(shí)間和比分,特在本設(shè)計(jì)中設(shè)立了7個(gè)按鍵。其中4個(gè)用于輸入甲、乙兩隊(duì)的分?jǐn)?shù);
49、另外3個(gè)則用于完成設(shè)置、調(diào)整、啟動(dòng)和暫停賽程時(shí)間等功能 [6]。</p><p> 3.1.2 器件選擇</p><p> 本系統(tǒng)在設(shè)計(jì)的過(guò)程中主要選取了以下一些器件:</p><p> 單片機(jī):AT89C51</p><p> 四一七段BCD譯碼芯片:CD4511</p><p> 并行 / 串行轉(zhuǎn)換芯片:
50、CD4094</p><p> 四輸入與門(mén):74LS21</p><p> 顯示器件:7段共陰LED顯示器</p><p><b> 按鍵:歐姆龍按鍵</b></p><p> 3.2 硬件總體設(shè)計(jì)</p><p> 這次設(shè)計(jì)的核心是:如何運(yùn)用AT89C51單片機(jī),CD451譯碼芯片,C
51、D4094 8位移位寄存器。7段共陰LED顯示數(shù)碼管等電子元件完成顯示設(shè)計(jì)在電路上的實(shí)現(xiàn) [8]。</p><p> 從理論上說(shuō),不論顯示圖形還是文字,只要控制與組成這些圖形和文字的各個(gè)點(diǎn)所在位置對(duì)應(yīng)的LED器件發(fā)光,就能得到結(jié)果。</p><p> 本次設(shè)計(jì)采用的是靜態(tài)驅(qū)動(dòng)方式。</p><p> 所謂靜態(tài)驅(qū)動(dòng),就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I
52、/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷(xiāo)小[4]。</p><p> 這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多 [3]。</p><p> 3.3 計(jì)時(shí)電路部分</p><p> 3.3.1 振蕩電
53、路</p><p> 本次設(shè)計(jì)要使用到AT89C51單片機(jī)的時(shí)鐘振蕩功能。AT89C51中有一個(gè)用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器[1]。</p><p> 振蕩電路如圖3-2所示</p><p> 圖3-2 時(shí)鐘振蕩電路</
54、p><p> 圖3-3 外部時(shí)鐘電路</p><p> 圖3-4 系統(tǒng)總體電路</p><p> 圖3-5 計(jì)時(shí)電路原理圖</p><p> 3.3.2 計(jì)時(shí)電路的工作原理</p><p> 計(jì)時(shí)電路如圖3-5所示,主要由開(kāi)關(guān)K5-K7,單片機(jī)AT89C51,譯碼器以及LED顯示器構(gòu)成。</p>
55、<p><b> 其工作過(guò)程如下:</b></p><p> 當(dāng)比賽準(zhǔn)備開(kāi)始的時(shí)候,當(dāng)調(diào)時(shí)(十位)開(kāi)關(guān)K5按下時(shí),產(chǎn)生一個(gè)低電平;立即數(shù)00H取出,同時(shí)對(duì)應(yīng)調(diào)分(十位)控制端P2.0的LE輸出高電平,表示此時(shí)可以向調(diào)分(十位)的CD4511發(fā)送數(shù)據(jù),但CD4511的輸出端不會(huì)有輸出,因?yàn)長(zhǎng)E=1時(shí),CD4511鎖存。</p><p> 這時(shí),只要將要顯
56、示數(shù)據(jù)的代碼經(jīng)過(guò)P1口的P1.0送到CD4511的輸入端A~~D端,送完后,將LE清零。這時(shí)便可以將要顯示數(shù)據(jù)的代碼經(jīng)過(guò)CD4511譯碼后,從輸出端a~~g輸出,送LED顯示器顯示即可。調(diào)時(shí)按鍵開(kāi)關(guān)每按一次,數(shù)字自動(dòng)加1,直到調(diào)到需要設(shè)置的時(shí)間即 [2]。</p><p> 3.4 計(jì)分電路部分</p><p> 8051系列單片機(jī)除了有4個(gè)8位并行口外,還有一個(gè)能同時(shí)進(jìn)行串行發(fā)送和接
57、收的全雙工串行通信口。它能同時(shí)發(fā)送和接收數(shù)據(jù),還能作為同步移位寄存器使用。球賽計(jì)分電路正是利用了8051單片機(jī)串行口可以外接串行輸入并行輸出移位寄存作用為輸出口來(lái)實(shí)現(xiàn)球賽比分刷新顯示的 [9]。</p><p> 3.4.1 串行接口工作原理</p><p> MCS-51系列單片機(jī)片內(nèi)有一個(gè)串行I/O端口,通過(guò)引腳 RXD(P3.0)和TXD(P3.1)可與外設(shè)電路進(jìn)行全雙工的 串行
58、異步通信 [12]。 </p><p> 8051單片機(jī)的串行端口有4種基本工作方式,通過(guò)編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場(chǎng)合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的I/O電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2,3除有方式l的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。串行端口有兩個(gè)控制寄存器(SCON和PCON),用來(lái)設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位
59、、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標(biāo)志等 [11]。</p><p> 串行端口有一個(gè)數(shù)據(jù)寄存器SBUF(在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同。發(fā)送時(shí),只寫(xiě)不讀;接收時(shí),只讀不寫(xiě)。在一定條件下,向SBUF寫(xiě)入數(shù)據(jù)就啟動(dòng)了發(fā)送過(guò)程;讀SBUF就啟動(dòng)了接收過(guò)程。串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時(shí)鐘振蕩頻率的分頻值或由定時(shí)器T1的溢出率確定,使用十分方便靈
60、活 [10]。</p><p> 3.4.2 計(jì)分電路原理圖</p><p> 圖3-6 計(jì)分電路原理圖</p><p> 3.4.3 計(jì)分電路的工作原理</p><p> 計(jì)分電路主要由單片機(jī)AT89C51,串行/并行轉(zhuǎn)換器(CD4094),LED顯示器,74LS21以及按鍵開(kāi)關(guān)組成。其工作過(guò)程如下:按鍵開(kāi)關(guān)K1~~K4組成甲、乙兩
61、隊(duì)加減分控制。按鍵K1~~K4一端接地,另一端輸入與門(mén)74LS21的9腳,10腳,12腳,13腳,以及單片機(jī)AT89C51的P3.5,P3.4,P0.2,P0.1,8腳接AT89C51的P3.2腳。當(dāng)按鍵開(kāi)關(guān)K1~~K4四個(gè)按鍵的任何一個(gè)一位按下時(shí),與門(mén)的8腳輸出都會(huì)產(chǎn)生低電平使單片機(jī)中斷,從而使相應(yīng)LED顯示。因?yàn)榘存I開(kāi)關(guān)按下時(shí)為低電平 [12]。</p><p> 第四章 籃球計(jì)時(shí)計(jì)分器軟件設(shè)計(jì)</p
62、><p> 4.1 籃球計(jì)時(shí)計(jì)分器的工作過(guò)程</p><p> 首先在比賽之前,接通電源,系統(tǒng)自動(dòng)復(fù)位,此時(shí)計(jì)時(shí)電路與計(jì)分電路中的共陰極數(shù)碼管全部顯示為0000和000 000;然后我們按照計(jì)時(shí)電路中的K5鍵來(lái)設(shè)置比賽時(shí)間的十位數(shù),例如比賽時(shí)間上半場(chǎng)為20分鐘,則通過(guò)K5鍵,使數(shù)碼管1顯示“2”即可;再按下K6鍵,設(shè)置比賽時(shí)間的個(gè)位數(shù),使數(shù)碼管2顯示“0”即可。一般比賽時(shí)間為40分鐘,所示
63、只需要按下K5鍵顯示“4”,按下K6鍵顯示“0”即可。</p><p> 時(shí)間設(shè)置好時(shí),等待賽程開(kāi)始,當(dāng)裁判吹響哨聲時(shí),啟動(dòng)計(jì)時(shí),這時(shí)計(jì)時(shí)電路便開(kāi)始工作,計(jì)時(shí)采用到計(jì)時(shí)方式,即從20分鐘減為0分鐘表示上半場(chǎng)結(jié)束。上半場(chǎng)結(jié)束時(shí),蜂鳴器會(huì)發(fā)出10秒鐘響聲,通知上半場(chǎng)結(jié)束,這時(shí)按下K7鍵,便完成了甲、乙兩隊(duì)的分?jǐn)?shù)交換。在整個(gè)賽程中,我們還要對(duì)兩隊(duì)比分進(jìn)行及時(shí)刷新,這時(shí)我們通過(guò)計(jì)分電路中的K1-K4鍵完成此功能,K1和
64、K2鍵完成甲隊(duì)加分、減分,K3和K4鍵完成乙隊(duì)加分、減分。按鍵每按一下,表示加上或者減去1分。</p><p> 由于加分、減分我們采用中斷完成,且加、減分的中斷優(yōu)先權(quán)小于計(jì)時(shí)電路中的中斷優(yōu)先權(quán),所以不會(huì)對(duì)計(jì)時(shí)電路造成影響。如果在賽程過(guò)程中,一方的教練申請(qǐng)暫停時(shí),經(jīng)裁判批準(zhǔn),我們立即按下K7鍵,即可以暫停計(jì)時(shí),暫停時(shí)間到時(shí),再按下K7鍵繼續(xù)計(jì)時(shí),直至上半場(chǎng)賽程結(jié)束,蜂鳴器會(huì)發(fā)出10秒的響聲。下半場(chǎng)的流程和上半場(chǎng)
65、基本上是一樣的 [8]。</p><p> 4.2 籃球計(jì)時(shí)計(jì)分器編程設(shè)計(jì)</p><p> 編程前,必須設(shè)置好地址、數(shù)據(jù)以及控制信號(hào)。</p><p> 編程單元的地址加在P1口和P2口的P2.0—P2.3(11位地址范圍為0000H—0FFFH),數(shù)據(jù)從P0口輸入,引腳P2.6、P2.7、P3.6、P3.7的電平設(shè)置參考校驗(yàn)電路,/PSEN為低電平,RST
66、保持高電平,EA/Vpp引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖。</p><p> 編程時(shí),可采用4—20MHZ的時(shí)鐘振蕩器,本次設(shè)計(jì)采用12MHZ的石英晶體振蕩器。具體過(guò)程是:</p><p> ?。?)在地址線上加上要編程單元的地址信號(hào),這里為33H,34H,35H,36H,37H,38H,6個(gè)地址符。</p><p>
67、?。?)在數(shù)據(jù)線上加上要寫(xiě)入的數(shù)據(jù)字節(jié),比如甲隊(duì)加一分就是在36H地址上加上(偏移)一個(gè)字符06H。</p><p> ?。?)激活相應(yīng)的控制信號(hào)。</p><p> (4)在高電壓編程方式時(shí),將EA/Vpp端加上+12V編程電壓。</p><p> ?。?)改變編程單元的地址和寫(xiě)入的數(shù)據(jù),重復(fù)1—5步驟,直到全部文件編程結(jié)束,每個(gè)字節(jié)寫(xiě)入周期是自身定時(shí)的,通常約
68、為1.5ms [7]。</p><p> 本次設(shè)計(jì)的程序流程圖如4-1:</p><p> 圖4-1 程序流程圖</p><p> 4.3 主要模塊說(shuō)明</p><p> 4.3.1 計(jì)時(shí)部分模塊流程</p><p> 圖4-2 計(jì)時(shí)部分流程圖</p><p> 4.3.2 記分部分
69、模塊流程</p><p> 圖4-3 計(jì)分部分流程</p><p> 4.4 籃球計(jì)時(shí)計(jì)分器程序源代碼</p><p><b> 程序代碼:</b></p><p> ORG 0000H</p><p> AJMP LK1 ;主程序地址</p>
70、;<p> ORG 000BH ;定時(shí)中斷入口地址</p><p> AJMP CTCO</p><p> ORG 0013H ;外部中斷入口地址</p><p> AJMP CXT</p><p> LK1: MOV 33H
71、,#00H ;甲隊(duì)記分清0</p><p> MOV 34H,#00H </p><p> MOV 35H,#00H</p><p> MOV 36H,#00H ;乙隊(duì)記分清0</p><p> MOV 37H,#00H <
72、/p><p> MOV 38H,#00H</p><p> MOV 40H,#00H ;記時(shí)分鐘清0</p><p> MOV 41H,#00H</p><p> CLR P0.0</p><p> Mp: CLR P2.0
73、 ;計(jì)時(shí)牌子清零</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 ;計(jì)分牌子清零程序</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 ;通過(guò)串行口發(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)用延時(shí)程序</p><p> INC 40H ;將十位加1</p><p> MOV A,40H</p><p> CJNE A,#0AH,LK4 ;十到了沒(méi)有</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)分鐘(個(gè)位)</p><p> CLR P2.1 ;顯示分鐘個(gè)位數(shù)據(jù)</p><p> MOV P1,41H</p><p> SETB P2.1</p><p> ACALL D2S
83、 ;調(diào)用延時(shí)程序</p><p> INC 41H ;將個(gè)位加1</p><p> MOV A,41H</p><p> CJNE A,#0AH,LK7 ;十到了沒(méi)有</p><p> MOV 41H,# 00H</p><p>
84、 AJMP LK7</p><p> LK5: JB P2.6,LK3 ;等待啟動(dòng)計(jì)時(shí)</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 ;顯示秒鐘個(gè)位
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 ;點(diǎn)亮計(jì)時(shí)指示
87、燈</p><p> MOV TMOD,#01H ;定時(shí)中斷初始化</p><p> MOV TL0,#0B0H ;送定時(shí)初值</p><p> MOV TH0,#3CH</p><p> SETB ET0 ;開(kāi)放定時(shí)中斷</p>
88、<p> SETB EX1 ;開(kāi)放外部中斷</p><p> CLR IT0 ;外部中斷低電平有效</p><p> SETB TR0 ;啟動(dòng)定時(shí)</p><p> MOV R0,#14H</p><
89、p><b> SJMP $</b></p><p> CTCO: JNB P2.6,LK8 ;定時(shí)中斷程序</p><p> DJNZ R0,NEXT ;一秒鐘到了嗎?</p><p> MOV R0,#14H</p><p>
90、DEC 43H</p><p> CLR P2.3 ;顯示時(shí)間</p><p> MOV P1,43H ;顯示秒鐘個(gè)位</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 ;顯示分鐘個(gè)位</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 ;秒鐘個(gè)位回到0沒(méi)有</p><p> MOV 43H,#0AH ;秒鐘個(gè)位送初值10</p><p> MOV A,42H</p><p>
95、; CJNE A,00H,LP3 ;秒鐘十位回到0沒(méi)有</p><p> MOV 42H,#05H ;秒鐘十位送初值5</p><p> MOV A,41H</p><p> CJNE A,#00H,LP2 ;分種個(gè)位回到0沒(méi)有</p><p> MOV 41H,#09H
96、 ;分鐘個(gè)位送初值9</p><p> MOV A,40H</p><p> CJNE A,#00H,LP1 ;分鐘十位回到0沒(méi)有</p><p> CLR P0.0 </p><p> CLR P3.6 ;時(shí)間到發(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 ;去兩隊(duì)分?jǐn)?shù)交換程序 </p><p>
98、 LK8: ACALL D10MS </p><p> JB P2.6,CTCO ;計(jì)時(shí)暫停處理</p><p> CLR P0.0</p><p> LK9: JNB P2.6,LK9 ;等待鍵按下</p><p> KL
99、10: JB P2.6,LK10 ;等待鍵放開(kāi)</p><p> SETB P0.0 ;繼續(xù)計(jì)時(shí)</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 ;將分鐘個(gè)位減1</p>
101、<p> NEXT: MOV TL0,#0B0H ;定時(shí)中斷送初值返回</p><p> MOV TH0,#3CH</p><p><b> RETI</b></p><p> KP12: MOV A,33H ;甲乙兩隊(duì)交換分?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 ;甲隊(duì)+1</p><p>
104、 JNB P3.4,KP2 ;甲隊(duì)-1</p><p> JNB P0.2,KP3 ;乙隊(duì)+1</p><p> JNB P0.1,KP4 ;乙隊(duì)-1</p><p><b> AJMP KP</b></p><p> KP
105、1: JNC 36H ;甲隊(duì)+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 ;甲隊(duì)
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 ;乙隊(duì)+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 ;乙隊(duì)-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 ;通過(guò)串行口發(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 ;延時(shí)程序10S</p><p> D2S: MOV R3,#0AH ;延時(shí)程序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ì),我通過(guò)基于典型單片機(jī)AT89C51的設(shè)計(jì)和應(yīng)用,對(duì)于單片機(jī)工作原理,功能有了宏觀的了解,并對(duì)單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識(shí)。</p><p> 在本次設(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ò)電路。另
119、外單片機(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ì)把從書(shū)本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來(lái),這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助。&l
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 籃球賽計(jì)時(shí)計(jì)分器畢業(yè)設(shè)計(jì)
- 課程設(shè)計(jì)--- 基于單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)的籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的籃球賽計(jì)分器
- 畢業(yè)設(shè)計(jì)-- 基于單片機(jī)的籃球賽計(jì)分器
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 課程設(shè)計(jì)-- 籃球賽計(jì)時(shí)計(jì)分器
- -基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)設(shè)計(jì)
- 基于單片機(jī)的籃球賽計(jì)分器
- 開(kāi)題報(bào)告---籃球賽計(jì)時(shí)計(jì)分器設(shè)計(jì)與實(shí)現(xiàn)
- 單片機(jī)課程設(shè)計(jì)——籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)課程設(shè)計(jì)—籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)課程設(shè)計(jì)——籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)課程設(shè)計(jì)—籃球計(jì)時(shí)計(jì)分器
- 單片機(jī)籃球計(jì)時(shí)計(jì)分器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——籃球計(jì)時(shí)計(jì)分器 - 副本
- 單片機(jī)課程設(shè)計(jì)報(bào)告-籃球計(jì)時(shí)計(jì)分器
- 畢業(yè)設(shè)計(jì)----籃球賽計(jì)時(shí)記分器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89s52單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論