基于單片機控制的智力競賽搶答器_第1頁
基于單片機控制的智力競賽搶答器_第2頁
基于單片機控制的智力競賽搶答器_第3頁
基于單片機控制的智力競賽搶答器_第4頁
基于單片機控制的智力競賽搶答器_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 理工大學單片機課程設計報告基于單片機控制的智力競賽搶答器姓名:學號:專業(yè)班級:指導老師:所在學院:2008年9月18日摘要本設計是在學習過單片機原理與應用技術(shù)這門課程后,利用所學過的課堂知識,發(fā)揮自己的創(chuàng)新能力,并結(jié)合動手動腦能力,來設計一個由單片機控制的智力競賽搶答器,并完成系統(tǒng)的軟硬件設計與調(diào)試。它的基本要:能容許26組搶答;能顯示搶答組號;各組計分,并能計分顯示;比賽結(jié)束時,能發(fā)出報警聲。本設計中的控制系統(tǒng)核心是單片機AT89C51,它主要負責控制各個部分協(xié)調(diào)工作。在其外圍接上復位電路、上拉電阻、數(shù)碼管、按鈕與揚聲器。元件為:晶振X1、電容C1、C2、C3、 電阻RP1與

2、7SEG-MPX4-CC-BLUE。設計容為:P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1P1.6是6組搶答的輸入口,P0口為數(shù)碼管的段選口,位選口用的是P2口的低4位,外部中斷0,P3.2為搶答記口,實現(xiàn)的對個隊進行加減記分,外部中斷1,P3.3實現(xiàn)了答題時間調(diào)整.P3.4P3.5分別實現(xiàn)了時間的加一和減一.P3.6為蜂鳴器的控制口。外部中斷和部中斷并存,單片機有硬件復位端,只要輸入持續(xù)4個機器周期的高電平即可實現(xiàn)復位。外部還接有蜂鳴器用來發(fā)出報警音。采用7SEG-MPX4-CC-BLUE顯示,它是共陰極的由高電平點亮。系統(tǒng)仿真用到了偉福軟件和PROTUCE軟件,通過仿真可

3、以完全顯示出所設計系統(tǒng)的功能,對于程序的調(diào)試等有很大的幫助。目錄1 概述3 1.1 單片機的應用與課程設計的意義3 1.2 設計任務與要求3 1.3 設計思路32 系統(tǒng)總體方案與硬件設計4 2.1 控制系統(tǒng)組成4 2.2 硬件組成與所需原件42.3 實驗原理83軟件設計104 Proteus軟件仿真115課程設計體會12參考文獻13附1:源程序代碼14附2:系統(tǒng)原理圖221 概述1.1 單片機的應用與課程設計的意義 單片機使一種特殊的計算機,它是在一塊半導體芯片上集成了CPU、存儲器RAM、ROM以與輸入與輸出接口電路的芯片。由于單片機的集成度高、功能強、通用性好,特別是它具有體積小、重量輕、

4、能耗低、價格便宜、可靠性高、抗干擾能力強和使用方便等獨特優(yōu)點,使單片機迅速得到了推廣應用。單片機原理與應用技術(shù)是電氣專業(yè)的主要專業(yè)與特色課程之一。在學完本課程之后,通過課程設計再次鞏固了所學的單片機基本原理,培養(yǎng)了我們運用所學知識和技能去分析和解決技術(shù)問題的能力,建立正確的設計思想,掌握設計的一般程序和方法。在設計中,鍛煉自己的抽象思維和編寫程序的能力。加深了對單片機課程的理解和熟練應用。1.2 設計任務與要求設計一個用于智力競賽的搶答器,其功能的實現(xiàn)是由單片機控制的,滿足(1)能容許2-6組進行搶答。(2)能顯示搶答組號。(3)各組記分,并能記分顯示。(4)比賽結(jié)束時,能發(fā)出報警聲。1.3

5、設計思路AT89C51單片機的P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1-P1.6是6組搶答的輸入口,P0口為數(shù)碼管的段選口,位選口用的是P2口的低4位,外部中斷0,P3.2為搶答記口,實現(xiàn)的對個隊進行加減記分,外部中斷1,P3.3實現(xiàn)了答題時間調(diào)整.P3.4 P3.5分別實現(xiàn)了時間的加一和減一.P3.6為蜂鳴器的控制口。外部中斷和部中斷并存,單片機有硬件復位端,只要輸入持續(xù)4個機器周期的高電平即可實現(xiàn)復位。外部還接有蜂鳴器用來發(fā)出報警音。采用7SEG-MPX4-CC-BLUE顯示,它是共陰極的由高電平點亮。軟件設計部分由匯編語言編寫。系統(tǒng)仿真用到了偉福軟件和PROTUCE

