




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 比賽計分器課程設計學號:姓名:班級:信息班第1章 系統概述1.1 功能簡述本設計內容為比賽計分器,主要用于各種體育比賽記錄分數。采用矩陣式鍵盤作為輸入,用戶可分別對兩隊比分進行加1、加2、加3和減1減2、減3操作,其加減1,2,3分可以通過加減1分、2分和3分的切換按鈕實現,并通過指示燈顯示其每次按下加減分鍵所加減的分值。可以實現預置分。比分通過4個8段數碼管顯示器進行顯示,每隊比分顯示2位。第2章 總體方案設計2.1 系統框圖系統框圖,見圖2.1。4個8段數碼顯示器3x4矩陣鍵盤89c52單片機發光二極管復位電路圖2.1 系統框圖本設計用80c51單片機為核心,利用4個8段數碼管顯示器.采
2、用動態顯示輸出比分,用戶信息輸入則采用34矩陣式鍵盤。89c52單片機有32根i/o線,所以不用擴展i/o口。用一片單片機即可滿足本設計的輸入輸出。2.2 軟件總體設軟件設計主要分為3個部分:信息輸入、信息處理、顯示輸出。主要包括:顯示函數,按鍵獲取函數,按鍵處理函數,進制轉換函數。信息輸入時采用矩陣式鍵盤來實現,所以需要檢測鍵盤有無按鍵的子程序;信息處理需要對用戶通過鍵盤輸入的不同信息進行辨別并執行相應的處理;顯示輸出考慮到成本和電路體積,決定采用動態輸出。第3章 系統硬件設計3.1 80c51單片機因為我們上課時學的是mcs-51,所以就選擇了stc89c52單片機,因為它與inteimc
3、s-51兼容,并且它們都具有相同的cpu和指令系統,引腳功能兼容,容易掌握和使用。3.2 34矩陣式鍵盤根據設計共需要7個按鍵,可采用33矩陣式鍵盤,但考慮到常用鍵盤為34矩陣式鍵盤,而且方便以后功能的擴展和方便硬件的連接,所以最終決定采用34矩陣式鍵盤作為輸入。3.3.1 數碼管顯示器數量選擇兩個隊,每隊2位比分,每個顯示器只能顯示一位,則至少需要采用4個8段數碼管顯示器。段數碼管顯示器采用動態顯示輸出比分。3.3.2 數碼管共陰共陽接法的選擇51單片機i/o口輸出高電平時輸出的電流很小,數碼管不會太亮;因為本設計采用動態顯示,單片機i/o口直接接數碼管,所以決定采用共陽數碼管。3.3.3
4、數碼管驅動的選擇為了使數碼管亮度達到要求,數碼管的位選端需要驅動,因為單片機i/o口的高電平輸出的電流很小,需要驅動電路驅動,從而增加顯示亮度。最簡單便宜的驅動就是使用三極管,為低電平時開通,所以選擇pnp型三極管。第4章 軟件設計4.1主函數設計主函數程序代碼:main: mov numa,#0 mov numb,#0 ;分數清零 mov temp,#1 ;起始時的分數加1 mov p1,#0dfh acall tranm0: acall disp ;調用顯示函數 acall keyscan ;調用按鍵獲取函數 sjmp m0 ;首先初始化將儲存甲乙兩對分數的內存單元清零,起始時temp置1
5、,并使led5點亮,調用進制轉換函數,調用顯示函數,調用按鍵獲取函數,之后重復調用顯示函數,調用按鍵獲取函數.。函數間的調用關系,見圖4.1。主函數進制轉換函數顯示函數延時函數按鍵獲取函數延時函數按鍵處理函數進制轉換函數圖4.1函數關系調用圖4.2按鍵獲取,按鍵處理函數按鍵獲取,按鍵處理函數流程圖,見圖4.2。鍵掃描開始有無鍵按下去抖動鍵碼計算釋放鍵jmp a+dptra=06eh,清零鍵處理a=0d62h, 分值切換鍵處理a=0e3h, a減分鍵處理a=0e5h,a加分鍵處理圖4.2按鍵獲取,按鍵處理函數流程圖說明:由于圖紙大小有限,還有b加分鍵處理,b減分鍵處理,以及按下無關鍵時顯示不變。
6、未在圖紙中表示出來。4.3顯示子程序 本程序是采用動態顯示,用這種方法的好處在于每次刷新顯示的時間相同,每個數碼管顯示的時間也相同,這樣就可以讓數碼管清晰而且穩定的顯示數據。顯示子程序流程圖,見圖4.3。位 選 通取 段 碼送 段 碼調用延時程序關 段 碼圖4.3 顯示子程序流程圖4.4 延時子程序給r6放初值執行三條空指令返回r6-1,判斷r6是否為0r7-1,判斷r7是否為0圖4.4 延時子程序流程圖延時子程序就是通過執行一些沒用但又占用時間的指令的集合。這個子程序可以用于很多延時的地方因為它延時的時間可以通過r7進行改變,所以通用性好,可以將幾個延時子程序合為一個,只用在調用前給r7賦值
7、,即可根據用戶的需要延時,流程圖見圖4.4。第5章 系統的安裝調試說明5.1 軟件調試軟件調試主要是在仿真軟件完成的。在寫好源程序,畫出原理圖之后,在電腦上進行軟件仿真。系統原理圖附后。5.2 軟硬聯調首先將編譯成功程序載入單片機系統開發板。通電后,led5,電源指示燈點亮,數碼管顯示“0000”.。對應的 “4”鍵為甲加分按鈕,當led5亮時,每次按下“4”鍵,甲隊分數加1;當led6亮時,每次按下“4”鍵,甲隊分數加2;當led7亮時,每次按下“4”鍵,甲隊分數加3;其中led5,led6,led7的點亮與熄滅是通過對應的“1”鍵來控制,可以通過按“1”鍵來實現led5,led6,led7
8、之間的切換。對應的“8”鍵為甲隊減分鍵,當led5亮時,每次按下“8”鍵,甲隊分數減1;當led6亮時,每次按下“8”鍵,甲隊分數減2;當led7亮時,每次按下“4”鍵,甲隊分數減3;“7”鍵為乙加分鍵,“b”鍵為乙隊減分鍵,其實現功能與甲隊一樣。對應的“0”鍵為預置分按鈕,按下“0”鍵之后,通過按甲乙隊加、減分按鈕配合分數切換鍵實現快速預置分。”reset”為復位鍵,按下可以實現復位。數碼管顯示甲乙隊當前分數,復位后,數碼管顯示“0000”。附錄b源程序清單:numa equ 30hnumb equ 31h ;甲乙兩隊的分數d1 equ 32h ;顯示緩存區32h35hd2 equ 33hd
9、3 equ 34hd4 equ 35hduan equ p0 ;段顯示端口wei1 equ p2.4 ;位選端口p2.4-p2.7wei2 equ p2.5wei3 equ p2.6wei4 equ p2.7temp equ 36h ;存放切換的加減分數1/2/3keydate equ 37h ;存放按鍵值org 0000hmain:mov numa,#0 mov numb,#0 ;分數清零 mov temp,#1 ;起始時的分數加1 mov p1,#0dfh acall tranm0: acall disp ;調用顯示函數 acall keyscan ;調用按鍵獲取函數 sjmp m0 ;*
10、keyscan:mov p2,#0ffh ;采用反轉法讀取按鍵值 mov p2,#0f0hmov a,p2anl a,#0f0hcjne a,#0f0h,k0sjmp k4k0:mov r5,#5k1:acall delay2ms ;10ms延時去抖動djnz r5,k1mov a,p2anl a,#0f0hcjne a,#0f0h,k2 sjmp k4 ;是抖動返回k2:mov keydate,a ;存儲按鍵值mov p2,#0fhmov a,p2anl a,#07horl a,keydate ;取得鍵值存放在keydate中mov keydate,ak3:mov a,p2 anl a,#0
11、7h cjne a,#07h,k3 ;等待按鍵松開acall chuli ;調用按鍵處理函數acall trank4: ret;*chuli: mov a,keydate cjne a,#0e6h,c0 mov numa,#0 mov numb,#0 mov temp,#1 ;按下清零鍵,a,b隊分數清零,加分為1 mov p1,#0dfh retc0: cjne a,#0d6h,c2 inc temp ;按下分值切換鍵,按一下分值加1, mov p1,#0bfh mov a,temp cjne a,#3,c01 mov p1,#7fhc01: cjne a,#4,c1 mov temp,#1
12、 ;分值循環1- 2- 3- 1 mov p1,#0dfhc1: retc2: cjne a,#0e5h,c4 mov a,numa ;按下a隊加分按鍵,a隊加分 add a,temp ;分值相加 cjne a,#99,c3 ; mov a,#0c3: mov numa,a retc4: cjne a,#75h,c6 mov a,numb ;按下b隊加分按鍵,a隊加分 add a,temp ;分值相加 cjne a,#99,c5 ; mov a,#0c5: mov numb,a retc6: cjne a,#0e3h,c9 mov a,numa ;按下a隊減分按鍵,a隊減分 subb a,te
13、mp ;分值相減 cjne a,#0fch,c7 retc7: jc c8 mov a,#99c8: mov numa,a retc9: cjne a,#073h,c12 mov a,numb ;按下b隊加減按鍵,a隊減分 subb a,temp ;分值相減 cjne a,#0fch,c10 retc10: jc c11 mov a,#99c11: mov numb,ac12: ret ;*tran: mov a,numa ;進制轉換將10進制分數轉化成2進制,然后顯示 mov b,#10 div ab mov d1,a mov d2,b mov a,numb mov b,#10 div ab
14、 mov d3,a mov d4,b ret;*disp: mov dptr,#tab ;顯示函數, clr wei1 ;位選通 mov a,d1 ; movc a,a+dptr ;取段碼 mov duan, a ;送段碼 acall delay2ms ; setb wei1 ;關位選 clr wei2 mov a,d2 movc a,a+dptr mov duan, a acall delay2ms setb wei2 clr wei3 mov a,d3 movc a,a+dptr mov duan, a acall delay2ms setb wei3 clr wei4 mov a,d4 movc a,a+dptr mov duan, a acall delay2ms setb wei4 mov duan,#0ffh; ret ;*delay2ms:mov r6,#5d0: mov r7,#248 djnz r7,$ djnz r6,d0 rettab:db 28h ; 0 db 0ebh ; 1 db 32h ; 2 db 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年社會服務行業理性消費與結構復蘇并行關注情緒消費
- 中醫藥現代化進程中的國際市場拓展:2025年全球中醫藥產業鏈研究報告
- 醫療器械售后服務市場服務質量評價體系構建與服務質量提升報告
- 工業互聯網平臺網絡隔離技術在醫療設備制造中的應用報告
- 2025年中醫藥現代化進程在埃塞俄比亞市場拓展策略研究報告
- 2025年醫藥企業研發外包(CRO)模式下的研發項目管理與團隊協作報告
- 數字藝術市場交易平臺在藝術品交易中的物流配送與倉儲管理報告
- 施工項目浴室管理制度
- 中醫藥實驗設備管理制度
- 鄉鎮幼兒園學籍管理制度
- DB43-T 2425.2-2022 學生公寓床上用品 第2部分:芯類產品技術要求
- PRP治療膝骨性關節炎臨床應用
- 2024年河南省現場流行病學調查職業技能競賽理論考試題庫-上(單選題部分)
- 2025年國家開放大學《形勢與政策大作業》試題與答案《形勢與政策》形成性考試專題檢測及大作業答案
- 浙江省金華市卓越聯盟2024-2025學年高一下學期5月月考政治試題(含解析)
- 拱墅區長慶街道招聘工作人員筆試真題2024
- 無人機導航與定位試題及答案
- 《頸部肌肉與背部肌肉》課件
- 《繼電器原理及其應用》課件
- 2025年浙江中考語文二輪復習熱點題型專練:對聯(原卷版)
- 中醫藥師承考試卷及答案
評論
0/150
提交評論