八位競賽搶答器報告_第1頁
八位競賽搶答器報告_第2頁
八位競賽搶答器報告_第3頁
八位競賽搶答器報告_第4頁
八位競賽搶答器報告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-八位競賽搶答器設(shè)計報告專業(yè):通信工程班級:通信1401 團隊:第四組指導(dǎo)教師:毅隊員:設(shè)計時間:2021年6月23日星期四目錄一、工程概述和要求21.1 工程概述21.2 工程要求2二、系統(tǒng)設(shè)計22.1 框圖設(shè)計22.2 元件清單22.3 電路設(shè)計圖2三、軟件設(shè)計23.1 系統(tǒng)主流程圖23.2 顯示搶答違規(guī)流程圖23.3 搶答成功流程圖2四、總結(jié)2五、參考文獻2六、匯編程序代碼2一、 工程概述和要求1.1 工程概述單片機作為計算機的一個重要分支,其應(yīng)用圍很廣,開展也很快,它已成為在現(xiàn)代電子技術(shù)、計算機應(yīng)用、網(wǎng)絡(luò)、通信、自動控制與計量測試、數(shù)據(jù)采集與信號處理等技術(shù)中日益普及的一項新興技術(shù),應(yīng)用

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

3、的地點相互競爭的比賽。搶答是各種競賽常用的一種形式。在搶答賽中,往往要有主持人宣布搶答的開場,還要確定是哪個選手搶到了答題權(quán),具體答題的時間有時也要設(shè)定。這些如果僅憑主持人的主觀判斷,很容易出現(xiàn)誤判的情況。因此,在競賽中,搶答器就扮演了一個非常重要的角色。1.2 工程要求l1、搶答器同時供8名選手或8個代表隊比賽,分別用8個按鈕S0 S7表示。l2、設(shè)置一個系統(tǒng)去除、搶答開場控制開關(guān)、搶答時間控制按鈕,該開關(guān)由主持人控制。l3、在未開場前,4位數(shù)碼管顯示0000,并且搶答時間控制按鈕按下一次每按鍵,時間加1超過30時置0。 4、在未開場前,假設(shè)有提前搶答現(xiàn)象,數(shù)碼提示搶答按鍵的序列,以數(shù)碼管顯

4、示FF的形式提示錯誤。l5、搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定。并且搶答時間控制按鈕按下一次每按鍵,時間加1超過30時置0,當主持人啟動"開場"鍵后,定時器進展減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。l6、參賽選手在設(shè)定的時間進展搶答,搶答有效,定時器停頓工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)去除為止。l7、如果定時時間已到,無人搶答,四位數(shù)碼管顯示0 00。 8、如果搶答,按開場按鈕,則進入60秒倒計時,答復(fù)以下問題,倒計時完畢后四位數(shù)碼管顯示0 00。二、系統(tǒng)設(shè)計2.1 框圖設(shè)計本工程的系統(tǒng)設(shè)計框圖如圖2-

5、1所示:4位數(shù)碼管顯示最小系統(tǒng)AT89S51開場按鈕去除按鈕搶答時間控制按鈕8位按鍵控制蜂鳴器圖2-1由系統(tǒng)框圖可看出,本設(shè)計由單片機AT89S51、四位數(shù)碼管、控制鍵盤、蜂鳴器、最小系統(tǒng)5大模塊構(gòu)成。2.2元件清單器件表2.2所示:器件名稱數(shù)量AT89S511電容1nf2電阻1k1電阻10k5按鍵開關(guān)12SOUNDER174ls24514位數(shù)碼管1瓷片電容1uf1石英晶振1表2.2AT89S51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器FPEROMFlash Programmable and Erasable Read Only Memory的低電壓,高性能CMOS 8位微處理器,俗稱單片機

6、。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ū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD和PSEN有效時,74LS245輸入P0.1D1,其它時間處于輸出P

7、0.1D1。四位數(shù)碼管:2.3 電路設(shè)計圖1、最小系統(tǒng)2、控制按鍵3、數(shù)碼管電路4、蜂鳴器電路5、整體電路三、軟件設(shè)計8個按鍵是否按下顯示按鍵序列和時間開場鍵是否按下60秒倒計時違規(guī)處理翻開中斷時間倒計時響應(yīng)時間加一時間到30置08個按鍵是否按下開場鍵是否按下時間控制鍵是否按下開場3.1系統(tǒng)主流程圖3.2顯示搶答違規(guī)流程圖開場顯示按鍵序列蜂鳴器響鈴去除鍵是否按下返回主程序顯示搶答違規(guī)流程圖,當未開場,出現(xiàn)搶答,響鈴并顯示。開場顯示按鍵序列和時間去除鍵是否按下返回主程序3.3搶答成功流程圖四、總結(jié)通過此次課程設(shè)計,我更深地理解了單片機這門課程。同時也將學到的課本知識應(yīng)用到了實際中,從而更好地反映

