


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、OK EQU 20H搶; 答開始標(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 為一次溢出中
2、斷SETB EASETB ET0SETB ET1SETB EX0SETB EX1允; 許四個(gè)中斷 ,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0一; 開始就運(yùn)行定時(shí)器 ,以開始顯示 FFF如. 果想重新計(jì)數(shù) ,重置 TH1/TL1 就可以了 ;=查詢程序 =START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY未;開始搶答時(shí)候顯示 FFFJB ,NEXT;dddddddACALL DELAYJB ,NEXT去; 抖動(dòng) ,如果"開始鍵 "按下就向下執(zhí)行 ,否者跳到非法搶答查詢 A
3、CALL BARK按; 鍵發(fā)聲MOV A,R1MOV R6,A;送 R1->R6,因?yàn)?R1 中保存了搶答時(shí)間SETB OK搶; 答標(biāo)志位 ,用于 COUNT 只程序中判斷是否查詢搶答MOV R7,#01H ;讀搶答鍵數(shù)據(jù)信號標(biāo)志,這里表示只讀一次有用信號MOV R3,#0AH;搶答只顯示計(jì)時(shí) ,滅號數(shù)AJMP COUNT進(jìn); 入倒計(jì)時(shí)程序 ," 查詢有效搶答的程序 "在 COUNT里面 NEXT: JNB ,FALSE1JNB ,FALSE2JNB ,FALSE3JNB ,FALSE4JNB ,FALSE5JNB ,FALSE6JNB ,FALSE7JNB ,FAL
4、SE8AJMP START;=非法搶答處理程序 =FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02HAJMP ERRORFALSE3: 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,
5、#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY先;在兩個(gè)時(shí)間 LED 上顯示 R1JNB ,INC0;為 +1s 鍵,如按下跳到 INCOJNB ,DEC0為; -1s 鍵,如按下跳到 DECOJNB ,BACK0為; 確定鍵 ,如按下跳到 BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0如; 果不是 99,R2加1,如果加到 99,R1就置 0,重新加起。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SU
6、BDEC0: MOV A,R1JZ SETR1如; 果 R1為0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETI;=INT1(回答時(shí)間 R2調(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,#00HAC
7、ALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: 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í)器R6RECO
8、UNT:MOV A,R6;R保6 存了倒計(jì)時(shí)的時(shí)間 ,之前先將搶答時(shí)間或回答時(shí)間給MOV B,#0AHDIV AB;除十分出個(gè)位 / 十位MOV 30H,A;十位存于 (30H)MOV 31H,B;個(gè)位存于 (31H)MOV R5,30H;取十位MOV R4,31H;取個(gè)位MOV A,R6SUBB A,#07HJNC LARGER大; 于 5s 跳到 LARGER小, 于等于 5s會(huì)提醒MOV A,R0CJNE A,#0AH,FULL;1s中向下運(yùn)行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHEC下K;面是 1s 的情況 ,響并顯示號數(shù)并清 R0,重新計(jì)SETB
9、 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í)一秒 R6自動(dòng)減 1MOV R0,#00HCHECK: JNB ,QUIT如; 按下停止鍵退出JNB OK,CHECKK只 ; 在回答倒計(jì)時(shí)才有效AJMP NEXTTCHECKK:JNB ,REPEA判T 斷; 是否使用錦囊NEXTT: ACALL DISPLAY(這里起到鎖搶答JB OK,ACCOUT如; 果是搶答倒計(jì)
10、時(shí) ,如是則查詢搶答 ,否者跳過查詢繼續(xù)倒數(shù) 作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ,TRUE1JNB ,TRUE2JNB ,TRUE3JNB ,TRUE4JNB ,TRUE5JNB ,TRUE6JNB ,TZ1JNB ,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8QUIT: CLR OK如; 果按下了 "停止鍵 "執(zhí)行的程序CLR RINGAJMP START;=正常搶答處理程序 =TRUE1: ACALL BARKMOV A,R2MOV R6,A;搶答時(shí)間 R2送 R6MOV R3,#01HCLR O
11、K因; 為答題的計(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 BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARKMOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARKMOV A,R2MOV
12、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: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯規(guī)號數(shù)暫存與 (34H)HERE: MOV A,R0CJNE A,#06H,FLASH向; 下運(yùn)行 -滅并停響CLR RINGMOV R3,#0AHMOV R4,#0AHM
13、OV R5,#0AH;三燈全滅AJMP CHECK1R0,重新計(jì)FLASH: CJNE A,#0CH,CHECK下1面; 是的情況 ,響并顯示號數(shù)并清SETB RINGMOV R0,#00HMOV R3,34H;取回號數(shù)MOV R5,#0BHMOV R4,#0BH;顯示 FF 和號數(shù)AJMP CHECK1CHECK1: JNB ,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP START;=顯示程序 =DISPLAY:MOV DPTR,#DAT查1;表顯示程序 ,利用 P0口做段選碼口輸出 /P2 低三位做位選碼輸出MOV A,R3MO
14、VC 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,6dh,7dh,07h,7fh,6fh,00H,71H;" 滅 ","1","2","3","4","
15、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 個(gè)數(shù) )= DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET ;=延時(shí) 4236個(gè)機(jī)器周期 (去抖動(dòng)用到 )=DELAY: MOV 32H,
16、#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延時(shí) 4236個(gè)機(jī)器周期 (顯示用到 )=DELAY2: MOV 32H,#43HLOOP3: MOV 33H,#1EHMOV A,R7 ;每隔6070個(gè)機(jī)器周期讀一次 P1口,全為1時(shí)為無效數(shù)據(jù) ,繼續(xù)讀 ,有一個(gè)不為 1時(shí),轉(zhuǎn) 到正常搶答處理JNZ AAAA1 沒; 讀到有效數(shù)據(jù)時(shí)繼續(xù)轉(zhuǎn)到 AAAA1LOOP2: DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;=讀搶答按鍵數(shù)據(jù)口程序 =;由于在讀搶答數(shù)據(jù)口的時(shí)候,單片機(jī)首先進(jìn)入倒計(jì)時(shí)程序,再調(diào)用顯示程序,最后才檢測 按鍵口;然而在檢測按鍵口時(shí)動(dòng)態(tài)掃描要調(diào)用三次(4ms) 延時(shí)程序 .這樣就會(huì)導(dǎo)致讀數(shù)據(jù)口出現(xiàn)滯后 ,造成1號優(yōu)先最高 .8號最低 .;故采用在延時(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 暫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融行業(yè)競業(yè)禁止協(xié)議補(bǔ)償金計(jì)算細(xì)則
- 二零二五年度精裝修房屋租賃協(xié)議書
- 二零二五年度主合同與從合同在新能源汽車產(chǎn)業(yè)鏈中的協(xié)同發(fā)展及風(fēng)險(xiǎn)共擔(dān)協(xié)議
- 二零二五年度文化產(chǎn)業(yè)股權(quán)投資合同協(xié)議
- 2025年度苗木種植與生態(tài)農(nóng)業(yè)開發(fā)協(xié)議
- 初中家長會(huì)學(xué)生代表發(fā)言稿
- 2025年林芝貨運(yùn)從業(yè)資格證在哪里練題
- 2025年鶴崗道路貨運(yùn)駕駛員從業(yè)資格考試題庫
- 掛職鍛煉發(fā)言稿
- 網(wǎng)站設(shè)計(jì)與開發(fā)合同
- 社區(qū)獲得性肺炎臨床路徑
- 產(chǎn)品品質(zhì)檢驗(yàn)流程標(biāo)準(zhǔn)規(guī)范模板()
- DB12-595-2015醫(yī)院安全防范系統(tǒng)技術(shù)規(guī)范
- 五年級下冊英語課件-Unit 2 My favourite season B Let's learn 人教PEP版(共15張PPT)
- GB∕T 7260.40-2020 不間斷電源系統(tǒng) UPS 第4部分:環(huán)境 要求及報(bào)告
- 高邊坡施工危險(xiǎn)源辨識及分析
- 水廠項(xiàng)目基于BIM技術(shù)全生命周期解決方案-城市智慧水務(wù)講座課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 三年級學(xué)而思奧數(shù)講義.doc
- 劉姥姥進(jìn)大觀園課本劇劇本3篇
- 產(chǎn)品承認(rèn)書客(精)
評論
0/150
提交評論