在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機搶答器設計

            單片機搶答器設計

            作者: 時間:2013-01-15 來源:網(wǎng)絡 收藏

            ;=====正常搶答處理程序=====
            TRUE1: ACALL BARK ;按鍵發(fā)聲
            MOV A,R2
            MOV R6,A ;搶答時間R2送R6
            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
            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
            ;=====犯規(guī)搶答程序=====
            ERROR: MOV R0,#00H
            MOV TH1,#3CH
            MOV TL1,#0B0H
            MOV 34H,R3 ;犯規(guī)號數(shù)暫存與(34H)
            HERE: MOV A,R0
            CJNE A,#0AH,FLASH ;0.5s向下運行->滅并停響
            CLR RING
            MOV R3,#0AH
            MOV R4,#0AH
            MOV R5,#0AH ;三燈全滅
            AJMP CHECK1
            FLASH: CJNE A,#14H,CHECK1 ;下面系1s的情況,響并顯示號數(shù)并清R0,重新計
            SETB RING
            MOV R0,#00H
            MOV R3,34H ;取回號數(shù)
            MOV R5,#0BH
            MOV R4,#0BH ;顯示FF和號數(shù)
            AJMP CHECK1
            CHECK1:JNB P1.7,QUIT1
            ACALL DISPLAY
            AJMP HERE
            QUIT1: CLR RING
            CLR OK
            AJMP START
            ;=====顯示程序=====
            DISPLAY:
            MOV DPTR,#DAT1 ;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出,
            MOV A,R5
            MOVC A,@A+DPTR
            MOV P2,#01H
            MOV P0,A
            ACALL DELAY
            MOV DPTR,#DAT2
            MOV A,R4
            MOVC A,@A+DPTR
            MOV P2,#02H
            MOV P0,A
            ACALL DELAY
            MOV A,R3
            MOVC A,@A+DPTR
            MOV P2,#04H
            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
            ;第一個為零,其他與上相同,因為十位如果為零顯示熄滅
            ;====加減時間延時(起到不會按下就加N個數(shù))======
            DELAY1: MOV 35H,#08H
            LOOP0: ACALL DISPLAY
            DJNZ 35H,LOOP0
            RET
            ;=====延時(顯示和去抖動用到)=====
            DELAY: MOV 32H,#12H
            LOOP: MOV 33H,#0AFH
            LOOP1: DJNZ 33H,LOOP1
            DJNZ 32H,LOOP
            RET
            ;=====發(fā)聲程序=====
            BARK: SETB RING
            ACALL DELAY1
            ACALL DELAY1
            CLR RING ;按鍵發(fā)聲
            RET
            ;=====TO溢出中斷(響鈴程序)=====
            T0INT: MOV TH0,#0ECH
            MOV TL0,#0FFH
            JNB RING,OUT;
            CPL P3.6 ;RING標志位為1時候P3.6口不短取反使喇叭發(fā)出一定頻率的聲音
            OUT: RETI
            ;=====T1溢出中斷(計時程序)=====
            T1INT: MOV TH1,#3CH
            MOV TL1,#0B0H
            INC R0
            RETI
            END

            蜂鳴器相關文章:蜂鳴器原理

            上一頁 1 2 3 下一頁

            關鍵詞: 單片機 搶答器 8051

            評論


            相關推薦

            技術專區(qū)

            關閉