單片機八路搶答器課程教學(xué)設(shè)計_第1頁
單片機八路搶答器課程教學(xué)設(shè)計_第2頁
單片機八路搶答器課程教學(xué)設(shè)計_第3頁
單片機八路搶答器課程教學(xué)設(shè)計_第4頁
單片機八路搶答器課程教學(xué)設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編號:單片機課程設(shè)計報告目:八路搶答器設(shè)計制作(系):電子工程系業(yè):電子信息工程技術(shù)學(xué)生姓名: 學(xué) 號:指導(dǎo)教師單位;姓 名:題目類型:理論研究 實驗研究工程設(shè)計工程技術(shù)研究 軟件幵發(fā)2010年7月3日課程設(shè)計(論文)評語簽字:200 年 月曰簽字:200 年 月曰隨著社會的不斷進(jìn)步,電子技術(shù)也飛速的向前發(fā)展.特別是大規(guī)模集成電路的發(fā)展, 把我們帶進(jìn)了電子化時代。電子產(chǎn)品的日益增多,也讓我們的生活越來越方便。特別是計算機的發(fā)展,真可謂是突飛猛進(jìn)。自從 1946年世界上第一臺計算機的誕生以來,還 不到六十年的時間,計算機就取得了舉世矚目的成績。特別是在通信領(lǐng)域,實現(xiàn)了信息 一體化的時代。作為大學(xué)

2、生的我們,更需要加強實踐能力的培養(yǎng)。課程設(shè)計在一定程度 上反映了我們對理論知識的理解程度,是理論與實踐的橋梁。它不僅能鍛煉我們的動手 能力,而且能夠培養(yǎng)我們對問題的思考能力以及對知識的進(jìn)一步了解。當(dāng)你能把你所學(xué) 到知識化作為現(xiàn)實的東西時,我們能力就提升到一個新臺階。很多人都認(rèn)為學(xué)習(xí)是枯燥無味的,有時覺得與現(xiàn)實太遙遠(yuǎn)。在學(xué)習(xí)之余,我們?nèi)匀?可以找到一點有趣的事情,比如說做一個聲控?zé)襞?、?shù)字鐘等等。生活中我們要找到自 己感興趣的東西。這次綜合課程設(shè)計中,我們制作了八路搶答器。廣泛應(yīng)搶答器是為智力競賽參賽者答題時進(jìn)行搶答而設(shè)計的一種優(yōu)先判決器電路,用于各種知識競賽、文娛活動等場合。能夠?qū)崿F(xiàn)搶答器功能

3、的方式有多種,可以采用前 期的模擬電路、數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式,但這種方式制作過程復(fù)雜, 而且準(zhǔn)確性與可靠性不高,成品面積大,安裝、維護(hù)困難。本節(jié)介紹一種利用51單片機作為核心部件進(jìn)行邏輯控制及信號產(chǎn)生的八路搶答器。近年來,隨著單片機檔次的不 斷提高,功能的不斷完善,其應(yīng)用日趨成熟、應(yīng)用領(lǐng)域日趨擴大,特別是工業(yè)測控、尖 端武器和日用家電等領(lǐng)域更是因為有了單片機而生輝增色。單片機應(yīng)用技術(shù)已成為一項新的工程應(yīng)用技術(shù)。本次課程設(shè)計我們做的是八路搶答器,我們采用AT89C51單片機實現(xiàn)搶答功能,性能更穩(wěn)定,更易操作調(diào)試。關(guān)鍵詞:多路數(shù)字搶答器 AT89C51 PROTEUS引言3緒論第1

