基于單片機的籃球計分器設計_第1頁
基于單片機的籃球計分器設計_第2頁
基于單片機的籃球計分器設計_第3頁
基于單片機的籃球計分器設計_第4頁
基于單片機的籃球計分器設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 概述31.1 研究背景31.2 基本功能及設計思路42 總體方案設計52.1 方案選取52.2 總體設計53 硬件電路設計63.1 電源電路63.2 晶振電路73.3 鍵盤電路73.4 復位電路83.5 顯示電路84 系統(tǒng)軟件設計94.1 主程序設計104.2 加分程序設計104.3 交換程序設計124.4 LED顯示程序設計134.5共陰極數(shù)碼管字形表135 總結14參考文獻15附錄1 系統(tǒng)原理圖15附錄2 源程序16附錄3 系統(tǒng)調試211 概述1.1 研究背景在這個電子信息技術迅速普及的今天,人們對電子產品的需求越來越多。二十一世紀的今天,科學技術迅猛發(fā)展,時代前進的腳步越邁越寬,應用

2、自動化設備,現(xiàn)代化通訊,計算機處理,數(shù)字化信息,現(xiàn)代化顯示設備等一些高新技術使人類邁向智能化發(fā)展。在智能化產品中,單片機的應用已經越來越廣泛,單片機以它體積小、質量輕、耗電省、可靠性高、價格低等優(yōu)點,開始不斷發(fā)展,并廣泛應用于儀器儀表、家用電器、醫(yī)療設備、航天航空領域、工業(yè)專用設備的管理及過程控制等領域,在很多的大中型的電氣設備以及小型的電子產品中也用到了單片機進行控制。單片機把我們帶入了智能化的電子領域,許多繁瑣的系統(tǒng)若由單片機進行設計,便能收到電路更簡單、功能更齊全的良好效果。若把經典的電子系統(tǒng)當作一個僵死的電子系統(tǒng),那么智能化的現(xiàn)代電子系統(tǒng)則是一個具有“生命”的電子系統(tǒng)。本設計就是基于單

3、片機設計籃球計分系統(tǒng),通過串口通信動態(tài)傳輸數(shù)據,使計分系統(tǒng)有了更多更完善的功能。單片機系統(tǒng)的硬件結構給予了籃球計分器系統(tǒng)“身軀”,而單片機的應用程序賦予了其新的“生命”,使其在傳統(tǒng)的籃球計分器面前具有電路簡單、成本低、運行可靠等特色。1.2 基本功能及設計思路1、利用89C51單片機設計籃球計分器系統(tǒng),實現(xiàn)以下功能用4位LED顯示器顯示兩隊分數(shù);能夠隨時手動對A、B兩隊分別計分;能夠手動實現(xiàn)A、B兩隊的分數(shù)位置隨場地交換而對應調換。2、設計思路:以AT89C51單片機為核心元件,利用獨立式鍵盤控制,使4位共陰極LED數(shù)碼管以靜態(tài)顯示方式實時記錄A、B兩隊的分數(shù)。獨立式鍵盤由K1、K2、K3、K

4、4、K5、K6、K7、K8構成。其功能如下:K1、K2:加1分;K3、K4:加2分;K5、K6:加3分;K7:半場換分;K8:顯示復位。A、B兩隊分別占用兩位LED顯示器,顯示范圍為099,能夠基本滿足一般比賽需要。2 總體方案設計2.1 方案選取 單片機在各種電子產品中的應用已經越來越廣泛,很多的電子產品利用單片機所取得的便利得到了人們的好評,針對基于單片機的籃球計分器的設計要求,實現(xiàn)其功能的方案有多種,現(xiàn)列舉如下: 方案(一)按鍵控制每次各隊的加分值為1分或2分,如若進3分球,則需兩鍵相加。并由半場換分按鍵和復位功能。分數(shù)通過4位LED顯示器動態(tài)顯示; 方案(二)系統(tǒng)采用三個按鍵控制每次各

