基于單片機的籃球比賽電子記分牌仿真圖完整程序_第1頁
基于單片機的籃球比賽電子記分牌仿真圖完整程序_第2頁
基于單片機的籃球比賽電子記分牌仿真圖完整程序_第3頁
基于單片機的籃球比賽電子記分牌仿真圖完整程序_第4頁
基于單片機的籃球比賽電子記分牌仿真圖完整程序_第5頁
已閱讀5頁,還剩17頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、NEPU 課 程 設 計 課 程 單片機課程設計 題 目 基于單片機的籃球比賽電子記分牌 院 系 電氣信息工程學院測控系 專業班級 測控技術與儀器*-*班 學生姓名 * 學生學號 * 指導教師 * * 201*年 * 月 *日NEPU課程設計任務書課程 單片機課程設計 題目 基于單片機的籃球比賽電子記分牌 專業 測控技術與儀器 姓名 * 學號 * 一、任務以AT89C51單片機為控制核心,遵循籃球比賽規則,設計一款具有記錄比賽分數,比賽剩余時間等基本功能的電子記分牌。二、設計要求1 要求能實時記錄比賽的分數、剩余時間。2 通過對AT89C51單片機的編程,實現比分和剩余時間的顯示。3 設計籃球

2、24秒定時器、剩余5秒時發出提示音。4 提交設計報告、電路圖及程序源碼。三、參考資料1 張毅剛.單片機原理及應用M.北京:高等教育出版社,2004.2 劉潤華,劉立山.模擬電子技術J.山東:石油大學出版社,2003.3 周潤景,張麗娜等.PROTEUS入門教程M.北京:機械工業出版社,2007.4 尹仕.電工電子制作基礎M.武漢:華中科技大學出版社,2008.5 彭介華.電子技術課程設計指導J.北京:高等教育出版社,1997.完成期限 指導教師 專業負責人 * 201*年 *月 * 日目 錄第1章 緒論11.1 單片機在體育賽事計分的應用11.2 本設計任務1第2 章 總體方案論證與設計22.

3、1 顯示模塊22.2 按鍵控制模塊22.3 報警模塊22.4 總體硬件組成框圖3第3章 系統硬件設計43.1 LCD1602顯示模塊的硬件設計43.2按鍵控制模塊的硬件設計43.3 蜂鳴器報警模塊的硬件設計53.4 單片機最小系統的硬件設計6第4章 系統的軟件設計74.1 主程序設計74.2 按鍵控制程序設計84.3 蜂鳴器報警程序設計8第5章 系統調試與測試結果分析105.1 系統調試105.2 測試結果10結 論11參考文獻12附錄1 程序13附錄2 仿真效果圖19第1章 緒論體育比賽計時計分系統是對體育比賽過程中所產生的時間、比分等數據進行快速采集記錄,加工處理,傳遞數據的信息系統。根據

4、不同運動項目的不同比賽規則要求,體育比賽的計時計分系統包括測量類、評分類、命中類、制勝類得分類等多種類型。籃球比賽是根據參賽隊在規定的比賽時間里得分多少來決定勝負的,因此,籃球比賽的計時計分系統是一種得分類型的系統是一個負責籃球比賽的數據采集和分配的專用系統,它負責對比賽結果、成績信息的采集處理、傳輸分配?;@球比賽的計時計分系統由計時器、計分器等多種電子設備組成,由于比賽的不可重復性,決定了籃球計時計分系統是一個實時性很強、可靠性要求極高的電子服務系統,所以計時計分設備是籃球比賽中不可缺少的電子設備,計時計分系統設計是否合理,關系到比賽系統運行的穩定和可靠,并直接影響到比賽的順利進行。同時,根

5、據目前高水平籃球比賽要求,完善的籃球比賽計時計分系統設備應能夠與現場成績處理、現場大屏幕、電視轉播車等多種設備相聯,以便實現高比賽現場感、表演娛樂觀眾等功能目標。隨著比賽規則的進一步完善,相應的計時計分系統也必須隨之改進。1.1 單片機在體育賽事計分的應用傳統的籃球比賽計分是由工作人員人工翻動記分牌實現的,而比賽的時間則由工作人員計表控制。由于人為因素,人工操作的比賽計分板難免會出現誤差。而作為微型控制系統的單片機具有集成度高,功能強,通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強和使用方便等獨特的優點,使單片機迅速得到了推廣應用,目前已經成為測量控制應用系統中

6、的優選機種和新電子產品的關鍵部位。因此單片機在體育比賽記分牌的應用也成為了一種不可避免的趨勢。1.2 本設計任務本次設計以AT89C51單片機為核心組成單片機最小系統,構建得分和時間的顯示模塊、進行控制的按鍵模塊以及能夠在規定的時間報警的提示模塊,通過在按鍵控制模塊的操作實現對比分和時間的設計,最終在顯示模塊上顯示。第2 章 總體方案論證與設計本系統采用單片機AT89C51為控制核心,系統主要包括顯示模塊、按鍵控制模塊、蜂鳴器報警模塊等。下面對各模塊的設計進行論證比較。2.1 顯示模塊方案一:采用七段碼數碼管顯示。數碼管是指將所有發光二極管的一極接到一起形成公共極,因此數碼管有共陰共陽之分。以

7、共陽數碼管為例,共陽數碼管在應用時應將公共極接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。因此每個數碼管有9個接口。數碼管的驅動方式有靜態掃描和動態掃描兩種形式。靜態掃描編程簡單,但電路復雜;動態掃描變成復雜,而且還需要使用其他芯片。方案二:采用1602液晶顯示。液晶的物理特性是:當通電時導通,排列變得有秩序,是光線容易通過,不通電時排列混亂,阻止光線通過。相比于數碼管,LCD1602不僅可以顯示的圖形符號更豐富,而且具有輕薄、無輻射等優點。比較以上兩種方案,系統設計中采用方案二。2.2 按鍵控制模塊方案一:采用矩陣鍵盤。矩陣鍵盤

8、的長各分接口分別于單片機的I/O口連接,可以通過連接數量較少的I/O口,擴展出多個按鍵。但其缺點是電路更復雜,編程更麻煩。方案二:采用獨立按鍵。每個獨立按鍵與單片機I/O連接,雖然不能節省I/O口,但電路簡單、編程容易比較以上兩種方案,由于本系統只需要4個按鍵,因此選者方案二。2.3 報警模塊報警模塊中,信號由單片機輸出經PNP型三極管放大后進入蜂鳴器發出聲響進行比賽時間的提示功能。2.4 總體硬件組成框圖蜂鳴器報警模塊液晶顯示模塊晶振電路按鍵控制模塊復位電路AT89C51圖2-1 總體硬件組成框圖 系統框圖如圖2-1所示,系統主要由四大模塊組成即單片機最小系統模塊、液晶顯示模塊、蜂鳴器報警模

9、塊、按鍵控制模塊。單片機最小系統作為整個系統的控制核心,按鍵模塊的4個按鍵對分數和時間進行控制然后顯示在LCD1602上,蜂鳴器報警模塊則根據程序設定的時間進行報警。 第3章 系統硬件設計為使該電子記分牌更加方便和靈活,本設計將其劃分為四個模塊,下面將對各個模塊逐一介紹。3.1 LCD1602顯示模塊的硬件設計1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。1602LCD是指顯示的內容為16X2,即可以顯示兩行,每行16個字符液晶模塊。圖3-1 液晶顯示模塊電路3.2按鍵控制

10、模塊的硬件設計按鍵控制模塊采用4個獨立按鍵,Key1、Key2、Key3、Key4分別于單片機的P10、P11、P12、P13連接,每個按鍵的另一端直接與地相連接,因此是低電平有效。按鍵控制模塊的電路如圖3-2所示。這四個獨立按鍵分別實現了比賽的暫停、時間的刷新以及比賽兩只隊伍的得分值的改變。具體標號和功能如表3-1所示。表3-1 按鍵功能描述序號接口功能Key1 P10比賽開始/暫停 Key2 P11刷新進攻球隊24秒時間 Key3P12 A隊得分值加一 Key4 P13 B隊得分值加一圖3-2 按鍵控制模塊電路圖3.3 蜂鳴器報警模塊的硬件設計圖3-3 蜂鳴器報警模塊電路圖蜂鳴器報警模塊由

11、一個蜂鳴器和一個PNP型的三極管組成,接單片機的P27口,蜂鳴器為5V驅動,低電平有效。蜂鳴器模塊如圖3-3所示。3.4 單片機最小系統的硬件設計圖3-4 最小系統模塊電路圖AT89C51是一種帶4K字節FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容

12、。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。最小系統模塊的晶振電路由12MHz晶振和30pF的電容構成,復位電路由10uF的電解電容和104瓷片電容構成。電路如圖3-4所示。第4章 系統的軟件設計在本設計中,系統的軟件設計也采用了模塊化的設計,將系統的各部分功能編寫成子模塊的形式,這樣增強了系統軟件的可讀性和可移植性。4.1 主程序設計本系統中單片機的主要功能就是利用內部的定時器計時,并隨時接受控制模塊的信息,將比賽的得分和剩余時間顯示在1602液晶上。其主程序流程如圖4-1所示圖4-1 主程序流程圖NYNY顯示是否按鍵執行控制程序是否到

13、時蜂鳴器響倒計時初始化開始4.2 按鍵控制程序設計Key1鍵配合程序所設定的標志位flag控制比賽的暫停,當Key1按下,flag加一,兩種不同的flag值分別帶關閉定時器和打開定時器。按下Key2鍵后給24秒進攻時間的變量"miao"重新賦值為24,代表上一次進攻結束,另一只球隊開始進攻。每按下Key3和Key4鍵,A、B兩隊的得分加一。程序流程如圖4-2所示。NNNNYYYY圖4-2 按鍵控制流程圖A隊分加一Key2按下B隊分加一刷新24秒暫停/開始Key1按下延時是否按下Key4按下Key3按下4.3 蜂鳴器報警程序設計在程序里設定一個變量,用if語句判斷,當該變量等

14、于設定的時間段的時候,蜂鳴器響。在24秒進攻時間只剩5秒時,蜂鳴器響一秒;當24秒進攻時間結束時,蜂鳴器響4秒;單節比賽結束蜂鳴器響4秒。流程圖如圖4-3所示。圖4-3 報警程序流程圖NNYYNYY蜂鳴器響4秒蜂鳴器響4秒蜂鳴器響5秒單節賽結束到24秒?到5秒?是否到時第5章 系統調試與測試結果分析5.1 系統調試為預先排除軟件和硬件的錯誤,本設計需經過軟件調試、硬件調試和軟硬兼聯合調試。5.1.1硬件調試本階段采用實驗板ST-3A對各個模塊的功能進行調試,主要檢查硬件間連線是否正確并調試各模塊能否實現指定的功能。5.1.2軟件調試軟件調試采用Keil軟件完成。在寫好源程序之后,建新工程,選擇

15、AT89C51處理器;接著新建文檔編輯程序,編輯完存為.C,把保存的.C文件加入到工程里。檢查無語法錯誤后生成.HEX文件。5.1.3硬件軟件聯調軟硬件聯合調試主要是運用Proteus完成。將系統原理圖在Proteus環境下畫好之后,將軟件調試階段Keil生成的.HEX文件下載到單片機里,在電腦上進行軟件仿真。5.2 測試結果本次系統設計結構較好,單片機最小系統能正常工作,按鍵模塊能實現控制功能,液晶顯示模塊能根據按鍵模塊輸入的控制信息進行顯示,蜂鳴器報警模塊能按程序設定的要求報警。仿真結果圖如附錄2所示。結 論本次基于單片機的籃球比賽電子記分牌是針對傳統籃球比賽人工翻動比分牌的改進,解決籃球

16、比賽時計分與計時準確方便和靈活適用的問題。系統總體電路由單片機最小系統、1602液晶顯示模塊、5個獨立按鍵控制模塊以及蜂鳴器報警模塊構成。四個模塊分別完成信息的處理、顯示、控制等籃球比賽記分牌的基本功能。通過軟硬件的仿真調試,實現了本次設計的基本功能:在1602液晶左邊部分分別顯示比賽隊伍的得分,右邊部分顯示比賽剩余時間,四個按鍵能完成程序的要求對比分和時間的調整進行控制,蜂鳴器能在規定的時間段鳴叫,給予球員和觀眾提示。參考文獻1 李川,汪秋蒙.ISP技術的原理及實現方法J.科技資訊.2007,35期:93-94.2 萬光毅.單片機實驗與實踐教程M. 北京:北京航空航天大學出版社.2005.1

17、.3 張毅剛.單片機原理及應用M. 北京:高等教育出版社.2003:160-190.4 胡燁,姚鵬翼,陳明.Protel 99SE原理圖與PCB設計教程M.機械工業出社.2005:23-99.5 馬忠梅.單片機的C 語言應用程序設計M.北京:北京航空航天大學出版社.20066 周潤景.基于Proteus的電路與單片機仿真系統設計與仿真M. 北京:北京航空航天大學出版社. 2005.7 金炯泰,金奎煥. 如何使用KEIL8051C編譯器M . 北京:北京航空航天大學出版社.2002.8 尹仕.電工電子制作基礎M.武漢:華中科技大學出版社,2008.9 彭介華.電子技術課程設計指導J.北京:高等教

