娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于單片機的籃球記分器設計

發布者:玉樹瓊花最新更新時間:2019-11-14 來源: 51hei關鍵字:單片機  籃球記分器 手機看文章 掃描二維碼
隨時隨地手機看文章

一.設計的基本步驟及方案

1.AT89C51簡介

單片機是在一塊芯片中集成了CPU、RAM、ROM、定時/計數器和多功能I/O口等計算機所需要的基本部件的大規模集成電路

其以體積小、功能全、性價比高等諸多優點而獨具特色,在工業控制、尖端武器、通信設備、家用電器等嵌入式應用領域中獨占鰲頭。如果說C語言程序設計課程設計軟件設計的基礎課,那么單片機以其系統硬件構架完整、價格低廉、學生能動手等特點,成為工科學生硬件設計基礎課。

2.數碼管顯示原理

數碼管實際上是由7個發光管組成8字形構成的,加上小數點就是8個。我們分別把他命名為A,B,C,D,E,F,G,H。

    

圖1 數碼管內部結構圖

假設我們要顯示一個數字2, 那么 A、B、G、E、D這5個段的發光管亮就可以了,C、F、H不亮,同時由于接法為共陰接法,那么為高電平是亮,低電平是滅。從高往低排列, P1.7-P1.0寫成二進制為01011011, 把他轉化為16進制則為5BH。我們可以根據硬件的接線把數碼管顯示數字編制成一個表格,見下表,以后直接調用就行了。

數碼管的接口有靜態接口和動態接口兩種。靜態接口為固定顯示方式,無閃爍,其電路可采用一個并行口接一個數碼管,數碼管的公共端按共陰接GND,本次課程設計由于所需數碼管不多,故可用些種方法接線。這種接法占用接口多,僅能接少量數碼管。

動態接口采用各數碼管循環輪流顯示的方法,當循環顯示的頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要一個接口完成字形碼的輸出,另一接口完成各數碼管的輪流點亮。

多位一體的數碼管原理和單個的差不多。

表2 共陰極數碼管顯示

顯示

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

0

0

1

1

1

1

1

1

3FH

1

0

0

0

0

0

1

1

0

06H

2

0

1

0

1

1

0

1

1

5BH

3

0

1

0

0

1

1

1

1

4FH

4

0

1

1

0

0

1

1

0

66H

5

0

1

1

0

1

1

0

1

6DH

6

0

1

1

1

1

1

0

1

7DH

7

0

0

0

0

0

1

1

1

07H

8

0

1

1

1

1

1

1

1

7FH

9

0

1

1

0

1

1

1

1

6FH


3.總體方案:基于單片機系統的籃球賽計時計分器的系統構成圖如下圖所示:

圖3 系統結構圖

本系統采用單片機AT89C51作為AT89C51本設計的核心元件。利用7段共陰LED作為顯示器件。在此設計中共接入了8個7段共陰LED顯示器,其中4個用于記錄AB隊的分數,每隊2個LED顯示器顯示范圍可達到0~99分,足夠滿足賽程需要,另外4個LED顯示器則用來記錄賽程時間,其中2個用于顯示分鐘,2個用于顯示秒鐘。賽程計時采用到計時方式。即比賽前將時間設置好,比賽開始時啟動計時,直至計時到零為止。計時范圍可達到0~99分鐘,也完全滿足實際賽程的需要。

其次,為了配合計時器和計分器校正調整時間和比分,我們特定在本設計中設立了11個按鍵,其中8個用于設置,交換場地,啟動和暫停等功能。

二. 硬件電路設計及描述

1.硬件原理電路

系統硬件圖如下圖4所示:

記分圖如下圖5所示:

計時圖如下圖6所示:


2.硬件電路設計及描述

硬件部分的設計是整個設計中的一個重要部分。在進行硬件部分設計時,首先要確定元器件,并且知道這些器件的工作原理和功能。然后才可以進行設計。本設計的硬件電路包括兩部分:計時電路、計分電路。硬件電部分的設計除了硬件電路的設計,還包括PCB板的繪制。


三. 軟件思想及流程

1. 主流程圖8:

2. 記分流程圖9:

比分顯示程序:

DISPF:MOV  R0,#34H

      MOV  R3,#7FH

      MOV  A,R3