4、章系統(tǒng)設(shè)計內(nèi)容1.1系統(tǒng)設(shè)計依據(jù)1.2設(shè)計任務(wù)和要求1.3設(shè)計目的第2章硬件設(shè)計2.1單片機控制原理2.2搶答器的原理2.2.1 原理框圖2.3功能模塊電路2.3.1晶振復(fù)位及開始搶答電路2.3.2選手搶答鍵(矩陣式鍵盤)2.3.3.顯示與顯示驅(qū)動電路2.3.4蜂鳴器音頻輸出電路-第3章軟件設(shè)計3.1程序設(shè)計3.1.110103.1.23.1.3系統(tǒng)流程圖顯示搶答違規(guī)流程圖 搶答成功流程圖-1011113.2程序代碼主程序代碼定時器子程序延時子程序顯示子程序3.2.13.2.23.2.33.2.4第4章系統(tǒng)調(diào)試第5章總結(jié)-參考文獻(xiàn)附錄一程序代碼-附錄二原理圖-12引言隨著電子技術(shù)的飛速發(fā)展,基

5、于單片機的控制系統(tǒng)已經(jīng)廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、電121617171818192027力、電子、智能樓宇等行業(yè)。微型計算機作為嵌入式控制系統(tǒng)的主體與核心,代替了傳 統(tǒng)的控制系統(tǒng)的常規(guī)電子線路。同時樓宇智能化的發(fā)展與成熟,也為基于單片機的照明 控制系統(tǒng)的普及與應(yīng)用奠定了堅實的基礎(chǔ)。電子智能搶答器在搶答過程中,為了知道哪一組或哪一位選手先回答問題,必須要 設(shè)計一個系統(tǒng)來完成這個任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用 單片機系統(tǒng)來設(shè)計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒也可 以分辨出使哪組優(yōu)先回答問題。搶答組數(shù)可以在八組以內(nèi)任意使用,本系統(tǒng)設(shè)計為模塊 形式采用九針插頭

6、進(jìn)行連接,系統(tǒng)工作原理本系統(tǒng)采用AT89C51單片機作為核心??刂葡到y(tǒng)的五個模塊分別為:單片機最小系統(tǒng)、顯示模塊、顯示驅(qū)動模塊、搶答開關(guān)模塊、 音樂音頻輸出模塊。多路數(shù)字搶答器在各種智力競賽中經(jīng)常用到。在各校舉行的各種競賽中我們也經(jīng)常看到有搶答的環(huán)節(jié),舉辦方多數(shù)采用讓選手通過舉答題板的方法判斷選手的答題權(quán),這 在某種程度上會因為主持人的主觀誤斷造成比賽的不公平性。為解決這個問題,我準(zhǔn)備 借本次課程設(shè)計的機會制作一個八路數(shù)顯搶答器。一方面加深我們對所學(xué)習(xí)的知識的了解,鞏固模擬、數(shù)字電路知識,也提升我們解決日常生活中常見問題的能力,掌握一般 設(shè)計方法與設(shè)計步驟。積累實際設(shè)計制作經(jīng)驗,為走向更復(fù)雜更

7、實用的應(yīng)用領(lǐng)域奠定基 礎(chǔ)??刂葡到y(tǒng)主要由單片機控制電路、存儲器接口電路及顯示電路組成。具體以AT89C51 單片機為系統(tǒng)工作核心,負(fù)責(zé)控制各個部分協(xié)調(diào)工作。在其外圍接上了復(fù)位電路、上拉 電阻、數(shù)碼管、按鈕及揚聲器,其中用到了 WAV歆件,集成調(diào)試環(huán)境,集成編輯器、 編譯器、調(diào)試器,支持軟件模擬等。同時也用到了P ROTEU軟件,通過仿真可完全實現(xiàn)對所設(shè)計系統(tǒng)的功能的模擬。緒論單片機作為計算機的一個重要分支,其應(yīng)用范圍很廣,發(fā)展也很快,它已成為在現(xiàn) 代電子技術(shù)、計算機應(yīng)用、網(wǎng)絡(luò)、通信、自動控制與計量測試、數(shù)據(jù)采集與信號處理等 技術(shù)中日益普及的一項新興技術(shù),應(yīng)用范圍十分廣泛。對于計算機專業(yè)的學(xué)生來

