中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)設(shè)計(jì)15s倒計(jì)時(shí)器

        用單片機(jī)設(shè)計(jì)15s倒計(jì)時(shí)器

        作者: 時(shí)間:2012-11-10 來源:網(wǎng)絡(luò) 收藏

        /*
        跳線設(shè)置:默認(rèn)跳線位置,注意選擇跳線J5要選23端
        程序效果:利用的定時(shí)/計(jì)數(shù)器設(shè)計(jì)一個(gè)15到0
        按S4后啟動(dòng),要求精確顯示到百分之一秒。
        發(fā)揮部分:
        1、定時(shí)結(jié)束后有提示音報(bào)警,并可重新定時(shí)
        2、定時(shí)過程中按獨(dú)立鍵盤s5可暫停,按S4繼續(xù)
        運(yùn)行環(huán)境:51hei學(xué)習(xí)板
        */
        ORG 0000H
        LJMP START //主程序必須避開地址000BH
        ORG 000BH //定時(shí)器0的中段服務(wù)程序,起始地址為000BH
        LJMP IT00
        ORG 0030H
        START: MOV TH0,#0EBH //裝入初始值,定時(shí)時(shí)間為10ms
        MOV TL0,#64H
        MOV TMOD,#01H //工作方式1
        MOV 33H,#01 //顯示初值為15s
        MOV 32H,#05
        MOV 31H,#00
        MOV 30H,#00
        SETB ET0 //打開定時(shí)0
        SETB EA //開總中斷
        LOOP1: JB P3.6,LOOP //判斷高低位,即按鍵KEY0是否按 下
        LCALL DISPLAY //為低,即按鍵按下,延時(shí)消抖
        LCALL DISPLAY
        JB P3.6,LOOP //按鍵真的按下,并不是外界的干擾
        SETB TR0 //啟動(dòng)定時(shí)器
        HERE: LCALL DISPLAY //調(diào)用顯示
        JB P3.7,LOOP3 //判斷高低,即KEY1按鍵是否按下
        CLR TR0 //按下,關(guān)閉定時(shí)器,這里并沒有消抖
        LJMP LOOP1 //等待KEY0的按下
        LOOP3: SJMP HERE //KEY1沒有按下,就需顯示
        LOOP: LCALL DISPLAY //KEY1沒有按下,就需顯示
        LJMP LOOP1
        //減10ms子程序
        SUB1: DEC 30H //百分位減1
        MOV A,30H
        CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否 再減1
        MOV 30H,#09 //是,裝入初值9
        DEC 31H //十分位減1
        MOV A,31H
        CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否 再減1
        MOV 31H,#09
        DEC 32H
        MOV A,32H
        CJNE A,#0FFH,LOOP2
        MOV 32H,#09
        DEC 33H
        MOV A,33H
        CJNE A,#0FFH,LOOP2
        clr P2.2 //從15s減到0s后,驅(qū)動(dòng)
        LCALL DELAY //延時(shí)
        LCALL DELAY
        SETB P2.2 //關(guān)閉
        MOV 33H,#01 //裝入初值15s
        MOV 32H,#05
        MOV 31H,#00
        MOV 30H,#00
        LOOP2: NOP //空指令
        RET //返回
        //顯示子程序
        DISPLAY: MOV DPTR,#TAB //賦表首地址
        MOV A,#0FBH

        SETB P2.7
        MOV P0,A //亮最左邊的數(shù)碼管
        CLR P2.7
        XCH A,R0 //暫存A的值
        MOV A,33H
        MOVC A,@A+DPTR //根據(jù)表值查找所需的值
        SETB P2.6
        MOV P0,A //顯示值
        CLR P2.6
        LCALL DELAY //延時(shí)
        XCH A,R0 //恢復(fù)原值
        RL A //循環(huán)左移,為下次做準(zhǔn)備
        SETB P2.7
        MOV P0,A
        CLR P2.7
        XCH A,R0
        MOV A,32H
        MOVC A,@A+DPTR
        SETB P2.6
        MOV P0,A
        CLR P2.6
        LCALL DELAY
        XCH A,R0
        RL A

        SETB P2.7
        MOV P0,A
        clr P2.7

        XCH A,R0
        MOV A,31H
        MOVC A,@A+DPTR
        SETB P2.6
        MOV P0,A
        clr P2.6
        LCALL DELAY
        XCH A,R0
        RL A
        SETB P2.7
        MOV P0,A
        clr P2.7
        XCH A,R0
        MOV A,30H
        MOVC A,@A+DPTR
        SETB P2.6
        MOV P0,A
        clr P2.6
        LCALL DELAY
        RET
        TAB: DB 3FH,06H,5BH,4FH,66H ;數(shù)碼管顯示的數(shù)值
        DB 6DH,7DH,07H,7FH,6FH
        IT00: MOV TH0,#0EBH //裝入初值,時(shí)間為10ms
        MOV TL0,#64H
        LCALL SUB1 //減10ms
        RETI //返回
        DELAY: MOV R7,#04 //延時(shí)子程序,時(shí)間大約為:2us*4*250
        DEL2: MOV R6,#250
        DEL1: DJNZ R6,DEL1
        DJNZ R7,DEL2
        RET
        END //結(jié)束

        蜂鳴器相關(guān)文章:蜂鳴器原理


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