基于單片機AT89C51的搶答器設計_第1頁
基于單片機AT89C51的搶答器設計_第2頁
基于單片機AT89C51的搶答器設計_第3頁
基于單片機AT89C51的搶答器設計_第4頁
基于單片機AT89C51的搶答器設計_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文檔來源網絡,僅供參考,侵權請聯系刪除。JINGGANGSHANUNIVERSITY本科畢業論文(設計)題目:基于單片機AT89C51的八路搶答器設計學 院 電子與信息工程學院專 業 電子信息科學與技術姓名 周治楠 班級10電信本(1)學號90522027 指導教師 曾兀彧老師 起訖時間 2014.1 ——2014.05基于單片機AT89C51的八路搶答器設計作者:周治楠指導老師:曾兀彧【摘要】隨著時代的發展,各種各樣的競賽越來越多,各種競賽成為了人們的一種獨特的娛樂方式,人們在搶答的過程中不僅能享受到趣味,并且還可以在此過程中學習到豐富的知識。然而在實際的搶答中,由于視覺的誤差,僅僅依靠視覺很難判斷誰先答題,因此,設計出一個電子搶答器系統很有必要,使比賽更為公平,即便是兩組的搶答時間相差甚微,也能辨別出優先按下的按鍵的選手。本設計以AT89C51單片機作為主控中心,當選手按下按鍵后七段數碼管會顯示對應選手編號,同時蜂鳴器電路導通。還設置了復位電路,按下復位鍵后,系統將重新啟動。該搶答器系統充分利用了AT89C51單片機穩定性高的特點來彌補人類感知的誤差,使用非常簡單,功能強大,實用性強。本設計利用 C51語言匯編,更有利于實現基本功能。【關鍵詞】單片機AT89C51七段數碼管;蜂鳴器;復位電路TheDesignofEight-RouteAnsweringMachineBasedon