8、說,即 使暫時沒有從事單片機的應(yīng)用與開發(fā),學(xué)習(xí)單片機也有很重要的意義。學(xué)習(xí)它,不僅為 將來可能從事該方面的開發(fā)打下基礎(chǔ),另一方面,由于單片機作為微型計算機的一個種 類,麻雀雖小,五臟俱全,可以把它當(dāng)作微型計算機的一個簡化模型來看待,學(xué)習(xí)單片 機可以加深對微型計算機工作原理的理解,更加清楚計算機的脈絡(luò)。同時,提供了一個 實際應(yīng)用手段。21世紀(jì),是一個信息技術(shù)飛速發(fā)展的時代,智力競賽是一種形式比較活 潑的教育方式,是人們休閑娛樂生活的一部分。這些競賽一方面充實了人們的娛樂生活, 另一方面也提高了人們努力汲取相關(guān)領(lǐng)域的知識的興趣。智力競賽,也就是幾個參賽選 手之間在規(guī)定的時間,規(guī)定的地點相互競爭的比

9、賽。搶答是各種競賽常用的一種形式。在搶答賽中,往往要有主持人宣布搶答的開始,還要確定是哪個選手搶到了答題權(quán),具體答題的時間有時也要設(shè)定。這些如果僅憑主持 人的主觀判斷,很容易出現(xiàn)誤判的情況。因此,在競賽中,搶答器就扮演了一個非常重 要的角色。第1章系統(tǒng)設(shè)計內(nèi)容1.1系統(tǒng)設(shè)計依據(jù)搶答器由計數(shù)器、寄存器、集成定時器和譯碼顯示等組合、時序電路組成??煞譃?搶答電路,定時電路,報警電路等幾個單元部分。每個單元電路分別可以處理一些搶答 競賽中的基本問題。本次課程設(shè)計設(shè)計的是一個多路定時搶答器,是一個多于兩位選手參賽的一個搶答 器,具有鎖存和顯示功能。同時有主持人控制系統(tǒng)的清零和搶答的開始。搶答開始后,

10、若有任何一名選手按動搶答按鈕,搶答器就會顯示該選手編號直至系統(tǒng)被主持人清零, 并有揚聲器發(fā)出提示,同時其他人再搶答就無效了。這次設(shè)計的搶答器還有自動定時功 能,主持人可以設(shè)定選手答題的時間。當(dāng)主持人啟動“開始”鍵后,定時器會自動減計 時,這個會顯示在顯示器上。選手只有在搶答時間內(nèi)搶答才有效,若在答題時間內(nèi)沒有 選手答題,時間到時,報警電路就會發(fā)出警報亮燈并且禁止搶答。1.2設(shè)計任務(wù)和要求設(shè)計一個八路搶答器要求:(1)設(shè)計出硬件電路;設(shè)計出軟件編程方法,并寫出源代碼;用PROTEUS行仿真;論文格式要符合學(xué)院的統(tǒng)一規(guī)定,結(jié)構(gòu)要合符邏輯,表達(dá)要得體。1.3設(shè)計目的學(xué)習(xí)單片機開發(fā)工具功能、特點和使用