8、了理論與實踐相結(jié)合。經(jīng)過最近這段時間的在電腦前面的駐守,覺得只要自己肯付出和努力,發(fā)現(xiàn)其實很多的東西不是則難懂的,以后還是要好好提升自己的動手能力和獨立思考的能力。在此,還是非常感我們的指導(dǎo)教師,他是一位很負責和很細心的教師,他的輔導(dǎo),這次的課程設(shè)計給了我一個很好的開場,我會好好努力地學習??v然課程設(shè)計是學校所要求的科目,縱然每次都這么緊和辛苦,但是我還是覺得有些東西做了,就一定會有一定的價值吧。五、參考文獻1 毅剛. ?單片機原理及接口技術(shù)?.人民郵電2021年.2 康華光. ?電子技術(shù)根底模擬局部?.第四版高等教育 1999年.3 喻宗泉. ?單片機原理與應(yīng)用技術(shù)?.電子科技大學 2005

9、年.4 萬光毅. ?單片機實驗與實踐教程?. 航天航空大學 2003年.六、匯編程序代碼ORG 0000H ;設(shè)置程序指針從0000h開場LJMP begin ;長轉(zhuǎn)移到begin子程序ORG 000BH ;設(shè)置定時器t0入口地址LJMP ITOP ;長轉(zhuǎn)移到itop to定時器子程序ORG 001BH ; 設(shè)置定時器t0入口地址LJMP ITOP1 ;長轉(zhuǎn)移到itop t1定時器子程序ORG 0100Hbegin: MOV 45H,*10 ;搶答時間初值為10秒 LJMP MAIN ;長轉(zhuǎn)移到main子程序WRONG1: SETB TR1 ;錯誤搶答按鍵一子程序啟動t1計時發(fā)出高頻蜂鳴聲 M

10、OV R5,*1 ;將1賦值給r5 LCALL SHOW4 ;進入錯誤搶答提示具體按鍵錯誤代碼ff JNB P3.7,MAIN ;去除鍵按下,返回main子程序 LJMP WRONG1 ;返回wrong1,如果去除鍵沒有按鍵,一直循環(huán)此子程序WRONG2: SETB TR1 ;錯誤搶答按鍵二子程序啟動t1計時發(fā)出高頻蜂鳴聲 MOV R5,*2 ;將2賦值給r5 LCALL SHOW4 ;進入錯誤搶答提示具體按鍵錯誤代碼ff JNB P3.7,MAIN ;去除鍵按下,返回main子程序 LJMP WRONG2 ;返回wrong2,如果去除鍵沒有按鍵,一直循環(huán)此子程序WRONG3: SETB TR

11、1 MOV R5,*3 LCALL SHOW4 JNB P3.7,MAIN ;同上 LJMP WRONG3WRONG4: SETB TR1 MOV R5,*4 LCALL SHOW4 JNB P3.7,MAIN ;同上 LJMP WRONG4MAIN: MOV DPTR,*TABLE ;將0-9數(shù)字表tale首地址給數(shù)據(jù)指針存放器 MOV R2,*20 ;因為t0中斷為50ms,循環(huán)20次,到1秒,為倒計時減一 MOV R0,45H ;將可控的搶答時間賦值給r0 CLR P3.4 ;p3.4為蜂鳴器驅(qū)動口,main子程序初始提供低電壓 MOV P2,*0C0H ;初始數(shù)碼管全顯示0. 將0代碼

12、給p2口, MOV P0,*0FH ;數(shù)碼管位選全提供高電壓,顯示 JNB P1.0,WRONG1 ;初始,在開場鍵沒有按下前,錯誤搶答,進入相應(yīng)子程序處理 JNB P1.1,WRONG2 ;同上 JNB P1.2,WRONG3 ;同上 JNB P1.3,WRONG4 ;同上 JNB P1.4,WRONG5 ;同上 JNB P1.5,WRONG6 ;同上 JNB P1.6,WRONG7 ;同上 JNB P1.7,WRONG8 ;同上 JNB P3.5,START ;如果開場健按下,進入相應(yīng)子程序start JNB P3.7,MAIN ;如果去除鍵按下,返回到main子程序 JNB P3.0,A

