版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 基于單片機(jī)的智能搶答器系統(tǒng)摘要:電子智能搶答計(jì)分器在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本設(shè)計(jì)使用STC89C51單片機(jī)來設(shè)計(jì)智能搶答器,組數(shù)可以在六組以任意使用。并且具有倒計(jì)時(shí)和時(shí)間設(shè)置與報(bào)警功能。利用STC89C51單片機(jī)對(duì)信號(hào)進(jìn)行鎖存、顯示等功能。分別從硬件和軟件兩方面闡述了該控制系統(tǒng)的設(shè)計(jì)方法,并經(jīng)過調(diào)試和運(yùn)行使該系統(tǒng)達(dá)到預(yù)期目標(biāo),具有反應(yīng)快、功能齊全、實(shí)用性強(qiáng)的特點(diǎn)。引言隨著微電子
2、技術(shù)、電力電子技術(shù)、傳感器技術(shù)、永磁材料技術(shù)、自動(dòng)控制技術(shù)、微機(jī)應(yīng)用技術(shù)的發(fā)展,使單片微型計(jì)算機(jī)也得到迅速的發(fā)展,單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。單片機(jī)(單片微型計(jì)算機(jī))的應(yīng)用已經(jīng)滲透到國民經(jīng)濟(jì)的各個(gè)部門和領(lǐng)域,它起到了越來越重要的作用。單片微型計(jì)算機(jī)就是將中央處理單元、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計(jì)算機(jī)。因此一塊芯片就構(gòu)成了一臺(tái)計(jì)算機(jī)。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計(jì)算機(jī)。它作為嵌入式控制系統(tǒng)的主體與核心,代替了傳統(tǒng)的控制
3、系統(tǒng)的常規(guī)電子線路。同時(shí)樓宇智能化的發(fā)展與成熟,也為基于單片機(jī)的照明控制系統(tǒng)的普與與應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。1 系統(tǒng)設(shè)計(jì)要點(diǎn)系統(tǒng)設(shè)計(jì)主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設(shè)計(jì)。硬件設(shè)計(jì)部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對(duì)硬件進(jìn)行調(diào)試、測試,以達(dá)到設(shè)計(jì)要求。軟件設(shè)計(jì)部分,首先在總體設(shè)計(jì)中完成系統(tǒng)總框圖和各模塊的功能設(shè)計(jì),擬定詳細(xì)的工作計(jì)劃;然后進(jìn)行具體設(shè)計(jì),包括各模塊的流程圖,選擇合適的編程語言和工具,進(jìn)行代碼設(shè)計(jì)等;最后是對(duì)軟件進(jìn)行調(diào)試、測試,達(dá)到所需功能要求。在系統(tǒng)設(shè)計(jì)中設(shè)計(jì)方法的選用是系統(tǒng)設(shè)計(jì)能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)
4、計(jì)方法,該方法保證設(shè)計(jì)電路的標(biāo)準(zhǔn)化、模塊化。硬件電路的設(shè)計(jì)最重要的選擇用于控制的單片機(jī),并確定與之配套的外圍芯片,使所設(shè)計(jì)的系統(tǒng)既經(jīng)濟(jì)又高性能。硬件電路設(shè)計(jì)還包括輸入輸出接口設(shè)計(jì),畫出詳細(xì)電路圖,標(biāo)出芯片的型號(hào)、器件參數(shù)值,根據(jù)電路圖在仿真機(jī)上進(jìn)行調(diào)試,發(fā)現(xiàn)設(shè)計(jì)不當(dāng)與時(shí)修改,最終達(dá)到設(shè)計(jì)目的。軟件設(shè)計(jì)的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51系列單片機(jī),采用匯編語言編寫程序。系統(tǒng)軟件設(shè)計(jì)采用模塊化系統(tǒng)設(shè)計(jì)方法,先編寫各個(gè)功能模塊子程序,然后進(jìn)行組合與調(diào)整,經(jīng)過調(diào)試后,達(dá)到設(shè)計(jì)功能要求。2 各模塊方案選擇和論證2.1 搶答器顯示模塊顯示模塊主要是顯示搶答的時(shí)間,組別等。我考慮有以
5、下兩種顯示方案。方案1:使用液晶屏顯示時(shí)間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險(xiǎn),平面直角顯示以與影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)的特點(diǎn)。但由于只需要顯示時(shí)間和組別的數(shù)字,信息量比較少,且由于液晶是以點(diǎn)陣的模式顯示各種符號(hào),需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時(shí),不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護(hù)。方案2:使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對(duì)外界環(huán)境要求低,易于維護(hù),同時(shí)其精度高,稱量快,精確可靠,操作簡單。數(shù)
6、碼顯示是采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。根據(jù)以上的論述,采用方案二。2.2 控制器模塊控制器主要用于各模塊控制顯示、搶答、音樂等??刂破鞯倪x擇有以下兩鐘方案。方案1:采用FPGA(現(xiàn)場可編程門列陣)作為系統(tǒng)的控制器。FPGA可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性,并且可以應(yīng)用EDA軟件仿真、調(diào)試,易于進(jìn)行功能擴(kuò)展。FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。但由于本設(shè)計(jì)對(duì)數(shù)據(jù)處理的速度要求不高,F(xiàn)PGA的高速處理的優(yōu)勢得不到充分體現(xiàn),并且由于其集成度高,使其成本偏高,同時(shí)
7、由于芯片的引腳較多,實(shí)物硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作。方案2:采用ATMEL公司的STC89C51作為系統(tǒng)控制器的CPU方案。單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)用廣泛?;谝陨戏治鰯M訂方案二。2.3 電源方案的選擇系統(tǒng)需要多個(gè)電源,STC89C51使用5V穩(wěn)壓電源,四聯(lián)數(shù)碼管供電電壓為5V。給出以下兩個(gè)方案。方案1:采用升壓型穩(wěn)壓電路。用兩片MC34063芯片分別將3V的電池電壓進(jìn)行直流嶄波調(diào)壓,得到5V穩(wěn)壓輸出。只需使用兩節(jié)電池,既節(jié)省了電池,又減小系統(tǒng)體
8、積重量但該電路供電電流小,供電時(shí)間短,無法使相對(duì)龐大的系統(tǒng)穩(wěn)定運(yùn)作。方案2:由于所做的設(shè)計(jì)不需要很高的精度要求,結(jié)合這個(gè)電源分析只要給系統(tǒng)5-9V的電壓基本能輸出顯示和運(yùn)用搶答,故只需利用一節(jié)9V的電池便可使整個(gè)電路工作。該方法方便簡單,節(jié)省材料。綜上所述,選擇方案二。2.4 鍵盤的選擇鍵盤是單片機(jī)不可缺少的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤按結(jié)構(gòu)形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來產(chǎn)生鍵碼。在單片機(jī)中使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨(dú)立式鍵盤,行列式鍵盤等。方案1:獨(dú)立式鍵盤鍵盤接口中使用多少根
9、I/O線,鍵盤中就有幾個(gè)按鍵,鍵盤接口使用了6根I/O口線,該鍵盤就有6個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤中的按鍵靈活的編碼。如圖2-1。P101234567圖2-1獨(dú)立式鍵盤最簡單的編碼方式就是根據(jù)I/O輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài)進(jìn)行編碼,稱按鍵直接狀態(tài)碼,對(duì)于這樣編碼的獨(dú)立式鍵盤,CPU可以通過直接讀取I/O口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí)別,這樣形式的鍵盤結(jié)構(gòu)簡單,按鍵識(shí)別容易。獨(dú)立式鍵盤的缺點(diǎn)是需要占用比較多的I/O口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中需要的按鍵比較少或I/O口線比較富余時(shí),可以
10、采用這樣類型的鍵盤。方案2:行列式鍵盤行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,在行線和列線的每個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵中按鍵的個(gè)數(shù)是M*N個(gè)。這種形式的鍵盤結(jié)構(gòu),能夠有效的提高單片機(jī)系統(tǒng)中I/O的利用率,列線接P1.0P1.3行線接P1.4P1.7,行列適用于按鍵輸入多的情況。CPU對(duì)鍵盤的掃描可以采用取程序控制的隨機(jī)方式,即只有在CPU空閑是時(shí)才去掃描鍵盤,響應(yīng)操作人員的鍵盤輸入,但CPU在執(zhí)行應(yīng)用程序的過程中,不能響應(yīng)鍵盤輸入,對(duì)鍵盤的掃描可以采用定時(shí)方式,即利用單片機(jī)部定時(shí)器每隔一定時(shí)間對(duì)鍵盤掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合,CPU總是定時(shí)的關(guān)心鍵
11、盤狀態(tài)。在大多數(shù)情況下,CPU對(duì)鍵盤可能進(jìn)行空掃描。為了提高CPU的效率而又能與時(shí)響應(yīng)鍵盤輸入,可以采用中斷方式,既CPU平時(shí)不必掃描鍵盤,只要當(dāng)鍵盤上有鍵盤閉合時(shí)就產(chǎn)生中斷請(qǐng)求,向CPU申請(qǐng)中斷后,立即對(duì)鍵盤上有鍵盤進(jìn)性掃描,識(shí)別閉合鍵,并做相應(yīng)的處理。如圖2-2所示。0123456789ABCDEFP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7圖2-2行列式鍵盤根據(jù)以上的論述,采用方案一,在本系統(tǒng)中采用了獨(dú)立式鍵盤,其按鍵比較少,且鍵盤中各個(gè)按鍵的工作互不干擾。3 模塊的最終方案主控制器模塊:采用STC89C51單片機(jī)控制。搶答器顯示模塊:數(shù)碼管顯示。電源方案的選擇:采用
12、9V電池供電。搶答器鍵盤模塊:獨(dú)立式鍵盤。4功能介紹如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按"搶答時(shí)間調(diào)節(jié)"鍵或"答題時(shí)間調(diào)節(jié)"鍵進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)會(huì)顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"-1s"鍵,時(shí)間LED上會(huì)顯示改變后的時(shí)間,調(diào)整圍為0s99s, 0s時(shí)再減1s會(huì)跳到99,99s時(shí)再加1s會(huì)變到0s。 主持人按"搶答開始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)30s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻進(jìn)入回答倒計(jì)時(shí)(預(yù)設(shè)60
13、s搶答時(shí)間),不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到小于5s會(huì)每秒響一下提示音。 如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按"停止"按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按"搶答開始"進(jìn)入下次搶答計(jì)時(shí)。 如果主持人未按"搶答開始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號(hào)數(shù)并響個(gè)不停,直到按下"停止" 鍵為止。 5 搶答器的軟件設(shè)計(jì)通過ST89C51芯片的控制,從而構(gòu)成了整個(gè)電路。搶答組數(shù)可以在六組以任意使用,其流程如圖5-3圖5-3搶答系統(tǒng)流程圖5.1 數(shù)碼顯示軟件設(shè)計(jì)采
14、用動(dòng)態(tài)顯示,顯示器由4個(gè)共陰極數(shù)碼管組成,數(shù)碼顯示程序流程如圖5-4。圖5-4數(shù)碼顯示流程圖5.2 音樂音頻輸出音樂音頻輸出由輸出,流程圖如圖5-5圖5-5音樂音頻輸出流程圖6 調(diào)試情況分析6.1 硬件調(diào)試6.1.1 電路板的制作與檢查考慮到本系統(tǒng)所用元器件較少,大部分功能都是通過軟件編程來實(shí)現(xiàn),同時(shí)也出于對(duì)畢業(yè)設(shè)計(jì)成本的考慮,因此所用到的板子是自己手工制作的PCB板。在電路板的制作中,首先要進(jìn)行線路的排布。利用PROTEL 軟件模擬實(shí)際電路板的線路走向,盡量避免線路出現(xiàn)交叉短路,電源線路盡量安排在電路板的最外圈。PCB板刻錄完成之后,開始進(jìn)行焊接工作。焊接完后進(jìn)行電路板檢查,將原線路圖與實(shí)際
15、焊接的電路板進(jìn)行對(duì)比,由于線路不多,所以用萬用表的歐姆檔或是短路聲響指示功能來做焊點(diǎn)的檢測,如此可以避免焊接時(shí)漏焊、虛焊和配線錯(cuò)誤的問題,同時(shí)保證了所制作出來的線路與原設(shè)計(jì)線路的一致性。6.1.2 電路模塊調(diào)試本設(shè)計(jì)硬件部分主要為顯示模塊按鍵模塊。硬件電路功能檢測主要針對(duì)這兩部分進(jìn)行測試。對(duì)于顯示電路,由于使用的是四聯(lián)數(shù)碼管顯示屏,首先要確定數(shù)碼管的共陰還是共陽極。因此先用萬用表檢測是什么極性。然后再先固定下,檢查顯示電路能否正常顯示。最后再焊接上去。 對(duì)于按鍵部分,首先要確定各個(gè)按鍵是否完好,先自己接到一個(gè)簡易的電路上測試下,確定完好后再焊接。6.2 軟件調(diào)試的基本方法軟件的設(shè)計(jì)與調(diào)試實(shí)行分
16、模塊實(shí)現(xiàn)方法。本設(shè)計(jì)軟件調(diào)試中的分模塊包括顯示功能模塊、調(diào)正時(shí)間功能模塊,搶答功能模塊以報(bào)警功能模塊。各個(gè)獨(dú)立模塊功能調(diào)試成功后,將這些模塊程序通過主程序合并在一起,最后再對(duì)合并后的總程序進(jìn)行調(diào)試。各軟件模塊首先要通過PC和仿真器進(jìn)行軟件調(diào)試,當(dāng)仿真效果符合要求后,再燒寫進(jìn)單片機(jī)看能否在實(shí)際電路板上正常工作。編程語言的軟件設(shè)計(jì)采用MCS-51匯編語言編寫,所使用的調(diào)試軟件包括proteus和MedWin2.396.2.1 軟件調(diào)試問題分析LED顯示問題:本次設(shè)計(jì)的最終方案是采用LED顯示屏實(shí)現(xiàn)顯示功能,最初數(shù)碼管顯示不正常,出現(xiàn)閃爍現(xiàn)象。通過調(diào)試發(fā)現(xiàn)這是由于延時(shí)時(shí)間選擇不當(dāng)會(huì)使人眼產(chǎn)生視覺暫留
17、效果,每一次顯示時(shí)都必須加入適當(dāng)?shù)臅r(shí)間延時(shí)。由于一開始所選用的延時(shí)時(shí)間太短,因此出現(xiàn)閃爍現(xiàn)象,在增加顯示延時(shí)之后,數(shù)碼管顯示正常。蜂鳴器異常啟動(dòng)問題:蜂鳴器的啟動(dòng)/關(guān)閉是通過單片機(jī)輸出的控制信號(hào)來實(shí)現(xiàn)的,當(dāng)當(dāng)前時(shí)間與鬧鐘設(shè)置時(shí)間比較吻合時(shí),單片機(jī)將對(duì)鬧鈴控制口執(zhí)行取反命令,從而啟動(dòng)蜂鳴器發(fā)聲。一開始編寫程序時(shí),沒有對(duì)口的最初狀態(tài)作正確設(shè)置,由于系統(tǒng)開機(jī)復(fù)位后,口處于高電平狀態(tài),因此出現(xiàn)一開機(jī)蜂鳴器就處于啟動(dòng)狀態(tài)的情況。通過在主程序最開始加入對(duì)口取零命令后,蜂鳴器啟動(dòng)/關(guān)閉控制恢復(fù)正常。按鍵消抖問題:在最初編寫程序時(shí),鍵盤控制部分按照常例加入了按鍵消抖程序。在實(shí)際調(diào)試中,發(fā)現(xiàn)按鍵出現(xiàn)反應(yīng)不靈敏現(xiàn)
18、象。這是因?yàn)樵阪I盤控制程序中,除了消抖程序外,還加入了按鍵提示音程序(每次按壓鍵盤時(shí),蜂鳴器發(fā)出“嗶”的一聲提示音)。由于在調(diào)用提示音子程序時(shí),實(shí)際上已實(shí)現(xiàn)了一次時(shí)間的延時(shí),因此再加入按鍵消抖程序的延時(shí)后,致使延時(shí)時(shí)間過長而出現(xiàn)按鍵反應(yīng)不靈敏問題。通過調(diào)試發(fā)現(xiàn)提示音子程序本身所產(chǎn)生的延時(shí)已能夠滿足按鍵消抖時(shí)間延遲的要求,因此在鍵盤控制程序中無需再加入專門的按鍵消抖程序。在去除按鍵消抖程序后,按鍵控制靈敏度恢復(fù)正常。附件1:硬件電路原理圖- 11 - / 24附件2:PCB圖附件3:元器件清單列表元器件描述元器件編號(hào)數(shù)量單片機(jī)STC89C511LED顯示屏四聯(lián)共陰1晶體振蕩器12MHZ1三極管9
19、0121蜂鳴器/1電容30PF3電阻20K19腳排阻/1按鍵/13附件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 0040HMAIN: MOV R1,#30;初設(shè)搶答時(shí)間為30s MOV R2,#60;初設(shè)答題時(shí)間為60s MOV TMOD,#11H;設(shè)置未定時(shí)器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越
20、高發(fā)聲頻率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms為一次溢出中斷 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允許四個(gè)中斷,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0;一開始就運(yùn)行定時(shí)器,以開始顯示FFF.如果想重新計(jì)數(shù),重置TH1/TL1就可以了;=查詢程序=START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未開始搶答時(shí)候顯示FFFINT0,NEXT;ddddddd ACALL DELAY INT
21、0,NEXT;去抖動(dòng),如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL BARK;按鍵發(fā)聲 MOV A,R1 MOV R6,A;送R1->R6,因?yàn)镽1中保存了搶答時(shí)間 SETB OK;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答 MOV R3,#0AH;搶答只顯示計(jì)時(shí),滅號(hào)數(shù) AJMP COUNT;進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序"在COUNT里面NEXT:JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB
22、P1.5,FALSE6 AJMP STARTTZ1:JMP FALSE7TZ2:JMP FALSE8;=非法搶答處理程序=FALSE1: ACALL BARK;按鍵發(fā)聲MOV R3,#01H AJMP ERRORFALSE2: ACALL BARKMOV R3,#02H AJMP ERRORFALSE3: ACALL BARKMOV R3,#03H AJMP ERRORFALSE4: ACALL BARKMOV R3,#04H AJMP ERRORFALSE5: ACALL BARKMOV R3,#05H AJMP ERRORFALSE6: ACALL BARKMOV R3,#06H AJMP
23、 ERRORFALSE7: ACALL BARKMOV R3,#07H AJMP ERRORFALSE8: ACALL BARKMOV R3,#08H AJMP ERROR;=INT0(搶答時(shí)間R1調(diào)整程序)=INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在兩個(gè)時(shí)間LED上顯示R1 JNB T0,INC0;T0為+1s鍵,如按下跳到INCO JNB T1,DEC0;T1為-1s鍵,如按下跳到DECO JNB INT1,BACK0;INT1為確定鍵,如按下跳到BACKOAJMP IN
24、T0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1;如果R1為0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI ;=INT1(回答時(shí)間R2調(diào)整程序)=INT1SUB:MOV
25、A,R2 MOV B,#0AH DIV ABMOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB T0,INC1 JNB T1,DEC1 JNB INT1,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUBDEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,#63H AC
26、ALL DELAY1 AJMP INT1SUBBACK1: RETI ;=倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)=COUNT: MOV R0,#00H;重置定時(shí)器中斷次數(shù) MOV TH1,#3CH MOV TL1,#0B0H;重置定時(shí)器RECOUNT:MOV A,R6;R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6 MOV B,#0AH DIV AB;除十分出個(gè)位/十位 MOV 30H,A;十位存于(30H) MOV 31H,B;個(gè)位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取個(gè)位 MOV A,R6 SUBB A,#07H JNC LARGER;大
27、于5s跳到LARGER,小于等于5s會(huì)提醒 MOV A,R0 CJNE A,#0AH,FULL;1s中0.5s向下運(yùn)行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì) SETB RING MOV A,R6 JZ QUIT;計(jì)時(shí)完畢 MOV R0,#00H DEC R6;一秒標(biāo)志減1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK;如果1s向下運(yùn)行,否者跳到查"停/顯示" DEC R6;計(jì)時(shí)一秒R6自動(dòng)減1 MOV R0,#00HCHECK: JNB
28、 T1,QUIT;如按下停止鍵退出 ACALL DISPLAY OK,ACCOUT;如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用) AJMP RECOUNTACCOUT:JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.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
29、RING AJMP START;=正常搶答處理程序=TRUE1: ACALL BARK;按鍵發(fā)聲 MOV A,R2 MOV R6,A;搶答時(shí)間R2送R6 MOV R3,#01H CLR OK;因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答 AJMP COUNTTRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3
30、,#04H CLR OK AJMP COUNTTRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTTRUE7: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP COUNTTRUE8: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT;=犯規(guī)搶答程序=ERRO
31、R: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH;0.5s向下運(yùn)行->滅并停響 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三燈全滅 AJMP CHECK1FLASH: CJNE A,#14H,CHECK1;下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì) SETB RING MOV R0,#00H MOV R3,34H;取回號(hào)數(shù) MOV R5,#0BH MOV R4,#0BH;顯示FF和號(hào)數(shù) AJMP CHECK1CHECK1: JNB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 清潔服務(wù)企業(yè)人力資源優(yōu)化配置與培訓(xùn)考核試卷
- 石材加工行業(yè)科技創(chuàng)新與成果轉(zhuǎn)化考核試卷
- 疾病預(yù)防控制與公共衛(wèi)生跨區(qū)域合作考核試卷
- 程序設(shè)計(jì)的課程設(shè)計(jì)
- 洗浴行業(yè)服務(wù)品質(zhì)提升策略實(shí)施與優(yōu)化考核試卷
- 2024中英電子商務(wù)平臺(tái)合作合同范本3篇
- 石墨在半導(dǎo)體照明材料的研究考核試卷
- 2024年版保險(xiǎn)代理合同:保險(xiǎn)產(chǎn)品代理銷售協(xié)議
- 2024養(yǎng)殖雞鴨大棚租賃與環(huán)保治理一體化合同范本3篇
- 礦產(chǎn)資源法與礦業(yè)權(quán)法律實(shí)務(wù)考核試卷
- 軍隊(duì)文職(新聞專業(yè))招聘考試(重點(diǎn))題庫200題(含答案解析)
- 人教版(2024)數(shù)學(xué)七年級(jí)上冊期末測試卷(含答案)
- 2024-2020年上海高考英語作文試題匯編 (解讀及范文)
- 上海市2023-2024學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷(含答案)
- 非物質(zhì)文化遺產(chǎn)主題班會(huì)之英歌舞課件
- 港口經(jīng)濟(jì)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年上海海事大學(xué)
- 北京市東城區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末生物試題
- ISO28000:2022供應(yīng)鏈安全管理體系
- 毒理學(xué)基礎(chǔ)期末考試試題整理大全附答案
- 起重機(jī)設(shè)計(jì)手冊
- 氨與氯化銨混合液中銨根和氨的含量測定-實(shí)驗(yàn)方案(一)
評(píng)論
0/150
提交評(píng)論