PLAYF:MOV  P2,A

      MOV  A,@R0

      MOV  DPTR,#DSEG1

      MOVC  A,@A+DPTR

      MOV   P0,A

      LCALL  DL1

      MOV  P2,#0FFH

      MOV  A,R3

      RR   A

      JNB  ACC.3,LD1

      INC  R0

      MOV  R3,A

      LJMP PLAYF

      AJMP LD1

              鍵盤掃描子程序

3. 時間中斷流程圖10

時間中斷程序:

TIME: PUSH  ACC

      PUSH  PSW

      MOV   TH0,#0D8H

    MOV   TL0,#0F0H

      DJNZ  R2,RET0

      MOV   R2,#64H

      MOV   A,20H

      CLR   C

      DEC   A

      MOV   20H,A

      MOV   A,21H

      CJNE  A,#00H,PFF   ;;;;;;;;;非0分跳轉;;;;;;;;;;;;;;;;;

      MOV   A,20H

      CJNE  A,#00H,PFF   ;;;;;;;;;非0分0秒情況跳轉;;;;;;;;;;

      CLR   TR0          ;;;;;;;;;比賽結束停止計時;;;;;;;;;;

      MOV   20H,#00H

      MOV   21H,#00H

      MOV   32H,#00H

      MOV   33H,#00H

      LCALL MINGYIN

      MOV   21H,26H

      MOV   30H,#00H

      MOV   31H,#00H

      MOV   32H,24H

      MOV   33H,25H

      LJMP  RET0

PFF:  MOV   A,20H

      CJNE  A,#0FFH,OUT

      MOV   20H,#59        ;

      MOV   30H,#09H

      MOV   31H,#05H

      MOV   A,21H

      DEC   A

      MOV   21H,A

OUT:  MOV   A,20H

      MOV   B,#0AH

      DIV   AB

      MOV   30H,B

      MOV   31H,A

      MOV   A,21H

      MOV   B,#0AH

      DIV   AB

      MOV   32H,B

      MOV   33H,A

RET0: POP PSW

      POP ACC

      RETI

YANSHI:PUSH  ACC       ;定時器1中斷

      PUSH  PSW

      MOV   TH1,#0D8H

    MOV   TL1,#0F0H

      DJNZ  R2,RET1

      MOV   R2,#64H

              DJNZ 39H,RET1

              MOV 39H,#03H    ;TIAN HEIHEI

              MOV R2,#64H   

              CLR TR1

              CLR P3.6

RET1: POP PSW

      POP ACC

      RETI

時間顯示程序:

DISPT: MOV  R0,#30H               

      MOV  R3,#0F7H

      MOV  A,R3

PLAYT:MOV  P2,A

      MOV  A,@R0

      MOV  DPTR,#DSEG1

      MOVC  A,@A+DPTR

      MOV  P0,A

      LCALL DL1

      MOV  P2,#0FFH

      MOV  A,R3

      RR   A

      JNB  ACC.7,LD1

      INC  R0

      MOV  R3,A

      LJMP PLAYT

LD1:  RET

4. 源程序代碼見附錄一

四.硬軟件的調試過程及調試方法

1.進入比賽,先設置時間為一節或者半場。默認是12分鐘(按下“A+1”進行分鐘加1,按下“A-1”進行分鐘減1),如圖11

                              圖11

2.按下“K1”開始比賽或者暫停,如圖12


3.上面的液晶顯示為計時顯示。下面的液晶顯示為分數顯示“左側為攻左半場的隊的分數,右側為攻右半場的對的分數。”換場后依然如此。

4.按下“K2”交換場地,重新計時。

5.A+1,A+2,A+3,A-1,B+1,B+2,B+3,B-1進行兩隊分數調整

五.課程設計心得體會

俗話說:好的開始是成功的一半。說起課程設計,最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己感興趣的題目。其次,老師對課程設計的講解要一絲不茍的去聽去想,因為只有都明白了,做起設計就會事半功倍。最后,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。

