




版權(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為一次溢出中斷SETB EASETB
2、 ET0SETB ET1SETB EX0SETB EX允許四個(gè)中斷,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0r開始就運(yùn)行定時(shí)器,以開始顯示FFF如果想重新計(jì)數(shù),重置TH1/TL1就可以了;=查詢程序 =START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLA未開始搶答時(shí)候顯示 FFFJB ,NEXT;dddddddACALL DELAYJB ,NEXT去抖動(dòng),如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢ACALL BARK按鍵發(fā)聲MOV A,R1MOV R6,A送R1-R6因?yàn)镽1中保存了搶答時(shí)
3、間SETB OK搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答MOV R7,#01H ;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)MOV R3,#0A H搶答只顯示計(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;=INTO(搶答時(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 ,DECC為-1s鍵,如按下跳到 DECOJNB ,BACKC為確定鍵,如按下跳到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 SETR如果R1為0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP I
6、NT0SUBBACK0: RETI;=INT1(回答時(shí)間R2調(diào)整程序)=INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB ,INC1JNB ,BACK1JNB ,DEC1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SU
7、BSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI;=倒計(jì)時(shí)程序 (搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)=REPEAT:MOV A,R2使用錦囊時(shí)重新計(jì)時(shí)MOV R6,ACOUNT: MOV R0,#00H重置定時(shí)器中斷次數(shù)CLR RINGMOV TH1,#3CHMOV TL1,#0B0 H重置定時(shí)器R6RECOUNT:MOV A,R6;R保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給MOV B,#0AHDIV AB;除十分出個(gè)位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;個(gè)位存于(3伯)MOV R5,30 H;取
8、十位MOV R4,31H;取個(gè)位MOV A,R6SUBB A,#07HJNC LARGER于5s跳到LARGER、于等于5s會(huì)提醒MOV A,R0CJNE A,#0AH,FULL;1中 向下運(yùn)行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHEC下面是1s的情況,響并顯示號(hào)數(shù)并清 R0重新計(jì)SETB RINGMOV A,R6JZ QUIT計(jì)時(shí)完畢MOV R0,#00HLARGER: MOV A,R0CJNE A,#14H,CHECK;果1s向下運(yùn)行,否者跳到查”停/顯示”DEC R6計(jì)時(shí)一秒R6自動(dòng)減1MOV R0,#00HCHECK: JNB ,QUI如按下停止鍵
9、退出JNB OK,CHECKKH在回答倒計(jì)時(shí)才有效AJMP NEXTTCHECKK:JNB ,REPEA判斷是否使用錦囊NEXTT: ACALL DISPLAY(這里起到鎖搶答JB OK,ACCOUtP果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù) 作用 )AJMP RECOUNTACCOUT:MOV A,36HJNB ,TRUE1JNB ,TRUE2JNB ,TRUE3JNB ,TRUE4JNB ,TRUE5JNB ,TRUE6JNB ,TZ1JNB ,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8QUIT: CLR OK如果按下了 ”停止鍵”執(zhí)行的
10、程序CLR RINGAJMP START;=正常搶答處理程序 =TRUE1: ACALL BARKMOV A,R2MOV R6,A搶答時(shí)間 R2送 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,ACLR OKMOV R3,#03HAJMP COUNTTRUE4:ACALL BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUN
11、TTRUE5:ACALL BARKMOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARKMOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BARKMOV A,R2MOV R3,#07HMOV R6,AMOV P0,AACALL DELAY2CLR OKAJMP COUNTTRUE8:ACALL BARKMOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT;=犯規(guī)搶答程序 =ERROR: MOV R0,#00HMOV TH1,#3CHMO
12、V TL1,#0B0HMOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與(34H)HERE: MOV A,R0CJNE A,#06H,FLASH向下運(yùn)行-滅并停響CLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0A H;三燈全滅AJMP CHECK1R0重新計(jì)FLASH: CJNE A,#0CH,CHEC下面是的情況,響并顯示號(hào)數(shù)并清MOV R3,34H;取回號(hào)數(shù)MOV R5,#0BHMOV R4,#0BH顯示FF和號(hào)數(shù)AJMP CHECK1CHECK1: JNB ,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP STAR
13、T;=顯示程序 =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 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,5,6,7,8,9,滅 ,FD
14、AT2: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,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延時(shí) 4236個(gè)機(jī)器周期 (顯示用到 )=LOOP3: MOV
15、 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號(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 LOOP2AA1:
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 192-2025普通螺紋牙型
- GB/T 45641-2025開士哥拉毛
- 2024-2025學(xué)年魯教版(五四制)七年級(jí)數(shù)學(xué)下冊期末考試計(jì)算專練
- 2021-2026年中國電液執(zhí)行機(jī)構(gòu)行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報(bào)告
- 焦末項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 中國網(wǎng)絡(luò)整合營銷服務(wù)行業(yè)市場行情動(dòng)態(tài)分析及發(fā)展前景趨勢預(yù)測報(bào)告
- 2025年 興化市明德技工學(xué)校招聘考試筆試試題附答案
- 2025年 黑龍江煙草考試試題附答案
- 2024年中國丁二烯橡膠行業(yè)市場調(diào)查報(bào)告
- 2025年中國存儲(chǔ)部件行業(yè)市場深度分析及投資策略研究報(bào)告
- 2024年湖南省公安廳招聘警務(wù)輔助人員筆試真題
- 弘揚(yáng)中國精神的課件
- 2025年高考英語全國二卷試題含答案
- 2025江蘇揚(yáng)州寶應(yīng)縣“鄉(xiāng)村振興青年人才”招聘67人筆試備考題庫及完整答案詳解一套
- 云南省玉溪市2023-2024學(xué)年高二下學(xué)期期末教學(xué)質(zhì)量檢測語文試卷(含答案)
- 撫州市樂安縣招聘城市社區(qū)工作者筆試真題2024
- 網(wǎng)絡(luò)服務(wù)器配置與管理(微課版) 教案 項(xiàng)目02 虛擬化技術(shù)和VMware-2
- 2025年西式面點(diǎn)師(中級(jí))面包烘焙實(shí)操考試試卷
- T/CAPEC 3-2018汽輪機(jī)制造監(jiān)理技術(shù)要求
- 工程完工后的回訪與保修服務(wù)承諾
- 醫(yī)療質(zhì)量管理質(zhì)控科的未來發(fā)展趨勢與挑戰(zhàn)
評(píng)論
0/150
提交評(píng)論