5、隊的加分值為1分、2分或3分。同樣也有半場換分按鍵和復位功能。并通過4位LED顯示器靜態(tài)顯示分數(shù)。這二個方案都是基于單片機控制的,通過按鍵加分及數(shù)碼管顯示,不同的設計部分在于按鍵的數(shù)量和顯示方式的選取上。方案(一)的按鍵數(shù)量較少,加上交換按鍵和復位按鍵共需要6個,但也能完成基本功能。不過在顯示方面,動態(tài)方式編程較為復雜。方案(二)的按鍵雖然較多,但功能齊全,使用方便。并且電路不是太過復雜,編程較為簡單。 最終方案:經過以上比較,方案(一)按鍵使用不方便,且軟件設計復雜。因此選用方案(二),即以8位獨立式鍵盤分別實現(xiàn)加1分、加2分、加3分、半場換分和顯示復位的功能,并用4位共陰極LED顯示器以靜

6、態(tài)顯示方式顯示分數(shù)。2.2 總體設計籃球計分器的設計是基于滿足設計要求的前提并且根據理論上的可實現(xiàn)性和硬件上的經濟實用性,而進行設計的重要環(huán)節(jié)。本節(jié)從人們對系統(tǒng)功能需求出發(fā),在綜合考慮各種因素的情況下,設計出籃球計分器的總體構架。1、加分功能設計:通過顯示緩沖區(qū)為中間加分媒介。每當按鍵按下時,首先通過外部中斷源實現(xiàn)中斷,進入中斷后判斷鍵值再進入相應加分子程序,對相應顯示緩沖區(qū)加分。2、分數(shù)調換功能:同樣是利用外部中斷源實現(xiàn)中斷,中斷服務程序應能實現(xiàn)中場分數(shù)位置調換的功能。3、分數(shù)顯示功能:用同步移位寄存器74HC164實現(xiàn)4位LED數(shù)碼管靜態(tài)顯示。通過查表指令在字形表中找到與顯示緩沖區(qū)對應的字

7、形碼,然后串行移位輸出即可?;?9C51單片機的籃球計分器總體設計框圖如圖2所示。 圖2 籃球計分器總體框圖在框圖所示的系統(tǒng)構架中,8位獨立式鍵盤包括6位加分按鍵,1位分數(shù)調換按鍵和1位復位按鍵。其中加分按鍵通過7421實現(xiàn)中斷掃描,分數(shù)調換按鍵則直接通過外部中斷1入口P3.3實現(xiàn)中斷服務。3 硬件電路設計3.1 電源電路單片機正常工作電壓為5V,因此設計的電源電路主要是提供單片機工作電壓。圖3.1是為單片機提供電壓的電源電路,包括變壓、整流、穩(wěn)壓、濾波等環(huán)節(jié)。在這個電路中采用了三端集成穩(wěn)壓器LM7805,可以輸出5V的直流電壓以供給單片機。圖3.1 電源電路3.2 晶振電路電路中的晶振即石

8、英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產生基準頻率的。通過基準頻率來控制電路中的頻率的準確性。同時,它還可以產生振蕩電流,向單片機發(fā)出時鐘信號。圖3.2是單片機的晶振電路。片內電路與片外器件就構成一個時鐘產生電路,CPU的所有操作均在時鐘脈沖同步下進行。片內振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2MHz24MHz之間選取。C1、C2是反饋電容,其值在20pF100pF之間選取,典型值為30pF。本電路選用的電容為30pF,晶振頻率為12MHz。圖3.2 晶振電路3.3 鍵盤電路鍵盤電路在籃球計分器中的主要作用是用于實現(xiàn)加分和

9、交換分數(shù)位置。鍵盤可分為獨立式鍵盤和行列式鍵盤。本設計中由于按鍵數(shù)少于8個,所以采用獨立式按鍵電路。另外采用中斷掃描方式掃描鍵盤的狀態(tài),當然也可以直接用編程掃描方式,兩者工作思路基本一樣。具體電路如圖3.3所示。AT89C51單片機的直流輸入電流為15mA,當直流電源電壓為+5V時,可選擇5.1K的上拉電阻保證單片機的正常工作。圖3.3 鍵盤電路3.4 復位電路復位電路的主要功能是使單片機進行初始化,在初始化的過程中需要在復位引腳上加大于2個機器周期的高電平。復位后的單片機地址初始化為0000H,然后繼續(xù)從0000H單元開始執(zhí)行程序。在復位電路中提供復位信號,等到系統(tǒng)電源穩(wěn)定后,再撤銷復位信號

