籃球賽計時計分器課程設(shè)計_第1頁
籃球賽計時計分器課程設(shè)計_第2頁
籃球賽計時計分器課程設(shè)計_第3頁
籃球賽計時計分器課程設(shè)計_第4頁
籃球賽計時計分器課程設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、籃球賽計時計分器課程設(shè)計目錄第 1章 系統(tǒng)概述 1 1.1 功能簡述 1 1.2 按鈕設(shè)置 1第 2章 總體方案設(shè)計 2 2.1系統(tǒng)框圖 2 2.2 軟件總體設(shè)計 2第 3章 系統(tǒng)硬件設(shè)計 3 3.1 80C51單片機(jī) 3 3.2 3×4矩陣式鍵盤 3 3.3 8段數(shù)碼管顯示器 3 3. 4 系統(tǒng)原理圖 3 第 4章 軟件設(shè)計 4 4.1 主函數(shù)設(shè)計 4 4.2 按鍵碼獲取,按鍵處理函數(shù) 5 4.3 顯示子函數(shù) 6 4.4 延時子函數(shù) 7第 5章 系統(tǒng)的安裝調(diào)試說明 85.1 軟件調(diào)試 8 5.2 軟硬聯(lián)調(diào) 8總結(jié) 9參考文獻(xiàn) 10 附錄 A 系統(tǒng)原理圖 11 附錄 B 源程序清單

2、12第 1章 系統(tǒng)概述1.1 功能簡述本設(shè)計內(nèi)容為比賽計分器,主要用于各種體育比賽記錄分?jǐn)?shù)。采用矩 陣式鍵盤作為輸入,用戶可分別對兩隊比分進(jìn)行加 1、加 2、加 3和減 1減 2、減 3操作,其加減 1, 2, 3分可以通過加減 1分、 2分和 3分的切換按 鈕實(shí)現(xiàn),并通過指示燈顯示其每次按下加減分鍵所加減的分值。可以實(shí)現(xiàn) 預(yù)置分。比分通過 4個 8段數(shù)碼管顯示器進(jìn)行顯示,每隊比分顯示 2位,1.2 按鈕設(shè)置計分器應(yīng)該有 7個按鍵分別標(biāo)注于原理圖 , 見圖 1-1。 圖 1-1按鈕功能圖其中 1/2/3分切換由發(fā)光二極管指示,加 1減 1分別對應(yīng)。預(yù)置分是事 先設(shè)定分?jǐn)?shù)可以分別設(shè)定甲乙兩隊的初

3、始分?jǐn)?shù)。按下清零后,顯示的分?jǐn)?shù)清零。第 2章 總體方案設(shè)計2.1 系統(tǒng)框圖系統(tǒng)框圖,見圖 2-1。 圖 2-1 系統(tǒng)框圖本設(shè)計用 80C51單片機(jī)為核心,利用 4個 8段數(shù)碼管顯示器 . 采用動態(tài) 顯示輸出比分, 用戶信息輸入則采用 3×4矩陣式鍵盤。 89C52單片機(jī)有 32根 I/O線, 所以不用擴(kuò)展 I/O口。 用一片單片機(jī)即可滿足本設(shè)計的輸入輸出。2.2 軟件總體設(shè)計軟件設(shè)計主要分為 3個部分:信息輸入、信息處理、顯示輸出。主要 包括:顯示函數(shù),按鍵獲取函數(shù),按鍵處理函數(shù),進(jìn)制轉(zhuǎn)換函數(shù)。信息輸 入時采用矩陣式鍵盤來實(shí)現(xiàn),所以需要檢測鍵盤有無按鍵的子程序;信息 處理需要對用戶通

4、過鍵盤輸入的不同信息進(jìn)行辨別并執(zhí)行相應(yīng)的處理;顯 示輸出考慮到成本和電路體積,決定采用動態(tài)輸出。第 3章 系統(tǒng)硬件設(shè)計3.1 80C51單片機(jī)因?yàn)槲覀兩险n時學(xué)的是 MCS-51,所以就選擇了 STC89C52單片機(jī),因 為它與 INTEI MCS-51兼容, 并且它們都具有相同的 CPU 和指令系統(tǒng), 引 腳功能兼容,容易掌握和使用。3.2 3×4矩陣式鍵盤根據(jù)設(shè)計共需要 7個按鍵,可采用 3×3矩陣式鍵盤,但考慮到常用鍵 盤為 3×4矩陣式鍵盤,而且方便以后功能的擴(kuò)展和方便硬件的連接,所以 最終決定采用 3×4矩陣式鍵盤作為輸入。兩個隊,每隊 2位比分