13、DD1 ;假設(shè)加一搶答時間按鍵按下,進入add1子程序 MOV SP,*60H ;為堆棧設(shè)置起始位置 60h MOV TMOD,*11H ;設(shè)計定時器工作方式,t0,t1工作方式1 MOV TH0,*3CH ;設(shè)置t0工作方式初始計數(shù),每次50ms中斷一次 MOV TL0,*0B0H MOV TH1,*0F0H ;設(shè)置蜂鳴器頻率,由t1定時器中斷控制 MOV TL1,*0FFH ; SETB EA ;允許總中斷控制 SETB ET0 ;允許 t0中斷 SETB ET1 ;允許t1中斷 CLR TR1 ;停頓t1定時 LJMP MAIN ;目的其他操作循環(huán)main子程序ADD1:INC 45H

14、;搶答時間在45h 目的加一 MOV A,45H ;將45h賦值到a CJNE A,*30,ADD2 ;判斷是否等于30,不等于進入add2子程序 MOV 45H,*0 ;假設(shè)等于30,搶答時間重新初值為0 LJMP MAIN ;并返回到mian,不做任何操作ADD2: MOV R2,*0FFH LCALL SHOW7 ;調(diào)用顯示搶答時間顯示子程序 LJMP MAIN ;并返回main子程序WRONG5: SETB TR1 ;錯誤搶答按鍵二子程序啟動t1計時發(fā)出高頻蜂鳴聲 MOV R5,*5 ;將5賦值給r5 JNB P3.7,MAIN ;進入錯誤搶答提示具體按鍵錯誤代碼ff LCALL SH

15、OW4 ;去除鍵按下,返回main子程序 LJMP WRONG5 ;返回wrong5,如果去除鍵沒有按鍵,一直循環(huán)此子程序WRONG6: SETB TR1 MOV R5,*6 LCALL SHOW4 JNB P3.7,MAIN ;同上 LJMP WRONG6WRONG7: SETB TR1 MOV R5,*7 LCALL SHOW4 ;同上 JNB P3.7,MAIN1 LJMP WRONG7WRONG8: SETB TR1 MOV R5,*8 LCALL SHOW4 ;同上 JNB P3.7,MAIN1 ;以為jnb可尋址圍小,無法直接轉(zhuǎn)移到main,需要間接利用mian1跳轉(zhuǎn) LJMP W

16、RONG8MAIN1: LJMP MAIN ;利用main1跳轉(zhuǎn)到 main子程序START: LCALL RING ;調(diào)用ring響鈴子程序當按下開場按鈕,響鈴一次,維持0.5sSTART1: SETB TR0 ;開場t0定時器,為倒計時減一 JNB P1.0,ANSWER1 ;假設(shè)按鍵一搶答,進入響應(yīng)answer1子程序 JNB P1.1,ANSWER2 ; JNB P1.2,ANSWER3 ; JNB P1.3,ANSWER4 ; JNB P1.4,ANSWER5 ;同上 JNB P1.5,ANSWER6 ; JNB P1.6,ANSWER7 ; JNB P1.7,ANSWER8 ;同上

17、 CJNE R0,*00,SHOW1 ;搶答時間倒數(shù)沒有等于0,這進入顯示show1子程序 LJMP STOP ;假設(shè)倒計時等于0,進入stop子程序STOP: CLR TR0 ;停頓t0計數(shù) MOV P2,*0C0H ;把數(shù)碼管為0的代碼給p2口 MOV P0,*0DH ;將1.3 4數(shù)碼管位選置一,顯示0 JNB P3.7,MAIN1 ;去除鍵按下,利用main1返回main主程序 LJMP STOP ;循環(huán)stop,顯示0,直到去除鍵按下ANSWER1:CLR EA ;當按鍵一按下,停頓所以中斷,不再倒計時 MOV R4,*1 ;把1賦值給r4LJMP SHOW2 ;并長轉(zhuǎn)移到顯示2中,

18、顯示按鍵序號,和具體搶答的時間ANSWER2:CLR EA MOV R4,*2 ;同上LJMP SHOW2ANSWER3:CLR EA MOV R4,*3 ;同上LJMP SHOW2ANSWER4:CLR EA MOV R4,*4 ;同上LJMP SHOW2ANSWER5:CLR EA MOV R4,*5 ;同上LJMP SHOW2ANSWER6:CLR EA MOV R4,*6 ;同上LJMP SHOW2ANSWER7:CLR EA MOV R4,*7 ;同上LJMP SHOW2ANSWER8:CLR EA MOV R4,*8 ;同上LJMP SHOW2SHOW1:MOV A,R0 ;顯示倒