10、。但是為了在復位按鍵穩(wěn)定的前提下,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防在按鍵過程中引起的抖動而影響復位。圖3.4所示的 RC 復位電路可以實現(xiàn)上述基本功能。圖3.4 復位電路3.5 顯示電路顯示電路是用于顯示分數(shù)。采用LED數(shù)碼管進行顯示是因為LED數(shù)碼管具有以下幾個優(yōu)點:(1)能在低電壓、小電流條件下驅動發(fā)光,能與CMOS、ITL電路兼容。(2)發(fā)光響應時間極短(<0.1s),高頻特性好,單色性好,亮度高。(3)體積小,重量輕,抗沖擊性能好。 數(shù)碼管有共陰極和共陽極兩種類型,其公共端主要進行位控制,筆畫端則是進行字符控制,數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種方法。本設計采用的是4位

11、共陰極LED數(shù)碼管的串行驅動電路來達到顯示的目的。驅動器采用74HC164,由單片機89C51的P3.0和P3.1來控制LED數(shù)碼管的顯示。顯示電路圖如3.5所示。因為共陰極數(shù)碼管可以不用外接電阻,所以原理圖中的電阻可去掉。圖3.5 顯示電路4 系統(tǒng)軟件設計系統(tǒng)軟件設計主要由加分中斷服務程序,交換中斷服務程序,LED顯示程序等幾部分構成。本章節(jié)系統(tǒng)的介紹了籃球計分器的主程序和各主要功能子程序的設計流程,具體的程序代碼見附錄2。4.1 主程序設計主程序構成無限循環(huán),主要完成單片機初始化,等待加分和交換中斷的功能。主程序的流程圖如圖4.1所示。圖4.1 主程序流程圖主程序流程說明:電路主要分為以下

12、幾個部分,分別是電源部分、按鍵部分、顯示部分,各部分具有不同的子程序。主程序的作用主要是先讓單片機初始化,包括棧底指針的重新賦值、開中斷、設置外部中斷為脈沖觸發(fā)等;然后使顯示緩沖區(qū)清零,使讓LED顯示為零;再利用無條件轉移指令SJMP $,等待加分中斷和交換中斷。待中斷服務程序執(zhí)行完后,再次返回主程序等待下一次中斷。4.2 加分程序設計硬件電路中設計了6個加分按鍵,采用中斷和查詢結合的方法擴充外部中斷源,實現(xiàn)相應加分的功能。加分程序的流程圖如圖4.2所示。圖4.2 加分程序流程圖加分程序流程說明:按下加分按鍵后,產生外部中斷0,CPU從主程序跳轉到加分中斷服務程序繼續(xù)執(zhí)行。當在執(zhí)行相應加分中斷

13、服務程序時,不允許其它按鍵按下有相應操作,所以必須在進入中斷后通過CLR EA指令關中斷,又因為為了避免保護現(xiàn)場時,一些寄存器的內容出現(xiàn)紊亂,此指令必須放在PUSH指令之前。CPU通過查詢方式判斷鍵值后進入相應的加分子程序。因為在操作按鍵時,無論是按下還是松開,觸點在閉合和斷開時均會產生抖動,此時邏輯電平是不穩(wěn)的,如果得不到正確處理,可能會引起單片機對按鍵命令的錯誤執(zhí)行,所以必須執(zhí)行一段延時子程序,用來軟件去抖動。比如延時10ms:MOV R0,#0AHDL2:MOV R1,#7DHDL1:NOPNOPDJNZ R1,DL1DJNZ R0,DL2延時子程序執(zhí)行完后,再次判斷鍵值,倘若仍然能夠檢

