單片機比賽計分器課程設(shè)計_第1頁
單片機比賽計分器課程設(shè)計_第2頁
單片機比賽計分器課程設(shè)計_第3頁
單片機比賽計分器課程設(shè)計_第4頁
單片機比賽計分器課程設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 章 系統(tǒng)總體方案設(shè)計 1.1.概述 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把 一個計算機系統(tǒng)集成到一個芯片上。 我們都知道,設(shè)計系統(tǒng)的關(guān)鍵是思路,而系統(tǒng)通常又由各個模塊所組 成,所以必須先把所要設(shè)計系統(tǒng)模塊化,再把各個模塊組合在一起,實現(xiàn) 一個完整的系統(tǒng)。這就要求我們先要有較扎實的理論知識,特別對芯片的 各個管腳功能必須了解,這樣才能進行硬件設(shè)計。同時,又必須掌握 MCS51 的指令功能,通過編程實現(xiàn)其功能,這就能讓我們更好地理解單 片機原理及應用這門課程,也是一種理論在實踐中的運用。 在課程設(shè)計中,由于它是一個系統(tǒng),這就要求我們必須建立系統(tǒng)的概 念。我們都知道現(xiàn)

2、實運行的都是完整的系統(tǒng),而且功能相對來說要復雜, 如何把一個復雜的系統(tǒng)模塊化才能使問題來的簡單,這是我們必須首先解 決的問題。當各個模塊完成之后再組合成一個完成的系統(tǒng),這當中要考慮 模塊間的銜接問題,這些都是在以前設(shè)計簡單程序時不曾遇到的。如果說 我們以前學的都只是些理論,包括 c 語言,微機原理,c+,微機接口, protel,單片機,那么這次的課程設(shè)計就是一個貫穿多學科的綜合性實踐!單 片機自20世紀70年代問世以來,以極其高的性價比受到人們的重視和關(guān)注, 所以應用很廣,發(fā)展很快。單片機的優(yōu)點是體積小、重量輕、抗干擾能力 強,對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)較為容易。 例

3、如,80C51系列單片機已有十多年的生命期,如今仍保持著上升的趨勢, 就充分證明了這一點。單片機以其一系列優(yōu)點,近幾年得到迅猛發(fā)展和大 范圍推廣,廣泛應用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表, 及通訊設(shè)備、日常消費類產(chǎn)品、玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個 環(huán)節(jié)以及人民生活的各層次中,如車間流水線控制、自動化系統(tǒng)等、智能 型家用電器等。而美國 ATMEL 公司開發(fā)生產(chǎn)了新型的8位單片機AT89 系列單片機。他不但具有一般 MCS-51單片機的所有特性,而且還擁有一些 獨特的優(yōu)點,此次設(shè)計中所用到的 AT89C51就是其中典型的代表。 本設(shè)計是基于 AT89S51 單片機的籃球計分器,

4、利用 7 段共陰 LED 作為 顯示器件。在此設(shè)計中共接入了 1 個八位一體 7 段共陰 LED 顯示器,每隊 顯示器顯示范圍可達到 0255 分。 本設(shè)計內(nèi)容為比賽計分器,主要用于各種體育比賽記錄分數(shù)。采用獨 立式鍵盤作為輸入,用戶可分別對兩隊比分進行加 1、加 2、加 3 和減 1 減 2、減 3 操作,其加減 1,2,3 分可以通過加減 1 分、2 分和 3 分的切 換按鈕實現(xiàn),并通過指示燈顯示其每次按下加減分鍵所加減的分值。通過 加減分鍵和分值切換鍵配合使用可以較方便實現(xiàn)預置分。比分通過 1 個八 位一體 7 段共陰 LED 顯示器顯示,每隊比分顯示三位數(shù)。 1.2.系統(tǒng)框圖 AT89