6、軟件,通過仿真可以完全顯示出所設計系統(tǒng)的功能,對于程序的調(diào)試等有很大的幫助。2系統(tǒng)總體方案與硬件設計2.1 控制系統(tǒng)組成控制系統(tǒng)主要由單片機應用電路、存儲器接口電路、顯示接口電路組成。其中單片機AT89C51是系統(tǒng)工作的核心,它主要負責控制各個部分協(xié)調(diào)工作。2.2 硬件組成與所需原件該系統(tǒng)的核心器件是AT89C51。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標

7、準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。下面介紹一下AT89C51:主要特性:·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定·128*8位部RAM·32可編程I/O線·兩個16位定時器/計數(shù)器·

8、;5個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片振蕩器和時鐘電路管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,

9、將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上

10、拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當

11、振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外

12、部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有部程序存儲器。注意加密方式1時,/EA將部鎖定為RESET;當/EA端保持高電平時,此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入與部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用

13、外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的容并且凍結(jié)振蕩器,禁止所用其他芯片功

14、能,直到下一個硬件復位為止。在其外圍接上復位電路、上拉電阻、數(shù)碼管、按鈕與揚聲器。元件為:晶振X1、電容C1、C2、C3、 電阻RP1、P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1-P1.6是6組搶答的輸入口,P0口為數(shù)碼管的段選口,位選口用的是P2口的低4位,外部中斷0,P3.2為搶答記口,實現(xiàn)的對個隊進行加減記分,外部中斷1,P3.3實現(xiàn)了答題時間調(diào)整.P3.4 P3.5分別實現(xiàn)了時間的加一和減一.P3.6為蜂鳴器的控制口。2.3 實驗原理 智力競賽搶答器用單片機來設計制作完成,由于其功能的實現(xiàn)主要通過軟件編程來完成, 采用單片機AT89C51,它是低功耗、高性能的CMO

15、S型8位單片機。片帶有4KB的Flash存儲器,且允許在系統(tǒng)改寫或用編程器編程。該智力競賽搶答器的準確度很高,其誤差主要由晶振自身的誤差所造成。AT89C51單片機由微處理器,存儲器,I/O口以與特殊功能寄存器SFR等部分構(gòu)成。其存儲器在物理上設計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間,片程序存儲器的容量為4KB,片數(shù)據(jù)存儲器為128個字節(jié)。89C51單片機有4個8位的并行I/O口:P0口,P1口,P2口和P3口。各個接口均由接口鎖存器,輸出驅(qū)動器,和輸入緩沖器組成。P1口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。P3口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功

16、能,如P3.0是串行輸入口線,P3.1口是串行輸出口線。在需要外部程序存儲器和數(shù)據(jù)存儲器擴展時,P0可作為分時復用的低8位地址/數(shù)據(jù)總線,P2口可作為高8位的地址總線。P3口也可作為AT89C51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號。外部振蕩電路單片機必須在AT89C51的驅(qū)動下才能工作.在單片機部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機部的各個單元。外部振蕩電路見圖一(圖一)外部中斷和部中斷并存,單片機有硬件復位端,只要輸入持續(xù)4個機器周期的高電平即可實現(xiàn)復位。硬件復位后的各狀態(tài)可知寄存器與存儲器的值都恢復到了初始值,應為本設計功能中有倒

17、計時時間的記憶功能,所以不能對單片機進行硬件復位。只能用軟復位。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程。復位電路采用圖二所示:(圖二)外部還接有蜂鳴器用來發(fā)出報警音。其圖形如下:采用7SEG-MPX4-CC-BLUE顯示,它是共陰極的由高電平點亮。圖形如下:3軟件設計智力競賽搶答器要求有計時記憶功能,一次時間設置完, 復位后不需重新進行時間設定,通過鍵盤掃描輸出按鍵信息,再通過單片機將它轉(zhuǎn)換成能在七段數(shù)碼管上顯示字型碼.當搶答完畢時,會在數(shù)碼管上顯示搶答者數(shù)字提示以表示搶答成功.同時顯示其分數(shù),分數(shù)的加減可由裁判手動進行. 采用獨立式鍵盤,可實現(xiàn)6路搶答.

18、在顯示時使用的是數(shù)碼管顯示在本設計中根據(jù)實際情況采用的是動態(tài)顯示方法. 并通過查表將字型碼送給數(shù)碼管顯示的數(shù)字。軟件去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到開始。采用倒計時程序,使其具有倒計時功能?;卮鸬褂嫊r20秒。搶答時間15秒。采用發(fā)聲警報,起到報警作用。系統(tǒng)流程圖:開始查詢倒計時開始搶答查詢有效搶答顯示,回答倒計時裁判打分加分重新開始查詢抖動違規(guī)搶答非法搶答處理違規(guī)者顯示減分4Proteus軟件仿真用到了偉福軟件,集成調(diào)試環(huán)境,集成了編緝器、編譯器、調(diào)試器,支持軟件模擬,支持項目管理功能強大的觀察窗口,支持所有的數(shù)據(jù)類型。樹狀結(jié)構(gòu)顯示,一目了然,支持ASM(匯編

19、)、C語言,多語言多模塊源程序混合調(diào)試,在線直接修改、編譯、調(diào)試源程序,錯誤指令定位。功能很強大。 系統(tǒng)仿真還用到了PROTUCE軟件,可通過仿真可以完全顯示出所設計系統(tǒng)的功能,對于程序的調(diào)試等有很大的幫助。系統(tǒng)仿真時首先要在使用偉福編譯器,把所寫的程序進行編譯,同時在仿真器里設置生成HEX文件,編譯無錯誤時進行PROTUCE仿真。首先要新建一個文檔是DNS型的找出需要的器件,可以使用搜索功能。接著把各個器件放到合適的位置都要放到藍色框。然后根據(jù)自己的設計要求連線。等所有的元件都連接完成后可以把,偉福編譯生成的無錯誤文件加載到AT89C51中,方法是,右鍵點中器件然后在用左鍵點擊,出來一個對話

20、框在program file后選擇要添加文件,文件要求必須是HEX文件。然后可以點擊運行觀察現(xiàn)象,看與自己設置的符合否,如果不相符在查找錯誤進行修改,一般的錯誤都是程序中的,所以要認真的讀取程序的每一個部分??傮w的PROTUCE圖:5課程設計體會通過本次為期一周的設計使我的專業(yè)知識方面的水平得到了很大的提高,尤其在WAVE和PROTUES這兩個專業(yè)軟件的使用上有了很大的進步,使我懂得了以前不知道的和根本不會的東西,并且在編程方面也有了很大的進步。設計中要想把知識很好地運用到一個系統(tǒng)當中去并不是一件容易的事,在剛接觸到proteus時甚至不知道怎樣去尋找元器件,這多虧了熱心的同學們,他們不厭其煩

21、地解答我的問題,當大家都不懂時我們就一起上網(wǎng)、去圖書館、請教老師,直到把問題搞清楚為止。最終我掌握了畫圖地技巧,但這只是最開始地一小步,真正的困難還在后面。之前單片機在我的腦海中就如霧里看花一樣,迷迷糊糊的不知所云,對很多知識僅僅一知半解,不能系統(tǒng)地聯(lián)系起來,甚至連一些最基本的語句都搞不懂。而這些缺點通過這次設計全部給暴露出來了。然而剛開始的時候很是沮喪,當困難總是要面對的,人不可能總是逃避。后來通過老師、同學以與上網(wǎng)查資料努力去克服種種困難,在不斷的學習中摸索,把以前學過的和沒有學到的一起重新學習,經(jīng)過一個星期的努力,我的設計終于做出來了,這其中參考了不少的資料也得到了老師同學們的幫助,在此

22、向幫助過我的老師和同學表示感。整體來說,這次設計對我個人的啟發(fā)還是很大的,我覺得自己知識近一步的增長了!雖然很多方面還都非常欠缺,但是我在設計過程中學到了很多以前沒有學到的方法,在很大程度上提高了我的分析問題,解決問題的能力,增強了綜合實踐能力與自身的專業(yè)素質(zhì)。參考文獻1 余發(fā)山編著.單片機原理機機與應用技術(shù).:中國礦業(yè)大學2 淑清 婁萬錄等主編.單片微機計算機接口技術(shù)與其應用.科學3廣第主編.單片機基礎(chǔ).航空航天大學3凌霄主編.微型計算機原理與應用.中國礦業(yè)大學附1 源程序代碼OK EQU 20H RING EQU 22H ORG 0000H AJMP MAIN ORG 000BH AJMP

23、 T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#0FH MOV R2,#01EH MOV TMOD,#11H;設置未定時器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高發(fā)聲頻率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms為一次溢出中斷 SETB EA SETB ET0 SETB ET1 SETB EX1;允許3個中斷,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0;一開始就運行定時器,以開始

24、顯示888如果想重新計數(shù),重置TH1/TL1就可以了;=查詢程序=START: MOV R5,#00H MOV R4,#00H MOV R3,#00HACALL DISPLAY;未開始搶答時候顯示888 P1.0,NEXT ACALL DELAY P1.0,NEXT;去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL BARK;按鍵發(fā)聲 MOV A,R1 MOV R6,A;送R1->R6,因為R1中保存了搶答時間 SETB OK;搶答標志位,用于COUNT只程序中判斷是否查詢搶答 MOV R3,0AH;搶答只顯示計時,滅號數(shù) AJMP COUNT;

25、進入倒計時程序,"查詢有效搶答的程序"在COUNT里面NEXT:JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 JNB P1.4,FALSE4 JNB P1.5,FALSE5 JNB P1.6,FALSE6 AJMP START ;=非法搶答處理程序=FALSE1: ACALL BARK;按鍵發(fā)聲 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACAL

26、L BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERROR;=INT1(答題對錯加減分數(shù)程序)=INT1SUB:MOV R4,#0AH MOV R5,#0AH JNB P3.4,INC1 JNB P3.5,DEC1 JNB P1.7,BACK1 ACALL DISPLAY AJMP INT1SUB MOV A,R3 SUBB A,#01H JZ XXY1 SUBB A,#02H JZ XXY2 SUBB A,#03H JZ XXY3

27、 SUBB A,#04H JZ XXY4 SUBB A,#05H JZ XXY5 SUBB A,#06H JZ XXY6 XXY1:MOV R7,41H XXY2:MOV R7,42H XXY3:MOV R7,43H XXY4:MOV R7,44H XXY5:MOV R7,45H XXY6:MOV R7,46H INC1:INC R7 CJNE R3,#01H,L1 MOV 51H,R7 L1:CJNE R3,#02H,L2 MOV 52H,R7 L2:CJNE R3,#03H,L3 MOV 53H,R7 L3:CJNE R3,#04H,L4 MOV 54H,R7 L4:CJNE R3,#05

28、H,L5 MOV 55H,R7 L5:CJNE R3,#06H,LL MOV 56H,R7 LL:ACALL DELAY1 AJMP INT1SUB DEC1:DEC R7 ACALL DELAY1 AJMP INT1SUB BACK1:RETI;=倒計時程序(搶答倒計時和回答倒計時都跳到改程序)= COUNT: MOV R0,#00H;重置定時器中斷次數(shù) MOV TH1,#3CH MOV TL1,#0B0H;重置定時器RECOUNT:MOV A,R6;R6保存了倒計時的時間,之前先將搶答時間或回答時間給R6 MOV B,#0AH DIV AB;除十分出個位/十位 MOV 30H,A;十位存于

29、(30H) MOV 31H,B;個位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取個位 MOV A,R6 SUBB A,#07H JNC LARGER;大于5s跳到LARGER,小于等于5s會提醒 MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下運行 CLR RING AJMP CHECK FULL:CJNE A,#14H,CHECK;下面系1s的情況,響并顯示號數(shù)并清R0,重新計 SETB RING MOV A,R6 JZ QUIT;計時完畢 MOV R0,#00H DEC R6;一秒標志減1 AJMP CHECKLARGER: MOV A,R0

30、 CJNE A,#14H,CHECK;如果1s向下運行,否者跳到查"停/顯示" DEC R6;計時一秒R6自動減1 MOV R0,#00H CHECK: JNB P1.7,QUIT;如按下停止鍵退出 ACALL DISPLAY OK,ACCOUT;如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用) AJMP RECOUNT ACCOUT:JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNT QUIT

31、:CLR OK;如果按下了"停止鍵"執(zhí)行的程序 CLR RING AJMP START;=正常搶答處理程序=TRUE1: ACALL BARK;按鍵發(fā)聲 MOV A,R2 MOV R6,A;搶答時間R2送R6 MOV R3,#01H MOV R7,41H CLR OK;因為答題的計時不再查詢搶答,所以就鎖了搶答 AJMP COUNTTRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H MOV R7,42H CLR OK AJMP COUNTTRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H

32、 MOV R7,43H CLR OK AJMP COUNTTRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H MOV R7,44H CLR OK AJMP COUNTTRUE5:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H MOV R7,45H CLR OK AJMP COUNTTRUE6:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H MOV R7,46H CLR OK AJMP COUNT;=犯規(guī)搶答程序=ERROR:MOV R0,#00H MOV TH1,#3CH MOV

33、 TL1,#0B0H MOV 34H,R3;犯規(guī)號數(shù)暫存與(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH;0.5s向下運行->滅并停響 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三燈全滅 AJMP CHECK1FLASH:CJNE A,#14H,CHECK1;下面系1s的情況,響并顯示號數(shù)并清R0,重新計 SETB RING MOV R0,#00H MOV R3,34H;取回號數(shù) MOV R5,#0BH MOV R4,#0BH;顯示FF和號數(shù) AJMP CHECK1CHECK1:JNB P1.7,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START;=顯示程序=DISPLAY

溫馨提示

  • 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

提交評論