5、,每個顯示器只能顯示一位,則至少需要采用 4個 8段數(shù)碼管顯示器。段數(shù)碼管顯示器采用動態(tài)顯示輸出比分。51單片機(jī) I/O口輸出高電平時輸出的電流很小,數(shù)碼管不會太亮;因 為本設(shè)計采用動態(tài)顯示, 單片機(jī) I/O口直接接數(shù)碼管, 所以決定采用共陽數(shù) 碼管。為了使數(shù)碼管亮度達(dá)到要求,數(shù)碼管的位選端需要驅(qū)動,因?yàn)閱纹瑱C(jī) I/O口的高電平輸出的電流很小,需要驅(qū)動電路驅(qū)動,從而增加顯示亮度。 最簡單便宜的驅(qū)動就是使用三極管,為低電平時開通,所以選擇 PNP 型三 極管。3. 4系統(tǒng)原理圖 (見附錄6第 4章 軟件設(shè)計4.1主函數(shù)設(shè)計主函數(shù)程序代碼 :MAIN: MOV NUMA,#0MOV NUMB,#0

6、 ; 分?jǐn)?shù)清零MOV TEMP,#1 ; 起始時的分?jǐn)?shù)加 1MOV P1,#0DFHACALL TRANM0: ACALL DISP ; 調(diào)用顯示函數(shù)ACALL KEYSCAN ; 調(diào)用按鍵獲取函數(shù)SJMP M0 ;首先初始化將儲存甲乙兩對分?jǐn)?shù)的內(nèi)存單元清零,起始時 TEMP 置 1, 并使 LED5點(diǎn)亮,調(diào)用進(jìn)制轉(zhuǎn)換函數(shù),調(diào)用顯示函數(shù),調(diào)用按鍵獲取函數(shù), 之后重復(fù)調(diào)用顯示函數(shù),調(diào)用按鍵獲取函數(shù) . 。函數(shù)間的調(diào)用關(guān)系,見圖 4-1。圖 4-1函數(shù)關(guān)系調(diào)用圖 74.2按鍵獲取,按鍵處理函數(shù)按鍵獲取,按鍵處理函數(shù)流程圖,見圖 4-2。 圖 4-2按鍵獲取,按鍵處理函數(shù)流程圖說明:由于圖紙大小有限

7、,還有 B 加分鍵處理, B 減分鍵處理 , 以及按 下無關(guān)鍵時顯示不變。未在圖紙中表示出來。84.3顯示子程序本程序是采用動態(tài)顯示, 用這種方法的好處在于每次刷新顯示的時間相 同,每個數(shù)碼管顯示的時間也相同,這樣就可以讓數(shù)碼管清晰而且穩(wěn)定的 顯示數(shù)據(jù)。顯示子程序流程圖,見圖 4-3。 圖 4-3 顯示子程序流程圖94.4 延時子程序延時子程序就是通過執(zhí)行一些沒用但又占用時間的指令的集合。 這個子程序可以用于很多延時的地方因?yàn)樗訒r的時間可以通過 R7進(jìn)行改變, 所以通用性好, 可以將幾個延時子程序合為一個, 只用在調(diào)用前給 R7賦值,即可根據(jù)用戶的需要延時, 流程圖見圖 4-4。 圖 4-4

8、 延時子程序流程圖10第 5章 系統(tǒng)的安裝調(diào)試說明5.1 軟件調(diào)試軟件調(diào)試主要是在仿真軟件完成的。在寫好源程序,畫出原理圖之后,在 電腦上進(jìn)行軟件仿真。系統(tǒng)原理圖附后。5.2 軟硬聯(lián)調(diào)首先將編譯成功程序載入單片機(jī)系統(tǒng)開發(fā)板。 通電后, LED5, 電源指示 燈點(diǎn)亮,數(shù)碼管顯示“ 0000” . 。對應(yīng)的 “ 4”鍵為甲加分按鈕,當(dāng) LED5亮?xí)r,每次按下“ 4”鍵,甲隊分?jǐn)?shù)加 1;當(dāng) LED6亮?xí)r,每次按下“ 4”鍵, 甲隊分?jǐn)?shù)加 2;當(dāng) LED7亮?xí)r,每次按下“ 4”鍵,甲隊分?jǐn)?shù)加 3;其中 LED5,LED6,LED7的點(diǎn)亮與熄滅是通過對應(yīng)的“ 1”鍵來控制,可以通過按 “ 1”鍵來實(shí)現(xiàn)

