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

正文內(nèi)容

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

2024-12-06 01:17本頁(yè)面

【導(dǎo)讀】本文設(shè)計(jì)出以AT89C51單片機(jī)為核心的八路搶答器,采用了數(shù)字顯示器直接指。用了單片機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、功能強(qiáng)大、可靠性好、實(shí)用性強(qiáng)的特點(diǎn)。本設(shè)計(jì)是以搶答為出發(fā)點(diǎn)??紤]到根據(jù)需要設(shè)定限時(shí)回答的功能,利用89C51單片。用開(kāi)關(guān)做鍵盤(pán)輸入,蜂鳴器發(fā)聲提示。搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效;滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在該狀態(tài)下,按鍵是無(wú)效的。

  

【正文】 OV TL1,0B0H ; 50ms 為一次溢出中斷 SETB EA SETB ET0 SETB ET1 ;允許兩個(gè)中斷 T0/T1 CLR OK CLR RING SETB TR1 SETB TR0 ; 一開(kāi)始就運(yùn)行定時(shí)器,以顯示 FFF。 如果想從新計(jì)數(shù) , 重置TH1/TL1 就可以了 //查詢程序 // START: MOV DATAO,0FFH ;初始化 MOV R5,0bH MOV R4,0bH MOV R3,0bH ACALL DISPLAY ; 未開(kāi)始搶答時(shí)顯示 FFF JNB ,SELSUB0 JNB ,TZ3 ;倒計(jì)時(shí)調(diào)整 JB ,NEXT ACALL DELAY JB ,NEXT ; 去抖動(dòng) ,如果按下“開(kāi) 始鍵 ” 就向下執(zhí)行 , 否則跳到非法搶答查詢 SETB EX0 ;開(kāi)放 INT0 ACALL BARK ;按鍵發(fā)聲 23 MOV A,R1 MOV R6,A ; 送 R1 到 R6, 因?yàn)?R1 中保存了搶答時(shí)間 SETB OK ;搶答標(biāo)志位,在使用錦囊時(shí)用作判斷是搶答倒計(jì)時(shí)還是回答倒計(jì)時(shí) MOV R3,0AH ;搶答只顯示計(jì)時(shí),滅號(hào)數(shù) AJMP COUNT ;進(jìn)入倒計(jì)時(shí)程序,查詢有效搶答 NEXT: JNB ,FALSE1 JNB ,FALSE2 JNB ,FALSE3 JNB ,FALSE4 JNB ,FALSE5 JNB ,FALSE6 JNB ,TZ1 JNB ,TZ2 AJMP START TZ1: AJMP FALSE7 TZ2: AJMP FALSE8 TZ3: AJMP SELSUB1 //非法搶答處理程序 // FALSE1: MOV R3,01H AJMP ERROR FALSE2: MOV R3,02H AJMP ERROR FALSE3: MOV R3,03H AJMP ERROR FALSE4: MOV R3,04H AJMP ERROR FALSE5: MOV R3,05H AJMP ERROR FALSE6: MOV R3,06H AJMP ERROR FALSE7: MOV R3,07H AJMP ERROR FALSE8: MOV R3,08H AJMP ERROR //SELSUB0 搶答時(shí)間 R1 調(diào)整程序 // SELSUB0: MOV A,R1 MOV B,0AH DIV AB MOV R4,A MOV R5,B MOV R3,0AH ACALL DISPLAY ;先 在兩個(gè)時(shí)間 LED 上顯示 R1 JNB ,INC0 ; 為 +1s, 按下 跳 到 INC0 24 JNB ,DEC0 ; 為 1s, 按下跳到 DEC0 JNB ,BACK0 ; 為確定鍵,按下跳到 BACK0 AJMP SELSUB0 INC0: MOV A,R1 CJNE A,63H,ADD0 ;如果 R1 不是 99, R1 就加 1,如果是 99, R1 就置 0 MOV R1,00H ACALL DELAY1 AJMP SELSUB0 ADD0: INC R1 ACALL DELAY1 AJMP SELSUB0, DEC0: MOV A,R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP SELSUB0 SETR1: MOV R1,63H ACALL DELAY1 AJMP SELSUB0 BACK0: AJMP START //SELSUB1(回答時(shí)間 R2 調(diào)整程序 )// SELSUB1: MOV A,R2 MOV B,0AH DIV AB MOV R4,A MOV R5,B MOV R3,0AH ACALL DISPLAY JNB ,INC1 JNB ,DEC1 JNB ,BACK1 AJMP SELSUB1 INC1: MOV A,R2 CJNE A,63H,ADD1 MOV R2,00H ACALL DELAY1 AJMP SELSUB1 ADD1: INC R2 ACALL DELAY1 AJMP SELSUB1 DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 25 AJMP SELSUB1 SETR2: MOV R2,63H ACALL DELAY1 AJMP SELSUB1 BACK1: AJMP START //啟用錦囊程序 // REPEAT: MOV A,38H MOV R6,A CLR RING //倒計(jì)時(shí)程序 // COUNT: MOV R0,00H ;重置定時(shí)器中斷次數(shù) MOV TH1,3CH MOV TL1,0B0H ;重置定時(shí)器 RECOUNT: MOV A,R6 ; R6 保存了倒計(jì)時(shí)的時(shí)間 MOV B,0AH DIV AB ;除 10 分出十位和各位 MOV 30H,A ;十位存到( 30H) MOV 31H,B ;個(gè)位存到( 31H) MOV R4,30H ;取十位 MOV R5,31H ;取個(gè)位 MOV A,R6 SUBB A,07H JNC LARGER ;大于 5s 跳到 LARGER,小于等于 5s 會(huì)提醒 MOV A,R0 CJNE A,0AH,FULL CLR RING AJMP CHECK FULL: CJNE A,14H,CHECK SETB RING MOV A,R6 JZ QUIT ;計(jì)時(shí) MOV R0,00H DEC R6 AJMP CHECK LARGER: MOV A,R0 CJNE A,14H,CHECK DEC R6 MOV R0,00H CHECK: JNB ,QUIT ;按下停止鍵就退出 JNB OK, CHECKK ;只有回答倒計(jì)時(shí)有效 AJMP NEXTT CHECKK: JNB ,REPEAT ;判斷是否使用錦囊 NEXTT: ACALL DISPLAY 26 JB OK,ACCOUT AJMP RECOUNT ACCOUT: MOV A,DATAO JNB ,TRUE1 JNB ,TRUE2 JNB ,TRUE3 JNB ,TRUE4 JNB ,TRUE5 JNB ,TRUE6 JNB ,TZ7 JNB ,TZ8 AJMP RECOUNT TZ7: AJMP TRUE7 TZ8: AJMP TRUE8 QUIT: CLR OK CLR RING AJMP START //正常搶答處理程序 // TRUE1: ACALL BARK MOV A,R2 MOV R6,A MOV R3,01H CLR OK AJMP COUNT TRUE2: ACALL BARK MOV A,R2 MOV R6,A MOV R3,02H CLR OK AJMP COUNT TRUE3: ACALL BARK MOV A,R2 MOV R6,A MOV R3,03H CLR OK AJMP COUNT TRUE4: ACALL BARK MOV A,R2 MOV R6,A MOV R3,04H CLR OK AJMP COUNT TRUE5: ACALL BARK MOV A,R2 27 MOV R6,A MOV R3,05H CLR OK AJMP COUNT TRUE6: ACALL BARK MOV A,R2 MOV R6,A MOV R3,06H CLR OK AJMP COUNT TRUE7: ACALL BARK MOV A,R2 MOV R6,A MOV R3,07H CLR OK AJMP COUNT TRUE8: ACALL BARK MOV A ,R2 MOV R6,A MOV R3,08H CLR OK AJMP COUNT // 犯規(guī)搶答程序 // ERROR: MOV R0,00H MOV TH1,3CH MOV TL1,0B0H MOV 34H,R3 HERE: MOV A,R0 CJNE A, 06H,FLASH CLR RING MOV R3,0AH MOV R4,0AH MOV R5,0AH ;三燈全滅 AJMP CHECK1 FLASH: CJNE A,0CH,CHECK1 SETB RING MOV R0,00H MOV R3,34H ;取回號(hào)數(shù) MOV R5,0BH MOV R4,0BH ;顯示 FF 和號(hào)數(shù) AJMP CHECK1 CHECK1: JNB , QUIT1 ACALL DISPLAY AJMP HERE 28 QUIT1: CLR RING CLR OK AJMP START //顯示程序 // DISPLAY: MOV DPTR,DAT1 MOV A,R3 MOVC A,@A+DPTR MOV P2,0FEH MOV P0,A ACALL DELAY MOV DPTR,DAT2 MOV A,R5 MOVC A,@A+DPTR MOV P2,0FbH MOV P0,A ACALL DELAY MOV DPTR,DAT1 MOV A,R4 MOVC A,@A+DPTR MOV P2,0FDH MOV P0,A ACALL DELAY RET DAT1: DB 00H,06H,5BH,4FH,66H,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 //“ 0”,“ 1”,“ 2”,“ 3”,“ 4”,“ 5”,“ 6”,“ 7”,“ 8”,“ 9”,“滅”,“ F” // //加減時(shí)間延時(shí) // DELAY1: MOV 35H,08H LOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET //延時(shí) // DELAY: MOV 32H,12H LOOP: MOV 33H,0AFH LOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET BARK: SETB RING //發(fā)聲程序 // ACALL DELAY1 ACALL DELAY1 CLR RING RET 29 //T0 溢出中斷 // T0INT: MOV TH0,0ECH MOV TL0,0FFH JNB RING,OUT CPL OUT: RETI //T1 溢出中斷 // T1INT: MOV TH1,3CH MOV TL1,0B0H INC R0 RETI //INTT0 中斷 // INTT0: MOV DATAO,P1 CLR EX0 RETI END
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1