19、計時子程序,到當前r0的值賦值到a MOV B,*10 ;賦值b為10 DIV AB ;a除以b,a保存商,b保存余數(shù) MOV 34H,A ;商余數(shù)全部保存到34.35h中 MOV 35H,B MOV P0,*04H ;翻開數(shù)碼管位選第三個顯示 MOV A,34H ;34h中商賦值給a MOVC A,A+DPTR ;根據(jù)商具體數(shù)字,利用查表,找到數(shù)碼管對應(yīng)代碼 MOV P2,A ;把顯示數(shù)據(jù)的數(shù)碼管代碼給p2口 LCALL TIME ;調(diào)用等待時間 MOV P0,*08H ;翻開數(shù)碼管位選第四個顯示 MOV A,35H ;35h中余數(shù)賦值給a MOVC A,A+DPTR ;根據(jù)余數(shù)具體數(shù)字,利

20、用查表,找到數(shù)碼管對應(yīng)代碼 MOV P2,A ;把顯示數(shù)據(jù)的數(shù)碼管代碼給p2口 LCALL TIME ;調(diào)用等待時間 JNB P3.7,MAIN2 ;去除按鈕按下利用main2返回main子程序 LJMP START1 ;返回start1SHOW2: LCALL RING ;當按鍵按下,調(diào)用響鈴,持續(xù)0.5s MOV A,45H ;把設(shè)定的搶答時間給a SUBB A,R0 ;搶答時間減去當前倒計時剩余時間,為按鈕在搶答后按下的具體時間 MOV R0,A ;并把搶答的具體時間給r0 LJMP SHOW3 ;調(diào)用顯示show3子程序SHOW3:MOV A,R4 ;進入顯示按鍵幾搶答序號,和距離搶答

21、后的時間,將按鍵序號r4的值給a MOV P0,*01H ;翻開數(shù)碼管位選第一個顯示 MOVC A,A+DPTR ;根據(jù)序號具體數(shù)字,利用查表,找到數(shù)碼管對應(yīng)代碼 MOV P2,A ;把顯示數(shù)據(jù)的數(shù)碼管代碼給p2口 LCALL TIME ;調(diào)用等待時間 MOV A,R0 ;顯示具體方方法,上文已表達,差異不大 MOV B,*10 DIV AB MOV 40H,A MOV 41H,B MOV P0,*04H MOV A,40H MOVC A,A+DPTR MOV P2,A LCALL TIME MOV P0,*08H MOV A,41H MOVC A,A+DPTR MOV P2,A LCALL

22、TIME JNB P3.5,REPLY ;再次按下開場健,進入60秒倒計時,答復(fù) JNB P3.7,MAIN2 ;按下去除鍵,利用main2返回main子程序 LJMP SHOW3 ;沒有其他操作,循環(huán)持續(xù)顯示MAIN2:LJMP MAIN ;以為jnb尋址圍短,利用main2返回main子程序REPLY :SETB EA ;60秒倒計時,翻開所有中斷 MOV R0,*60 ;將60秒給r0 LJMP SHOW5 ;跳轉(zhuǎn)到show5SHOW5: SETB TR0 ;啟動t0中斷 CJNE R0,*00,SHOW6 ;60秒倒計時不等于0,轉(zhuǎn)移到show6顯示 LJMP STOP ;倒計時等于0

23、,長轉(zhuǎn)移到stop子程序SHOW6: MOV A,R4 MOV P0,*01H MOVC A,A+DPTR MOV P2,A LCALL TIME MOV A,R0 ;顯示程序方法與上面類似,上面已做介紹,此處省略 MOV B,*10 DIV AB MOV 34H,A MOV 35H,B MOV P0,*04H MOV A,34H MOVC A,A+DPTR MOV P2,A LCALL TIME MOV P0,*08H MOV A,35H MOVC A,A+DPTR MOV P2,A LCALL TIME JNB P3.7,MAIN2 LJMP SHOW5SHOW4: MOV A,R5 ;當開場健沒有按下,造成錯誤搶答,顯示按鍵幾錯誤搶答,以ff提示錯誤 MOV P0,*01H MOVC A,A+DPTR MOV P2,A ;顯示方法類似,不做介紹 LCALL TIME MOV P0,*0CH MOV P2,*8EH LCALL TIME RETSHOW7:MOV A,45H ;每次搶答時間加一后,持續(xù)顯示0.5s的時間提示用戶 MOV B,*10 DIV

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論