




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄摘要IIAbstractIII第一章系統(tǒng)整體設計 .11.1設計任務與要求.11.2設計方案論證與比較.1第二章系統(tǒng)硬件設計及功能分析 .32.1AT89C51.32.2系統(tǒng)的硬件設計及功能分析.62.2.1搶答器的硬件圖 .62.2.2搶答器的電路圖.62.2.3搶答電路的設計.72.2.4顯示電路的設計.82.2.5復位電路的設計.92.2.6電路的設計.102.2.7系統(tǒng)揚聲器的.102.2.8時鐘電路的設計.11第三章系統(tǒng)程序分析及仿真 .123.1系統(tǒng)的程序流程圖.123.2系統(tǒng)搶答電路部分的程序分析及仿真.133.3系統(tǒng)調整搶答時間部分的程序分析及仿真.163.4系統(tǒng)中選手搶答
2、處理的程序分析及仿真.18第四章總結 .22參考文獻 .23附錄 .24致謝 .35基于單片機的八路搶答器摘要本文的設計是以 AT89C51 單片機為控制元件,以按鈕作為輸入設備控制發(fā)光二極管、LED 數(shù)碼管、揚聲器等硬件設備,利用匯編語言編程,實現(xiàn)搶答功能。本次設計的系統(tǒng)判斷精準、操作簡單、成本低廉、實用性強。它的功能實現(xiàn)是由按鍵來控按下開始鍵后選手開始搶答,此時顯示時間的 LED 數(shù)碼管開始倒制總開關,當計時(時間可通過按鍵調節(jié)輸入 00-99 秒),選手們在此時間內答題有效,若有一名選其他選手的搶答,同時 LED 數(shù)碼管顯示該選手優(yōu)先按下?lián)尨鸢粹o,則該系統(tǒng)自動手的及答題的剩余時間,揚聲器
3、提示搶答成功,若過了搶答時間仍沒有選手搶答那么本次搶答無效,揚聲器響起提示無人搶答;如果在開始搶答前按下?lián)尨鸢粹o,則視為搶答無效,LED 數(shù)碼管顯示犯規(guī)選手和 FF,揚聲器響起提示犯規(guī);答題完畢和犯規(guī)后系統(tǒng)由復位。:AT89C51;LED 數(shù)碼管;中斷Microcontroller-Based Eight-Way ResponderAbstractThis design is based on AT89C51 microcontroller as the core control elements to the button as an input device control light-e
4、mitting diode, LED digital tubes, speakers and otherhardware devi, the use of assembly language programming, answer in function. The designof the system to determine precise, simple, low cost, practical. Its function implemenion iskey to control by the host master switch, when the host key players b
5、egan to press the answer he beginning, when the time of the LED digital display starts counting down (time can beadjusted playeranswerthrough the key input 00-99 seconds), players answer at this time are valid, if aanswer in the button pressed, the system automatically shield the othlayershe same ti
6、me, LED digital display of the players number and answer the remainingtime, the speakrompt answerhe sucs. If you still do nove the answerime,then this player responder invalid, the speaker sounded tips have no answer; If the answer before the start responder in press the button, responder is conside
7、red invalid, LED digital display foul player number and FF, the speaker sounded foul tips; answer is completed andreset after a foul the system by the moderator.Keywords: AT89C51, LED Digital Tube, Theerrupt第一章系統(tǒng)整體設計1.1設計任務與要求設計的主要任務:設計一個基于 AT89C51 單片機的八路搶答器。設計的主要要求:搶答器同時供 8 名選手或 8 組參賽隊比賽使用,分別用1 號-8
8、 號來表示,每個對應一個相應的搶答按鈕。系統(tǒng)為設置了復位按鈕和控制搶答開始的按鈕,用于系統(tǒng)的清零和控制選手的搶答。搶答器具有鎖存和顯示功能。即選手按下?lián)尨鸢粹o后,鎖存相應的選手,并在 LED 數(shù)碼管上顯示,揚聲器發(fā)出聲響提示(時間約為 0.5s)。與此同時輸入電路,其他選手搶答。搶答器具有定時搶答的功能,每次搶答的時間可由根據(jù)題目的難度設定(初始搶答時間為 30s)。當按下“開始”按鈕后,定時器立即減計時,LED數(shù)碼管顯示倒計時時間,同時揚聲器發(fā)出短暫的聲響以提示答題開始;如果定時搶答的時間已到,卻沒有選手搶答時,本次搶答無效,系統(tǒng)短暫,并輸入電路,選手超時搶答,時間顯示器上顯示 00,最后顯
9、示為初始狀態(tài)。選手在規(guī)定的時間內進行搶答為有效狀態(tài),定時器停止工作,LED 數(shù)碼管顯示搶答成功的選手和答題的時間,在答題的最后 5 秒時間里,揚聲器伴隨倒計時發(fā)出聲響提示選手答題時間即將結束,要求選手掌握答題速度;若選手提前答題完畢的則由按下“結束”按鈕,進行下一輪的搶答。如果選手在按下?lián)尨稹伴_始”按鈕之前進行搶答,則視為搶答犯規(guī),LED 數(shù)碼管顯示選手按鈕將系統(tǒng)清零。和FF,同時揚聲器發(fā)出聲響,由按下“復位”1.2設計方案論證與比較方案一:系統(tǒng)采用 C51 系列單片機 AT89C51 為控制元件,以按鈕作為輸入設備控制發(fā)光二極管、LED 數(shù)碼管、揚聲器等硬件設備,利用匯編語言編程,通過相應的
10、程序使單片機部分引腳輸出高低電平,配合驅動電路驅動數(shù)碼管顯示結果,最終達到設計目的,實現(xiàn)搶答功能。其硬件電路的設計不是很繁瑣,編程也不是很復雜,系統(tǒng)的功能調試結合電路原理圖,通過修改相應的程序即可。方案二:系統(tǒng)各部分采用中小規(guī)模集成數(shù)字電路,用機械開關按鈕作為控制開關,完成搶答輸入信號的觸發(fā)。該方案的特點是中小規(guī)模集成電路應用技術成熟,性能可靠,能方便地完成選手搶答的基本功能,但是由于系統(tǒng)功能要求較高,所以電路連接集成電路相對較多,而且過于復雜,并且制作過程工序比較繁瑣,使用不太方便。用這種方法來實現(xiàn),其優(yōu)點是不用編程,但其的之處是電路復雜,焊接工程量大,一旦焊接錯誤,就會給檢查硬件帶來很大的
11、麻煩,而且調試也相對麻煩1。方案一設計的電路原理圖簡單明了,避免了重復,控制和使用起來都很方便。搶答器對選手的搶答速度有很強的分辨力,即使先后只相差 10 毫秒,搶答器也能很快的分辨出來,從而判斷出擁有優(yōu)先權的選手,搶答成功的選手的會在 LED 數(shù)碼顯示器上顯示出來,在顯示選手的同時也顯示答題倒計時,該結果保持到清零為止,本設計實現(xiàn)的功能較多,答題時間和搶答時間均可隨意調整,故采用方案一。第二章系統(tǒng)硬件設計及功能分析2.1 AT89C51AT89C51 是一種內含 4KB 閃速器、低電壓、高性能的 8 位 CMOS 微控制器。它采用了 ATMEL 公司的高密度非易失制造技術,與工業(yè)標準的 MC
12、S-51 指令集合輸出引腳完全兼容。由于將多功能 8 位 CPU 和閃速器組合在一個中,使其具有方便易用、性價比高的顯著特點,因此成為 C51 系列兼容單片機中最受歡迎的品種2。2.1.1 AT89C51AT89C51 單片機的引腳說明包括一個 8 位 CPU,片內振蕩器和時鐘電路,由 4KB 閃存組器,128 字節(jié)的數(shù)據(jù)器,四個 8 位并行I/O 口,一個全雙工串行口,成的的程序兩個 16 位定時/計數(shù)器,5 個中斷源,提供兩個中斷優(yōu)先級,21 個特殊功能寄存器,可尋址 64KB 的外部程序器和數(shù)據(jù)器,有位尋址功能及較強的數(shù)據(jù)處理能力,有兩種可選的低功耗運行方式,即空閑和掉電方式2-3。其引
13、腳圖如圖 2.1 所示:圖 2.1 AT89C51 引腳圖AT89C51 單片機的引腳說明如下,按其功能可分為以下四類:第一類,主電源引腳 VCC 和 GND。VCC:正常工作電壓+5V。GND:電源地。第二類,時鐘電路引腳 XTAL1 和 XTAL2。XTAL1:片內振蕩器輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。時,XTAL2:片內振蕩電路的輸出端,是外接晶體的另一端。當采用外部振蕩器此引腳接外部振蕩源。如果采用外部時鐘源驅動器件,XTAL2 應不接。輸入時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,至但必須保證脈沖的高低電平要求的寬度。系統(tǒng)選用的
14、是 12MHz 的晶振。第三類,輸入/輸出(I/O)端口引腳。P0 口:8 位漏極開路的雙向 I/O 口。每個引腳可吸收 8 個 TTL 門電流。當P0 口的管腳第一次寫“1”時,被定義為輸入。P0 口能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FLASH 編程時,P0 口作原碼輸當FLASH 進行校驗時,P0 輸出原碼,此時P0 外部必須被拉高。,P1 口:帶上拉電阻的 8 位雙向I/O 口。P1 口緩沖器能接收輸出 4 個TTL門電流。P1 口管腳被寫入“1”后,被,可用作輸入,P1 口被外上拉為部下拉為低電平時,將輸出電流,這是由于上拉電阻的緣故。在 FLASH 編
15、程和校驗時,P1 口作為第八位地址接收。P2 口:帶上拉電阻的 8 位雙向I/O 口。P2 口緩沖器可接收輸出 4 個TTL門電流。當P2 被寫“1”時,其管腳被上拉電阻拉高,且其作為輸入。P2 口當器進行讀寫時,P2 口輸出地址的高八位。用于外部程序器或 16 位地址數(shù)據(jù)當對外部八位地址數(shù)據(jù)器進行讀寫時,P2 口輸出其特殊功能寄存器的內容。P2口在FLASH 編程和校驗時接收地址信號和控制信號。P3 口:帶上拉電阻、引腳有復用功能的 8 位雙向 I/O 口。P3 口可接收輸出 4 個TTL 門電流。當P3 口寫入“1”后,它被上拉電阻拉為,并用作輸入。P3 口也可作為 AT89C51 的一些
16、特殊功能口, P3 口的第二功能如表 2.1所示:表 2.1P3 口的第二功能端口引腳第二功能P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6P3.7RXD(串行數(shù)據(jù)輸)TXD(串行數(shù)據(jù)輸出口) 0(外部中斷 0 輸入線)1(外部中斷 1 輸入線)T0(外部計數(shù)脈沖輸入) T1(外部計數(shù)脈沖輸入)WR(外部數(shù)據(jù)RD(外部數(shù)據(jù)器寫選通)器讀選通)第四類,控制類引腳:RST:復位信號引腳。當振蕩器工作時,RST 引腳出現(xiàn)兩個機器周期(24個振蕩周期)以上的,將使單片機復位。只要這個引腳保持,51便循環(huán)復位。復位后 P0P3 口均置 1,引腳表現(xiàn)為,程序計數(shù)器和特殊功能寄存器SF
17、R 全部清零。當復位腳由始運行程序變?yōu)榈碗娖綍r,從 ROM 的 00H 處開ALE/PRO外器地址鎖存允許/編程脈沖輸入端。當外部程序存儲器或數(shù)據(jù)器時,ALE 輸出脈沖用于鎖存地址的低 8 位字節(jié)。即使不外部器,ALE 仍以時鐘振蕩頻率的 1/6 輸出固定的正脈沖信號,因此它可對外輸出外部數(shù)據(jù)器時,將跳過一個 ALE 脈時鐘或用于定時目的。但要注意:每當沖。ALE 端可以驅動(吸收或輸出電流)8 個 TTL 電路。PSEN:片外程序器讀選通。產(chǎn)生外部程序器的讀選通信號。在器指令期間,PSEN 在每個機器周期內兩次有效。但在由外部程序外部數(shù)據(jù)器時,這兩次有效的 PSEN 信號將不出現(xiàn)。PSEN
18、可以驅動 8 個 TTL 電路。EA/VPP:片內、片外程序器選擇輸出/編程電壓輸入端。當 EA 為低電平時,執(zhí)行外部程序器的程序,不管是否有程序器;當 EA 為時,執(zhí)行程序器的程序。在 FLASH 編程期間,此引腳也可以用于施加 12V編程電源(VPP)。2.2系統(tǒng)的硬件設計及功能分析2.2.1搶答器的硬件圖可以看出搶答器主要有 6 個部分組成,每個部分完成相應的功能。復位電路用于清零系統(tǒng),使系統(tǒng)恢復初始狀態(tài);時鐘頻率部分用于搶答器的定時和倒計時,通過在LED 數(shù)碼管上顯示出相應的時間;顯示電路就用于顯示搶答的選手、搶答時間、倒計時時間和選手搶答的顯示;電路用于選手搶答的、搶答開始的提示和答
19、題時間最后 5 秒的提示;搶答電路是用 8 個搶答按鈕組成的,用于供選手搶答。搶答器具有鎖存、定時、顯示和功能。即當按下?lián)尨稹伴_始”按鈕后,搶答開始,當選手按下?lián)尨鸢粹o后,鎖存器鎖存相應的選手,同時在 LED 數(shù)碼管上顯示出搶答成功的選手和答題時間。在宣布按下?lián)尨稹伴_始”按鈕、選手按下?lián)尨鸢粹o以及在搶答和答題的最后 5 秒的時間里都有聲以提示和選手。該電路主要完成以下功能:分辨出選手按鍵的先后順序,并鎖存優(yōu)先搶答選手的,同時譯碼顯示選手;其他選手按鍵,即使其他選手按鍵,該操作也視為無效4。搶答器框圖如圖 2.2 所示:圖 2.2 搶答器的框圖2.2.2搶答器的電路圖P1 口為八路搶答輸,LED
20、 數(shù)碼管P0 口,位選 P2 口的低 3 位,發(fā)光二極管的輸出和揚聲器接P3 口的P3.6 引腳,搶答開始控制按鈕為 P3 口的P3.0 引腳,搶答結束按鈕為 P3 口的 P3.2 引腳,系統(tǒng)的加 1 按鈕為 P3 口的 P3.2 引腳,減 1 按鈕為 P3口的P3.3 引腳。復位電路接 RST 引腳,時鐘電路接的是 XTAL1 和 XTAL2 兩個引腳5 。搶答器電路圖如圖 2.3 所示。搶答電路報警電路時鐘頻率顯示電路單片機復位電路圖 2.3 搶答器的電路2.2.3搶答電路的設計系統(tǒng)設計的搶答電路部分采用的是 8 個常用開關作為搶答按鈕,硬件電路簡單,在程序設計上也不復雜,只要將在按鈕過程
21、中產(chǎn)生的“毛刺”現(xiàn)象消除就可以了。毛刺是電路設計中的常用詞,在數(shù)字電路中常將毛刺定義為采樣間越過邏輯門限一次以上的任何跳變,主要是指電路輸出波形中含有時間很短有規(guī)律的或沒有規(guī)律的脈沖而又對設計沒有用處或會產(chǎn)生其他影響的一種現(xiàn)象,一般都要考慮去除毛刺。在這里,采用最常用的去毛刺方法,即延時法。其原理為:“毛刺”脈沖一般持續(xù)的時間很短,約為幾毫秒6,而按鈕的時間一般情況下為 10-200ms7,所以當?shù)膯纹瑱C檢測到按鈕有反應后再延時一段時間,這里取延時時間為 10 毫秒,當延時 10 毫秒后判斷此時的電平是否保持了原有的狀態(tài),如果電平保持的是原有狀態(tài)則為有效按鈕,相反的,電平?jīng)]有保持原有狀態(tài)則視為
22、無效按鈕。當宣布搶答開始并按下“開始”按鈕時,選手可通過按下與自己相應的搶答按鍵進行搶答。系統(tǒng)搶答電路如圖 2.4 所示。圖 2.4 系統(tǒng)的搶答電路2.2.4顯示電路的設計針對系統(tǒng)的顯示部分選用的是七段數(shù)碼管 7SEG-MPX4-CC(圖 2.5),實現(xiàn)七段數(shù)碼管的顯示三位十六進制數(shù)來進行倒計時,即來限制搶答的時間。數(shù)碼管的接法可分為共陰級接法和共陽級接法兩種。選用的數(shù)碼管屬于共陰極數(shù)碼管(圖 2.6),所以應該采用共陰極的接法,所謂共陰極接法即把 LED 數(shù)碼管的陰極全部連接,而它們的陽極是獨立的,通常在設計電路時一般把陰極接地。在相應段的陽極加一個時,該段就會發(fā)光。LED 數(shù)碼顯示器的優(yōu)點
23、是工作電壓低(1.5V-3V),體積小,長,可靠性高,響應時間短(一般不超過 100ns),亮度也比較高,而且顏色豐富(有紅,綠,藍等)。它的缺點是工作電流比較大,每一段的工作電流在 10mA 左右。為了防止二極管電流的過大而損壞,通常在二極管支路中串聯(lián)一個限流電阻。如果“a”“b”“c”“d”“e”“f”上正電源,其它引腳懸空,LED 數(shù)碼管上就將顯示“0”,其它字符的顯示原理與之相同,可根據(jù)實際需要來設定。數(shù)碼管的顯示可分為兩種:靜態(tài)顯示和動態(tài)顯示。靜態(tài)顯示的段選位和位選位均單獨連接,因此占用的 I/O 接口相對來說就顯得比較多,無法進行擴展多個數(shù)碼管,采用這種方式必須要給 LED 數(shù)碼管
24、恒定的電壓,并要求電壓一直保持, 所以一般在 LED 單片機之間要加鎖存器,這種方式亮度高,編程比較簡單,結構清晰,管理也比較簡單,占用的 CPU 時間少。動態(tài)顯示是單片機應用中最為廣泛的一種顯示方式之一,動態(tài)顯示是將所有數(shù)碼管的同名端連接在一起,另外為每個數(shù)碼管的公共端 COM 端增加位選通控制電路,位選通由各自獨立的 I/O線來控制,當單片機輸出字形碼時,所有的數(shù)碼管都接收到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形,這就要取決于單片機對位選通 COM 端電路的控制,所以只要將需要顯示的數(shù)碼管位選通控制打開,該位就顯示字形碼,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的 COM
25、 端,就可以使各個數(shù)碼管輪流受控顯示,這就是動態(tài)顯示8-9。在本設計中所采用的就是動態(tài)顯示的方法。在未進行搶答時,數(shù)碼管顯示;當按下?lián)尨稹伴_始”按鍵時,LED 數(shù)碼管上顯示搶答的倒計時間,當有選手搶答成功時,則顯示選手的和答題的倒計時間。圖 2.5 LED 數(shù)碼管圖 2.6 數(shù)碼管的符號和共陰式 LED 數(shù)碼管的原理圖2.2.5 復位電路的設計在 RESET(圖中表示為 RST)輸入端出現(xiàn)時實現(xiàn)復位和初始化。復位是一個重要的工作狀態(tài)。在單片機工作時,接電之前要復位,斷電后也要復位,發(fā)生故障后也要復位。在搶答器中復位則是為定時做鋪墊的,在搶答之前要復位,搶答結束后也要復位,按下復位鍵后,LED
26、數(shù)碼管上顯示的是。單片機上電時,在振蕩器運行的情況下,要實現(xiàn)復位操作,只要使 RST 引腳保持兩個機器周期的10。復位后,每個狀態(tài)的寄存器和器的值都恢復到初始狀態(tài),由于本設計中的功能有倒計時的功能,所以不能對單片機進行硬件復位,只能用復位,即通過用一系列指令來模擬硬件復位功能,最后通過轉移指令使程序從 0000H 地址開始執(zhí)行。對各寄存器的復位操作是容易的,所以也無需完全模擬,可根據(jù)實際的需要去主程序的初始化過程中完成。而對中斷激活標志的清除經(jīng)常被遺忘,因為它沒有明確的位地址可編程。復位是使用陷阱和看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷序斷激活標志已被置位,那么它就將會同級的
27、中斷響應。在所有的指令中,只有RETI 指令能夠清除中斷激活標志。本系統(tǒng)采用的是按鈕復位的復位電路,如圖 2.7所示。圖 2.7 復位電路2.2.6電路的設計該部分電路的設計主要用于,當遇到信號時,揚聲器發(fā)出警報。系統(tǒng)中開始搶答的提示、選手正常搶答成功、搶答以及提示答題只有最后 5 秒時間這 4 個部分揚聲器都會發(fā)出警報,由于缺少蜂鳴器的驅動,揚聲器不能,所以通過用一個紅色的發(fā)光二極管來替換蜂鳴器使揚聲器發(fā)出聲,系統(tǒng)電路如圖 2.8 所示。圖 2.8 系統(tǒng)電路2.2.7系統(tǒng)揚聲器的本設計利用程序來控制單片機P3 口的P3.6 引腳來反復輸出或低電平,即在該引腳上產(chǎn)生一定頻率的矩形波,通過連接上
28、揚聲器就能發(fā)出一定頻率,若再利用延時程序來控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調使揚聲器可以發(fā)出不同。2.2.8時鐘電路的設計單片機必須在時鐘的驅動下才能工作,在單片機有一個時鐘振蕩電路,在XTAL1 和 XTAL2 引腳上外接定時元件就能產(chǎn)生一定的時鐘信號并送給單片機的各個單元,決定單片機的工作速度。定時元件通常采用的是石英晶體和電容組成的并聯(lián)諧振回路。此電路大加電延遲 10ms 后振蕩器起振,在 XTAL2 引腳產(chǎn)生時鐘信號,其起振頻率主要由石英晶體的頻率來確定。電路中的兩個電容 C1 和 C2 主要起到兩個功能:一是幫助振蕩器起振;二是對振蕩器的頻率起到微調的作用
29、。其電容值可在30PF-50PF 之間進行選擇,通常選用的是 30PF,晶振頻率為 12MHz。單片機在工作時,由振蕩器產(chǎn)生或由外部直接輸入的送至控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用 fosc 來表示。如時鐘頻率為 12MHz,即fosc=12MHz,則時鐘周期為 1/12us。時鐘電路如圖 2.9 所示。圖 2.9 時鐘電路第三章系統(tǒng)程序分析及仿真3.1系統(tǒng)的程序流程圖比賽未進入搶答狀態(tài)時,LED 數(shù)碼管顯示,當宣布搶答開始并按下“開始”按鈕時,數(shù)碼管顯示搶答時間,選手通過按下相應的的搶答按鈕進行搶答,搶答成功后,數(shù)碼管顯示選手和答題時間并進入答題倒計時
30、;相反,當宣布搶答開始但并未按下“開始”按鈕時,如果選手按下?lián)尨鸢粹o,則視為搶答,揚聲器發(fā)出聲并同時在數(shù)碼管上顯示相應的選手和 FF。還可以根據(jù)題目的難度來設置搶答的時間,設置搶答時間可通過對加減鍵的調節(jié)來實現(xiàn)11。系統(tǒng)程序流程圖如圖 3.1 所示:初始化顯示NY按下開始按鈕搶答狀態(tài)顯示選手和答題倒計時揚聲器示選手FF顯和N倒計時大于 5sNYY按下復位鍵NY按下結束鍵倒計時結束YN圖 3.1 系統(tǒng)程序流程圖繼續(xù)答題直到時間停止正常搶答成功3.2系統(tǒng)搶答電路部分的程序分析及仿真系統(tǒng)的搶答主要是通過搶答按實現(xiàn),當選手在按下“開始”按鈕后搶答成功,選手立即被鎖存,其他選手進行搶答,即使選手的搶答速
31、度相差 10 毫秒也能識別。系統(tǒng)的延時時間為 10ms,當延時 10ms 后判斷按鈕此時的電平是否保持了原有的狀態(tài),如果電平保持原有狀態(tài)則為有效按鈕,相反的則視為無效搶答。系統(tǒng)搶答電路部分的程序代碼及程序流程圖如圖 3.2 所示:N是否有搶答YY1 號選手NY2 號選手NY3 號選手NY4 號選手NY5 號選手NY6 號選手NY7 號選手NY8 號選手中斷返回圖 3.2搶答電路流程圖數(shù)碼管顯示 1,揚聲器響一聲數(shù)碼管顯示 2,揚聲器響一聲數(shù)碼管顯示 3,揚聲器響一聲數(shù)碼管顯示 4,揚聲器響一聲數(shù)碼管顯示 5,揚聲器響一聲數(shù)碼管顯示 6,揚聲器響一聲數(shù)碼管顯示 7,揚聲器響一聲數(shù)碼管顯示 8,揚
32、聲器響一聲外部中斷 0 中斷正常搶答處理程序源代碼如下:TRUE1:ACALL BARK MOV A, R2 MOV R6, A MOV R3, #01H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #02H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #03H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #04H CLR OKAJMP COUNT ACALL BARK MOV A, R2 M
33、OV R6, AMOV R3, #05HTRUE2:TRUE3:TRUE4:TRUE5:CLR OK AJMP COUNTACALL BARK MOV A, R2 MOV R6, A MOV R3, #06H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #07H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #08H CLR OKAJMP COUNTTRUE6:TRUE7:TRUE8:6 號選手正常搶答成功仿真圖如圖 3.3 所示:圖 3.3 6 號選手搶答成功
34、3.3系統(tǒng)調整搶答時間部分的程序分析及仿真在系統(tǒng)中,初始設定的搶答時間為 30 秒,但是在進行搶答之前可以通過加減按對搶答時間進行重新設定,根據(jù)題目的難度來設定,簡單的題目可以通過減 1 秒按對搶答時間進行縮短設置,難一點的題目則可以通過加 1 秒按對搶答時間進行延長設置。通過對搶答時間的設置,從而可以讓選手對于簡單的題可以快速做出搶答,對于難一點的題目則可以有較長時間的思考,然后再做出搶答。系統(tǒng)該部分的程序分析圖如圖 3.4 所示:Y加 1 鍵按下NNR1 加到 99減 1 鍵按下YN按下確定鍵YNY圖 3.4 搶答器調時流程圖系統(tǒng)搶答時間調時程序源代碼如下:0SUB:MOV A, R1MO
35、V B, #0AHDIVABMOV R5, A MOV R4, B MOV R3, #0AHACALL DISPLAYJNB P3.2, INC0返回主函數(shù)YR1 減到 0NR1 置 99R1 減 1R1 置 0R1 加 1顯示初始搶答時間 R1JNB P3.3, DEC0JNB P3.4, BACK0AJMP0SUB對系統(tǒng)初始設置的 30 秒搶答時間進行加 1 或者減 1 操作后的仿真圖如圖 3.5 所示:圖 3.5 搶答初始時間仿真對系統(tǒng)的搶答時間進行加 1 操作的仿真圖如圖 3.6 所示:圖 3.6 搶答時間為 31 秒的仿真圖對系統(tǒng)的搶答時間進行減 1 操作的仿真圖如圖 3.7 所示:
36、圖 3.7 搶答時間為 29 秒的仿真圖3.4系統(tǒng)中選手搶答處理的程序分析及仿真當?shù)男紦尨痖_始并未按下?lián)尨稹伴_始”控制按鈕時,此時如果有選手按下?lián)尨鸢粹o進行搶答則視為搶答無效,即搶答。LED 數(shù)碼管上將會顯示搶答犯規(guī)和FF 并伴有揚聲器發(fā)出的選手聲響,同時發(fā)光二極管會不斷地閃爍。對選手搶答處理程序的源代碼如下:FALSE1:MOV R3, #01H AJMP ERROR MOV R3, #02H AJMP ERROR MOV R3, #03H AJMP ERROR MOV R3, #04HAJMP ERRORFALSE2:FALSE3:FALSE4:FALSE5:MOV R3, #05H A
37、JMP ERROR MOV R3, #06H AJMP ERROR MOV R3, #07H AJMP ERROR MOV R3, #08HAJMP ERRORFALSE6:FALSE7:FALSE8:選手搶答流程圖如圖示:開始Y1 號選手搶答NY2 號選手搶答NY3 號選手搶答NY4 號選手搶答NY5 號選手搶答NY6 號選手搶答NY7 號選手搶答NY8 號選手搶答返回圖 3.8搶答程序流程圖跳轉到犯規(guī)搶答程序5 號選手搶答的仿真圖如圖 3.9 所示:圖 3.9 5 號選手搶答犯規(guī)仿真圖第四章總結通過上述仿真實現(xiàn)了預定的設計要求,證明了設計的方案是合理可行的。本設計以AT89C51 單片機為
38、設計了的八路搶答系統(tǒng)。通過對系統(tǒng)進行仿真后可以清楚的看見該搶答器能夠及時準確的在 LED 數(shù)碼管上顯示第一有效的搶答信號,具有反應快、區(qū)分度高、操作簡便和較好的通用性等特點。但是基于單片機的八路搶答器設計,在一定程度上還不是做得很好,它的發(fā)展空間還是有的。比如說還可以通過把有線的八路搶答器向無線搶答器的方向進行擴展和研究。無線八路搶答器通過實用上的按代替普通的搶答器的選手按鈕,上的數(shù)字 1-8 對應選手1-8,距離相對有線搶答器就顯得相對遠了。也可以通過在電路中添加相應的硬件和在程序中加入相應的程序代碼,使搶答器的功能更加完善。通過這次設計,我發(fā)現(xiàn)自己學到了不少的知識,對以前沒有學好的知識也了
39、更深的了解,使我受益很大。通過這次對基于單片機的八路搶答器設計,我對單片機也有了新的認識,進一步地熟悉了單片機的結構。這次設計,我查閱了大量的資料,也了解到了一些在上沒有的涉及到知識點,在這過程中,我通過查閱大量的資料,再進行不斷地篩選,找出最好的設計思路,通過用 proteus來對設計的電路來進行仿真,也讓我對 proteus也或者是程序的使用更加的熟悉了,仿真不是一次就可以成功的,可能是電路,總之通過在設計過程中的不斷修改和改正,我最后成功仿真出了八路搶答器的工作圖。參考文獻,康迪.基于單片機的 8 路搶答器簡單設計D.河北:石家莊信息工程職業(yè)學院.123.51 單片機工程應用實例M.:航
40、空航天大學,2009.14.:高等教育,張為民,等.MCS-51 系列單片機系統(tǒng)及其應用M.,2004.910.4,.基于單片機的八路搶答器設計與實現(xiàn)J.佳木斯大學學報,2009,27(3):350351.567. 單片機課程設計D.山東:煙臺南山學院,2010.基于單片機的智能搶答器設計D.浙江:寧波,2010.:人民郵電,.AVR 單片機 C 語言開發(fā)入門與典型實例M.,2009.194195.891011.新概念 51 單片機 C 語言.數(shù)字電子技術基礎M.M.:電子工業(yè),2009.5659.2009. 8081.:電子科技大學,2007.196197.,.單片機課程設計指導M.:航空航
41、天大學,.智能搶答器的設計與制作J.長春大學學報,2000,10(6):2425.附錄系統(tǒng)源程序代碼:OK EQU 20H;搶答開始標志位 RING EQU 22H;響鈴標志位0000H AJMP MAIN0003HAJMP0SUB000BH AJMP T00013HAJMP1SUB001BH AJMP T10040HMOV R1, #30;搶答時間 30 秒 MOV R2, #60;答題時間 60 秒 MOV TMOD, #11H;MOV TH0, #0F0H MOV TL0, #0FFH; MOV TH1, #3CHMOV TL1, #0B0H;50 毫秒為一次溢出中斷SETB EA SE
42、TB ET0 SETB ET1SETB EX0MAIN:SETB EX1;允許四個中斷,T0/T1/CLR OK0/1CLR RINGSETB TR1 SETB TR0;查詢程序段START:MOV R5, #0BH MOV R4, #0BH MOV R3, #0BHACALL DISPLAY;搶答器初始顯示JB P3.0, NEXT ACALL DELAY JB P3.0, NEXTACALL BARK;按鈕MOV A, R1;設置 R1 為搶答時間 MOV R6, A;把 R1 送給 R6 SETB OKMOV R7, #01H;讀搶答按鈕數(shù)據(jù)信號標志MOV R3, #0AH;搶答只顯示倒
43、計時,不顯示號數(shù) AJMP COUNT;跳到倒計時程序JNB P1.0, FALSE1 JNB P1.1, FALSE2 JNB P1.2, FALSE3 JNB P1.3, FALSE4 JNB P1.4, FALSE5 JNB P1.5, FALSE6 JNB P1.6, FALSE7 JNB P1.7, FALSE8AJMP STARTNEXT:;搶答處理程序段FALSE1:MOV R3, #01H;判斷是否是 1 號選手犯規(guī),如果是就跳到 ERROR 程序段AJMP ERROR MOV R3, #02H AJMP ERROR MOV R3, #03H AJMP ERROR MOV R3
44、, #04H AJMP ERROR MOV R3, #05H AJMP ERROR MOV R3, #06H AJMP ERROR MOV R3, #07H AJMP ERROR MOV R3, #08HAJMP ERRORFALSE2:FALSE3:FALSE4:FALSE5:FALSE6:FALSE7:FALSE8:;搶答時間的調整程序段0SUB:MOV A, R1 MOV B, #0AH DIV ABMOV R5, A MOV R4, B MOV R3, #0AHACALL DISPLAYJNB P3.2, INC0;P3.2 引腳接的是加 1 秒按鈕,按下之后就跳到 INC0JNB P
45、3.3, DEC0;P3.3 引腳接的是減 1 秒按鈕,按下之后就跳到 DEC0JNB P3.4, BACK0;P3.4 引腳接的是確定按鈕,按下之后就跳到 BACK0AJMPMOV A, R10SUBINC0:CJNE A, #63H, ADD0;若不是 99 秒,就加 1 秒,否則就置 0MOV R1, #00HACALL DELAY1AJMPINC R10SUBADD0:ACALL DELAY1AJMP0SUBDEC0:MOV A, R1 JZ SETR1 DEC R1ACALL DELAY1AJMP0SUBSETR1:MOV R1, #63HACALL DELAY1AJMPRETI0S
46、UBBACK0:;答題時間的時間調整程序段1SUB:MOV A, R2 MOV B, #0AH DIV ABMOV R5, A MOV R4, B MOV R3, #0AHACALL DISPLAY JNB P3.2, INC1 JNB P3.3, DEC1JNB P3.4, BACK1AJMP1SUBINC1:MOV A, R2CJNE A, #63H, ADD1MOV R2, #00HACALL DELAY1AJMPINC R21SUBADD1:ACALL DELAY1AJMP1SUBDEC1:MOV A, R2 JZ SETR2 DEC R2ACALL DELAY1AJMP1SUBSET
47、R2:MOV R2, #63HACALL DELAY1AJMPRETI1SUBBACK1:REPEAT:MOV A, R2 MOV R6, A CLR RINGMOV R0, #00H;重置定時器中斷次數(shù)MOV TH1, #3CH MOV TL1, #0B0H MOV A, R6MOV B, #0AH DIV ABMOV 31H, BCOUNT:RECOUNT:MOV MOVMOVR5, 30H R4, 31HA,R6SUBB A,#07HJNCMOV A, CJNE A,LARGER R0#0AH, FULLCLRRING AJMP CHECKCJNE A, #14H, CHECK SETB
48、 RINGMOV A, R6 JZ QUITMOV R0, #00H DEC R6AJMP CHECK MOV A, R0CJNE A, #14H, CHECK DEC R6MOV R0, #00HJNB P3.1, QUIT;按下停止按鈕就退出 JNB OK, CHECKKAJMP NEXTT JNB P3.0, REPEAT ACALL DISPLAY JB OK, ACCOUTAJMPRECOUNT MOV A, 36HJNB P1.0, TRUE1;判斷 1 號選手搶答是否成功JNB P1.1, TRUE2 JNB P1.2, TRUE3 JNB P1.3, TRUE4JNB P1.4
49、, TRUE5FULL:LARGER:CHECK:CHECKK:NEXTT:ACCOUT:JNB P1.5, TRUE6 JNB P1.6, TQ1 JNB P1.7, TQ2AJMPRECOUNTTQ1:TQ2: QUIT:JMP JMP CLRCLRTRUE7 TRUE8 OKRINGAJMPSTART;正常搶答處理程序段TRUE1:ACALL BARK MOV A, R2 MOV R6, A MOV R3, #01H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #02H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #03H CLR OKAJMP COUNTACALL BARKTRUE2:TRUE3:TRUE4:MOV A, R2 MOV R6, A MOV R3, #04H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #05H CLR OKAJMP COUNT ACALL BARK MOV A, R2 MOV R6, A MOV R3, #06H CLR O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍋爐行業(yè)法律法規(guī)與合規(guī)管理考核試卷
- 生態(tài)農(nóng)業(yè)與面源污染控制考核試卷
- 中職幼兒衛(wèi)生常見疾病
- 急診急救班小講課
- 兒童呼吸道系統(tǒng)概述
- Pyralomicin-2b-生命科學試劑-MCE
- 6-Alkyne-F-araNAD-生命科學試劑-MCE
- 探索2025年成人教育線上學習新模式下的個性化學習體驗報告
- 2025年腫瘤精準醫(yī)療臨床實踐研究進展報告
- 【高中語文】高一下學期期末適應性模擬考試語文試題
- 期末復習人教PEP版英語五年級下冊
- 微弱的光亮(2024年山東煙臺中考語文試卷記敘文閱讀試題)
- 渠道安全巡檢注意事項
- 互聯(lián)網(wǎng)醫(yī)院共建合同
- 婦科重點??乒ぷ鲄R報
- 紅色大氣簡約傳承紅色基因弘揚革命精神紀念抗美援朝
- 大別山精神完整版本
- 2024年06月常熟農(nóng)商銀行小微金融總部招聘筆試歷年參考題庫附帶答案詳解
- 充電樁工程施工技術方案
- 新版中華人民共和國會計法解讀學習課件
- 人員管理贊美
評論
0/150
提交評論