11、方法。 學(xué)會單片機控制系統(tǒng)程序的編制和編制和調(diào)試方法。 設(shè)計單片機搶答器硬件電路,繪制出電路原理圖。編制并調(diào)試出鍵盤掃描程序和顯示驅(qū)動程序。 掌握單片機定時器的基本用法,編制出定時器的中斷程序。第2章硬件設(shè)計通過設(shè)計學(xué)習(xí)單片機最小系統(tǒng)的基本設(shè)計方法,掌握單片機應(yīng)用系統(tǒng)的開發(fā)調(diào)試過 程。(1)(2)(3)(4)(5)2.1單片機控制原理單片機(SCM是單片微型計算機(Single Chip Microcomputer )的簡稱。它是把 中央處理器CPU隨機存儲器RAM只讀存儲器ROM I/O接口電路、定時/計數(shù)器以及 輸入輸出適配器都集成在一塊芯片上,構(gòu)成一個完整的微型計算機。它的最大優(yōu)點是體

12、積小,可放在儀表內(nèi)部。但存儲量小,輸入輸出適配器簡單,功能較低。目前,單片機 在民用和工業(yè)測控領(lǐng)域得到最廣泛的應(yīng)用,早已深深地融入人們的生活中。簡單的說,用單片機系統(tǒng)來設(shè)計搶答器,實現(xiàn)兩組的搶答時間即使是相差幾微秒, 也可分辨出哪組優(yōu)先答題。P0端口(P0.0-P0.7): P0 口為一個8位漏級開路雙向I/O 口,每腳可吸收8TTL門 電流。當(dāng)P1 口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存 儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口, 當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1端口( P1.0-P1.7

13、): P1 口是一個內(nèi)部提供上拉電阻的 8位雙向I/O 口,P1 口緩 沖器能接收輸出4TTL門電流。P1 口管腳寫入1后,被內(nèi)部上拉為高電平,可用作輸入, P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和 校驗時,P1 口作為第八位地址接收。P2端口( P2.0-P2.7): P2 口為一個內(nèi)部上拉電阻的 8位雙向I/O 口,P2口緩沖器 可接收,輸出4個TTL門電流,當(dāng)P2 口被寫“ 1”時,其管腳被內(nèi)部上拉電阻拉高,且 作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上 拉的緣故。P2 口當(dāng)用于外部程序存儲器或16位地址外

14、部數(shù)據(jù)存儲器進(jìn)行存取時,P2 口 輸出地址的高八位。在給出地址“ T時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù) 據(jù)存儲器進(jìn)行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASH編程和校驗 時接收高八位地址信號和控制信號。P3端口( P3.0-P3.7):P3 口管腳是一個帶有內(nèi)部上拉電阻的 8位的雙向I/O端口,可接收輸出4個TTL 門電流。當(dāng)P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入端時, 由于外部下拉為低電平,P3 口將輸出電流(ILL )。22搶答器的原理搶答器的工作原理是采用單片機最小系統(tǒng),用程序查詢方式采用動態(tài)顯示組號。主 持人按下開始搶答鍵才可以

15、搶答。主持人沒有按下開始搶答按紐(P3.0),有人搶答則搶答違規(guī),報警并顯示組號,主持人按下開始搶答開關(guān)重新?lián)尨?。主持人按下開始搶答 按紐(P3.0),蜂鳴響聲提示,數(shù)碼管30秒倒計時搶答,蜂鳴器響聲提示并顯示他的組 號,30秒內(nèi)有人搶答則開始60秒倒計時(60秒內(nèi)必須回答完問題),最后五秒倒計時 警報。單片機最小系統(tǒng)、搶答按鍵模塊(四位并行數(shù)碼顯示)、顯示模塊、顯示驅(qū)動模塊、搶答開關(guān)模塊、蜂鳴器音頻輸出模塊。2.2.1原理及電路總框圖-h I m r r T-1W民-s.fir-Is -n-rd 二匚空 *- u w1k.-S13 - -=-*k + - <-TTVPXMMTK . h

