




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
比賽計分器課程設(shè)計學(xué)號:姓名:班級:信息班15第1章 系統(tǒng)概述1.1 功能簡述本設(shè)計內(nèi)容為比賽計分器,主要用于各種體育比賽記錄分?jǐn)?shù)。采用矩陣式鍵盤作為輸入,用戶可分別對兩隊比分進行加1、加2、加3和減1減2、減3操作,其加減1,2,3分可以通過加減1分、2分和3分的切換按鈕實現(xiàn),并通過指示燈顯示其每次按下加減分鍵所加減的分值??梢詫崿F(xiàn)預(yù)置分。比分通過4個8段數(shù)碼管顯示器進行顯示,每隊比分顯示2位。第2章 總體方案設(shè)計2.1 系統(tǒng)框圖系統(tǒng)框圖,見圖2.1。4個8段數(shù)碼顯示器3x4矩陣鍵盤89c52單片機發(fā)光二極管復(fù)位電路圖2.1 系統(tǒng)框圖本設(shè)計用80c51單片機為核心,利用4個8段數(shù)碼管顯示器.采用動態(tài)顯示輸出比分,用戶信息輸入則采用34矩陣式鍵盤。89c52單片機有32根i/o線,所以不用擴展i/o口。用一片單片機即可滿足本設(shè)計的輸入輸出。2.2 軟件總體設(shè)軟件設(shè)計主要分為3個部分:信息輸入、信息處理、顯示輸出。主要包括:顯示函數(shù),按鍵獲取函數(shù),按鍵處理函數(shù),進制轉(zhuǎn)換函數(shù)。信息輸入時采用矩陣式鍵盤來實現(xiàn),所以需要檢測鍵盤有無按鍵的子程序;信息處理需要對用戶通過鍵盤輸入的不同信息進行辨別并執(zhí)行相應(yīng)的處理;顯示輸出考慮到成本和電路體積,決定采用動態(tài)輸出。第3章 系統(tǒng)硬件設(shè)計3.1 80c51單片機因為我們上課時學(xué)的是mcs-51,所以就選擇了stc89c52單片機,因為它與inteimcs-51兼容,并且它們都具有相同的cpu和指令系統(tǒng),引腳功能兼容,容易掌握和使用。3.2 34矩陣式鍵盤根據(jù)設(shè)計共需要7個按鍵,可采用33矩陣式鍵盤,但考慮到常用鍵盤為34矩陣式鍵盤,而且方便以后功能的擴展和方便硬件的連接,所以最終決定采用34矩陣式鍵盤作為輸入。3.3.1 數(shù)碼管顯示器數(shù)量選擇兩個隊,每隊2位比分,每個顯示器只能顯示一位,則至少需要采用4個8段數(shù)碼管顯示器。段數(shù)碼管顯示器采用動態(tài)顯示輸出比分。3.3.2 數(shù)碼管共陰共陽接法的選擇51單片機i/o口輸出高電平時輸出的電流很小,數(shù)碼管不會太亮;因為本設(shè)計采用動態(tài)顯示,單片機i/o口直接接數(shù)碼管,所以決定采用共陽數(shù)碼管。3.3.3 數(shù)碼管驅(qū)動的選擇為了使數(shù)碼管亮度達到要求,數(shù)碼管的位選端需要驅(qū)動,因為單片機i/o口的高電平輸出的電流很小,需要驅(qū)動電路驅(qū)動,從而增加顯示亮度。最簡單便宜的驅(qū)動就是使用三極管,為低電平時開通,所以選擇pnp型三極管。第4章 軟件設(shè)計4.1主函數(shù)設(shè)計主函數(shù)程序代碼:main: mov numa,#0 mov numb,#0 ;分?jǐn)?shù)清零 mov temp,#1 ;起始時的分?jǐn)?shù)加1 mov p1,#0dfh acall tranm0: acall disp ;調(diào)用顯示函數(shù) acall keyscan ;調(diào)用按鍵獲取函數(shù) sjmp m0 ;首先初始化將儲存甲乙兩對分?jǐn)?shù)的內(nèi)存單元清零,起始時temp置1,并使led5點亮,調(diào)用進制轉(zhuǎn)換函數(shù),調(diào)用顯示函數(shù),調(diào)用按鍵獲取函數(shù),之后重復(fù)調(diào)用顯示函數(shù),調(diào)用按鍵獲取函數(shù).。函數(shù)間的調(diào)用關(guān)系,見圖4.1。主函數(shù)進制轉(zhuǎn)換函數(shù)顯示函數(shù)延時函數(shù)按鍵獲取函數(shù)延時函數(shù)按鍵處理函數(shù)進制轉(zhuǎn)換函數(shù)圖4.1函數(shù)關(guān)系調(diào)用圖4.2按鍵獲取,按鍵處理函數(shù)按鍵獲取,按鍵處理函數(shù)流程圖,見圖4.2。鍵掃描開始有無鍵按下去抖動鍵碼計算釋放鍵jmp a+dptra=06eh,清零鍵處理a=0d62h, 分值切換鍵處理a=0e3h, a減分鍵處理a=0e5h,a加分鍵處理圖4.2按鍵獲取,按鍵處理函數(shù)流程圖說明:由于圖紙大小有限,還有b加分鍵處理,b減分鍵處理,以及按下無關(guān)鍵時顯示不變。未在圖紙中表示出來。4.3顯示子程序 本程序是采用動態(tài)顯示,用這種方法的好處在于每次刷新顯示的時間相同,每個數(shù)碼管顯示的時間也相同,這樣就可以讓數(shù)碼管清晰而且穩(wěn)定的顯示數(shù)據(jù)。顯示子程序流程圖,見圖4.3。位 選 通取 段 碼送 段 碼調(diào)用延時程序關(guān) 段 碼圖4.3 顯示子程序流程圖4.4 延時子程序給r6放初值執(zhí)行三條空指令返回r6-1,判斷r6是否為0r7-1,判斷r7是否為0圖4.4 延時子程序流程圖延時子程序就是通過執(zhí)行一些沒用但又占用時間的指令的集合。這個子程序可以用于很多延時的地方因為它延時的時間可以通過r7進行改變,所以通用性好,可以將幾個延時子程序合為一個,只用在調(diào)用前給r7賦值,即可根據(jù)用戶的需要延時,流程圖見圖4.4。第5章 系統(tǒng)的安裝調(diào)試說明5.1 軟件調(diào)試軟件調(diào)試主要是在仿真軟件完成的。在寫好源程序,畫出原理圖之后,在電腦上進行軟件仿真。系統(tǒng)原理圖附后。5.2 軟硬聯(lián)調(diào)首先將編譯成功程序載入單片機系統(tǒng)開發(fā)板。通電后,led5,電源指示燈點亮,數(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;其中l(wèi)ed5,led6,led7的點亮與熄滅是通過對應(yīng)的“1”鍵來控制,可以通過按“1”鍵來實現(xiàn)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”鍵,甲隊分?jǐn)?shù)減3;“7”鍵為乙加分鍵,“b”鍵為乙隊減分鍵,其實現(xiàn)功能與甲隊一樣。對應(yīng)的“0”鍵為預(yù)置分按鈕,按下“0”鍵之后,通過按甲乙隊加、減分按鈕配合分?jǐn)?shù)切換鍵實現(xiàn)快速預(yù)置分。”reset”為復(fù)位鍵,按下可以實現(xiàn)復(fù)位。數(shù)碼管顯示甲乙隊當(dāng)前分?jǐn)?shù),復(fù)位后,數(shù)碼管顯示“0000”。附錄b源程序清單:numa equ 30hnumb equ 31h ;甲乙兩隊的分?jǐn)?shù)d1 equ 32h ;顯示緩存區(qū)32h35hd2 equ 33hd3 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 ;存放切換的加減分?jǐn)?shù)1/2/3keydate equ 37h ;存放按鍵值org 0000hmain:mov numa,#0 mov numb,#0 ;分?jǐn)?shù)清零 mov temp,#1 ;起始時的分?jǐn)?shù)加1 mov p1,#0dfh acall 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 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,#07h cjne a,#07h,k3 ;等待按鍵松開acall chuli ;調(diào)用按鍵處理函數(shù)acall trank4: ret;*chuli: mov a,keydate cjne a,#0e6h,c0 mov numa,#0 mov numb,#0 mov temp,#1 ;按下清零鍵,a,b隊分?jǐn)?shù)清零,加分為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 ;分值循環(huán)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,temp ;分值相減 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 ;進制轉(zhuǎn)換將10進制分?jǐn)?shù)轉(zhuǎn)化成2進制,然后顯示 mov b,#10 div ab mov d1,a mov d2,b mov a,numb mov b,#10 div ab mov d3,a mov d4,b ret;*disp: mov dptr,#tab ;顯示函數(shù), clr wei1 ;位選通 mov a,d1 ; movc a,a+dptr ;取段碼 mov duan, a ;送段碼 acall delay2ms ; setb wei1 ;關(guān)位選 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3D打印在整形手術(shù)中的應(yīng)用-洞察闡釋
- 3D打印菌絲體-洞察及研究
- 網(wǎng)上二手書店創(chuàng)業(yè)計劃書
- 蘇式建筑施工計劃
- 食用菌創(chuàng)業(yè)計劃書
- 莘莘學(xué)子暑期康復(fù)計劃
- 重慶長壽事業(yè)單位遴選筆試真題2024
- 2024年南昌高新招商集團招聘真題
- 2024年中國煙草總公司青海省公司筆試試題
- 山西工程職業(yè)學(xué)院《統(tǒng)計學(xué)與軟件包》2023-2024學(xué)年第二學(xué)期期末試卷
- 工廠計件獎罰管理制度
- GA/T 2014-2023道路交通信號配時運行管理規(guī)范
- 【9語二?!勘本┦袞|城區(qū)2025年6月份中考二模語文試卷
- 2025年湖南省普通高中學(xué)業(yè)水平合格性考試仿真(三)數(shù)學(xué)試卷(含答案)
- 2025黑龍江省交通投資集團限公司招聘348人易考易錯模擬試題(共500題)試卷后附參考答案
- 九師聯(lián)盟2025屆高三押題信息卷(四)歷史試卷(含答案)
- 2025年中國稀土磁性材料行業(yè)市場規(guī)模調(diào)研及投資前景研究分析報告
- T/DGGC 005-2020全斷面隧道掘進機再制造檢測與評估
- 湖南省永州市冷水灘區(qū)京華中學(xué)2025年中考二模 歷史試題(含答案)
- 江蘇省南京2022年中考歷史試卷(解析版)
- 《老年人認(rèn)知記憶訓(xùn)練》課件
評論
0/150
提交評論