5、C51 單片機 比分復位獨立式鍵盤比分顯示系統(tǒng)分值切換顯示 第 2 章 系統(tǒng)硬件設(shè)計 2.1.按鈕設(shè)置 圖 2-1 按鈕功能圖 獨立鍵盤通過 P1 口輸入鍵值,其中 1/2/3 分切換由發(fā)光二極管指示, 見圖 1-2。通過加減分鍵和分值切換鍵配合使用可以較方便實現(xiàn)甲乙兩隊 的初始分數(shù)。按下清零后,顯示的分數(shù)清零。 2.2.分值切換顯示功能 圖 2-2 分值切換顯示功能圖 S1甲加1 S2甲減1 S3乙加1 S4乙減1 S51/2/3/分切換 S6分數(shù)清零 比比分分紀紀錄錄控控制制鍵鍵 P2.0 P2.1 P2.2 1分 LED-BIBY 2分 LED-BIBY 3分 LED-BIBY 分分值值

6、切切換換顯顯示示 2.3.數(shù)碼管驅(qū)動的選擇 圖 2-3 74LS 引腳功能圖 74LS245 還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。 當 8051 單片機的 P0 口總線負載達到或超過 P0 最大負載能力時,必 須接入 74LS245 等總線驅(qū)動器。 當片選端/CE 低電平有效時,DIR=“0” ,信號由 B 向 A 傳輸;(接 收) DIR=“1” ,信號由 A 向 B 傳輸;(發(fā)送)當/CE 為高電平時,A、B 均為高阻態(tài)。 由于 P2 口始終輸出地址的高 8 位,接口時 74LS245 的三態(tài)控制端/1G 和/2G 接地,P2 口與驅(qū)動器輸入線對應相連。P0 口與 74LS24

7、5 輸入端相連, /E 端接地,保證數(shù)據(jù)現(xiàn)暢通。8051 的/RD 和/PSEN 相與后接 DIR,使得/RD 或/PSEN 有效時,74LS245 輸入(P0.IDI) ,其它時間處于輸出 (P0.IDI) 。 2.4.發(fā)光二極管顯示器的結(jié)構(gòu)、工作原理及其接口電路 下圖為典型的數(shù)碼管: 圖 2-4 7 段 LED 數(shù)碼管 如上圖,LED 顯示器又稱為數(shù)碼管,LED 顯示器由 8 個發(fā)光二極管組 成。中 7 個長條形的發(fā)光管排列成“日”字形,另一個賀點形的發(fā)光管在 顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部份英文字母。 LEDD 顯示器有兩種不同的形式:一種是 8 個發(fā)光二極管的陽極

8、都連在一起 的,稱之為共陽極 LED 顯示器;另一種是 8 個發(fā)光二極管的陰極都連在一 起的,稱之為共陰極 LED 顯示器。 表 2-1 代碼對應表 顯示字 符 共陰極段碼共陽極段碼顯示字符共陰極段碼共陽極段碼 03FHC087FH80H 106HF996FH90H 25BHA4A77H88H 34FHB0B7CH83H 466H99HC39HC6 56DH92HD5EHA1H 67DH82HE79H86H 707HF8F71H8EH 動態(tài)掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其 接口電路是把所有顯示器的 8 個筆劃段 a-h 同名端連在一起,而每一個顯 示器的公共極 COM

9、是各自獨立地受 I/O 線控制。CPU 向字段輸出口送出字 形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取 決于 COM 端,而這一端是由 I/O 控制的,所以我們就可以自行決定何時顯 示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的方法,輪流控制各個 顯示器的 COM 端,使各個顯示器輪流點亮。在本課題中采用 P0 口輸出段 碼,P3 口為位控制輸出口。 第 3 章 軟件設(shè)計 3.1.系統(tǒng)流程圖 開始 初始化 乙加分 加減分 鍵釋放 去抖動 甲加分 S1 鍵釋放 鍵釋放 鍵釋放 乙減分 S2 切換加減分值, 相應 LED 燈亮 甲乙比 分清零 去抖動 去抖動 表首址送 DPT

