版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機的智能搶答器系統(tǒng)摘要:電子智能搶答計分器在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計一個系統(tǒng)來完成這個任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設(shè)計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本設(shè)計使用stc89c51 單片機來設(shè)計智能搶答器,組數(shù)可以在六組以內(nèi)任意使用。并且具有倒計時和時間設(shè)置及報警功能。利用stc89c51單片機對信號進行鎖存、顯示等功能。分別從硬件和軟件兩方面闡述了該控制系統(tǒng)的設(shè)計方法,并經(jīng)過調(diào)試和運行使該系統(tǒng)達到預(yù)期目標(biāo), 具有反應(yīng)快、功能齊全、實用性強的特點。引言隨著微電子技術(shù)、電力
2、電子技術(shù)、傳感器技術(shù)、永磁材料技術(shù)、自動控制技術(shù)、微機應(yīng)用技術(shù)的發(fā)展,使單片微型計算機也得到迅速的發(fā)展,單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。單片機(單片微型計算機)的應(yīng)用已經(jīng)滲透到國民經(jīng)濟的各個部門和領(lǐng)域,它起到了越來越重要的作用。單片微型計算機就是將中央處理單元、 存儲器、定時/ 計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此一塊芯片就構(gòu)成了一臺計算機。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。它作為嵌入式控制系統(tǒng)的主體與核心,代替了傳統(tǒng)的控制系統(tǒng)的
3、常規(guī)電子線路。同時樓宇智能化的發(fā)展與成熟,也為基于單片機的照明控制系統(tǒng)的普及與應(yīng)用奠定了堅實的基礎(chǔ)。1 系統(tǒng)設(shè)計要點系統(tǒng)設(shè)計主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設(shè)計。硬件設(shè)計部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對硬件進行調(diào)試、測試,以達到設(shè)計要求。軟件設(shè)計部分,首先在總體設(shè)計中完成系統(tǒng)總框圖和各模塊的功能設(shè)計,擬定詳細(xì)的工作計劃;然后進行具體設(shè)計,包括各模塊的流程圖,選擇合適的編程語言和工具,- 1 - 進行代碼設(shè)計等;最后是對軟件進行調(diào)試、測試,達到所需功能要求。在系統(tǒng)設(shè)計中設(shè)計方法的選用是系統(tǒng)設(shè)計能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化
4、系統(tǒng)設(shè)計方法,該方法保證設(shè)計電路的標(biāo)準(zhǔn)化、模塊化。硬件電路的設(shè)計最重要的選擇用于控制的單片機,并確定與之配套的外圍芯片,使所設(shè)計的系統(tǒng)既經(jīng)濟又高性能。硬件電路設(shè)計還包括輸入輸出接口設(shè)計,畫出詳細(xì)電路圖,標(biāo)出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真機上進行調(diào)試,發(fā)現(xiàn)設(shè)計不當(dāng)及時修改,最終達到設(shè)計目的。軟件設(shè)計的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51 系列單片機,采用匯編語言編寫程序。系統(tǒng)軟件設(shè)計采用模塊化系統(tǒng)設(shè)計方法,先編寫各個功能模塊子程序,然后進行組合與調(diào)整,經(jīng)過調(diào)試后,達到設(shè)計功能要求。2 各模塊方案選擇和論證2.1 搶答器顯示模塊顯示模塊主要是顯示搶答的時間,組別號碼等
5、。我考慮有以下兩種顯示方案。方案 1:使用液晶屏顯示時間。液晶顯示屏(lcd)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強的特點。但由于只需要顯示時間和組別的數(shù)字,信息量比較少,且由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護。方案 2:使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低, 易于維護, 同時其精度高, 稱量快,
6、精確可靠, 操作簡單。 數(shù)碼顯示是采用 bcd 編碼顯示數(shù)字, 程序編譯容易,資源占用較少。根據(jù)以上的論述,采用方案二。2.2 控制器模塊- 2 - 控制器主要用于各模塊控制顯示、搶答、音樂等??刂破鞯倪x擇有以下兩鐘方案。方案 1:采用 fpga(現(xiàn)場可編程門列陣)作為系統(tǒng)的控制器。fpga 可以實現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應(yīng)用eda 軟件仿真、調(diào)試,易于進行功能擴展。fpga 采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實時系統(tǒng)的控制核心。但由于本設(shè)計對數(shù)據(jù)處理的速度要求不高,fpga的高速處理的優(yōu)勢
7、得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復(fù)雜,加重了電路設(shè)計和實際焊接的工作。方案 2:采用 atmel 公司的 stc89c51 作為系統(tǒng)控制器的 cpu 方案。單片機算術(shù)運算功能強,軟件編程靈活、自由度大,可以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,使其在各個領(lǐng)域應(yīng)用廣泛?;谝陨戏治鰯M訂方案二。2.3 電源方案的選擇系統(tǒng)需要多個電源, stc89c51使用 5v 穩(wěn)壓電源,四聯(lián)數(shù)碼管供電電壓為5v。給出以下兩個方案。方案 1:采用升壓型穩(wěn)壓電路。用兩片mc34063 芯片分別將 3v 的電池電
8、壓進行直流嶄波調(diào)壓,得到5v 穩(wěn)壓輸出。只需使用兩節(jié)電池,既節(jié)省了電池,又減小系統(tǒng)體積重量但該電路供電電流小,供電時間短,無法使相對龐大的系統(tǒng)穩(wěn)定運作。方案 2:由于所做的設(shè)計不需要很高的精度要求,結(jié)合這個電源分析只要給系統(tǒng)5-9v 的電壓基本能輸出顯示和運用搶答,故只需利用一節(jié) 9v 的電池便可使整個電路工作。該方法方便簡單,節(jié)省材料。綜上所述,選擇方案二。2.4 鍵盤的選擇鍵盤是單片機不可缺少的輸入設(shè)備,是實現(xiàn)人機對話的紐帶。鍵盤按結(jié)構(gòu)形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來產(chǎn)生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結(jié)構(gòu)簡單,成本低廉,非
9、編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等。- 3 - 方案 1:獨立式鍵盤鍵盤接口中使用多少根i/o 線,鍵盤中就有幾個按鍵,鍵盤接口使用了6 根 i/o 口線,該鍵盤就有6 個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實際需要對鍵盤中的按鍵靈活的編碼。如圖2-1。最簡單的編碼方式就是根據(jù)i/o 輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài)進行編碼,稱按鍵直接狀態(tài)碼,對于這樣編碼的獨立式鍵盤, cpu 可以通過直接讀取i/o 口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個值直接進行按鍵識別,這樣形式的鍵盤結(jié)構(gòu)簡單,按鍵識別容易。獨立式鍵盤的缺點是需要占用
10、比較多的i/o 口線,當(dāng)單片機應(yīng)用系統(tǒng)鍵盤中需要的按鍵比較少或i/o 口線比較富余時,可以采用這樣類型的鍵盤。方案 2:行列式鍵盤行列式鍵盤是用n條 i/o 線作為行線, m 條 i/o 線作為列線組成的鍵盤,在行線和列線的每個交叉點上,設(shè)置一個按鍵中按鍵的個數(shù)是 m*n個。這種形式的鍵盤結(jié)構(gòu),能夠有效的提高單片機系統(tǒng)中i/o 的利用率,列線接p1.0p1.3行線接 p1.4p1.7 ,行列適圖 2-1 獨立式鍵盤p101234567- 4 - 用于按鍵輸入多的情況。cpu 對鍵盤的掃描可以采用取程序控制的隨機方式,即只有在cpu 空閑是時才去掃描鍵盤,響應(yīng)操作人員的鍵盤輸入,但cpu在執(zhí)行應(yīng)
11、用程序的過程中,不能響應(yīng)鍵盤輸入,對鍵盤的掃描可以采用定時方式,即利用單片機內(nèi)部定時器每隔一定時間對鍵盤掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合,cpu 總是定時的關(guān)心鍵盤狀態(tài)。在大多數(shù)情況下, cpu 對鍵盤可能進行空掃描。為了提高cpu 的效率而又能及時響應(yīng)鍵盤輸入,可以采用中斷方式,既cpu平時不必掃描鍵盤, 只要當(dāng)鍵盤上有鍵盤閉合時就產(chǎn)生中斷請求,向 cpu 申請中斷后, 立即對鍵盤上有鍵盤進性掃描, 識別閉合鍵,并做相應(yīng)的處理。如圖2- 2所示。根據(jù)以上的論述,采用方案一,在本系統(tǒng)中采用了獨立式鍵盤,其按鍵比較少,且鍵盤中各個按鍵的工作互不干擾。3 模塊的最終方案主控制器模塊:采
12、用stc89c51單片機控制。圖 2-2 行列式鍵盤0123456789abcdefp1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7- 5 - 搶答器顯示模塊:數(shù)碼管顯示。電源方案的選擇:采用9v 電池供電。搶答器鍵盤模塊:獨立式鍵盤。4 功能介紹如果想調(diào)節(jié)搶答時間或答題時間, 按搶答時間調(diào)節(jié) 鍵或答題時間調(diào)節(jié) 鍵進入調(diào)節(jié)狀態(tài) , 此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間值 , 如想加一秒按一下 加 1s鍵, 如果想減一秒按一下 -1s 鍵,時間 led 上會顯示改變后的時間,調(diào)整范圍為0s99s, 0s時再減 1s會跳到 99,99s時再加 1s會變到 0s。主持人按 搶答開始
13、 鍵,會有提示音,并立刻進入搶答倒計時(預(yù)設(shè)30s搶答時間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進入回答倒計時(預(yù)設(shè)60s 搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數(shù)時間到小于5s 會每秒響一下提示音。如倒計時期間,主持人想停止倒計時可以隨時按 停止 按鍵,系統(tǒng)會自動進入準(zhǔn)備狀態(tài),等待主持人按 搶答開始 進入下次搶答計時。如果主持人未按 搶答開始 鍵,而有人按了搶答按鍵,犯規(guī)搶答,led上不斷閃爍 ff和犯規(guī)號數(shù)并響個不停,直到按下停止 鍵為止。5 搶答器的軟件設(shè)計通過 st89c51芯片的控制,從而構(gòu)成了整個電路。搶答組數(shù)可以在六組以內(nèi)任意使用,其流程如圖5
14、-3- 6 - 圖 5-3 搶答系統(tǒng)流程圖5.1 數(shù)碼顯示軟件設(shè)計采用動態(tài)顯示,顯示器由4 個共陰極數(shù)碼管組成,數(shù)碼顯示程序流程如圖5-4。- 7 - 圖 5-4 數(shù)碼顯示流程圖5.2 音樂音頻輸出音樂音頻輸出由輸出,流程圖如圖5-5 - 8 - 圖 5-5 音樂音頻輸出流程圖6 調(diào)試情況分析6.1 硬件調(diào)試6.1.1 電路板的制作與檢查考慮到本系統(tǒng)所用元器件較少,大部分功能都是通過軟件編程來實現(xiàn),同時也出于對畢業(yè)設(shè)計成本的考慮,因此所用到的板子是自己手工制作的pcb 板。在電路板的制作中,首先要進行線路的排布。利用protel 軟件模擬實際電路板的線路走向,盡量避免線路出現(xiàn)交叉短路, 電源線
15、路盡量安排在電路板的最外圈。pcb 板刻錄完成之后, 開始進行焊接工作。 焊接完后進行電路板檢查,將原線路圖與實際焊接的電路板進行對比,由于線路不多,所以用萬用表的歐姆檔或是短路聲響指示功能來做焊點的檢測,如此可以避免焊接時漏焊、虛焊和配線錯誤的問題,同時保證了所制作出來的線路與原設(shè)計線路的一致性。6.1.2 電路模塊調(diào)試- 9 - 本設(shè)計硬件部分主要為顯示模塊按鍵模塊。硬件電路功能檢測主要針對這兩部分進行測試。對于顯示電路,由于使用的是四聯(lián)數(shù)碼管顯示屏,首先要確定數(shù)碼管的共陰還是共陽極。因此先用萬用表檢測是什么極性。然后再先固定下,檢查顯示電路能否正常顯示。最后再焊接上去。對于按鍵部分,首先
16、要確定各個按鍵是否完好,先自己接到一個簡易的電路上測試下,確定完好后再焊接。6.2 軟件調(diào)試的基本方法軟件的設(shè)計與調(diào)試實行分模塊實現(xiàn)方法。本設(shè)計軟件調(diào)試中的分模塊包括顯示功能模塊、調(diào)正時間功能模塊,搶答功能模塊以報警功能模塊。各個獨立模塊功能調(diào)試成功后,將這些模塊程序通過主程序合并在一起,最后再對合并后的總程序進行調(diào)試。各軟件模塊首先要通過pc 和仿真器進行軟件調(diào)試,當(dāng)仿真效果符合要求后,再燒寫進單片機看能否在實際電路板上正常工作。編程語言的軟件設(shè)計采用mcs-51 匯編語言編寫,所使用的調(diào)試軟件包括proteus和 medwin2.396.2.1 軟件調(diào)試問題分析led 顯示問題: 本次設(shè)計
17、的最終方案是采用led 顯示屏實現(xiàn)顯示功能, 最初數(shù)碼管顯示不正常, 出現(xiàn)閃爍現(xiàn)象。 通過調(diào)試發(fā)現(xiàn)這是由于延時時間選擇不當(dāng)會使人眼產(chǎn)生視覺暫留效果,每一次顯示時都必須加入適當(dāng)?shù)臅r間延時。由于一開始所選用的延時時間太短,因此出現(xiàn)閃爍現(xiàn)象,在增加顯示延時之后,數(shù)碼管顯示正常。蜂鳴器異常啟動問題:蜂鳴器的啟動/ 關(guān)閉是通過單片機輸出的控制信號來實現(xiàn)的,當(dāng)當(dāng)前時間與鬧鐘設(shè)置時間比較吻合時,單片機將對鬧鈴控制口執(zhí)行取反命令, 從而啟動蜂鳴器發(fā)聲。一開始編寫程序時,沒有對口的最初狀態(tài)作正確設(shè)置, 由于系統(tǒng)開機復(fù)位后,口處于高電平狀態(tài), 因此出現(xiàn)一開機蜂鳴器就處于啟動狀態(tài)的情況。通過在主程序最開始加入對口取
18、零命令后,蜂鳴器啟動 /關(guān)閉控制恢復(fù)正常。按鍵消抖問題:在最初編寫程序時,鍵盤控制部分按照常例加入了按鍵消抖程序。在實際調(diào)試中,發(fā)現(xiàn)按鍵出現(xiàn)反應(yīng)不靈敏現(xiàn)象。這是因為在鍵盤控制程序中,除了消抖程序外,還加入了按鍵提示音程序(每次按壓鍵盤時,蜂鳴器發(fā)出 “嗶”的一聲提示音)。由于在調(diào)用提示音子程序時,實際上已實現(xiàn)了一次時間的延時,因此再加入按鍵消抖程序的延時后,致使延時時間過長而出現(xiàn)按鍵- 10 - 反應(yīng)不靈敏問題。通過調(diào)試發(fā)現(xiàn)提示音子程序本身所產(chǎn)生的延時已能夠滿足按鍵消抖時間延遲的要求,因此在鍵盤控制程序中無需再加入專門的按鍵消抖程序。在去除按鍵消抖程序后,按鍵控制靈敏度恢復(fù)正常。附件 1:硬件
19、電路原理圖ea/vp31x119x218reset9int012int113t014t115p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p0.039p0.138p0.237p0.336p0.435p0.534p0.633p0.732p2.021p2.122p2.223p2.324p2.425p2.526p2.627p2.728rd17wr16psen29ale/p30txd11rxd10u189c511 2345 678j110kvccvccy132.768khzc122pfc222pfvccr10.2kabfcgdedpabfcgdedpabfcgdedp
20、abfcgdedpe1d2dp3c4g5con46con112a11f10con29con38b7ds1ddys1sw-pbs2sw-pbs3sw-pbs4sw-pbs5sw-pbs6sw-pbs7sw-pbs8sw-pbs9sw-pbs10sw-pbs12sw-pbs13sw-pbu2bellc3electro1s11sw-pb12j2con2vccr2470q?pnpvcc附2:pcb圖附件 3:元器件清單列表元器件描述元器件編號數(shù)量單片機stc89c51 1led 顯示屏四聯(lián)共陰1晶體振蕩器12mhz 1三極管9012 1蜂鳴器/ 1電容30pf 3電阻20k 19 腳排阻/ 1按鍵/
21、13- 1 - 附件 4:程序清單ok equ 20h; 搶答開始標(biāo)志位 ring equ 22h;響鈴標(biāo)志位 org 0000h ajmp main org 0003h ajmp int0sub org 000bh ajmp t0int org 0013h ajmp int1sub org 001bh ajmp t1int org 0040h main: mov r1,#30; 初設(shè)搶答時間為 30s mov r2,#60;初設(shè)答題時間為 60s mov tmod,#11h;設(shè)置未定時器 / 模式 1 mov th0,#0f0h mov tl0,#0ffh;越高發(fā)聲頻率越高 , 越尖 mov
22、 th1,#3ch mov tl1,#0b0h;50ms為一次溢出中斷 setb ea setb et0 setb et1 setb ex0 setb ex1;允許四個中斷 ,t0/t1/int0/int1 clr ok clr ring - 2 - setb tr1 setb tr0;一開始就運行定時器 , 以開始顯示 fff.如果想重新計數(shù) , 重置 th1/tl1就可以了;=查詢程序 = start: mov r5,#0bh mov r4,#0bh mov r3,#0bh acall display; 未開始搶答時候顯示fff jb int0,next;ddddddd acall del
23、ay jb int0,next;去抖動 , 如果 開始鍵 按下就向下執(zhí)行 , 否者跳到非法搶答查詢 acall bark;按鍵發(fā)聲 mov a,r1 mov r6,a; 送 r1-r6,因為 r1中保存了搶答時間 setb ok;搶答標(biāo)志位 , 用于 count 只程序中判斷是否查詢搶答 mov r3,#0ah;搶答只顯示計時 , 滅號數(shù) ajmp count; 進入倒計時程序 , 查詢有效搶答的程序 在 count 里面next:jnb p1.0,false1 jnb p1.1,false2 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jn
24、b p1.5,false6 ajmp start tz1:jmp false7 tz2:jmp false8 ;=非法搶答處理程序 = false1: acall bark; 按鍵發(fā)聲mov r3,#01h ajmp error - 3 - false2: acall bark mov r3,#02h ajmp error false3: acall bark mov r3,#03h ajmp error false4: acall bark mov r3,#04h ajmp error false5: acall bark mov r3,#05h ajmp error false6: aca
25、ll bark mov r3,#06h ajmp error false7: acall bark mov r3,#07h ajmp error false8: acall bark mov r3,#08h ajmp error ;=int0(搶答時間 r1調(diào)整程序 )= int0sub:mov a,r1 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display;先在兩個時間 led上顯示 r1 - 4 - jnb t0,inc0;t0為+1s 鍵, 如按下跳到 inco jnb t1,dec0;t1為-1s 鍵, 如按下跳到
26、deco jnb int1,back0;int1為確定鍵 , 如按下跳到 backo ajmp int0sub inc0: mov a,r1 cjne a,#63h,add0; 如果不是 99,r2 加 1, 如果加到 99,r1 就置 0,重新加起。 mov r1,#00h acall delay1 ajmp int0sub add0: inc r1 acall delay1 ajmp int0sub dec0: mov a,r1 jz setr1;如果 r1為 0, r1 就置 99, dec r1 acall delay1 ajmp int0sub setr1: mov r1,#63h
27、acall delay1 ajmp int0sub back0: reti ;=int1(回答時間 r2調(diào)整程序 )= int1sub:mov a,r2 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display - 5 - jnb t0,inc1 jnb t1,dec1 jnb int1,back1 ajmp int1sub inc1: mov a,r2 cjne a,#63h,add1 mov r2,#00h acall delay1 ajmp int1sub add1: inc r2 acall delay1 ajmp in
28、t1sub dec1: mov a,r2 jz setr2 dec r2 acall delay1 ajmp int1sub setr2: mov r2,#63h 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) - 6 - 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;一秒標(biāo)
30、志減 1 ajmp check larger: mov a,r0 cjne a,#14h,check;如果 1s 向下運行 , 否者跳到查 停/ 顯示 dec r6;計時一秒 r6自動減 1 mov r0,#00h check: jnb t1,quit;如按下停止鍵退出 acall display jb ok,accout;如果是搶答倒計時 , 如是則查詢搶答 , 否者跳過查詢繼續(xù)倒數(shù)( 這里起到鎖搶答作用 ) ajmp recount accout:jnb p1.0,true1 jnb p1.1,true2 jnb p1.2,true3 - 7 - jnb p1.3,true4 jnb p1
31、.4,true5 jnb p1.5,true6 jnb p1.6,tz3 jnb p1.7,tz4 ajmp recount tz3:jmp true7 tz4:jmp true8 quit: clr ok; 如果按下了 停止鍵 執(zhí)行的程序 clr ring ajmp start ;=正常搶答處理程序 = true1: acall bark; 按鍵發(fā)聲 mov a,r2 mov r6,a; 搶答時間 r2送 r6 mov r3,#01h clr ok; 因為答題的計時不再查詢搶答, 所以就鎖了搶答 ajmp count true2:acall bark; mov a,r2 mov r6,a m
32、ov r3,#02h clr ok ajmp count true3:acall bark; mov a,r2 mov r6,a mov r3,#03h clr ok - 8 - ajmp count true4:acall bark; mov a,r2 mov r6,a mov r3,#04h clr ok ajmp count true5: acall bark; mov a,r2 mov r6,a mov r3,#05h clr ok ajmp count true6: acall bark; mov a,r2 mov r6,a mov r3,#06h clr ok ajmp count
33、 true7: acall bark; mov a,r2 mov r6,a mov r3,#07h clr ok ajmp count true8: acall bark; mov a,r2 mov r6,a mov r3,#08h - 9 - clr ok ajmp count ;=犯規(guī)搶答程序 = error: mov r0,#00h mov th1,#3ch mov 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 check1 fl
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024院子買賣合同范本(含裝修)3篇
- 2025年度智能農(nóng)田除草機械化服務(wù)合同4篇
- 2024自動駕駛測試司機試驗合同
- 2024起重機租賃合同:含特種設(shè)備檢測與認(rèn)證服務(wù)3篇
- 2025年度果樹觀光園果樹租賃經(jīng)營合同范本3篇
- 2024虛擬現(xiàn)實技術(shù)托管服務(wù)合同
- 2025年度彩鋼構(gòu)件回收與再利用合同3篇
- 2024版軟件開發(fā)項目分包協(xié)議3篇
- 2025年度商業(yè)地產(chǎn)租賃合同示范文本11篇
- 2025年度智慧城市建設(shè)承包經(jīng)營合同范本3篇
- 軟件項目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運營管理限公司招聘專業(yè)技術(shù)人才5名高頻重點提升(共500題)附帶答案詳解
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- 鈑金設(shè)備操作培訓(xùn)
- 感染性腹瀉的護理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 水利工程招標(biāo)文件樣本
- 第17課 西晉的短暫統(tǒng)一和北方各族的內(nèi)遷(說課稿)-2024-2025學(xué)年七年級歷史上冊素養(yǎng)提升說課稿(統(tǒng)編版2024)
評論
0/150
提交評論