在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > 按鍵實現(xiàn)加減運(yùn)算及連續(xù)按鍵檢測

            按鍵實現(xiàn)加減運(yùn)算及連續(xù)按鍵檢測

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

            *
            注意:如果無法在keil里編譯,請刪除每一行的所有前導(dǎo)空白
            程序效果:若0(即7EH)按下,則加1;若1(即7DH)按下,
            則減1;若2(即7BH)按下,則快加,若按鍵3(77H)按下,則快減。
            */
            ORG 0000H
            LJMP START
            ORG 0030H
            START: MOV 30H,#00 //賦初值
            MOV 31H,#00
            MOV 32H,#01

            LOOP1: MOV R2,#04 //循環(huán)四次
            MOV R1,#0FEH //分別為:0FEH ?FDH ?FBH ?F7H

            LOOP: MOV A,R1 //賦值,用于暫存A的值
            MOV P0,A //賦初值
            RL A //循環(huán)左移
            XCH A,R1 //暫存A的值
            MOV A,P0 //讀?P0口的值
            LCALL DELAY1 //延時

            CJNE A,#7EH,LOP1 //判斷是否有按鍵按下
            LCALL ADD1 //有,則加1
            LOP12: MOV A,P0 //以下語句是用于判斷按鍵是否松開
            LCALL DELAY1
            CJNE A,#7EH,LOP1
            LCALL DISPLAY
            SJMP LOP12

            LOP1: CJNE A,#7DH,LOP2
            LCALL SUB1
            LOP22: MOV A,P0
            LCALL DELAY1
            CJNE A,#7DH,LOP2
            LCALL DISPLAY
            SJMP LOP22

            LOP2: CJNE A,#7BH,LOP3 //判斷快加的按鍵按下
            MOV R3,#10 //按下了,下面的語句用于減慢數(shù)值變化速度
            LOP32: LCALL DISPLAY
            LCALL DELAY
            DJNZ R3,LOP32
            LCALL ADD1

            LOP3: CJNE A,#77H,LOP4
            MOV R4,#10
            LOP42: LCALL DISPLAY
            LCALL DELAY
            DJNZ R4,LOP42
            LCALL SUB1

            LOP4: DJNZ R2,LOOP
            LCALL DISPLAY
            LJMP LOOP1
            //顯示子程序
            DISPLAY: MOV DPTR,#TAB //賦表首地址
            MOV A,#0FFH
            MOV P1,A //點(diǎn)亮最右邊的數(shù)碼管
            XCH A,R0 //暫存A的值
            MOV A,30H //顯示個位數(shù)
            MOVC A,@A+DPTR
            MOV P2,A
            LCALL DELAY1 //延時
            DEC R0 //減1,用于點(diǎn)亮下一個數(shù)碼管,準(zhǔn)備下次顯示
            XCH A,R0

            MOV P1,A
            XCH A,R0
            MOV A,31H
            MOVC A,@A+DPTR
            MOV P2,A
            LCALL DELAY1
            DEC R0
            XCH A,R0

            MOV P1,A
            XCH A,R0
            MOV A,32H
            MOVC A,@A+DPTR
            MOV P2,A
            LCALL DELAY1
            RET
            //加子程序
            ADD1: INC 30H //個位加1
            MOV A,30H //把30H的值賦給A
            CJNE A,#0AH,LAP //判斷個位是否加為10
            MOV 30H,#00 //是,則清零

            INC 31H
            MOV A,31H
            CJNE A,#0AH,LAP
            MOV 31H,#00

            INC 32H
            MOV A,32H
            CJNE A,#0AH,LAP
            MOV 32H,#00
            LAP: NOP //空指令
            RET //返回
            //減子程序
            SUB1: DEC 30H //個位減1
            MOV A,30H //把30H的值賦給A
            CJNE A,#0FFH,LSP //判斷30H的值為0后是否在減1
            MOV 30H,#09 //是,則給30H賦9

            DEC 31H
            MOV A,31H
            CJNE A,#0FFH,LSP
            MOV 31H,#09

            DEC 32H
            MOV A,32H
            CJNE A,#0FFH,LSP
            MOV 32H,#09

            LSP: NOP
            RET
            //延時子程序,時間大約為2us*20*200=8ms
            DELAY: MOV R6,#20
            DEL2: MOV R5,#200
            DEL3: DJNZ R5,DEL3
            DJNZ R6,DEL2
            RET
            //延時子程序,時間約為:2us*5*250=2.5ms
            DELAY1: MOV R6,#5
            DEL4: MOV R5,#250
            DEL5: DJNZ R5,DEL5
            DJNZ R6,DEL4
            RET
            TAB: DB 3FH,06H,5BH,4FH,66H ;數(shù)碼管顯示的數(shù)值
            DB 6DH,7DH,07H,7FH,6FH
            END
            注意:如果無法在keil里編譯,請刪除每一行的所有前導(dǎo)空白,



            評論


            相關(guān)推薦

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

            關(guān)閉