微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机汇编语言按键 “不喜勿喷”

51单片机汇编语言按键 “不喜勿喷”

时间:10-02 整理:3721RD 点击:

P3.3为加数按键,可以实现单点加数、按键不放连续加数。
P3.5为减数按键,可以实现单点减数、按键不放连续减数。
ORG        0000H
LJMP        START
ORG        30H
START:        MOV        DPTR,#TABLE
                MOV        R0,#00H
X:                MOV        P0,#3FH
                MOV        P2,#3FH
                LJMP        LOOP
Z:                MOV        P3,#28H
                JB                P3.3,JIAN
                CJNE        R0,#99,JIA
                MOV        R0,#00H
                LJMP        X
JIA:                INC                R0
                LJMP        LOOP
JIAN:        JB                P3.5,Z
                CJNE        R0,#00H,L1
                MOV        R0,#100
L1:        DEC        R0
LOOP:        MOV        A,R0
                MOV        B,#10
                div                AB
                MOVC        A,@A+DPTR
                MOV        P0,A
                MOV        A,B
                MOVC        A,@A+DPTR
                MOV        P2,A
                LCALL        DELAY
                JNZ                LOOP1
                LJMP        Z
LOOP1:        MOV        A,R0
                MOV        B,#10
                div                AB
                MOVC        A,@A+DPTR
                MOV        P0,A
                MOV        A,B
                MOVC        A,@A+DPTR
                MOV        P2,A
                LCALL        DELAY
                LJMP        Z
DELAY:        MOV        R5,#200
D1:                MOV        R6,#250
                DJNZ        R6,$
                DJNZ        R5,D1
                RET
TABLE:        DB                3FH,06H,5BH,4FH,66H
                DB                6DH,7DH,07H,7FH,6FH
                END

延时可能需要调

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top