14、測到相應鍵值信號,則繼續(xù)向下執(zhí)行,否則返回主程序。繼續(xù)向下執(zhí)行時,首先讓相應顯示緩沖區(qū)加相應的分數(shù),然后通過CJNE指令與10進行比較。若小于10,則串行輸出顯示,否則向相應高位進1,并減10。進1后的高位仍需與10進行比較,若小于10,則將上述減數(shù)重新賦予相應低位,然后串行輸出,否則各位清零。輸出刷新后,CPU返回主程序。4.3 交換程序設計由于籃球比賽中場結束之后,要交換場地,則分數(shù)的顯示位置也要隨之調換。硬件電路中設置K7鍵完成此項功能。交換程序流程圖如圖4.3所示。 圖4.3 交換程序流程圖交換程序流程說明:按下交換按鍵后,產生外部中斷1,CPU從主程序跳轉到交換中斷服務程序中繼續(xù)執(zhí)行

15、。通過中間寄存器A和交換指令XCH實現(xiàn)分數(shù)位置的交換。交換完成后,CPU返回主程序。4.4 LED顯示程序設計硬件設計中利用4位LED靜態(tài)顯示電路顯示分數(shù)。通過顯示緩沖區(qū)利用MOVC A,A+DPTR查表指令找到指定字形碼,并由串行口串行輸出顯示。LED顯示程序流程圖如圖4.3所示。圖4.3 LED顯示程序流程圖LED顯示程序流程說明:首先將高位顯示緩沖區(qū)的值,也就是字形表的檢索值給累加器A,并將字形表首地址給DPTR,然后利用查表指令找到指定的字形碼,最后由單片機的串行口串行輸出。緊接著將下一位緩沖區(qū)的值給累加器A,同樣由查表指令找到相應字形碼,并串行輸出。依次循環(huán)執(zhí)行上述操作,直至4位全部

16、輸出后返回主程序。4.5共陰極數(shù)碼管字形表硬件電路所用數(shù)碼管為共陰極,所以串行口輸出高電平有效。并且4位數(shù)碼管的dp段都沒有使用,因此始終為0。另外應特別注意的是字形碼的高低位順序應與硬件中數(shù)碼管引腳的連接對應。共陰極數(shù)碼管字形表如表4.1所示。表4.1 共陰極數(shù)碼管字形表字形a b c d e f g dp字形碼01234567891 1 1 1 1 1 0 00 1 1 0 0 0 0 01 1 0 1 1 0 1 01 1 1 1 0 0 1 00 1 1 0 0 1 1 01 0 1 1 0 1 1 01 0 1 1 1 1 1 01 1 1 0 0 0 0 01 1 1 1 1 1

17、1 01 1 1 1 0 1 1 00FCH60H0DAH0F2H66H0B6H0BEH0E0H0FEH0F6H5 總結本次設計敘述了籃球計分器的基本原理及使用方法,給出了一種籃球計分器的設計方案。此次設計的籃球計分器,電路簡單,而且易懂,使操作使用者使用非常方便,成本較低,靈敏可靠,計錄準確,連接簡單,具有非常高的使用價值。設計內容包括比分顯示、比分調換等部分,可以使參加比賽的成員、裁判和觀眾一目了然的看到參賽隊的成績,以最快的速度評出結果.該籃球計分器還能廣泛應用于各類知識競賽。本設計由AT89C51編程控制LED七段數(shù)碼管作球賽計時計分系統(tǒng)具有賽程定性能穩(wěn)定、操作方便且易攜帶等特點??蓮V

18、泛適合各類學校和小團體作為賽程計分。通過這次籃球計分器的設計,可以更清楚的了解單片機程序設計的基本指令功能、編程步驟和技巧,對AT89C51單片機的原理和結構進一步熟悉和掌握,并對一些繪圖和仿真工具積累了更多的使用經驗。參考文獻 1 張迎新單片微型計算機原理、應用及接口技術(第二版)北京:國防工業(yè)出版社,20042 鄭鋒 王巧芝 程麗平 張清鵬51單片機典型應用開發(fā)范例大全北京:中國鐵道出版社,20113 彭為 黃科 雷道仲單片機典型系統(tǒng)設計實例精講北京:電子工業(yè)出版社,20064 閻石數(shù)字電子技術基礎北京:高等教育出版社,20065 夏路易 石宗義電路原理圖與電路板設計教程Protel 99