16、r*. -4 品仏杠lie*丄亍'R圖2.2.1搶答器總原理圖2.3功能模塊電路 2.3.1晶振復(fù)位及開始搶答電路晶振的頻率為12MHZ提供89C51的時鐘脈沖使89C51工作,復(fù)位電路是單片機初 始化,使單片機重新開始執(zhí)行程序。當(dāng)復(fù)位開關(guān)按下RST由低電平變?yōu)楦唠娖剑瑒t程序從頭開始執(zhí)行,在此次課程設(shè)計電路中當(dāng)一個問題結(jié)束主持人后按下復(fù)位開關(guān)后進(jìn)行下 一題的準(zhǔn)備。mi;1 Hi*C1t-T" Xi 圖2.3.1晶振復(fù)位電路m-Rn ' TSl'''=r£' -_、 4嚴(yán),«12U1-niir CF.5 ts 2x!n

17、2 para Bxr->s EKWr£-itT-3.S Trig n-u flV-M圖2.3.1開始搶答電路2.3.2選手搶答鍵(矩陣式鍵盤)P1.0至P1.7輪流輸出低電位,89C51的P1 口做一個為選手搶答的輸入按鍵引腳,給每一個選手編號1至8,當(dāng)選手按下按鈕時,P1 口個端口的電平變化從P1 口輸入, 經(jīng)單片機處理后從P0輸出由數(shù)碼管顯示搶答者編號。¥2普13£ f PT-Hu-f |?寸£££££££££.El* -.2.3.3顯示與顯示驅(qū)動電路此電路包括顯示

18、和驅(qū)動,顯示采用數(shù)碼管,驅(qū)動用P2 口,違規(guī)者編號、搶答30秒倒計時、正常搶答者編號和回答問題時間60秒倒計時,數(shù)碼管采用動態(tài)顯示。驅(qū)動電路P2 口,查詢顯示程序利用P0 口做段選碼口輸出P2低3位做位選碼輸出,當(dāng)為低 電平則能驅(qū)動數(shù)碼管使其顯示數(shù)字。在 +5V電壓下接10k的電阻,保證正常壓降。ClC£飾*AT*圖2.3.3示與顯示驅(qū)動電路2.3.4蜂鳴器音頻輸出電路通過控制不同頻率的矩形脈沖來控制蜂鳴器發(fā)聲。此次課程設(shè)計中只需要一些簡單 的提示聲音和稍微顯眼的燈控,有搶答違規(guī),開始搶答,搶答時間結(jié)束和回答時間到得 提示聲和亮燈提醒。圖234蜂鳴器音頻輸出電路PT.nfc第3章軟件

19、設(shè)計3.1程序設(shè)計3.1.1系統(tǒng)流程圖開 始3.1.2顯示搶答違規(guī)流程圖1F報警一直提示4顯示違規(guī)者編號開 始3.1.3搶答成功流程圖3.2程序代碼 3.2.1 主程序void main()in it();if(k=0) /主持人按下開始鍵Timer();delay(10);while(!k);while(1)dis();m=0;n=0;if(seco nd=10)bee p=1;delay(500);bee p=0; if(sec on d=0) TRO=O; n=1;if(k=O)bee p=1;delay(500);bee p=0;seco nd=29;TR0=1;m=1;if(n=0)

20、if(k1=0) delay (5) ;if(k1=0);while(!k1);t=1;else if(k2=0) delay (5);if(k2=0);while(!k2);t=2;else if(k3=0) delay (5);if(k3=0);while(!k2);t=3;else if(k4=0) delay (5);if(k4=0);while(!k2);t=4;else if(k5=0) delay (5);if(k5=0);while(!k2);t=5;else if(k6=0) delay (5);if(k6=0);while(!k2);t=6;else if(k7=0) de

21、lay (5);if(k7=0);while(!k2);t=7;else if(k8=0) delay (5);if(k8=0);while(!k2);t=8;if(k=O)elsedelay (5) ;if(k=0);while(!k);t=0;i=0;seco nd=29;bee p=1;delay(500);bee p=0;TR0 =1; while(t)if(m=0) /開關(guān),保證程序只執(zhí)行一次switch(t)case 1:TR0=0;i=1;seco nd=O;bee p=1;delay(500);bee p=0;a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1

22、;a8=1;m=1;break;case 2:TR0=0;i=2;seco nd=0;bee p=1;delay(500);bee p=0;a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 3:TR0=0;i=3;seco nd=0;bee p=1;delay(500);bee p=0;a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 4:TR0=0;i=4;seco nd=0;bee p=1;delay(500);bee p=0;a4=0;a1=1;a2=1;a3=1;a5

23、=1;a6=1;a7=1;a8=1;m=1;break;case 5:TR0=0;i=5;seco nd=0;bee p=1;delay(500);bee p=0;a5=0;a1=1;a2=1;a3=1;a4=1;a6=1;a7=1;a8=1;m=1;break;case 6:TR0=0;i=6;seco nd=0;bee p=1;delay(500);bee p=0;a6=0;a1=1;a2=1;a3=1;a4=1;a5=1;a7=1;a8=1;m=1;break;case 7:TR0=0;i=7;seco nd=0;bee p=1;delay(500);bee p=0;a7=0;a1=1;

24、a2=1;a3=1;a4=1;a5=1;a6=1;a8=1;m=1;break;case 8:TR0=0;i=8;seco nd=0;bee p=1;delay(500);bee p=0;a8=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;m=1;break;if(a1=0) / 選手1的分?jǐn)?shù)sec on d=score1;dis();if(m1=0)dela y( 5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score1+=1;if(score1 =99)score1=60;if(m2=0)elsedelay

25、 (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score1-=1;if(score1 =0)score1=60;dis();else if(a2=0) sec on d=score2;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score2+=1;if(score2=99)score2=60;if(m2=0)elsedelay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score2

26、-=1;if(score2=0)score2=60;dis();else if(a3=0)sec on d=score3;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score3+=1;if(score3=99)score3=60;if(m2=0)elsedelay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score3-=1;if(score3 =0)score3=60;sec on d=score3;dis();else if(a4=

27、0)if(m2=0)if(m2=0)if(m2=0)sec on d=score4;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score4+=1;if(score4=99)score4=60;elsedela y( 5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score4-=1;if(score4 =0)score4=60;sec on d=score4;dis();else if(a5=0)sec on d=score5;dis();if

28、(m1=0)dela y( 5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score5+=1;if(score5 =99)score5=60;elsedela y( 5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score5-=1;if(score5 =0)score5=60;sec on d=score5;dis();else if(a6=0)sec on d=score6;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;dela

29、y(100);bee p=0;score6+=1;if(score6=99)score6=60;elsedelay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score6-=1;if(score6 =0)score6=60;sec on d=score6;dis();else if(a7=0)sec on d=score7;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score7+=1;if(score7 =99)score7=60;el

30、seif(m2=0)dela y( 5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score7-=1;if(score7 =0)score7=60;sec on d=score7;dis();else if(a8=0)sec on d=score8;dis();if(m1=0)dela y( 5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score8+=1;if(score8 =99)score8=60;elseif(m2=0)dela y( 5);if(m2=0);while(!m2)

31、;bee p=1;delay(100);bee p=0;score8-=1;if(score8 =0)score8=60;sec on d=score8;dis();if(k=0)i=0;t=0;seco nd=29;bee p=1;delay(500);bee p=0;TR0=1; while(!k);定時器子程序3.2.2void Timer()TMOD|=0x01;TH0=0xd8; / 初值 55536,計數(shù) 10000 次,每次 1US 總計 10msTL0=0xf0;IE=0x82; / 這里是中斷優(yōu)先級控制 EA=1(開總中斷),ET0=1(定時器0允許中斷), 這里用定時器0來

32、定時TR0=1;void tim(void) interrupt 1 using 1 /TH0=0xd8; /重新賦值TL0=0xf0;coun t+;if(cou nt=100) /100*10ms=1秒coun t=0;seco nd-; / 秒減 1為定時中斷TRO3.2.3延時子程序 void delay( uint z) / uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);延時函數(shù)3.2.4顯示子程序void dis play (uchar shiwei,gewei,xua nshou) / P2=0xfe; /打開顯示時間十位的位

33、選P 0=shiwei;/顯示十位dela y(5);顯示函數(shù)P2=0xfd; /個位位選 P0=gewei;dela y(5);P 2=0xf7; /選手位選P0=xua nshou; dela y(5);第4章系統(tǒng)調(diào)試軟件的設(shè)計與調(diào)試實行分模塊實現(xiàn)的方法。本設(shè)計軟件調(diào)試中的分模塊包括顯示功 能模塊,調(diào)整時間功能模塊,搶答功能模塊以及報警功能模塊。各個獨立模塊功能調(diào)試 成功后,將這些模塊程序通過主程序合并在一起,最后再對合并后的總程序進(jìn)行調(diào)試。 各軟件模塊首先要通過 PC和仿真器進(jìn)行軟件調(diào)試,當(dāng)仿真效果符合要求后在燒寫進(jìn)單 片機看是否在實際電路板上正常工作。本設(shè)計通過利用Proteus仿真,

34、將所編寫的程序用wave軟件編譯,所仿真原理圖見附錄。第5章結(jié)論自接觸單片機以來,一直覺得單片機非常難,這次的課程設(shè)計我開始是以老師布置 題目為主要選擇對象的,但是后面發(fā)現(xiàn),像八路搶答器在我腦海中根本沒得一點意象, 上網(wǎng)搜了很多資料,也感覺不怎么很懂,于是問老師怎么弄,后面發(fā)現(xiàn)老師的意見和我 的原本的程序和圖只有幾個地方不同,于是便將兩者綜合了一下,經(jīng)調(diào)試和運行后,發(fā) 現(xiàn)還行的通,于是便開始了忐忑的正文模版之路,以為快搞完了,后面發(fā)現(xiàn)其實程序和 圖還是要細(xì)細(xì)的弄懂才能寫好報告,于是我又將程序和圖細(xì)細(xì)的剖析了一遍,慢慢的畫 出流程圖,然后慢慢將流程圖和 Proteus圖畫好和截取下來,經(jīng)過最近這

35、段時間的在電 腦前面的駐守,覺得只要自己肯付出和努力,發(fā)現(xiàn)其實很多的東西不是那么難懂的,以 后還是要好好提升自己的動手能力和獨立思考的能力。在此,還是非常感謝我們的指導(dǎo)老師,她是一位很負(fù)責(zé)和很細(xì)心的老師,謝謝她的 輔導(dǎo)和鼓勵,這次的課程設(shè)計給了我一個很好的開始,我會好好努力的以后??v然課程 設(shè)計是學(xué)校所要求的科目,縱然每次都這么緊張和辛苦,但是我還是覺得有些東西做了, 就一定會有一定的價值吧。參考文獻(xiàn)資料1張迎新.2康華光.3喻宗泉.4萬光毅.張俊謨.單片機初級教程.北京航天航空大學(xué)出版社2000年.電子技術(shù)基礎(chǔ)(模擬部分).第四版 高等教育出版社1999年.單片機原理與應(yīng)用技術(shù).西安電子科技

36、大學(xué)出版社2005年.單片機實驗與實踐教程.北京航天航空大學(xué)出版社2003年.單片機初級教程.北京航天航空大學(xué)出版社2000年.附錄搶答器程序#in clude<reg51.h>#defi ne uchar un sig ned char#defi ne uint un sig ned int主持人按鍵答對加分,按一下加一分 答錯減分sbit m1= Pai; /sbit m2=P3A2; / sbit k1= Pis; sbit k2=PIM;sbit k3=P1A2; sbit k4=PIA3; sbit k5=PIM;sbit k6=PIA5; sbit k7=PIW;選手按

37、鍵主持人按鍵開始 / 蜂鳴器sbit k8=PIA7; /sbit k=P 39; /sbit beep=P 3八7;uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77; /0-9代碼uchar shiwei,gewei,xua nshou,co un t,i,sec ond;選手18的分uchar score1,score2,score3,score4,score5,score6,score7,score8;/數(shù)uint t,m, n,a,a1,a2,a3,a4,a5,a6,a7,a8;void Time

38、r()TMOD|=0x01;TH0=0xd8; / 初值 55536,計數(shù) 10000 次,每次 1US 總計 10msTL0=0xf0;IE=0x82; / 這里是中斷優(yōu)先級控制 EA=1(開總中斷),ET0=1(定時器0允許中斷), 這里用定時器0來定時TR0=1;為定時中斷TROvoid tim(void) interrupt 1 using 1 /TH0=0xd8; /重新賦值TL0=0xf0;coun t+;if(cou nt=100) /100*10ms=1秒 coun t=0;seco nd-; /秒減 1void delay( uint z) /uint x,y; for(x=

39、z;x>0;x-) for(y=110;y>0;y-);延時函數(shù)void dis play (uchar shiwei,gewei,xua nshou) / P2=0xfe; /打開顯示時間十位的位選P 0=shiwei;/顯示十位dela y(5);顯示函數(shù)P2=0xfd; /個位位選 P0=gewei;dela y(5);P 2=0xf7; /選手位選P0=xua nshou; dela y(5);void dis(void) shiwei=tabsec on d/10; gewei=tabsec on d%10; xua nshou=tabi;dis play (shiwei

40、,gewei,xua nshou);void init() /P 2=0x04;P 0=0x3f; t=0; bee p=0; i=0; second=29; score1=60; score2=60; score3=60; score4=60;初始化函數(shù)score5=60; score6=60; score7=60; score8=60; a1=1; a2=1; a3=1; a4=1; a5=1; a6=1; a7=1; a8=1; void main()in it();if(k=0) /主持人按下開始鍵Timer();delay(10);while(!k);while(1)dis();m=

41、0;n=0;if(seco nd=10)bee p=1;delay(500);bee p=0; if(sec on d=0) TRO=O; n=1;if(k=O)bee p=1;delay(500);bee p=0;seco nd=29;TR0=1;m=1;if(n=0)if(k=O)if(k1=0) dela y(5) ;if(k1=0);while(!k1);t=1; else if(k2=0) delay (5);if(k2=0);while(!k2);t=2; else if(k3=0) delay (5);if(k3=0);while(!k2);t=3; else if(k4=0)

42、delay (5);if(k4=0);while(!k2);t=4; else if(k5=0) delay (5);if(k5=0);while(!k2);t=5; else if(k6=0) delay (5);if(k6=0);while(!k2);t=6; else if(k7=0) delay (5);if(k7=0);while(!k2);t=7; else if(k8=0) delay (5);if(k8=0);while(!k2);t=8; elsedelay (5) ;if(k=0);while(!k);t=0;i=0;seco nd=29;bee p=1;delay(500

43、);bee p=0;TR0 =1; while(t)if(m=0) / 開關(guān),保證程序只執(zhí)行一次switch(t)case 1:TR0=0;i=1;seco nd=0;bee p=1;delay(500);bee p=0;a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 2:TR0=0;i=2;seco nd=0;bee p=1;delay(500);bee p=0;a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 3:TR0=0;i=3;seco nd=0;bee p=1;

44、delay(500);bee p=0;a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 4:TR0=0;i=4;seco nd=0;bee p=1;delay(500);bee p=0;a4=0;a1=1;a2=1;a3=1;a5=1;a6=1;a7=1;a8=1;m=1;break;case 5:TR0=0;i=5;seco nd=0;bee p=1;delay(500);bee p=0;a5=0;a1=1;a2=1;a3=1;a4=1;a6=1;a7=1;a8=1;m=1;break;case 6:TR0=0;i=6;seco n

45、d=0;bee p=1;delay(500);bee p=0;a6=0;a1=1;a2=1;a3=1;a4=1;a5=1;a7=1;a8=1;m=1;break;case 7:TR0=0;i=7;seco nd=0;bee p=1;delay(500);bee p=0;a7=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a8=1;m=1;break;case 8:TR0=0;i=8;seco nd=0;bee p=1;delay(500);bee p=0;a8=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;m=1;break;if(a1=0) /

46、選手1的分?jǐn)?shù)sec on d=score1;dis();if(m1=0)dela y( 5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score1+=1;if(score1 =99)score1=60;elseif(m2=0)delay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score1-=1;if(score1 =0)score1=60;dis();else if(a2=0) sec on d=score2; dis();if(m1=0)delay (5);if(m1=0);

47、while(!m1);bee p=1;delay(100);bee p=0;score2+=1;if(score2 =99)score2=60;elseif(m2=0)delay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=0;score2-=1;if(score2 =0)score2=60;dis();else if(a3=0)sec on d=score3;dis();if(m1=0)delay (5);if(m1=0);while(!m1);bee p=1;delay(100);bee p=0;score3+=1;if(score3 =99)score3=60;elsedelay (5);if(m2=0);while(!m2);bee p=1;delay(100);bee p=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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論