本次設計,我查閱了相關書籍,做好各項準備后才開始進行設計,本次設計測試結果以及不足之處:計時電路可完成倒計時、暫停、繼續等功能,在比賽時間到后可進行報警。記分電路工作正常,可完成對比分的刷新與暫存。但在測試過程中發現,在比賽上半場時間到后,不能進行比分的交換。進行分析后得出結論如下:系統電路部分設計沒有原則性的錯誤,在制版的過程中注意了走線,因此硬件部分功能完好。但因為軟件系統編寫方面的疏忽,在比分交換及計時部分沒有能很好的實現。除此之外,軟件達到了系統的要求。

通過課程設計,發現了我們的很多不足,我們知識的很多漏洞,看到了我們的實踐經驗還是比較缺乏,理論聯系實際的能力還急需提高。在這個過程中,我們也曾經因為實踐經驗的缺乏失落過,也曾經仿真成功而熱情高漲。通過單片機課程設計,我們加深了對單片機理論的理解,學回了怎樣將理論很好地應用到實際當中去,而且我們還學會了如何去培養我們的不畏困難的挑戰精神,從而不斷地戰勝自己,超越自己,我們在這一設計過程中,學會了堅持不懈,不輕易言棄。設計過程,也好比是我們人類成長的歷程,常有一些不如意,也許這就是在對我們提出了挑戰,勇敢過,也戰勝了,勝利的鐘聲也就一定會為我們而敲響。

此次課程設計充分鍛煉了我們的設計能力和團隊合作能力,給我們注入了一些全新的認識,為我們以后的設計和實驗奠定了基礎,也為引導我們以理論結合實踐起到重要意義。


單片機源程序如下:

ORG     0000H

LJMP  MAIN

ORG     0003H

LJMP    CHANGE

ORG     000BH                                         

LJMP    TIME

ORG     0013H

LJMP    TIAOSHI

ORG     001BH

LJMP    YANSHI

MAIN: MOV  SP,#50H

      MOV  TCON,#04H

      MOV  20H,#00H        ;秒

      MOV  21H,#0CH        ;分

      MOV  22H,#00H        ;;;;;;;;;A隊分數;;;;;;;;;;;;;;;;;

      MOV  23H,#00H        ;;;;;;;;;;B隊分數;;;;;;;;;;;

      MOV  24H,#02H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  25H,#01H

      MOV  26H,#0CH        ;;;;;;;;;;;分鐘定時區;;;;;;;

      MOV  30H,#00H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  31H,#00H        ;;;;;;;;;時間緩沖區;;;;;;;;;;

      MOV  32H,#02H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  33H,#01H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  34H,#00H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  35H,#00H        ;;;;;;;;分數顯示緩沖區;;;;;;;

      MOV  36H,#00H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  37H,#00H        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      MOV  39H,#03H        ;TIAN HEIHEI

      MOV  TMOD,#11H

      MOV  TH0,#0D8H

      MOV  TL0,#0F0H

              MOV TH1,#0D8H

              MOV TL1,#0F0H

      MOV  IE,#10001111B

      MOV  IP,#05H

      MOV  R2,#64H

              CLR P3.6

START:LCALL DISPT

      LCALL DISPF

      JNB  P1.0,PP1       ;A隊加一分

      JNB  P1.1,PP2       ;A隊加兩分

      JNB  P1.2,PP3       ;A隊加三分

      JNB  P1.3,PP4       ;A隊減一分

      JNB  P1.4,PP55       ;B隊加一分

      JNB  P1.5,PP66       ;B隊加兩分

      JNB  P1.6,PP77       ;B隊加三分

[1] [2]
關鍵字:單片機  籃球記分器 引用地址:基于單片機的籃球記分器設計

上一篇:ds18b20 溫度模塊串口顯示簡單代碼
下一篇:GY521 mpu-6050調試經驗與教訓

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

隨便看看

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 拜城县| 仙居县| 六盘水市| 昌都县| 蒙自县| 惠水县| 武威市| 河曲县| 丰县| 吉水县| 古田县| 湘乡市| 比如县| 漳州市| 淳安县| 琼中| 远安县| 石屏县| 舞钢市| 廊坊市| 兴海县| 鄂托克前旗| 郎溪县| 宣城市| 张家界市| 德格县| 黔江区| 邓州市| 淮北市| 临泉县| 丹凤县| 镇赉县| 汤阴县| 大足县| 同江市| 兖州市| 定州市| 攀枝花市| 曲阳县| 泰宁县| 普定县|