19、SE北京:北京希望電子出版社,2004附錄1 系統(tǒng)原理圖附錄2 源程序K1 BIT P0.0K2 BIT P0.1K3 BIT P0.2K4 BIT P0.3K5 BIT P0.4K6 BIT P0.5DIS0 EQU 30H;定義顯示緩沖區(qū)DIS1 EQU 31HDIS2 EQU 32HDIS3 EQU 33HORG 0000HLJMP MAIN;跳轉到主程序LJMP GRADE;跳轉到加分中斷服務程序ORG 0013HLJMP EXCHANGE;跳轉到交換中斷服務程序ORG 0033HMAIN:MOV SP,#3FH;對堆棧指針進行賦值MOV IE,#85H;開中斷MOV TMOD,#05

20、H;外部中斷為下降沿脈沖觸發(fā)LCALL CLEARLCALL DISPLAY1SJMP $;等待中斷GRADE:CLR EA;關中斷JNB K1,LGRADE1;判斷鍵值JNB K2, LGRADE2JNB K3, LGRADE3JNB K4, RGRADE1JNB K5, RGRADE2JNB K6, RGRADE3LGRADE1:LCALL DELAY;延時去抖動JNB K1,SW1;再次確定K1鍵是否按下SETB EA;開中斷RETISW1:INC DIS1;K1鍵按下則加分LJMP LCOMPARELGRADE2:LCALL DELAY;延時去抖動JNB K2,SW2;再次確定K2鍵是

21、否按下SETB EA;開中斷RETI SW2:INC DIS1;K2鍵按下則加分INC DIS1LJMP LCOMPARELGRADE3:LCALL DELAY;延時去抖動JNB K3,SW3;再次確定K3鍵是否按下SETB EA;開中斷RETI SW3:INC DIS1;K3鍵按下則加分INC DIS1INC DIS1LJMP LCOMPARELCOMPARE:MOV A,DIS1CJNE A,#10,LCOMP;(DIS1)的值與10進行比較SJMP LCARRY;(DIS1)等于10則跳轉到進位子程序LCOMP:JC $+2;(DIS1)小于10則輸出顯示LJMP DISPLAY2SJM

22、P LCARRY;(DIS1)大于10則跳轉到進位子程序LCARRY:CLR CMOV A,DIS1SUBB A,#10INC DIS0MOV A,DIS0CJNE A,#10,$+9;(DIS0)的值與10進行比較LCALL CLEAR;(DIS0)等于10則數(shù)碼管顯零LJMP DISPLAY2MOV DIS1,ALJMP DISPLAY2RGRADE1:LCALL DELAY;延時去抖動JNB K4,SW4;再次確定K4鍵是否按下SETB EA;開中斷RETI SW4:INC DIS3;K4鍵按下則加分LJMP RCOMPARERGRADE2:LCALL DELAY;延時去抖動JNB K5

23、,SW5;再次確定K5鍵是否按下SETB EA;開中斷RETI SW5:INC DIS3;K5鍵按下則加分INC DIS3LJMP RCOMPARERGRADE3:LCALL DELAY;延時去抖動JNB K6,SW6;再次確定K6鍵是否按下SETB EA;開中斷RETI SW6:INC DIS3;K6鍵按下則加分INC DIS3INC DIS3LJMP RCOMPARERCOMPARE:MOV A,DIS3CJNE A,#10,RCOMP;(DIS3)的值與10進行比較SJMP RCARRY;(DIS3)等于10則跳轉到進位子程序RCOMP:JC $+2;(DIS3)小于10則輸出顯示LJMP DISPLAY2SJMP RCARRY;(DIS3)大于10則跳轉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論