10、R,比 分清零,加減分值為 1 調(diào)用顯示函數(shù) 判斷哪鍵按下 S6 S5 3.2.顯示子程序流程圖 S3 去抖動 將 8 位二進制比分轉(zhuǎn) 換為十進制數(shù) S4 圖 3-1 顯示子程序流程圖 3.3.延時子程序 延時子程序就是通過執(zhí)行一些沒用但又占用時間的指令的集合。這個 子程序可以用于很多延時的地方因為它延時的時間可以通過 R7 進行改變, 所以通用性好,可以將幾個延時子程序合為一個,只用在調(diào)用前給 R7 賦 位 選 通 取 段 碼 送 段 碼 調(diào)用延時程序 關(guān) 段 碼 值,即可根據(jù)用戶的需要延時,流程圖見圖 3-2。 第 4 章 系統(tǒng)的安裝調(diào)試說明 4.1.軟件調(diào)試 上電時對系統(tǒng)中進行檢測是單片

11、機程序中的一個良好設(shè)計。在硬件設(shè) 給 R6 放初值 執(zhí)行三條空指令 返回 R6-1,判斷 R6 是 否為 0 R7-1,判斷 R7 是 否為 0 圖 3-2 延時子程序流程圖 計時也應該細細考慮將各個使用到的芯片、接口設(shè)計成容易使用軟件進行 測試的模式。 很多有經(jīng)驗的單片機設(shè)計者都會在系統(tǒng)上電時(特別是第一次上電時) 進行全面的檢測,或者更進一步,將系統(tǒng)的運行狀態(tài)中分為測試模式和正 常運行模式,通過加入測試模式對系統(tǒng)進行詳細的檢測,使得系統(tǒng)的批量 檢測更為方便容易。 另外要注意的是,一個簡單明了的故障顯示界面也是頗要費得心思的。 比如:系統(tǒng)的外部 RAM(數(shù)據(jù)存儲器)是單片機系統(tǒng)中常用的器件。

12、外部 RAM 如果存在問題,程序通常都會成為無法控制。 因此,程序在啟動時(至少在第一次上電啟動時)一定要對外部 RAM 進行檢測。 另外,在仿真前要做好充分的準備。單片機硬件仿真器給單片機開發(fā) 者帶來了極大的方便,同時也很容易造成人的依賴性。很多時候,沒有仿 真器卻能促使工程師寫出更高質(zhì)量的程序。在硬件仿真調(diào)試之前,下面準 備工作將是必要的: (1)程序編完后,對代碼仔細逐行檢查。檢查代碼的錯誤,建立自己 的代碼檢查表,對經(jīng)常易錯的地方進行檢查。檢查代碼是否符合編程規(guī)范。 (2)對各個子程序進行測試。測試的方法:用程序測試程序,編制一 個調(diào)用該子程序的代碼,建立要測試子程序的入口條件,再看看

13、它是否按 預期輸出結(jié)果。 (3)如果代碼有修改,再次對代碼進行檢查。 4.2.軟硬聯(lián)調(diào) 編程后利用 Keil uVision3 來進行編譯,再生成的 HEX 文件裝入芯片 中,采用 proteus 軟件來仿真,檢驗功能是否能夠正常實現(xiàn)。仿真成功后, 焊接硬件電路,通過 ISP 下載器將 hex 文件燒制到單片機。 通電后,LED-1 亮,數(shù)碼管顯示“000-000”.。對應的 “S1”鍵為 甲加分按鈕,當 LED-1 亮時,每次按下“S1”鍵,甲隊分數(shù)加 1;當 LED- 2 亮時,每次按下“S1”鍵,甲隊分數(shù)加 2;當 LED-3 亮時,每次按下 “S1”鍵,甲隊分數(shù)加 3;可以通過按“S5

