




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、籃球賽計(jì)時(shí)計(jì)分器課程設(shè)計(jì)目錄第 1章 系統(tǒng)概述 1 1.1 功能簡(jiǎn)述 1 1.2 按鈕設(shè)置 1第 2章 總體方案設(shè)計(jì) 2 2.1系統(tǒng)框圖 2 2.2 軟件總體設(shè)計(jì) 2第 3章 系統(tǒng)硬件設(shè)計(jì) 3 3.1 80C51單片機(jī) 3 3.2 3×4矩陣式鍵盤(pán) 3 3.3 8段數(shù)碼管顯示器 3 3. 4 系統(tǒng)原理圖 3 第 4章 軟件設(shè)計(jì) 4 4.1 主函數(shù)設(shè)計(jì) 4 4.2 按鍵碼獲取,按鍵處理函數(shù) 5 4.3 顯示子函數(shù) 6 4.4 延時(shí)子函數(shù) 7第 5章 系統(tǒng)的安裝調(diào)試說(shuō)明 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 功能簡(jiǎn)述本設(shè)計(jì)內(nèi)容為比賽計(jì)分器,主要用于各種體育比賽記錄分?jǐn)?shù)。采用矩 陣式鍵盤(pán)作為輸入,用戶可分別對(duì)兩隊(duì)比分進(jìn)行加 1、加 2、加 3和減 1減 2、減 3操作,其加減 1, 2, 3分可以通過(guò)加減 1分、 2分和 3分的切換按 鈕實(shí)現(xiàn),并通過(guò)指示燈顯示其每次按下加減分鍵所加減的分值。可以實(shí)現(xiàn) 預(yù)置分。比分通過(guò) 4個(gè) 8段數(shù)碼管顯示器進(jìn)行顯示,每隊(duì)比分顯示 2位,1.2 按鈕設(shè)置計(jì)分器應(yīng)該有 7個(gè)按鍵分別標(biāo)注于原理圖 , 見(jiàn)圖 1-1。 圖 1-1按鈕功能圖其中 1/2/3分切換由發(fā)光二極管指示,加 1減 1分別對(duì)應(yīng)。預(yù)置分是事 先設(shè)定分?jǐn)?shù)可以分別設(shè)定甲乙兩隊(duì)的初
3、始分?jǐn)?shù)。按下清零后,顯示的分?jǐn)?shù)清零。第 2章 總體方案設(shè)計(jì)2.1 系統(tǒng)框圖系統(tǒng)框圖,見(jiàn)圖 2-1。 圖 2-1 系統(tǒng)框圖本設(shè)計(jì)用 80C51單片機(jī)為核心,利用 4個(gè) 8段數(shù)碼管顯示器 . 采用動(dòng)態(tài) 顯示輸出比分, 用戶信息輸入則采用 3×4矩陣式鍵盤(pán)。 89C52單片機(jī)有 32根 I/O線, 所以不用擴(kuò)展 I/O口。 用一片單片機(jī)即可滿足本設(shè)計(jì)的輸入輸出。2.2 軟件總體設(shè)計(jì)軟件設(shè)計(jì)主要分為 3個(gè)部分:信息輸入、信息處理、顯示輸出。主要 包括:顯示函數(shù),按鍵獲取函數(shù),按鍵處理函數(shù),進(jìn)制轉(zhuǎn)換函數(shù)。信息輸 入時(shí)采用矩陣式鍵盤(pán)來(lái)實(shí)現(xiàn),所以需要檢測(cè)鍵盤(pán)有無(wú)按鍵的子程序;信息 處理需要對(duì)用戶通
4、過(guò)鍵盤(pán)輸入的不同信息進(jìn)行辨別并執(zhí)行相應(yīng)的處理;顯 示輸出考慮到成本和電路體積,決定采用動(dòng)態(tài)輸出。第 3章 系統(tǒng)硬件設(shè)計(jì)3.1 80C51單片機(jī)因?yàn)槲覀兩险n時(shí)學(xué)的是 MCS-51,所以就選擇了 STC89C52單片機(jī),因 為它與 INTEI MCS-51兼容, 并且它們都具有相同的 CPU 和指令系統(tǒng), 引 腳功能兼容,容易掌握和使用。3.2 3×4矩陣式鍵盤(pán)根據(jù)設(shè)計(jì)共需要 7個(gè)按鍵,可采用 3×3矩陣式鍵盤(pán),但考慮到常用鍵 盤(pán)為 3×4矩陣式鍵盤(pán),而且方便以后功能的擴(kuò)展和方便硬件的連接,所以 最終決定采用 3×4矩陣式鍵盤(pán)作為輸入。兩個(gè)隊(duì),每隊(duì) 2位比分
5、,每個(gè)顯示器只能顯示一位,則至少需要采用 4個(gè) 8段數(shù)碼管顯示器。段數(shù)碼管顯示器采用動(dòng)態(tài)顯示輸出比分。51單片機(jī) I/O口輸出高電平時(shí)輸出的電流很小,數(shù)碼管不會(huì)太亮;因 為本設(shè)計(jì)采用動(dòng)態(tài)顯示, 單片機(jī) I/O口直接接數(shù)碼管, 所以決定采用共陽(yáng)數(shù) 碼管。為了使數(shù)碼管亮度達(dá)到要求,數(shù)碼管的位選端需要驅(qū)動(dòng),因?yàn)閱纹瑱C(jī) I/O口的高電平輸出的電流很小,需要驅(qū)動(dòng)電路驅(qū)動(dòng),從而增加顯示亮度。 最簡(jiǎn)單便宜的驅(qū)動(dòng)就是使用三極管,為低電平時(shí)開(kāi)通,所以選擇 PNP 型三 極管。3. 4系統(tǒng)原理圖 (見(jiàn)附錄6第 4章 軟件設(shè)計(jì)4.1主函數(shù)設(shè)計(jì)主函數(shù)程序代碼 :MAIN: MOV NUMA,#0MOV NUMB,#0
6、 ; 分?jǐn)?shù)清零MOV TEMP,#1 ; 起始時(shí)的分?jǐn)?shù)加 1MOV P1,#0DFHACALL TRANM0: ACALL DISP ; 調(diào)用顯示函數(shù)ACALL KEYSCAN ; 調(diào)用按鍵獲取函數(shù)SJMP M0 ;首先初始化將儲(chǔ)存甲乙兩對(duì)分?jǐn)?shù)的內(nèi)存單元清零,起始時(shí) 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)系,見(jiàn)圖 4-1。圖 4-1函數(shù)關(guān)系調(diào)用圖 74.2按鍵獲取,按鍵處理函數(shù)按鍵獲取,按鍵處理函數(shù)流程圖,見(jiàn)圖 4-2。 圖 4-2按鍵獲取,按鍵處理函數(shù)流程圖說(shuō)明:由于圖紙大小有限
7、,還有 B 加分鍵處理, B 減分鍵處理 , 以及按 下無(wú)關(guān)鍵時(shí)顯示不變。未在圖紙中表示出來(lái)。84.3顯示子程序本程序是采用動(dòng)態(tài)顯示, 用這種方法的好處在于每次刷新顯示的時(shí)間相 同,每個(gè)數(shù)碼管顯示的時(shí)間也相同,這樣就可以讓數(shù)碼管清晰而且穩(wěn)定的 顯示數(shù)據(jù)。顯示子程序流程圖,見(jiàn)圖 4-3。 圖 4-3 顯示子程序流程圖94.4 延時(shí)子程序延時(shí)子程序就是通過(guò)執(zhí)行一些沒(méi)用但又占用時(shí)間的指令的集合。 這個(gè)子程序可以用于很多延時(shí)的地方因?yàn)樗訒r(shí)的時(shí)間可以通過(guò) R7進(jìn)行改變, 所以通用性好, 可以將幾個(gè)延時(shí)子程序合為一個(gè), 只用在調(diào)用前給 R7賦值,即可根據(jù)用戶的需要延時(shí), 流程圖見(jiàn)圖 4-4。 圖 4-4
8、 延時(shí)子程序流程圖10第 5章 系統(tǒng)的安裝調(diào)試說(shuō)明5.1 軟件調(diào)試軟件調(diào)試主要是在仿真軟件完成的。在寫(xiě)好源程序,畫(huà)出原理圖之后,在 電腦上進(jìn)行軟件仿真。系統(tǒng)原理圖附后。5.2 軟硬聯(lián)調(diào)首先將編譯成功程序載入單片機(jī)系統(tǒng)開(kāi)發(fā)板。 通電后, LED5, 電源指示 燈點(diǎn)亮,數(shù)碼管顯示“ 0000” . 。對(duì)應(yīng)的 “ 4”鍵為甲加分按鈕,當(dāng) LED5亮?xí)r,每次按下“ 4”鍵,甲隊(duì)分?jǐn)?shù)加 1;當(dāng) LED6亮?xí)r,每次按下“ 4”鍵, 甲隊(duì)分?jǐn)?shù)加 2;當(dāng) LED7亮?xí)r,每次按下“ 4”鍵,甲隊(duì)分?jǐn)?shù)加 3;其中 LED5,LED6,LED7的點(diǎn)亮與熄滅是通過(guò)對(duì)應(yīng)的“ 1”鍵來(lái)控制,可以通過(guò)按 “ 1”鍵來(lái)實(shí)現(xiàn)
9、LED5,LED6,LED7之間的切換。對(duì)應(yīng)的“ 8”鍵為甲隊(duì)減分 鍵,當(dāng) LED5亮?xí)r,每次按下“ 8”鍵,甲隊(duì)分?jǐn)?shù)減 1;當(dāng) LED6亮?xí)r,每 次按下“ 8”鍵,甲隊(duì)分?jǐn)?shù)減 2;當(dāng) LED7亮?xí)r,每次按下“ 4”鍵,甲隊(duì)分 數(shù)減 3; “ 7”鍵為乙加分鍵, “ B ”鍵為乙隊(duì)減分鍵,其實(shí)現(xiàn)功能與甲隊(duì)一 樣。對(duì)應(yīng)的“ 0”鍵為預(yù)置分按鈕,按下“ 0”鍵之后,通過(guò)按甲乙隊(duì)加、 減分按鈕配合分?jǐn)?shù)切換鍵實(shí)現(xiàn)快速預(yù)置分?!?RESET ”為復(fù)位鍵,按下可 以實(shí)現(xiàn)復(fù)位。數(shù)碼管顯示甲乙隊(duì)當(dāng)前分?jǐn)?shù),復(fù)位后,數(shù)碼管顯示“ 0000” 。總 結(jié)這次課程設(shè)計(jì)雖然只有短短的兩周時(shí)間,但我受益匪淺。剛開(kāi)始時(shí)覺(jué) 得
10、自己的課題無(wú)處入手,但通過(guò)老師的講解和查詢資料,開(kāi)始有了自己的 思路,整理出了總體方案,然后設(shè)計(jì)出硬件原理圖,源程序等。在這次設(shè) 計(jì)中困難最大的就是調(diào)試,收獲最多的也是調(diào)試,因?yàn)檎{(diào)試的時(shí)候你必須 對(duì)程序相當(dāng)?shù)氖煜?對(duì)每一條指令相當(dāng)了解,并且硬件的連接也要清晰的 印在腦海里,只有這樣你才能讓軟件和硬件結(jié)合在一起,實(shí)現(xiàn)預(yù)期功能。 在編程結(jié)束時(shí)需要編寫(xiě) END 指令,這也是初學(xué)者編程時(shí)經(jīng)常忘記的。當(dāng)然 也有值得高興的地方,我的設(shè)計(jì)通過(guò)加減分鍵和分?jǐn)?shù)切換鍵配合實(shí)現(xiàn)加減 1, 2, 3分只用了 3個(gè)鍵,而兩隊(duì)分別設(shè)置加減 1, 2, 3分就需 6個(gè)鍵。我 認(rèn)為這樣的設(shè)計(jì)更科學(xué)??傊?在課程設(shè)計(jì)中遇到了不
11、少的困難,在老師的細(xì)心講解和輔導(dǎo)下, 最終完成了本次設(shè)計(jì)。在此,由衷感謝汪超老師的指導(dǎo)和幫助。參考文獻(xiàn)1 、 微型計(jì)算機(jī)原理及應(yīng)用許立梓編 機(jī)械工業(yè)出版社 20022、 微型計(jì)算機(jī)接口技術(shù)及應(yīng)用劉樂(lè)善編 華中理工大學(xué)出版社 2000 3、 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)試驗(yàn)教程鄒逢興編 高等教育出版社 2000 4、 16位微型計(jì)算機(jī)原理接口及其應(yīng)用周佩玲編 中國(guó)科學(xué)技術(shù)大學(xué) 出版社 20005、 微型計(jì)算機(jī)原理與接口技術(shù) 吳秀清編 中國(guó)科學(xué)技術(shù)出版社 2001 6、 微型計(jì)算機(jī)接口技術(shù)鄧亞平編 清華大學(xué)出版社 20017、 單片機(jī)原理及及應(yīng)用王迎旭編 機(jī)械工業(yè)出版社 20018、 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)
12、 周航慈 著 北京航空航天大學(xué)出版社 20029、 單片機(jī)實(shí)用技術(shù)問(wèn)答 謝宜仁 主編 人民郵電出版社 2002附錄 A 系統(tǒng)原理圖: 附錄 B 源程序清單:NUMA EQU 30HNUMB EQU 31H ; 甲乙兩隊(duì)的分?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 ; 起始時(shí)的分?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 延時(shí)去抖動(dòng)DJNZ R5,K1MOV
14、 A,P2ANL A,#0F0HCJNE A,#0F0H,K2SJMP K4 ; 是抖動(dòng)返回K2: MOV KEYDATE,A ; 存儲(chǔ)按鍵值MOV P2,#0FHMOV A,P2ANL A,#07HORL A,KEYDATE ; 取得鍵值存放在 KEYDATE 中 MOV KEYDATE,AK3: MOV A,P2ANL A,#07HCJNE A,#07H,K3 ; 等待按鍵松開(kāi)ACALL CHULI ; 調(diào)用按鍵處理函數(shù)ACALL TRANK4: RET;* CHULI: MOV A,KEYDATECJNE A,#0E6H,C0MOV NUMA,#0MOV NUMB,#0MOV TEMP,
15、#1 ; 按下清零鍵 ,A,B 隊(duì)分?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 隊(duì)加分按鍵, A 隊(duì)加分ADD A,TEMP ; 分值相加CJNE A,#99,C3 ;MOV A,#0C3: MOV N
16、UMA,ARETC4: CJNE A,#75H,C6MOV A,NUMB ; 按下 B 隊(duì)加分按鍵, A 隊(duì)加分ADD A,TEMP ; 分值相加CJNE A,#99,C5 ;MOV A,#0C5: MOV NUMB,ARETC6: CJNE A,#0E3H,C9MOV A,NUMA ; 按下 A 隊(duì)減分按鍵, A 隊(duì)減分 SUBB A,TEMP ; 分值相減CJNE A,#0FCH,C7RETC7: JC C8MOV A,#99C8: MOV NUMA,ARETC9: CJNE A,#073H,C12MOV A,NUMB ; 按下 B 隊(duì)加減按鍵, A 隊(duì)減分 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衢州職業(yè)技術(shù)學(xué)院《物流管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東藥品食品職業(yè)學(xué)院《民用建筑工程調(diào)研實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江門職業(yè)技術(shù)學(xué)院《專業(yè)文獻(xiàn)檢索與論文寫(xiě)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆藝術(shù)學(xué)院《自動(dòng)控制理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南健康管理職業(yè)技術(shù)學(xué)院《機(jī)械工程前沿》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西中醫(yī)藥大學(xué)賽恩斯新醫(yī)藥學(xué)院《公共部門會(huì)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《水處理生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年生物可降解塑料項(xiàng)目資金籌措計(jì)劃書(shū)代可行性研究報(bào)告
- 文創(chuàng)產(chǎn)品設(shè)計(jì)賞析
- 2024年電子涂料項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024高考語(yǔ)文一輪復(fù)習(xí)語(yǔ)句排序語(yǔ)句補(bǔ)寫(xiě)補(bǔ)償練含解析
- 物業(yè)公司保安巡邏崗巡查記錄表(完整版)
- 2025年全國(guó)保密知識(shí)競(jìng)賽經(jīng)典試題庫(kù)及答案(共250題)
- 2025年中國(guó)鐵路上海局集團(tuán)限公司招聘495名畢業(yè)生四(高等職業(yè)院校)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中國(guó)AI+Agent應(yīng)用研究報(bào)告
- 品管圈PDCA獲獎(jiǎng)案例提高護(hù)士對(duì)患者身份識(shí)別和查對(duì)制度的正確率
- 痛風(fēng)診療規(guī)范2023版課件
- 中建中建滑模施工方案范本
- 【MOOC】頸肩腰腿痛中醫(yī)防治-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 《法國(guó)師范教育》課件
- 安全法規(guī)-終結(jié)性考試-國(guó)開(kāi)(SC)-參考資料
評(píng)論
0/150
提交評(píng)論