freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)技術(shù)的八路搶答器設(shè)計(jì)及pcb設(shè)計(jì)-資料下載頁(yè)

2025-06-24 16:15本頁(yè)面
  

【正文】 初設(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 ET0SETB ET1SETB EX0SETB EX1。允許四個(gè)中斷,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0。一開(kāi)始就運(yùn)行定時(shí)器,重置TH1/TL1就可以了。=====查詢程序=====START: MOV R5,0BHMOV R4,0BHMOV R3,0BHACALL DISPLAY。未開(kāi)始搶答時(shí)候顯示FFFJB ,NEXT。dddddddACALL DELAYJB ,NEXT。去抖動(dòng),如果開(kāi)始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢ACALL BARK。按鍵發(fā)聲MOV A,R1MOV R6,A。送R1R6,因?yàn)镽1中保存了搶答時(shí)間SETB OK。搶答標(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 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,0AHDIV ABMOV R5,AMOV R4,BMOV R3,0AHACALL DISPLAY。先在兩個(gè)時(shí)間LED上顯示R1JNB ,INC0。+1s鍵,如按下跳到INCOJNB ,DEC0。,如按下跳到DECOJNB ,BACK0。,如按下跳到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 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,00HACALL 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í)器RECOUNT:MOV A,R6。R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6MOV 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。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í)一秒R6自動(dòng)減1MOV R0,00HCHECK: JNB ,QUIT。如按下停止鍵退出JNB OK,CHECKK 。只在回答倒計(jì)時(shí)才有效AJMP NEXTTCHECKK:JNB ,REPEAT 。判斷是否使用錦囊NEXTT: ACALL DISPLAYJB OK,ACCOUT。如果是搶答倒計(jì)時(shí),如是則查詢搶答,否者跳過(guò)查詢繼續(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 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 BARKMOV 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: MOV R0,00HMOV TH1,3CHMOV TL1,0B0HMOV 34H,R3。犯規(guī)號(hào)數(shù)暫存與(34H)HERE: MOV A,R0CJNE A,06H,FLASH。滅并停響CLR RINGMOV R3,0AHMOV R4,0AHMOV R5,0AH。三燈全滅AJMP CHECK1FLASH: CJNE A,0CH,CHECK1。,響并顯示號(hào)數(shù)并清R0,重新計(jì)SETB RINGMOV R0,00HMOV R3,34H。取回號(hào)數(shù)MOV R5,0BHMOV R4,0BH。顯示FF和號(hào)數(shù)AJMP CHECK1CHECK1: JNB ,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP START。=====顯示程序=====DISPLAY:MOV DPTR,DAT1。查表顯示程序,利用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,6dh,7dh,07h,7fh,6fh,00H,71H。滅,1,2,3,4,5,6,7,8,9,滅,FDAT2: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ī)器周期(顯示用到)=====DELAY2: MOV 32H,43HLOOP3: MOV 33H,1EHMOV A,R7 。每隔60~70個(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),.。AAAA1: MOV A,P1CJNE A,0FFH,AA1 。當(dāng)不全為1時(shí)的數(shù)據(jù)為有效數(shù)據(jù)AA0: MOV 36H,A 。將有效數(shù)據(jù)送到36H暫存AJMP LOOP2AA1: DEC R7AJMP AA0。=====發(fā)聲程序=====BARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING。按鍵發(fā)聲RET。=====TO溢出中斷(響鈴程序)=====T0INT: MOV TH0,0ECHMOV TL0,0FFHJNB RING,OUT。CPL 。OUT: RETI。=====T1溢出中斷(計(jì)時(shí)程序)=====T1INT: MOV TH1,3CHMOV TL1,0B0HINC R0RETIEND31
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1