




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、OK EQU 20H搶答開(kāi)始標(biāo)志位RING EQU 22H晌鈴標(biāo)志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初設(shè)搶答時(shí)間為 30sMOV R2,#60;初設(shè)答題時(shí)間為 60sMOV TMOD,#11H;設(shè)置未定時(shí)器/模式1MOV TH0,#0F0HMOV TL0,#0FFH越高發(fā)聲頻率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms為一次溢出中斷SETB EASETB
2、 ET0SETB ET1SETB EX0SETB EX的許四個(gè)中斷,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0T開(kāi)始就運(yùn)行定時(shí)器,以開(kāi)始顯示FFF.口果想重新計(jì)數(shù),重置TH1/TL1就可以了;=查詢程序=MOV R4,#0BHMOV R3,#0BHACALL DISPLAY;開(kāi)始搶答時(shí)候顯示 FFFJB ,NEXT;dddddddACALL DELAYJB ,NEX*抖動(dòng),如果"開(kāi)始鍵”按下就向下執(zhí)行,否者跳到非法搶答查詢ACALL BAR噬鍵發(fā)聲MOV A,R1MOV R6,A;送R1->R6因?yàn)镽1中保存了搶答時(shí)間SETB。噬
3、答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答MOV R7,#01H ;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)MOV R3,#0AH搶答只顯示計(jì)時(shí),滅號(hào)數(shù)AJMP COUNT進(jìn)入倒計(jì)時(shí)程序,"查詢有效搶答的程序"在COUNT里面NEXT: JNB ,FALSE1JNB ,FALSE2JNB ,FALSE3JNB ,FALSE4JNB ,FALSE5JNB ,FALSE6JNB ,FALSE7JNB ,FALSE8AJMP START;=非法搶答處理程序=FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02HAJMP ERR
4、ORFALSE3: MOV R3,#03HAJMP ERRORFALSE4: MOV R3,#04HAJMP ERRORFALSE5: MOV R3,#05HAJMP ERRORFALSE6: MOV R3,#06HAJMP ERRORFALSE7: MOV R3,#07HAJMP ERRORFALSE8: MOV R3,#08HAJMP ERROR尸=INT0(搶答時(shí)間R1調(diào)整程序)=INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLA先在兩個(gè)時(shí)間 LED上顯示R1JNB ,INC0為+1s鍵,如按下跳
5、到INCOJNB ,DEC-1s鍵,如按下跳到 DECOJNB ,BACK確定鍵,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;口果不是99,R2加1,如果加到99,R1就置0,重新加起。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1;口果 R1 為0, R1 就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP
6、 INT0SUBBACK0: RETI尸=INT1(回答時(shí)間R調(diào)整程序)=INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB ,INC1JNB ,DEC1JNB ,BACK1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1S
7、UBSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI;=倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)=REPEAT:MOV A,R2®用錦囊時(shí)重新計(jì)時(shí)MOV R6,ACLR RINGCOUNT: MOV R0,#00H重置定時(shí)器中斷次數(shù)MOV TH1,#3CHMOV TL1,#0B0H重置定時(shí)器RECOUNT:MOV A,R6;R保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6MOV B,#0AHDIV AB;除十分出個(gè)位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;個(gè)位存于(31H)MOV R5,3
8、0H;取十位MOV R4,31H;取個(gè)位MOV A,R6SUBB A,#07HJNC LARGERt于5s跳到LARGERJ、于等于5s會(huì)提醒MOV A,R0CJNE A,#0AH,FULL;1即向下運(yùn)行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECK;面是1s的情況,響并顯示號(hào)數(shù)并清 R0重新計(jì)SETB RINGMOV A,R6JZ QUIT計(jì)時(shí)完畢MOV R0,#00HDEC R6 二秒標(biāo)志減1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK;果1s向下運(yùn)行,否者跳到查"停/顯示"DEC R6計(jì)時(shí)一
9、秒R6自動(dòng)減1MOV R0,#00HCHECK: JNB ,QUIT 口按下停止鍵退出JNB OK,CHECKKR在回答倒計(jì)時(shí)才有效AJMP NEXTTCHECKK:JNB ,REPEAT斷是否使用錦囊NEXTT: ACALL DISPLAY(這里起到鎖搶答JB OK,ACCOU加果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(xù)倒數(shù) 作用 )AJMP RECOUNTACCOUT:MOV A,36HJNB ,TRUE1JNB ,TRUE2JNB ,TRUE3JNB ,TRUE4JNB ,TRUE5JNB ,TRUE6JNB ,TZ1JNB ,TZ2AJMP RECOUNTTZ1:JMP TRUE
10、7TZ2:JMP TRUE8QUIT: CLR OK口果按下了 "停止鍵”執(zhí)行的程序CLR RINGAJMP START;=正常搶答處理程序=TRUE1: ACALL BARKMOV A,R2MOV R6,A;搶答時(shí)間 R次 R6MOV R3,#01HCLR OK因?yàn)榇痤}的計(jì)時(shí)不再查詢搶答,所以就鎖了搶答AJMP COUNTTRUE2:ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARKMOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BA
11、RKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARKMOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARKMOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BARKMOV A,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BARKMOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT;=犯規(guī)搶答程序=ERROR: MO
12、V R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與(34H)HERE: MOV A,R0CJNE A,#06H,FLAS而下運(yùn)行-滅并停響CLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三燈全滅AJMP CHECK1R0重新計(jì)FLASH: CJNE A,#0CH,CHECK1面是的情況,響并顯示號(hào)數(shù)并清SETB RINGMOV R3,34H;取回號(hào)數(shù)MOV R5,#0BHMOV R4,#0BH;顯示FF和號(hào)數(shù)AJMP CHECK1CHECK1: JNB ,QUIT1ACALL DISPLAYAJMP HE
13、REQUIT1: CLR RINGCLR OKAJMP START;=顯示程序=DISPLAY:MOV DPTR,#DAT®表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,AACALL DELAY2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0fbHMOV P0,AACALL DELAY2RETDAT1:DB 00h,06h,5bh,4fh,66h
14、,6dh,7dh,07h,7fh,6fh,00H,71H;"滅 ","1","2","3","4","5","6","7","8","9"," 滅 ","F"DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H; 第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅;=加減時(shí)間延時(shí)(起到不會(huì)按下就加N
15、個(gè)數(shù) )=DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET;=延時(shí)4236個(gè)機(jī)器周期(去抖動(dòng)用到)=DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延時(shí)4236個(gè)機(jī)器周期(顯示用到)=LOOP3: MOV 33H,#1EHMOV A,R7 ;每隔6070個(gè)機(jī)器周期讀一次 P1 口,全為1時(shí)為無(wú)效數(shù)據(jù),繼續(xù)讀,有一個(gè)不為1時(shí),轉(zhuǎn) 到正常搶答處理JNZ AAAA1 沒(méi)讀到有效數(shù)據(jù)時(shí)繼續(xù)轉(zhuǎn)到;AAAA1LOOP2: DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;=讀搶答按鍵數(shù)據(jù)口程序=; 由于在讀搶答數(shù)據(jù)口的時(shí)候,單片機(jī)首先進(jìn)入倒計(jì)時(shí)程序,再調(diào)用顯示程序,最后才檢測(cè)按鍵口;然而在檢測(cè)按鍵口時(shí)動(dòng)態(tài)掃描要調(diào)用三次(4ms)延時(shí)程序.這樣就會(huì)導(dǎo)致讀數(shù)據(jù)口出現(xiàn)滯后,造成1號(hào)優(yōu)先最高.8號(hào)最低.; 故采用在延時(shí)子程序中加了讀數(shù)據(jù)口程序.保證了靈敏度和可靠性AAAA1: MOV A,P1CJNE A,#0FFH,AA1當(dāng)不全為1時(shí)的數(shù)據(jù)為有效數(shù)據(jù)AA0: MOV 36H,A ;將有效數(shù)據(jù)送到36H 暫存AJMP L
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省六校聯(lián)盟2025屆三月調(diào)考語(yǔ)文試題含解析
- 西安美術(shù)學(xué)院《商務(wù)英語(yǔ)聽(tīng)力二》2023-2024學(xué)年第一學(xué)期期末試卷
- 同濟(jì)大學(xué)《針灸治療學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年網(wǎng)絡(luò)安全專(zhuān)業(yè)技能競(jìng)賽試題及答案
- 寧波諾丁漢大學(xué)《學(xué)習(xí)科學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 深圳大學(xué)《超聲診斷》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇省百校2025年高三下學(xué)期期末考試(數(shù)學(xué)試題理)試題含解析
- 山東省濟(jì)寧市梁山縣2024-2025學(xué)年初三5月教學(xué)質(zhì)量檢測(cè)試題生物試題(A卷)試題含解析
- 上海市普陀區(qū)2024-2025學(xué)年高三下學(xué)期統(tǒng)一調(diào)研測(cè)試(二)語(yǔ)文試題含解析
- 江西省吉安市七校聯(lián)盟重點(diǎn)中學(xué)2024-2025學(xué)年初三下學(xué)期四調(diào)考試語(yǔ)文試題理試題含解析
- 語(yǔ)言學(xué)概論知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春湖州師范學(xué)院
- 2025-2030中國(guó)印刷電路板(PCB)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 天津東疆綜合保稅區(qū)管理委員會(huì)招聘筆試真題2024
- 2025年離婚協(xié)議書(shū)模板模板
- 2025年陜西漢水電力實(shí)業(yè)(集團(tuán))有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 醫(yī)藥供應(yīng)鏈金融創(chuàng)新-深度研究
- 2025年含氟聚合物項(xiàng)目可行性研究報(bào)告
- 煙花爆竹倉(cāng)庫(kù)租用合同
- 百白破知識(shí)培訓(xùn)課件
- 《醫(yī)院護(hù)理安全管理》課件
- 2024年中考模擬試卷生物(廣東深圳卷)
評(píng)論
0/150
提交評(píng)論