⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch13-1.asm

📁 時鐘及現在的時間,有得setup the current time more of the powerful tools in this 13-3.asm try to use it. Thank
💻 ASM
字号:
RS      BIT     P2.0
RW      BIT     P2.1
EN      BIT     P2.2
OFFSET  EQU     31H
CNT     EQU     32H
KEY	EQU     33H
        ORG     00H
	ACALL   INIT
        MOV     A,#10000000B
        ACALL   W_INS
        MOV     CNT,#10
        MOV     DPTR,#MSG0
        ACALL   W_STR
S1:  	ACALL   KEYSCAN
	MOV	A,#-1
	XCH	A,KEY
	CJNE	A,#-1,S2
	SJMP	S1
S2:     CJNE	A,#0,S3
	ACALL   KEY1
S3: 	CJNE    A,#1,S4
        ACALL   KEY2
S4:     CJNE    A,#2,S5
        ACALL   KEY3
S5:     CJNE    A,#3,S1
        ACALL   KEY4
        SJMP    S1
;
KEYSCAN:MOV     KEY,#0
        MOV     R3,#2          ;COLUME NUM
        MOV     R4,#11111110B
K1:	MOV     A,R4
        MOV     P3,A
        MOV     A,P3
        JNB     ACC.2,K2
        INC     KEY
        JNB     ACC.3,K2
        INC     KEY
        MOV     A,R4
        RL      A
        MOV     R4,A
        DJNZ    R3,K1
K2: 	RET
;
KEY1:   PUSH    ACC
	ACALL	CLRLCD
        MOV     A,#10000000B
        ACALL   W_INS
        MOV     CNT,#10
        MOV     DPTR,#MSG1
        ACALL   W_STR
        POP     ACC
        RET
;
KEY2:   PUSH    ACC
	ACALL	CLRLCD
        MOV     A,#10000000B
        ACALL   W_INS
        MOV     CNT,#12
        MOV     DPTR,#MSG2
        ACALL   W_STR
        POP     ACC
        RET
;
KEY3:   PUSH    ACC
	ACALL	CLRLCD
        MOV     A,#10000000B
        ACALL   W_INS
        MOV     CNT,#13
        MOV     DPTR,#MSG3
        ACALL   W_STR
        POP     ACC
        RET
;
KEY4:   PUSH    ACC
	ACALL	CLRLCD
        MOV     A,#10000000B
        ACALL   W_INS
        MOV     CNT,#6
        MOV     DPTR,#MSG4
        ACALL   W_STR
        POP     ACC
        RET
;
INIT:   MOV     A,#00111000B ;FUNCTION SET
        ACALL   W_INS
        MOV     A,#00111000B
        ACALL   W_INS
        MOV     A,#00111000B
        ACALL   W_INS
        MOV     A,#00111000B
        ACALL   W_INS
        MOV     A,#00001000B ;OFF SCREEN
        ACALL   W_INS
        MOV     A,#00000001B ;CLR SCREEN
        ACALL   W_INS
        MOV     A,#00001110B ;DISPLAY CONTROL
        ACALL   W_INS
        MOV     A,#00000110B ;MODE SET
        ACALL   W_INS
        RET
;
CLRLCD: MOV     A,#00000001B
        ACALL   W_INS
        RET
;
W_STR:  MOV     OFFSET,#0
NEXT:   MOV     A,OFFSET
        MOVC    A,@A+DPTR
        ACALL   W_DATA
        INC     OFFSET
        DJNZ    CNT,NEXT
        RET
;
W_INS:  ACALL   CHECK
        CLR     RS
        CLR     RW
        SETB    EN
        MOV     P1,A
        CLR     EN
        RET
;
W_DATA: ACALL   CHECK
        SETB    RS
        CLR     RW
        SETB    EN
        MOV     P1,A
        CLR     EN
        RET
;
CHECK:  PUSH    ACC
BUSY:   CLR     RS
        SETB    RW
        SETB    EN
        MOV     A,P1
        CLR     EN
        JB      ACC.7,BUSY
        ACALL   DELAY
        POP     ACC
        RET
;
DELAY:  MOV     R6,#20
D1:     MOV     R7,#150
        DJNZ    R7,$
        DJNZ    R6,D1
        RET
;
MSG0:   DB      '0123456789'
MSG1:   DB      'I Love LCD'
MSG2:   DB      '11 Mar.,1998'
MSG3:   DB      'R=10K. C=10uF'
MSG4:   DB      'MCS-51'
        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -