久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 27203|回復: 12
打印 上一主題 下一主題
收起左側

單片機籃球比賽計分器設計方案與程序詳解

  [復制鏈接]
跳轉到指定樓層
樓主
ID:418226 發表于 2018-10-30 22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目 錄

摘 要
1 概述
2系統總體方案及硬件設計
2.1 AT89C51簡介
2.2 數碼管顯示原理
2.3 系統總體方案
3 編程設計
3.1 定時/計數器
3.2 程序流程圖
3.3 程序分析
4 Proteus軟件仿真
4.1 Proteus仿真軟件簡介
4.2 仿真過程
5 調試分析
6 心得體會
致謝
參考文獻
附錄一 程序清單
附錄二 電路原理圖
摘 要
    本系統是采用單片機AT89C51作為本設計的核心元件。利用7段共陽LED作為顯示器件。在此設計中共接入了2個7段共陽LED顯示器,用于記錄該隊的分數, 2個LED顯示器顯示范圍可達到0~99分,基本滿足賽程需要。當比賽隊得1分時,按下S1鍵加1分,得2分時按S2鍵加2分,得3分時按下S3鍵加3分。如分數計錯需減分時,每按一次S4鍵減1分。
采用單片機控制是這個系統按鍵操作使用簡潔,LED顯示,安裝方便。解決了籃球比賽計數器的安裝問題,節約了線材,適合在各種規模的體育場館使用,完全可以代替傳統的用鐘表進行計時的方法,當然稍加改動也可以用于其他球類比賽,是體育器材向智能化發展的一個實例。
1 概述
體育比賽計分系統是對體育比賽過程中所產生的時間,比分等數據進行快速采集記錄,加工處理,傳遞利用的信息系統。根據不同運動項目的不同比賽規則要求,體育比賽的計時計分系統包括測量類,評分類,命中類,制勝類得分類等多種類型。
    籃球比賽是根據運動隊在規定的比賽時間里得分多少來決定勝負的,因此,籃球比賽的計時系統是一種得分類型的系統。籃球比賽的計時系統由計時器等多種電子設備組成,同時,根據目前高水平籃球比賽要求,完善的籃球比賽計時系統設備應能夠與現場成績處理,現場大屏幕,電視轉播車等多種設備相聯,以便實現高比賽現場感,表演娛樂觀眾等功能目標。
    由于單片機的集成度高,功能強,通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強和使用方便等獨特的優點,使單片機迅速得到了推廣應用,目前已經成為測量控制應用系統中的優選機種和新電子產品的關鍵部位。世界各大電氣廠家,測控技術企業,機電行業,競相把單片機應用于產品更新,作為實現數字化,智能化的核心部件。籃球計時計分器就是以單片機為核心的計時計分系統,由于對于單片機是剛剛學習,對于編程也不是十分熟練,故本次設計的內容相較簡單,達不到正式比賽需求,僅供學習之用。
2系統總體方案及硬件設計
2.1 AT89C51簡介
單片機是在一塊芯片中集成了CPU、RAM、ROM、定時/計數器和多功能I/O口等計算機所需要的基本部件的大規模集成電路,又稱MCU。
其以體積小、功能全、性價比等諸多優點而獨具特色,在工業控制、尖端武器、通信設備、家用電器等嵌入式應用領域中獨占鰲頭。如果說C語言程序設計課程設計的基礎課,那么單片機以其系統硬件構架完整、價格低廉、學生能動手等特點,成為工科學生硬件設計基礎課。其管腳圖如右圖所示。
                                      圖2.1 AT89C51管腳圖
2.2 數碼管顯示原理
數碼管實際上是由7個發光管組成8字形構成的,加上小數點就是8個。我們分別把他命名為A,B,C,D,E,F,G,H。
   
圖2.2 數碼管內部結構圖
假設我們要顯示一個數字2, 那么 A、B、G、E、D這5個段的發光管亮就可以了,C、F、H不亮,同時由于接法為共陽接法,那么為低電平是亮,為高電平是滅。從高往低排列, P1.7-P1.0寫成二進制為01111110, 把他轉化為16進制則為A2H。我們可以根據硬件的接線把數碼管顯示數字編制成一個表格,見下表,以后直接調用就行了。

表2.1 共陽極數碼管顯示
顯示
P1.7
小數點
P1.6
G
P1.5小F
P1.4
E
P1.3
D
P1.2
C
P1.1
B
P1.0
A
HE代碼
0
1
1
0
0
0
0
0
0
C0H
1
1
1
1
1
1
0
0
1
F9H
2
1
0
1
0
0
1
0
0
A4H
3
1
0
1
1
0
0
1
0
B0H
4
1
0
0
1
1
0
0
1
99H
5
1
0
0
1
0
0
1
0
92H
6
1
0
0
0
0
0
1
0
82H
7
1
1
1
1
1
0
0
0
F8H
8
1
0
0
0
0
0
0
0
80H
9
1
0
0
1
0
0
0
0
90H

數碼管的接口有靜態接口和動態接口兩種。靜態接口為固定顯示方式,無閃爍,其電路可采用一個并行口接一個數碼管,數碼管的公共端按共陽接VCC,本次課程設計由于所需數碼管較少,故可用些種方法接線。這種接法占用接口多,僅能接少量數碼管。
動態接口采用各數碼管循環輪流顯示的方法,當循環顯示的頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要一個接口完成字形碼的輸出,另一接口完成各數碼管的輪流點亮。
2.3 系統總體方案
因所設計的籃球計分器功能較少,電路結構也相對簡單。只有兩個部分:開關控制和數碼管的顯示。P0口接四個開關,分別作為比分+1、+2、+3、-1的控制按鍵;P1口和P3口分別按靜態接口方法接兩個數碼管來顯示比分。
采用數碼管靜態接法,P3口接數碼管個位顯示、P1口接數碼管十位顯示、P0口接四個開關,中間串接上電阻來作分壓用,使得其高低電平能夠清楚的分開從而可以實現開關上高低電平的跳變,使數碼管工作。

3 編程設計
3.1 定時/計數器
籃球比賽計分器其實就是一個計數器,本次課程設計就是利用單片機中的定時/計數器來實現其計分的功能。在51單片機中有兩個16位的定時/計數器T0,T1,分別由TH0、TL0和TH1、TL1組成,它們均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它們用于存放定時或計數的初始值。此外,內部還有一個8位的方式寄存器TMOD和一個8位的控制寄存器TCON。用于選擇和控制定時/計數器的工作。其格式見下面兩表:
表3.1 方式控制寄存器TMOD
GATE
C/T
M1
M0
GATE
C/T
M1
M0
門控開關
計數/定時
方式選擇
門控開關
計數/定時
方式選擇

表3.2 控制寄存器
TF1
TR1
TF0
TRO
IE1
IT1
IE0
IT0
T1請求
有/無
T1工作
啟/停
T0請求
有/無
T0工作
啟/停
INT1請求有/無
INT1方式下沿
INT1請求有/無
INT1方式下沿

籃球比賽計分器利用單片機的計數器進行工作,計數器對外部脈沖的下降沿進行加1計數,直至計滿回零。作為可編程器件,單片機中的定時/計數器初始化編程步驟如下:
根據定時時間要求或計數要求計算計數器初值;
將工作方式控制字寫入TMOD寄存器;
將計數初值寫入THX和TLX寄存器;
啟動定時器/計數器,即將TRX置位。
如果工作于中斷方式,需置位EA(中斷總開關)及ETX(允許定時/計數器中斷),并編寫中斷服務程序。
3.2 程序流程圖
籃球比賽中,得分可分為1分、2分、3分三種情況,為防止出見加分錯誤要另設一減分開關。根據這樣的設計要求,結合數碼管的顯示以及51單片機中計數器的工作實現方式、接口應用、中斷控制等可設計出程序流程圖如下所示:
圖3.1  簡易籃球比賽計分器
3.3 程序分析
數碼管的顯示,在TAB中加入數碼管顯示數字時對應的16進制數
MOV DPTR,#TAB
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
    數碼管顯示程序:
MOV A,R0
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P1,A
MOV A,B
MOVC A,@A+DPTR
MOV P3,A
由于需要四個開關,取出A中的低四位來接開關,用ANL命令實現。其程序如下:
MOV A,P0
ANL A,#0FH                                               
CJNE A,#0FH,KEY1
SJMP START
四個開關加1、加2、加3、減1,直接通過加法在累加器中實現,以開關1為例,程序如下:
MOV R1,#1
MOV A,R0
ADD A,R1
MOV R0,A
4 Proteus軟件仿真
4.1 Proteus仿真軟件簡介
Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。
Protues提供了豐富的資源: 仿真元器件資源:仿真數字和模擬、交流和直流等數千種元器件,有30多個元件庫。仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調試器、I2C調試器、信號發生器、模式發生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調用。Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數指標。另外Proteus還提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數字信號。
在Protues中進行電路仿真時,先繪制好原理圖,再調入已編譯好的目標代碼文件:*.HEX,隨后便可在PROTEUS的原理圖中模擬的實物運行狀態和過程,進行觀察從而改良自己的設計方案。操作簡單,非常適合初學者進行單片機的仿真,進而了解其原理,增強實踐。

4.2 仿真過程
在用Protues進行仿真之前,先要用WAVE軟件將我們編寫好的匯編程序編譯。具體方法是先新建一項目,之后輸入編寫的程序,輸入完成后保存然后執行項目、編譯,在目標文件夾內生成編譯好的程序文件,其中*.HEX文件就是我們所需要的,在之后電路設計好后用于放入AT89C51中執行其功能。
在生成*.HEX文件后,進入Protues軟件,此時軟件已自動打開一新建項目。我們可直接在其中構建電路圖,點擊板面左側按鍵P,在彈出的Pick devices對話框中進行元器件的選擇,如下圖:
圖4.1 查找元器件
元器件都找到后,先進行排版再按照電路圖連接,如連接好后如下圖所示:
圖4.2仿真電路圖
在電路連接好后,雙擊AT89C51在彈出對話框中選擇單片機中要輸入的程序,見下圖:
圖4.3 向AT80C51中加入程序
在輸入程序后,即可開始進行仿真了,選擇執行后點擊開關可觀察到數碼管亮,并能實現加1、加2、加3、減1的功能。
圖4.4 仿真結果圖
5 調試分析
在仿真成功之后,便可進行實踐了。實物和仿真還是有一定的差別的,制作實物時要考慮的方面比仿真多的多。做實物時,不僅要考慮到電路正確同時也要注意版面的設計,不僅設計功能要求實現,版面的美觀也是必不可少的一方面,這就要注意盡量少的接線。
在電路板剛剛焊好后,與以前制作的單片機板連接在一起,接好電路,烤入程序后發現第一個數碼管的C段一直處于亮的狀態,經檢查后確定不是硬件出現的問題,但在仿真時能正確顯示也證明程序也是正確的,找不到問題所在讓我非常郁悶。想著原因可能程序讀入時出現錯誤,試著重新將程序烤入單片機中,顯示結果果然變得正常,實踐成功。

6 心得體會            
這次課程設計歷時二個星期多左右,通過這兩個星期的學習,發現了自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經驗還是比較缺乏,理論聯系實際的能力還急需提高。
在這個過程中,我也曾經因為實踐經驗的缺乏失落過,也曾經仿真成功而熱情高漲。生活就是這樣,汗水預示著結果也見證著收獲。勞動是人類生存生活永恒不變的話題。雖然這只是一次的極簡單的課程制作,可是平心而論,也耗費了我們不少的心血。通過這次課程設計,我想說:為完成這次課程設計我確實很辛苦,但苦中仍有樂,當我們仿真實驗成功的時候,當我們連好線,按下按鈕,LED亮了起來的時候我們的心中就不免興奮,不免激動。以前種種艱辛這時就變成了最甜美的回憶!對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個人永遠不能滿足于現有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經歷是一份擁有。這次課程設計必將成為我人生旅途上一個非常美好的回憶!

致謝
本文是在曾剛和陳德軍老師精心指導和大力支持下完成的。兩位老師以其嚴謹求實的治學態度、高度的敬業精神、兢兢業業、孜孜以求的工作作風和大膽創新的進取精神對我產生重要影響。淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪。同時,在此次畢業設計過程中我也學到了許多關于單片機設計方面的知識,實驗技能有了很大的提高。
另外,我還要特別感謝同學對我實驗以及論文寫作的指導,他們為我完成這篇論文提供了巨大的幫助。
最后,再次對關心、幫助我的老師和同學表示衷心地感謝

程序源碼:

  1. ORG 0000H
  2. MOV R0,#0
  3. MOV DPTR,#TAB
  4. START:MOV A,P0
  5. ANL A,#0FH                            ;取A的低四位                  
  6. CJNE A,#0FH,KEY1
  7. SJMP START
  8. KEY1:LCALL DELAY                    ;調用延遲子程序
  9. MOV A,P0                              ;確認按鍵是否確實按下
  10. ANL A,#0FH
  11. CJNE A,#0FH,KEY2
  12. SJMP START
  13. KEY2:JNB ACC.0,K1                     ;確認按下的是哪個開關
  14. JNB ACC.1,K2
  15. JNB ACC.2,K3
  16. JNB ACC.3,K4
  17. LJMP START
  18. K1:MOV R1,#1                           ;分別輸入不同數值對應不同開關
  19. LJMP ADDOPR
  20. K2:MOV R1,#2
  21. LJMP ADDOPR
  22. K3:MOV R1,#3
  23. LJMP ADDOPR
  24. K4:DEC R0
  25. LJMP WAIT
  26. ADDOPR:MOV A,R0                       ;與值相加
  27. ADD A,R1
  28. MOV R0,A
  29. WAIT:MOV A,P0
  30. ANL A,#0FH
  31. CJNE A,#0FH,WAIT
  32. MOV A,R0
  33. MOV B,#10
  34. DIV AB
  35. MOVC A,@A+DPTR
  36. MOV P1,A
  37. MOV A,B
  38. MOVC A,@A+DPTR
  39. MOV P3,A
  40. LJMP START
  41. DELAY:MOV R6,#15                          ;延時子程序  
  42. DEL2:MOV R7,#200
  43. DEL1:DJNZ R7,DEL1
  44. DJNZ R6,DEL2
  45. RET
  46. TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
  47. DB 92H,82H,0F8H,80H,90H
復制代碼


附錄二 電路原理圖

完整的Word格式文檔51黑下載地址:
單片機籃球計分器1.doc (342.5 KB, 下載次數: 85)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:558043 發表于 2019-6-9 10:16 | 只看該作者
這個程序能用c語言寫一下嗎
回復

使用道具 舉報

板凳
ID:453624 發表于 2019-6-10 17:17 | 只看該作者
有proteus程序嗎
回復

使用道具 舉報

地板
ID:559525 發表于 2019-6-10 23:37 來自觸屏版 | 只看該作者
除了potell99se,還有其他軟件仿真嗎
回復

使用道具 舉報

5#
ID:558757 發表于 2019-6-19 21:52 | 只看該作者
請問下樓主,為什么按鍵開關前要加電阻啊,我試了不加,會出現四個按鍵都只+1的情況,則是為什么?
回復

使用道具 舉報

6#
ID:558757 發表于 2019-6-19 21:52 | 只看該作者
a2437880191 發表于 2019-6-10 23:37
除了potell99se,還有其他軟件仿真嗎

還可以用protues仿真,這個好用些。
回復

使用道具 舉報

7#
ID:579677 發表于 2019-7-8 10:38 | 只看該作者
fxq1090763845 發表于 2019-6-19 21:52
請問下樓主,為什么按鍵開關前要加電阻啊,我試了不加,會出現四個按鍵都只+1的情況,則是為什么?[e ...

這是rp1呀
回復

使用道具 舉報

8#
ID:657938 發表于 2019-12-7 00:27 | 只看該作者
數碼管不亮是什么原因呢
回復

使用道具 舉報

9#
ID:674233 發表于 2019-12-26 09:06 | 只看該作者
fxq1090763845 發表于 2019-6-19 21:52
請問下樓主,為什么按鍵開關前要加電阻啊,我試了不加,會出現四個按鍵都只+1的情況,則是為什么?[e ...

因為P0口就是要上拉電阻的,這是規定
回復

使用道具 舉報

10#
ID:768771 發表于 2020-6-3 20:52 | 只看該作者
這個程序可以用C語言寫一下嘛
回復

使用道具 舉報

11#
ID:802020 發表于 2020-7-12 13:48 | 只看該作者
寫得很好,很厲害,謝謝大佬
回復

使用道具 舉報

12#
ID:425677 發表于 2020-7-12 14:17 | 只看該作者
要有PROTUES的文件就更好了,謝謝樓主
回復

使用道具 舉報

13#
ID:802020 發表于 2020-7-12 15:50 | 只看該作者
您好,我有個問題想咨詢你一下,就是籃球計分器的這個匯編語言程序怎么在KL里面運行出來是錯誤的?請答復一下,謝謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av网址在线播放 | 亚洲精品一区二区 | 久久这里有精品 | 国产乱码精品1区2区3区 | 精产国产伦理一二三区 | 亚洲www. | 久久成人免费视频 | 久久精品久久久久久 | 欧美一区二区在线观看 | 精品综合视频 | 青青操av| h视频在线播放 | 国产一区不卡在线观看 | 97精品超碰一区二区三区 | 99reav| 一区二区三区四区在线视频 | 日本精品久久久久久久 | 日韩一区中文字幕 | 久久精品国产免费 | 国产精品99久久久久久久久 | 中文字幕在线免费视频 | 日本三级做a全过程在线观看 | 成人免费大片黄在线播放 | 国产日韩电影 | 伊人网在线综合 | 亚洲最大av | 日韩欧美国产精品一区 | 爽爽免费视频 | 中文二区 | 手机看黄av免费网址 | 每日更新av | 亚洲www啪成人一区二区 | 国产精品久久 | 午夜影院在线观看版 | 国产视频91在线 | 日产精品久久久一区二区福利 | 青青久久| 久久久久久亚洲精品 | 成人伊人| 中文字幕在线一区二区三区 | 色婷婷亚洲国产女人的天堂 |