9、LED5,LED6,LED7之間的切換。對應(yīng)的“ 8”鍵為甲隊減分 鍵,當(dāng) LED5亮?xí)r,每次按下“ 8”鍵,甲隊分?jǐn)?shù)減 1;當(dāng) LED6亮?xí)r,每 次按下“ 8”鍵,甲隊分?jǐn)?shù)減 2;當(dāng) LED7亮?xí)r,每次按下“ 4”鍵,甲隊分 數(shù)減 3; “ 7”鍵為乙加分鍵, “ B ”鍵為乙隊減分鍵,其實(shí)現(xiàn)功能與甲隊一 樣。對應(yīng)的“ 0”鍵為預(yù)置分按鈕,按下“ 0”鍵之后,通過按甲乙隊加、 減分按鈕配合分?jǐn)?shù)切換鍵實(shí)現(xiàn)快速預(yù)置分。” RESET ”為復(fù)位鍵,按下可 以實(shí)現(xiàn)復(fù)位。數(shù)碼管顯示甲乙隊當(dāng)前分?jǐn)?shù),復(fù)位后,數(shù)碼管顯示“ 0000” ???結(jié)這次課程設(shè)計雖然只有短短的兩周時間,但我受益匪淺。剛開始時覺 得

10、自己的課題無處入手,但通過老師的講解和查詢資料,開始有了自己的 思路,整理出了總體方案,然后設(shè)計出硬件原理圖,源程序等。在這次設(shè) 計中困難最大的就是調(diào)試,收獲最多的也是調(diào)試,因?yàn)檎{(diào)試的時候你必須 對程序相當(dāng)?shù)氖煜?對每一條指令相當(dāng)了解,并且硬件的連接也要清晰的 印在腦海里,只有這樣你才能讓軟件和硬件結(jié)合在一起,實(shí)現(xiàn)預(yù)期功能。 在編程結(jié)束時需要編寫 END 指令,這也是初學(xué)者編程時經(jīng)常忘記的。當(dāng)然 也有值得高興的地方,我的設(shè)計通過加減分鍵和分?jǐn)?shù)切換鍵配合實(shí)現(xiàn)加減 1, 2, 3分只用了 3個鍵,而兩隊分別設(shè)置加減 1, 2, 3分就需 6個鍵。我 認(rèn)為這樣的設(shè)計更科學(xué)??傊?在課程設(shè)計中遇到了不

11、少的困難,在老師的細(xì)心講解和輔導(dǎo)下, 最終完成了本次設(shè)計。在此,由衷感謝汪超老師的指導(dǎo)和幫助。參考文獻(xiàn)1 、 微型計算機(jī)原理及應(yīng)用許立梓編 機(jī)械工業(yè)出版社 20022、 微型計算機(jī)接口技術(shù)及應(yīng)用劉樂善編 華中理工大學(xué)出版社 2000 3、 計算機(jī)硬件技術(shù)基礎(chǔ)試驗(yàn)教程鄒逢興編 高等教育出版社 2000 4、 16位微型計算機(jī)原理接口及其應(yīng)用周佩玲編 中國科學(xué)技術(shù)大學(xué) 出版社 20005、 微型計算機(jī)原理與接口技術(shù) 吳秀清編 中國科學(xué)技術(shù)出版社 2001 6、 微型計算機(jī)接口技術(shù)鄧亞平編 清華大學(xué)出版社 20017、 單片機(jī)原理及及應(yīng)用王迎旭編 機(jī)械工業(yè)出版社 20018、 單片機(jī)應(yīng)用程序設(shè)計技術(shù)

12、 周航慈 著 北京航空航天大學(xué)出版社 20029、 單片機(jī)實(shí)用技術(shù)問答 謝宜仁 主編 人民郵電出版社 2002附錄 A 系統(tǒng)原理圖: 附錄 B 源程序清單:NUMA EQU 30HNUMB EQU 31H ; 甲乙兩隊的分?jǐn)?shù)D1 EQU 32H ; 顯示緩存區(qū) 32h 35h D2 EQU 33HD3 EQU 34HD4 EQU 35HDUAN EQU P0 ; 段顯示端口WEI1 EQU P2.4 ; 位選端口 P2.4-P2.7 WEI2 EQU P2.5WEI3 EQU P2.6WEI4 EQU P2.7TEMP EQU 36H ; 存放切換的加減分?jǐn)?shù) 1/2/3 KEYDATE EQU