AT89C51SingleChipControllerAuthor:ZhouZhinan Director:ZenWuyu[Abstract]Withthedevelopmentoftheages,differentkindsofcompetitionshavebeeninventedandhavebecomeauniqueformofentertainmentforpeople.Duringtheprocessofeveryonetriedtooutdotheothersinanswering,peoplecannotonlyenjoythefun,butalsocanlearnrichknowledge,However,actually,itishardtojudgewhoviestoanswerfirstbyonlyrelyingonvisual.Thenit'necessarytodesignanelectronicansweringmachinesystemwhichcangiveafairjudgementevenundertheconditionthatthetimebetweentwogroupsisverysmall,ThesystemofansweringmachinewilluseAT89C51SCMasthecore,Whenthecontestantpresseshisorherbutton,theseven-segmentLEDwoulddisplaythenumberofthecontestantandthebuzzersoundsatthesametime.Thissystemhasalsosettheresetcircuit.Ifthejudgerpressestheresetbutton,thesysteminitialized.AndthissystemhasmadefulluseoftheadvantagesoftheAT89C51SCMwhichiseasytouse,goodreliability,powerful,practicalandhigh-stability.Thoseadvantageshavecompensatedtheerrorcausedbypersonvisual.ThisdesignwilluseC51Ianguagetoprogramwhichiseasytoimplementthebasicfunctions.[Keywords]AT89C51SCM;seven-segmentLED;buzzer;resetcircuitTOC\o"1-5"\h\z\o"CurrentDocument"第1章前言 1..\o"CurrentDocument"第2章硬件電路 2\o"CurrentDocument"系統框圖 2.\o"CurrentDocument"總體電路設計 2.\o"CurrentDocument"時鐘頻率電路設計 3.\o"CurrentDocument"系統復位電路設計 4.\o"CurrentDocument"鎖存電路設計 4.\o"CurrentDocument"數碼顯示電路設計 6.\o"CurrentDocument"按鈕輸入電路設計 7.\o"CurrentDocument"報警電路設計 7.\o"CurrentDocument"第3章 系統軟設計流程 8.\o"CurrentDocument"3.1 程序系統結構流程 8.\o"CurrentDocument"3.2程序流程 9..\o"CurrentDocument"第4章搶答器系統調試與仿真 13\o"CurrentDocument"第5章總結 15\o"CurrentDocument"主要參考文獻 .15\o"CurrentDocument"附錄:程序代碼 .15\o"CurrentDocument"致謝 22第1章前言在當今的社會,隨著電子科技的發展,基于單片機控制系統被廣泛應用在工農業、電力系統、電子、等行業,以微機作為嵌入式系統所替代了傳統控制系統控制的電子線路。現如今,人才成為了社會最重要的資源。人才的選拔也活動的有所增加,然而在評選活動中,往往會以幾組的形勢進行選拔,但如果用肢體的方式進行搶答,則可能會因為裁判的誤差而導致比賽的不公平,因而需要有一種穩定而又準確的判斷系統,因此搶答器誕生了,搶答器是為競賽選手搶答設計的一種優先判決器電路系統,搶答器可準確辨認出選手的號碼。設計一個可以供八名選手比賽的搶答器,對其分別進行編號,此外還有一個復位鍵交予裁判進行清零,在裁判將搶答器系統清零后,如果還有參賽者按動搶答按鈕,系統將會鎖存首先搶答選手的編號,搶答器具有很強的辨別能力,即便是動作時間僅相差幾毫秒,也能準確的分辨出最先搶答的選手。給裁判設計一個手動復位開關,用來清零選手編號以及復位搶答器,搶答器同時還具有鎖存數據的功能,按下開始鍵后,如果有選手按搶答器搶答開關,選手編號將會被立即鎖存,并且在顯示器上顯示該選手的編號,蜂鳴器電路接通并發聲,搶答電路被立即封鎖,其他選手不能搶答,搶答器還具備定時功能,搶答時間還可以有裁判決定,當裁判按動開始,定時器將會立刻開始計時,所以選手只有在定時器所設定的時間內內搶答才有作用, 當超出搶答規定時間沒有選手答題,則搶答無效,電路立刻被封鎖。接通電路電源后,裁判手動復位,搶答器出于禁止狀態,顯示器燈滅,定時器顯示搶答時間,裁判啟動搶答器后,定時器開始倒計時,選手在規定的時間內搶答有效,搶答完成后,編號被優先鎖存,顯示器顯示選手編號,電路被封鎖,不能繼續搶答。如需再次搶答,必須由裁判復位搶答器。搶答器可以以多種方式進行實現,可以通過優先編碼器,鎖存器, 555定時器譯碼器等純電子器件搭配電路進行實現,其優點是調試較為簡單,不用軟件輔助,缺點是不易修改和擴展,電路結構也過于復雜,焊接易出錯,實際操作較為復雜。所以,依靠單片機來實現,相對要簡單的多,而且穩定性好,簡化外圍硬件電路的同時,將更多的任務交給編程軟件來實現。第2章硬件電路該八路搶答器設計系統的控制中心采用了 AT89C51單片機,選手搶答輸入鍵由8個按鍵開關構成,先按下的編號數據立刻被AT89C51單片機鎖存,同時輸入電路被封鎖,其余選手搶答則不能搶答,而優先搶答選手對應的編號將一直被鎖存,直到整個系統清零為止,優先搶答選手對應的編號同時被七段數碼管顯示,蜂鳴器電路接通,產生蜂鳴聲。單片機AT89C51的技術發展至今已比較成熟,運用起來非常方便簡單,同時單片機所需輔助電路也相對較少,由晶振時鐘頻率電路、復位電路以及電源就可構成單片機最小系統, 所以整個系統具有很強的可編程性,可隨時按功能要求對系統進行擴張和更改。2.1系統框圖該八路搶答器電路功能要求如下:當選手按動按鈕后,即刻鎖存優先搶答選手的編號,并且該電路需具有鎖存與顯示功能,蜂鳴器響提示有選手搶答,此刻禁止其他選手搶答并封鎖輸入電路,電路將優先儲存最先搶答的選手號碼,最先搶答選手號碼一直保持到裁判將系統復位結束。搶答器具有限時搶答功能,搶答時間到,如果無人搶答則停止搶答,顯示器顯示零。八路數字搶答器由搶答主體電路和限時電路兩部分構成,其組成結構方圖如下所示。圖1系統結構框圖2.2總體電路設計可以根據搶答器的基本功能設計出如下整體體電路圖:

LST.1> 4n.SHRP1:搶答序號倒計時U1HSTPSEM

MEPDOisraFD^D->FD2A&2FDV.D1PDuSDiiFDJ5AIHPDlftDTPZ.GM3FZJ0LK-町AH3)LST.1> 4n.SHRP1:搶答序號倒計時U1HSTPSEM

MEPDOisraFD^D->FD2A&2FDV.D1PDuSDiiFDJ5AIHPDlftDTPZ.GM3FZJ0LK-町AH3)ra.l/DCDpsainnKJ^HTTMi-IUI:?QDD101U?D3>3D404-DFOilLECTn.BH-s^I/.Q1..:

.RHVStopSTARTRESET圖2總體電路設計如上圖所示,AT89C51單片機的端口P36為開始搶答,端口P35為停止,端口P37連接搶答重新開始外圍電路,端口P10至P17為八路搶答輸入端口,鎖存器74HC573的數據輸入端DO至D7分別連接單片機端口P00至P07,鎖存控制端LE由P30端口控制,而數據輸出端Q0至Q7對應數碼管的八個段選,數碼管的三個位選對應單片機P2端口的低3位,蜂鳴器對應端口P34,整個系統的復位電路連接端口RST。2.3時鐘頻率電路設計此電路為石英晶體振蕩器,為單片機最小系統的時鐘頻率電路。該電路對整個系統來說至關重要,用它結合AT89C51單片機系統來產生時鐘頻率,其頻率與單片機運行速度成正比關系,整個電路系統的時鐘信號是有單片機晶振給予,一般情況下單個系統優先共用同個晶振,以便使得各部分電路系統保持一致狀態,其振蕩源為11.0592MHz的晶體振蕩器,由于單片機內部系統自身帶有振蕩電路,所以外部只要連接兩個電容和一個晶振,電容大小范圍在 15pF至50pF之間即可,震蕩頻率可能會有誤差,而電容C1和C2的作用是振蕩器的頻率進行微調并使得振蕩器起振。

圖3圖3時鐘頻率電路2.4系統復位電路設計單片機AT89C51的RST為高電平復位引腳,系統需要有足夠時間對系統進行復位,圖4的復位原理是通過連接一個電容到VCC復位引腳RST上,再連接一個電阻R11到GND,復位后返回至低電平,系統進入正常工作狀態,電阻R11和電容C3的大小為10K和10uF。復忖電路兒一圖4復位電路復忖電路兒一圖4復位電路對于單片機復位存在硬件復位和軟件復位,硬件復位可以使寄存器和存儲器恢復到初始狀態。但是倒計時需要時間記憶功能,其實現的首要條件是不能使用硬件復位,因此設定出軟件復位的功能。軟件復位的工作原理就是當程序執行完畢后,程序員通過一條跳轉指令將程序指針跳轉到程序執行的起始地址。2.5鎖存電路設計鎖存電路采用74HC573芯片,該芯片是8位三態鎖存器。可作緩沖器,也可用與鎖存地址和數據,其引腳圖如圖5所示。

o O€1[DOi[EcoDI 3|Jib硏02-[]w0203a[qsD4聖I]!■>D5i[Mqs06H]14加07t[]i?07GND1*[]nIE圖574HC573引腳圖其內部的八個鎖存器由透明的D型鎖存器構成,當0E為高電平時,Q端輸出,將D輸入改變,當0E為低電平時,輸出將被鎖存新建立的數據,鎖存器的內部工作不受輸出的控制,之前的數據能夠保存,即使當封閉輸出時,系統可以輸入新的數據,當LE變低電平時,鎖存器鎖存符合建立時間和保持時間的數據。表174HC573功能表輸入輸出OELEDQLHHHLHLLLLX輸出保持不變HXX高阻抗在該八路搶答器電路中,鎖存器74HC573的使能端0E始終保持低電平狀態,數據輸入端D0~D7分別連接單片機端口P00~P07,鎖存控制端LE由P30端口控制,而數據輸出端Q0~Q7對應數碼管的八個段選。電路圖如下所示:U219R13miiTVTiRPi-:■=TECT>KLWJOlFDJW2P二防.:U219R13miiTVTiRPi-:■=TECT>KLWJOlFDJW2P二防.:JEZ*■POSWfflTJPUJTZ3匚21I.TT11wDTLE16HU12圖6鎖存器74HC573電路2.6數碼顯示電路設計此顯示電路將使用八段共陰極數碼管, 將共陰極接地,段選位(a,b,c,d,e,f,g,dp)送入高電平點亮,當某段獲得高電平時,其所連接的字段導通且發光,通過不同的發光字段組合數字0-9,如需顯示相應字形編碼只要向段選位輸出相應的字形編碼即可,且字符編碼采用BCD編碼制。表2共陰數碼管編碼顯示學符70.P6ap50p_4ap3op20papopo.dpgJf—edcba碼形字0Oo1^1u—1^1-1FH3EIQoooo1JIoH06OJIo_!■JIoJIH05Ooo^11FH4OU11oo11oH66口01-1oJI1o1-HD6MOJI1w—^1oHD70Ooooo111H7oEO11<1JI1U1FH7EOJI1oJI1JIH6FUuoouNNuHDo一位由一個八段數碼管構成,所以多位數碼管可以由多個八段數碼管連接,

將各個八段數碼管的段選線連接,首先通過單片機 AT89C51的P30~P32端口控制各個數碼管的公共端,選擇由那個數碼管顯示,然后將顯示編號進行字符編碼并由P00~P07輸向鎖存器的數據輸入端,再由數據輸出端控制八段數碼管段選線。在此過程中對鎖存器的鎖存控制端LE加高電平,將數據鎖存,直到主持人復位,八段數碼管由動態顯示。

圖7七段數碼管電路圖7七段數碼管電路2.7按鈕輸入電路設計由8個開關組成搶答鍵,按鍵為常開按鈕,需人為向下按觸合,操作很簡單,每個按鍵獨立控制一根I/O口線,每個按鍵之間相互獨立,但需在程序中消除按鍵過程中產生的毛刺現象,按鍵釋放時,會有產生抖動,會使系統誤采鍵值,因此在鍵釋放時,也應進行去抖處理,處理方法同時是連續一段時間采集到無鍵按下狀態,才認為按鍵被釋放。MflfRF13F13PUSF1CMJMflfRF13F13PUSF1CMJ'?? W' '' ' —'■圖8搶答按鍵2.8報警電路設計在此利用程序控制單片機 P3.4端口線輸出低電平,當有選手搶答時,蜂鳴器鳴聲。當確定選手后,選手超過一定時間未回答,蜂鳴器響以提示。其電路圖如下:*2WFZ2WU]附副*2WFZ2WU]附副Ml也mts口JMMBniitwF32flWWF33HNTF圖9報警電路第3章系統軟設計流程首先將硬件電路圖設計出來,再完成實物圖,然后進行軟件編程完成部分控

制功能,完整的系統需軟件程序和硬件電路相結合, 局部任務由軟件完成,局部功能再由硬件完成。3.1程序系統結構流程C51語言匯編程序的功能實現要與硬件相配合才能完成。由功能分析可以得到如下的結構流程圖:

圖10軟件系統結構圖3.2程序流程AT89C51單片機內含有兩個16位可編程定時器/計數器T0和T1,T0由特殊寄存器TH0和TL0組成,T1由TH1和TL1組成,要完成該設計,其程序主要由定時器T0和T1以及主程序和外部中斷0組成。定時器T0控制蜂鳴器發出

聲音,其程流程如下圖所示:定時器重新賦值圖11響鈴程序流程圖當定時器T1倒計時,其每次中斷時間為50ms,計數標志顯示為20時為1秒,字符減1。定時器流程如下圖所示:圖12定時器T1倒計時中斷程序流程外部中斷0的作用是調整倒計時的時間,其流程如下圖所示:圖13外部中斷0調整搶答時間流程實現搶答功能主要流程:程序復位圖14搶答器主程序流程第4章搶答器系統調試與仿真軟件編程與調試使用分模塊功能的方法實現,軟件調試模塊包括顯示功能模塊、調整時間功能模塊、搶答功能模塊以及報警功能模塊,各個功能模塊之間相互獨立。各模塊調試成功后,主程序main按功能完成順序調用各模塊程序,各軟件模塊首先要通過PC和仿真器進行軟件調試,當仿真效果符合要求,再燒寫進單片機看是否能在實際電路板上正常工作,最后再對主程序進行調試。4.1系統調試圖15減計時60秒開始圖中為5號選手搶答成功,減計時剩余時間54秒圖16搶答成功第5章總結在老師和同學的耐心幫助下,經過近一個月的努力,我設計了八路搶答器,在此次畢業設計過程中,我又再次認識到了書本上的知識點以及重點。搶答器設計過程中,出現了很多細節性的錯誤,在與同學們討論學習后最后都順利的解決了,感覺團隊精神是極其重要的,通過此次的對搶答器的設計,讓我重新將以前所學習的單片機知識和C語言編程又學習了一遍,更使我對單片機及接口技術的應用加深了了解,由于知識水平有限,設計中難免會存在著一些不足之處,我真誠的接受老師和同學的指點與批評。主要參考文獻高洪志.MCS-51單片機原理及應用技術教程 .北京:人民郵電出版社,2009熊靜琪.計算機控制技術.北京:電子工業出版社,2003.張迎新.單片機初級教程.北京:航空航天大學出版社,2007.彭為等.單片機典型系統設計實例精講.北京:電子工業出版社,2007⑸王慶利等.單片機設計案例實踐教程.北京:北京郵電大學出版社, 2008⑹周潤景、張麗娜?基于PROTEU的電路及單片機仿真.北京:航空航天大學出版社,2007.附錄:程序代碼P10至P17為八路搶答器輸入端,P31為停止,P30為開始搶答,數碼管段選P0口,位選P2的低三位口,蜂鳴器輸出為P3.6口。ORG0000HAJMPMAINORG0003HAJMPINT0SUBORG000BHAJMPT0INTORG001BHAJMPT1INTOKEQU20H ; 搶答開始標志位RINGEQU22H ; 響鈴標志位ORG0040HMAIN: MOVR1,#0FH;初設搶答時間為15sMOVR2,#0AH;初設答題時間為10sMOVTMOD,#11H;設置未定時器/模式1MOVTH0,#0F0HMOVTL0,#0FFH;越高發聲頻率越高,越尖MOVTH1,#3CHMOVTL1,#0B0H;50ms為一次溢出中斷SETBEASETBET0SETBET1SETBEXOSETBEX1;允許四個中斷,T0/T1/INT0/INT1CLROKCLRRINGSETBTR1SETBTR0;一開始就運行定時器,以開始顯示FFF.如果想重新計數,重置TH1/TL1就可以了查詢程序:START: MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAY;未開始搶答時候顯示FFFJBP3.0,NEXTACALLDELAYJBP3.O,NEXT;開始鍵被按下就向下執行,否則跳到非法搶答查詢ACALLBARK;按鍵發聲MOVA,R1MOVR6,A;SETBOK;MOVR3,#0AH;AJMPCOUNT;NEXT: JNBP1.0,FALSE1JNBP1.1,FALSE2JNBP1.2,FALSE3JNBP1.3,FALSE4JNBP1.4,FALSE5JNBP1.5,FALSE6JNBP1.6,FALSE7JNBP1.7,FALSE8AJMPSTART非法搶答處理程序:FALSE1:ACALLBARK; 按鍵發聲MOVR3,#01HAJMPERRORFALSE2:ACALLBARKMOVR3,#02HAJMPERRORFALSE3:ACALLBARKMOVR3,#03HAJMPERRORFALSE4:ACALLBARKMOVR3,#04HAJMPERRORFALSE5:ACALLBARKMOVR3,#05HAJMPERRORFALSE6:ACALLBARKMOVR3,#06HAJMPERRORFALSE7:ACALLBARKMOVR3,#07HAJMPERRORFALSE8:ACALLBARKMOVR3,#08HAJMPERROR倒計時程序:COUNT: MOVR0,#00H;MOVTH1,#3CHMOVTL1,#0B0H; 重置定時器RECOUNT:MOVA,R6;倒計時的時間被R6所保存MOVB,#0AHDIVAB; 除十分出個位/十位MOV30H,A; 十位存于(30H)MOV31H,B; 個位存于(31H)MOVR5,30H ;取十位MOVR4,31H ;取個位MOVA,R6CLRCSUBBA,#07HJNCLARGER;MOVA,R0CJNEA,#0AH,FULL;1sCLRRINGAJMPCHECK

;1s時,;1s時,響并顯示號數并清R0,重新計時FULL:SETBRINGMOVA,R6JZQUIT ;計時完畢MOVR0,#00HDECR6 ; 一秒標志減1AJMPCHECKLARGER: MOVA,R0CJNEA,#14H,CHECK;DECR6; 計時一秒R6自動減1MOVR0,#00HCHECK: JNBP3.1,QUIT;如按下停止鍵退出ACALLDISPLAYJNBP1.0,TRUE1JNBP1.1,TRUE2JNBP1.2,TRUE3JNBP1.3,TRUE4JNBP1.4,TRUE5JNBP1.5,TRUE6JNBP1.6,TRUE7JNBP1.7,TRUE8AJMPRECOUNTQUIT: CLROK ;按下了停止鍵系統重新開始CLRRINGACALLBARKAJMPSTART正常搶答處理程序:TRUE1:ACALLBARK;按鍵發聲MOVA,R2MOVR6,A; 搶答時間R2送R6MOVR3,#01HCLROK;AJMPLOOP2TRUE2:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#02HCLROKAJMPLOOP2TRUE3:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#03HCLROKAJMPL00P2TRUE4:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#04HCLROKAJMPLOOP2TRUE5:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#05HCLROKAJMPLOOP2TRUE6:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#06HCLROKAJMPLOOP2TRUE7:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#07HCLROKAJMPLOOP2TRUE8:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#08HCLROKLOOP2:AJMPDISPLAY ;選手搶答,停止計時SETBRINGJNBP3.1QUITAJMPLOOP2犯規搶答程序:ERROR:SETBRING ;犯規響鈴MOVR5,#0BHMOVR4,#0BH;顯示FF和犯規號數LOOP3:ACALLDISPLAYJNBP3.1QUIT1;等待停止”鍵按下AJMPLOOP3QUIT1: CLRRINGCLROKAJMPSTART顯示程序:DISPLAY:MOVDPTR,#DAT1;MOVA,R5MOVCA,@A+DPTRMOVP2,#01HMOVP0

溫馨提示

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

評論

0/150

提交評論