在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設(shè)計應(yīng)用 > 各種匯編延時程序大集合

            各種匯編延時程序大集合

            作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
            在論壇上看到不少不錯的延時程序,整理如下共同分享:

            本文引用地址:http://www.biyoush.com/article/201611/321248.htm

            精確延時計算公式:

            延時時間=[(2*第一層循環(huán)+3)*第二層循環(huán)+3]*第三層循環(huán)+5


            ;延時5秒左右
            DELAY5S:PUSH 04H
            PUSH 05H
            PUSH 06H
            MOV R4,#50
            DELAY5S_0:MOV R5,#200
            DELAY5S_1:MOV R6,#245
            DJNZ R6,$
            DJNZ R5,DELAY5S_1
            DJNZ R4,DELAY5S_0
            POP 06H
            POP 05H
            POP 04H
            RET



            ;513微秒延時程序
            DELAY: MOV R2,#0FEH
            DELAY1: DJNZ R2,DELAY1
            RET


            ;10毫秒延時程序
            DL10MS: MOV R3,#14H
            DL10MS1:LCALL DELAY
            DJNZ R3,DL10MS1
            RET


            ;0.1s延時程序12mhz
            DELAY: MOV R6,#250
            DL1: MOV R7,#200
            DL2: DJNZ R6,DL2
            DJNZ R7,DL1
            RET


            ;延時1046549微秒(12mhz)
            ;具體的計算公式是:
            ;((((r7*2+1)+2)*r6+1)+2)*r5+1+4 = ((r7*2+3)*r6+3)

            *r5+5
            DEL : MOV R5,#08H
            DEL1: MOV R6,#0FFH
            DEL2: MOV R7,#0FFH
            DJNZ R7,$
            DJNZ R6,DEL2
            DJNZ R5,DEL1
            RET


            ;1秒延時子程序是以12MHz晶振
            Delay1S:mov r1,#50
            del0: mov r2,#91
            del1: mov r3,#100
            djnz r3,$
            djnz r2,del1
            djnz r1,del0
            Ret


            ;1秒延時子程序是以12MHz晶振為例算指令周期耗時
            KK: MOV R5,#10 ;1指令周期1
            K1: MOV R6,#0FFH ;1指令周期10
            K2: MOV R7,#80H ;1指令周期256*10=2560
            K3: NOP ;1指令周期

            128*256*10=327680
            DJNZ R7,K3 ;2指令周期

            2*128*256*10=655360
            DJNZ R6,K2 ;2指令周期

            2*256*10=5120
            DJNZ R5,K1 ;2指令周期2*10=20
            RET
            ;2指令周期21+10+2560+327680+655360+5120+20+2=990753
            ;約等于1秒1秒=1000000微秒



            ;這個算下來也只有0.998抄
            T_0: MOV R7,#10;
            D1: MOV R6,#200;
            D2: MOV R5,#248;
            DJNZ R5,$
            DJNZ R6,D2;
            DJNZ R7,D1;
            RET


            ;這樣算下來應(yīng)該是1.000011秒
            T_0: MOV R7,#10;
            D1: MOV R6,#200;
            D2: NOP
            MOV R5,#248;
            DJNZ R5,$
            DJNZ R6,D2;
            DJNZ R7,D1;
            RET


            DELAY_2S: ;10MS(11.0592mhz)
            MOV R3,#200
            JMP DELAY10MS
            DELAY_100MS: ;100MS(11.0592mhz)
            MOV R3,#10
            JMP DELAY10MS
            DELAY_10MS:
            MOV R3,#1
            DELAY10MS: ;去抖動10MS


            (11.0592mhz)
            MOV R4,#20
            DELAY10MSA:
            MOV R5,#247
            DJNZ R5,$
            DJNZ R4,DELAY10MSA
            DJNZ R3,DELAY10MS
            RET




            DELAY_500MS: ;500500MS
            MOV R2,#208
            JMP DELAY_MS
            DELAY_175MS: ;175MS
            MOV R2,#73
            JMP DELAY_MS
            delaY_120MS: ;120MS
            MOV R2,#50
            JMP DELAY_MS
            delay_60ms: ;60ms
            MOV R2,#25
            JMP DELAY_MS
            delay_30ms: ;30ms
            MOV R2,#12
            JMP DELAY_MS
            DELAY_5MS: ;5MS
            MOV R2,#2
            ;===================================
            DELAY_MS:
            CALL DELAY2400
            DJNZ R2,DELAY_MS
            RET
            ;===================================
            DELAY2400: ;10x244+4=2447

            /1.024=2390
            MOV R0,#244 ;1
            DELAY24001:
            MUL AB ;4
            MUL AB ;4
            DJNZ R0,DELAY24001 ;2
            RET


            DELAY: ;延時子程序(1秒)
            MOV R0,#0AH
            DELAY1: MOV R1,#00H
            DELAY2: MOV R2,#0B2H
            DJNZ R2,$
            DJNZ R1,DELAY2
            DJNZ R0,DELAY1
            RET


            MOV R2,#10 ;延時1秒
            LCALL DELAY
            MOV R2,#50 ;延時5秒
            LCALL DELAY
            DELAY: ;延時子程序
            PUSH R2
            PUSH R1
            PUSH R0
            DELAY1: MOV R1,#00H
            DELAY2: MOV R0,#0B2H
            DJNZ R0,$
            DJNZ R1,DELAY2 ;延時 100 mS
            DJNZ R2,DELAY1
            POP R0
            POP R1
            POP R2
            RET


            1:DEL: MOV R7, #200

            DEL1: MOV R6, #123

            NOP

            DEL2: DJNZ R6, DEL2

            DJNZ R7, DEL1

            RET

            是50.001ms 算法是:
            0.001ms+200*0.001ms+200*0.001ms+200*123*0.002ms+200*0.002ms

            ;(123*2+4)*200+1


            2: DEL: MOV R7, #200

            DEL1: MOV R6, #123

            DEL2:NOP

            DJNZ R6,DEL2

            DJNZ R7,DEL1

            RET


            D500MS:
            PUSH PSW
            SETB RS0
            MOV R7,#200
            D51: MOV R6,#250
            D52: NOP
            NOP
            NOP
            NOP
            DJNZ R6,D52
            DJNZ R7,D51
            POP PSW
            RET



            DELAY: ;延時1毫秒
            PUSH PSW
            SETB RS0
            MOV R7,#50
            D1: MOV R6,#10
            D2: DJNZ R6,$
            DJNZ R7,D1
            POP PSW
            RET


            ORG 0
            LJMP MAIN
            ORG 000BH
            LJMP CTC0
            MAIN: MOV SP, #50H
            CLR EA
            MOV TMOD, #01H
            MOV TH0,#3CH
            MOV TL0,#0B0H
            MOV R4, #10
            SETB ET0
            SETB EA
            SETB TR0
            SJMP $ ;
            CTC0: MOV TH0, #3CH
            MOV TL0, #0B0H
            DJNZ R4, LP
            CPL P1.0
            MOV R4, #10
            LP: RETI
            END



            關(guān)鍵詞: 匯編延時程序大集

            評論


            技術(shù)專區(qū)

            關(guān)閉