13、 37H ; 存放按鍵值ORG 0000HMAIN:MOV NUMA,#0MOV NUMB,#0 ; 分?jǐn)?shù)清零MOV TEMP,#1 ; 起始時的分?jǐn)?shù)加 1MOV P1,#0DFHACALL TRANM0: ACALL DISP ; 調(diào)用顯示函數(shù)ACALL KEYSCAN ; 調(diào)用按鍵獲取函數(shù)SJMP M0 ;* KEYSCAN:MOV P2,#0FFH ; 采用反轉(zhuǎn)法讀取按鍵值MOV P2,#0F0HMOV A,P2ANL A,#0F0HCJNE A,#0F0H,K0SJMP K4K0: MOV R5,#5K1: ACALL DELAY2MS ;10ms 延時去抖動DJNZ R5,K1MOV

14、 A,P2ANL A,#0F0HCJNE A,#0F0H,K2SJMP K4 ; 是抖動返回K2: MOV KEYDATE,A ; 存儲按鍵值MOV P2,#0FHMOV A,P2ANL A,#07HORL A,KEYDATE ; 取得鍵值存放在 KEYDATE 中 MOV KEYDATE,AK3: MOV A,P2ANL A,#07HCJNE A,#07H,K3 ; 等待按鍵松開ACALL CHULI ; 調(diào)用按鍵處理函數(shù)ACALL TRANK4: RET;* CHULI: MOV A,KEYDATECJNE A,#0E6H,C0MOV NUMA,#0MOV NUMB,#0MOV TEMP,

15、#1 ; 按下清零鍵 ,A,B 隊分?jǐn)?shù)清零,加分為 1 MOV P1,#0DFHRETC0: CJNE A,#0D6H,C2INC TEMP ; 按下分值切換鍵,按一下分值加 1, MOV P1,#0BFHMOV A,TEMPCJNE A,#3,C01MOV P1,#7FHC01: CJNE A,#4,C1MOV TEMP,#1 ; 分值循環(huán) 1- 2- 3- 1MOV P1,#0DFHC1: RETC2: CJNE A,#0E5H,C4MOV A,NUMA ; 按下 A 隊加分按鍵, A 隊加分ADD A,TEMP ; 分值相加CJNE A,#99,C3 ;MOV A,#0C3: MOV N

16、UMA,ARETC4: CJNE A,#75H,C6MOV A,NUMB ; 按下 B 隊加分按鍵, A 隊加分ADD A,TEMP ; 分值相加CJNE A,#99,C5 ;MOV A,#0C5: MOV NUMB,ARETC6: CJNE A,#0E3H,C9MOV A,NUMA ; 按下 A 隊減分按鍵, A 隊減分 SUBB A,TEMP ; 分值相減CJNE A,#0FCH,C7RETC7: JC C8MOV A,#99C8: MOV NUMA,ARETC9: CJNE A,#073H,C12MOV A,NUMB ; 按下 B 隊加減按鍵, A 隊減分 SUBB A,TEMP ; 分

17、值相減CJNE A,#0FCH,C10RETC10: JC C11MOV A,#99C11: MOV NUMB,AC12: RET;* TRAN: MOV A,NUMA ; 進(jìn)制轉(zhuǎn)換將 10進(jìn)制分?jǐn)?shù)轉(zhuǎn)化成 2進(jìn)制,然后顯示MOV B,#10DIV ABMOV D1,AMOV D2,BMOV A,NUMBMOV B,#10DIV ABMOV D3,AMOV D4,BRET;* DISP: MOV DPTR,#TAB ; 顯示函數(shù),CLR WEI1 ; 位選通MOV A,D1 ;MOVC A,A+DPTR ; 取段碼MOV DUAN, A ; 送段碼ACALL DELAY2MS ;SETB WEI1 ; 關(guān)位選CLR WEI2MOV A,D2MOVC A,A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI2CLR WEI3MOV A,D3MOVC A,A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI3CLR WEI4MOV A,D4MOVC A,A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI4MOV DUAN,#0FFH;RET;* DELAY2MS:MOV R6,#5D0: MOV R7

溫馨提示

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

評論

0/150

提交評論