18、育出版社,1997.附錄1 程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code tab1="A : "uchar code tab2="B "uchar code tab3=" GAME OVER " /比賽結束時顯示uchar code tab4=" A B " /比賽結束時顯示sbit lcden=P22;sbit lcdrw=P21; /1602液晶的3個端口sbit lcdrs=P20

19、;sbit key1=P10; sbit key2=P11; /四個按鍵sbit key3=P12;sbit key4=P13;sbit Bell=P27; /蜂鳴器uint keyflag,flag; /標志位uchar i,num,count;uchar sec,min,miao;uchar Ascore,Bscore; /兩隊得分/*液晶函數*/void delay(uint z) /液晶延時函數uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_com(uchar com) /命令子函數command lcdrs=0;

20、/接受指令P0=com; /給P0口送指令碼delay(5);lcden=1; /E變為高電平delay(5); /在此延遲期間,將指令送入lcden=0; /E變為低電平,高脈沖結束void write_dat(uchar date) /數據子函數datalcdrs=1; /接受數據P0=date; /給P0口送數據delay(5);lcden=1; /E變為高電平delay(5); /在此延遲期間,將數據送入lcden=0; /E變為低電平,高脈沖結束void write_time(uchar add,uchar date) /寫入時間函數uchar shi,ge;shi=date/10;

21、ge=date%10;write_com(0x80+add);write_dat(0x30+shi);write_dat(0x30+ge);void write_miao(uchar add,uchar date) /寫入24秒函數uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_dat(0x30+shi);write_dat(0x30+ge);void write_Ascore(uchar add,uchar date) /寫入A隊得分函數uchar bai,shi,ge;bai=date/100;shi=d

22、ate/10%10;ge=date%10;write_com(0x80+add);write_dat(0x30+bai);write_dat(0x30+shi);write_dat(0x30+ge);void write_Bscore(uchar add,uchar date) /寫入B隊得分函數uchar bai,shi,ge;bai=date/100;shi=date/10%10;ge=date%10;write_com(0x80+0x40+add);write_dat(0x30+bai);write_dat(0x30+shi);write_dat(0x30+ge);void write_

23、score(uchar add,uchar date) /比賽結束寫入得分函數uchar bai,shi,ge;bai=date/100;shi=date/10%10;ge=date%10;write_com(0x80+0x40+add);write_dat(0x30+bai);write_dat(0x30+shi);write_dat(0x30+ge);void delay_Bell(uint z) /蜂鳴器延時函數uint x,y;for(x=z;x>0;x-)for(y=255;y>0;y-);void init() /初始化函數Bell=1;keyflag=0; flag=

24、0;min=12; sec=0; miao=25;Ascore=0; Bscore=0;lcdrw=0;lcden=0; /E的初始值為低電平,后面的程序給高電平從而滿足E為高脈沖write_com(0x38); /寫入顯示模式指令write_com(0x0e); /顯示是否打開以及光標的設置write_com(0x06); /地址指針的加減和整屏是否移動write_com(0x01); /清屏指令write_com(0x80+0x00); /顯示字符的初始位置for(num=0;num<16;num+)write_dat(tab1num);write_com(0x80+0x40); /

25、起始地址為53,將字符調到了第二行for(num=0;num<2;num+)write_dat(tab2num);write_Ascore(2,Ascore);write_Bscore(2,Bscore);TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1; TR0=1; /開定時器void keyscan() /按鍵函數if(key1=0)delay(10);if(key1=0)keyflag+; /鍵一按下,標志位加一while(!key1);if(keyflag=1) TR0=0; /關中斷 if(key

26、flag=2)TR0=1; keyflag=0;if(key2=0) /刷新24秒delay(5);if(key2=0)while(!key2);miao=25;if(key3=0)delay(5);if(key3=0)while(!key3);Ascore+; write_Ascore(2,Ascore);/寫入A隊得分if(key4=0)delay(5);if(key4=0)while(!key4);Bscore+; write_Bscore(2,Bscore);/寫入B隊得分void main()init();while(1)keyscan();if(flag=0)write_com(0

27、x80+0x40+7); /寫入第一節 FIRwrite_dat('F');write_dat('I');write_dat('R');if(flag=1)write_com(0x80+0x40+7); /寫入第二節 SECwrite_dat('S'); write_dat('E');write_dat('C');if(flag=2)write_com(0x80+0x40+7); /寫入第三節 THRwrite_dat('T');write_dat('H');write_dat('R'); if(flag=3)write_com(0x80

溫馨提示

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

評論

0/150

提交評論