14、”鍵來實現(xiàn) LED-1,LED-2,LED- 3 之間的切換。對應的“S2”鍵為甲隊減分鍵,當 LED-1 亮時,每次按下 “S2”鍵,甲隊分數(shù)減 1;當 LED-2 亮時,每次按下“S2”鍵,甲隊分數(shù) 減 2;當 LED-3 亮時,每次按下“S2”鍵,甲隊分數(shù)減 3;“S3”鍵為乙 加分鍵, “S4”鍵為乙隊減分鍵,其實現(xiàn)功能與甲隊一樣。對應的“S6” 鍵為清零按鈕,按下可以實現(xiàn)復位。數(shù)碼管顯示甲乙隊當前分數(shù),復位后, 數(shù)碼管顯示“000-000” 。 第 5 章 總結(jié) 在本次課程設(shè)計中,我通過基于典型單片機 AT89C51 的設(shè)計和應用, 對于單片機工作原理,功能有了宏觀的了解,并對單片機

15、匯編程序的應用 有了新的、進一步的認識。 在設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很 不順手,看似很簡單的電路,要動手把它給設(shè)計出來,是很難的一件事, 主要原因是我們沒有經(jīng)常動手設(shè)計過電路。另外單片機系統(tǒng)的知識似懂非 懂,而且很多知識當時弄明白了,現(xiàn)在要用的時候又不記得,造成我用了 大量的時間去查閱各種資料和程序命令,因此整個過程時間安排不合理。 由于設(shè)計的計劃沒有安排好,設(shè)計的時間極為倉促,尤其是在硬件調(diào)試的 過程中出現(xiàn)了很大的問題。另外資料的查找也是一大難題,這就要求我們 在以后的學習中,應該注意到這一點,更重要的是我們要學會把從書本中 學到的知識和實際的電路聯(lián)系起來,這

16、不論是對我們以后的就業(yè)還是學習, 都會起到很大的促進和幫助。 為了準備這次課程設(shè)計,我在結(jié)合以前老師上課所講授知識的基礎(chǔ)上 將 32 集的東南大學遠程教學視頻一口氣看完,這樣對單片機基本知識有了 進一步的了解。在做課題的過程中,發(fā)現(xiàn)很多知識還不夠熟悉,但是畢竟 有了基礎(chǔ),查閱書本后就能弄懂并加以運用。 面對大量的參考資料甚至是幾乎現(xiàn)成的參考報告,我選擇了在學習吸 納的基礎(chǔ)上另辟蹊徑,雖然這個課題不算難,但是從硬件電路到最后程序 的編寫和調(diào)試都是一步一步摸索出來的,這個過程中也遇到了不少困難, 更多的是成功后的喜悅。學習永無止境,很多知識和工具都必須現(xiàn)學現(xiàn)用, 培養(yǎng)學習能力十分重要。同時只有把學

17、習和實踐當做一種樂趣那么即便有 再大的困難也會是一種享受。非常感謝老師的熱心指導和同學的幫助。 第 6 章 參考文獻 1 、 微型計算機原理及應用許立梓編 機械工業(yè)出版社 2002 2、 微型計算機接口技術(shù)及應用劉樂善編 華中理工大學出版社 2000 3、 計算機硬件技術(shù)基礎(chǔ)試驗教程鄒逢興編 高等教育出版社 2000 4、 16 位微型計算機原理接口及其應用周佩玲編 中國科學技術(shù)大學 出版社 2000 5、 微型計算機原理與接口技術(shù)吳秀清編 中國科學技術(shù)出版社 2001 6、 微型計算機接口技術(shù)鄧亞平編 清華大學出版社 2001 7、 單片機原理及及應用王迎旭編 機械工業(yè)出版社 2001 8、

18、 單片機應用程序設(shè)計技術(shù) 周航慈 著 北京航空航天大學出版 社 2002 9、 單片機實用技術(shù)問答 謝宜仁 主編 人民郵電出版社 2002 附錄 A:源程序清單 NA EQU 24H NB EQU 25H ;甲乙兩隊分數(shù) TEMP EQU 26H ;存放切換分數(shù) 123 JIAJIA BIT P1.0 ;甲加分控制位 JIAJIAN BIT P1.1 ;甲減分控制位 YIJIA BIT P1.2 ;乙加分控制位 YIJIAN BIT P1.3 ;乙減分控制位 SWITCH BIT P1.4 ;分值切換控制位 RESET BIT P1.5 ;比分清零控制位 ORG 0000H SJMP STAR

19、T START:MOV DPTR,#TABLE ;將表首址送 DPTR MOV NA,#0 MOV NB,#0 ;比分自動清零 MOV TEMP,#1 ;開機默認加減分值為 1 MOV P2,#01H ;分值顯示燈亮 A1:ACALL DISPLAY ;調(diào)顯示函數(shù) JNB JIAJIA,S1 JNB JIAJIAN,S2 JNB YIJIA,S3 JNB YIJIAN,S4 JNB SWITCH,S5 JNB RESET,S6 LJMP A1 ;判斷按下的控制鍵 S1:LCALL DELAY ;去抖動 JB JIAJIA,A1 ;確認按鍵 MOV A,NA ADD A,TEMP MOV NA,

20、A LCALL B0 C0:JB JIAJIA,A1 ;等鍵釋放 LCALL DISPLAY SJMP C0 S2:LCALL DELAY ;去抖動 JB JIAJIAN,A1 MOV A,NA SUBB A,TEMP MOV NA,A LCALL B0 C1:JB JIAJIAN,A1 ;等鍵釋放 LCALL DISPLAY SJMP C1 S3:LCALL DELAY ;去抖動 JB YIJIA,A1 MOV A,NB ADD A,TEMP MOV NB,A LCALL B1 C2:JB YIJIA,A1 ;等鍵釋放 LCALL DISPLAY SJMP C2 S4:LCALL DISPL

21、AY ;去抖動 JB YIJIAN,A1 MOV A,NB SUBB A,TEMP MOV NB,A LCALL B0 C3:JB YIJIAN,A1 ;等鍵釋放 LCALL DISPLAY SJMP C3 S5:INC TEMP MOV A,TEMP CJNE A,#2,D0 MOV P2,#2 D0:CJNE A,#3,D1 MOV P2,#04H D1:CJNE A,#4,D2 MOV TEMP,#1 MOV P2,#01H ;分值切換循環(huán) 1-2-3 D2:LJMP A1 S6:MOV NA,#0 MOV NB,#0 LJMP A1 B0:CJNE A,#999,B2 ;是否大于 99

22、9? (可以省略) MOV NA,#0 B2:RET B1:CJNE A,#999,B3 MOV NB,#0 B3:RET ;* 顯示函數(shù) DISPLAY:MOV A,NA ;甲隊比分顯示 MOV B,#100 ;將 8 位二進制轉(zhuǎn)換位十進制 DIV AB CLR P3.0 MOVC A,A+DPTR ;送段碼 MOV P0,A ;顯示甲比分比分百位 LCALL DELAY SETB P3.0 ;關(guān)位選 MOV A,B MOV B,#10 DIV AB CLR P3.1 ;開位選 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.1 MOV A,B CLR

23、P3.2 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.2 CLR P3.3 MOV P0,#40H ;顯示分隔符 LCALL DELAY SETB P3.3 ;* 乙隊比分顯示 MOV A,NB MOV B,#100 DIV AB CLR P3.5 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.5 MOV A,B MOV B,#10 DIV AB CLR P3.6 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7 MOVC A,A+DPTR

24、 MOV P0,A LCALL DELAY SETB P3.7 CLR P3.4 MOV P0,#40H LCALL DELAY SETB P3.4 RET TABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH ;*延時程序 DELAY:MOV R6,#10 E:MOV R7,#250 DJNZ R7,$ DJNZ R6,E RET END ; * 2010 年 5 月 8 日編譯 B:硬件原理圖 A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 S7 B5 B4 B3 B2 B1 B0 S6 S5 S4 S3 S2 S1 S0 B0 B1 B2 B3 B4 B5 S0 S1 S2 S3 S4 S5 S6 S7 B6 B7 B6 B7 P2.0 P2.1 P2.2 P2.0 P2.1 P2.2 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1

溫馨提示

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

評論

0/150

提交評論