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

📄 新建 文本文档.txt

📁 自己学习单片机期间 自己遍的一个 LCD 显示模块 可以调整时间并且哟闹铃功能
💻 TXT
字号:
                    LED3CLK BIT P2.3
                    LED4IO  BIT P2.2
                    RST     BIT P2.1
                    SECOND  EQU 60H
                    R_SET   EQU P0.0
                    L_SET   EQU P0.1
                    L_UP    EQU P0.2

                    ORG 0000H
                    LJMP START
                    ORG 000BH                ;定时读取1302的内容
                    LJMP INTT0
                    ORG 001BH                ;闪动调时
                    LJMP INTT1
                    ORG 0030H

 START:             MOV  20H,#0FFH
                    MOV  TMOD,#11H
                    MOV  TH0,#0B1H
                    MOV  TL0,#0E0H
                    MOV  TH1,#0B1H
                    MOV  TL1,#0E0H
                    MOV  R6,#0
		    MOV  R2,#3
		    LCALL R_1302
                    SETB ET0
                    SETB TR0
                    SETB EA

 START1:            LCALL DISPLAY
                    LCALL EXCHANG
                    JNB R_SET,SETHH
                    JNB L_SET,SETMM
                    SJMP  START1
;-----------------------SET---------------------------------------
 SETHH:             LCALL DL5MS
                    JB R_SET,START1
                    LCALL SET1302
                    AJMP START1
 SETMM:             LCALL DL5MS
                    JB L_SET,START1
                    MOV R2,#08H
                    SETB ET1
                    SETB TR1
                    CLR  TR0
                    CLR  ET0
                    SETB 00H
  SET1:             JNB L_SET,SET2
                    INC R6
                    CJNE R6,#1H,XX1
                    CLR 02H
  SET3:             JB L_UP,SET4
  APPLE:            LCALL DISPLAY
                    JNB L_UP,APPLE
                    MOV A,61H
                    ADD A,#1H
                    DA A
                    MOV 61H,A
                    CJNE A,#60H,XXX1
 XXX1:              JC L_UP_END
                    MOV 61H,#00H
 L_UP_END:          MOV R1,#82H
                    MOV R0,61H
                    LCALL STONE
                    LJMP SET3
  SET2:             LCALL DISPLAY
                    AJMP SET1
  SET4:             JNB L_SET,SET1
                    LCALL DISPLAY
                    AJMP SET3
  XX1:              CJNE R6,#2H,XX2
                    SETB 02H
                    CLR  03H
  SET5:             JB L_UP,SET6
  APPLE1:           LCALL DISPLAY
                    JNB L_UP,APPLE1
                    MOV A,62H
                    ADD A,#1H
                    DA A
                    MOV 62H,A
                    CJNE A,#24H,XXX2
 XXX2:              JC L_UP_END1
                    MOV 62H,#0H
 L_UP_END1:         MOV R1,#84H
                    MOV R0,62H
                    LCALL STONE
                    LJMP SET5
  SET6:             JNB L_SET,SET1
                    LCALL DISPLAY
                    AJMP SET5
 XX2:               CLR ET1
                    CLR TR1
                    SETB ET0
                    SETB TR0
                    MOV R6,#0
                    LJMP START1

;-------------------------INTT0-----------------------------------
INTT0:              PUSH  ACC           ;累加器入栈保护
                    PUSH  PSW           ;状态字入栈保护
                    PUSH  DPH
                    PUSH  DPL
                    MOV TH0,#0B1H
                    MOV TL0,#0E0H
                    DJNZ R2,OUTT0
                    MOV R2,#25
                    CPL 00H
                    LCALL R_1302
OUTT0:              POP   DPL
                    POP   DPH
                    POP   PSW
                    POP   ACC
                    RETI
;------------------------INTT1-------------------------------------

INTT1:              PUSH DPH
                    PUSH DPL
                    PUSH ACC
                    PUSH PSW
                    MOV TL1,#0B0H
                    MOV TH1,#3CH
                    DJNZ R2,INTT1OUT
                    MOV R2,#08H
                    CPL 01H
                    JB 01H,FLASH1
                    LCALL EXCHANG
                    AJMP INTT1OUT
FLASH1:             JB 02H,FLASH2
                    MOV 72H,#0FFH
                    MOV 73H,#0FFH
                    AJMP INTT1OUT
FLASH2:             JB 03H,FLASH3
                    MOV 70H,#0FFH
                    MOV 71H,#0FFH
                    AJMP INTT1OUT
FLASH3:
INTT1OUT:           POP PSW
                    POP ACC
                    POP DPL
                    POP DPH
                    RETI
;------------------------DISPLAY------------------------------------

DISPLAY:            MOV DPTR,#TAB1
                    MOV A,70H
                    MOVC A,@A+DPTR
                    MOV 2AH,A
                    LCALL WRITE595
                    LCALL WRITE5950
                    CLR P1.4
                    LCALL DL1MS
                    SETB P1.4
                    MOV A,71H
                    MOVC A,@A+DPTR
                    MOV C,00H
                    MOV ACC.0,C
                    MOV 2AH,A
                    LCALL WRITE595
                    LCALL WRITE5950
                    CLR P1.5
                    LCALL DL1MS
                    SETB P1.5
                    MOV DPTR,#TAB2
                    MOV A,72H
                    MOVC A,@A+DPTR
                    MOV C,00H
                    MOV ACC.7,C
                    MOV 2AH,A
                    LCALL WRITE595
                    LCALL WRITE5950
                    CLR P1.6
                    LCALL DL1MS
                    SETB P1.6
                    MOV DPTR,#TAB1
                    MOV A,73H
                    MOVC A,@A+DPTR
                    MOV 2AH,A
                    LCALL WRITE595
                    LCALL WRITE5950
                    CLR P1.7
                    LCALL DL1MS
                    SETB P1.7
                    RET
;---------------------WRITE5950--------------------------
WRITE5950:          LCALL WRITE595
                    CLR P1.1
                    NOP
                    SETB P1.1
                    RET

WRITE595:           MOV R5,#08H
                    MOV A,2AH
LOOP:               RRC A
                    MOV P1.0,C
                    CLR P1.2
                    NOP
                    SETB P1.2
                    DJNZ R5,LOOP
                    RET

;--------------------EXCHANG-----------------------
 EXCHANG:           MOV A,62H
                    MOV B,#10H
                    DIV AB
                    CJNE A,#1H,OPP1
            OPP1:   JC APPLE2
                    MOV 70H,A
                    MOV 71H,B
                    AJMP OPP2
          APPLE2:   MOV 70H,#0FFH
                    MOV 71H,B
          OPP2:     MOV A,61H
                    MOV B,#10H
                    DIV AB
                    MOV 72H,A
                    MOV 73H,B
                    RET
;-------------------R_1302----------------------
R_1302:             MOV    R0,#SECOND         ;读取1302时间
                    MOV    R7,#7
                    MOV    R1,#81H
R_1302A:            CLR    RST
                    CLR    LED3CLK
                    SETB   RST
                    MOV    A,R1
                    LCALL  R_BIT
                    LCALL  W_BIT
                    MOV    @R0,A
                    INC    R0
                    INC    R1
                    INC    R1
                    SETB   LED3CLK
                    CLR    RST
                    DJNZ   R7,R_1302A
                    RET
;------------------R_BIT------------------
R_BIT:              MOV    R4,#8
R_BIT1:             RRC    A
                    MOV    LED4IO,C
                    SETB   LED3CLK
                    CLR    LED3CLK
                    DJNZ   R4,R_BIT1
                    RET
;-------------------W_BIT-----------------------
W_BIT:              MOV    R4,#8
W_BIT1:             MOV    C,LED4IO
                    RRC    A
                    SETB   LED3CLK
                    CLR    LED3CLK
                    DJNZ   R4,W_BIT1
                    RET
;-------------------SET_1302-------------------------
SET1302:            CLR    RST           ;2006年1月11日22:58:00
                    CLR    LED3CLK
                    MOV     SECOND,#0H
                    MOV     61H,#58H
                    MOV     62H,#23H
                    MOV     63H,#11H
                    MOV     64H,#1H
                    MOV     65H,#7H
                    MOV     66H,#06H
                    SETB   RST
                    MOV    A,#8EH
                    LCALL  R_BIT
                    MOV    A,#00H
                    LCALL  R_BIT
                    SETB   LED3CLK
                    CLR    RST

                    MOV    R0,#SECOND
                    MOV    R7,#7
                    MOV    R1,#80H
SET1302A:           CLR    RST
                    CLR    LED3CLK
                    SETB   RST
                    MOV    A,R1
                    LCALL  R_BIT
                    MOV    A,@R0
                    LCALL  R_BIT
                    INC    R0
                    INC    R1
                    INC    R1
                    SETB   LED3CLK
                    CLR    RST
                    DJNZ   R7,SET1302A
                    CLR    RST
                    CLR    LED3CLK
                    SETB   LED3CLK
                    NOP
                    CLR    RST
                    NOP
                    CLR    led3clk
                    SETB   RST
                    MOV    A,#90H
                    LCALL  R_BIT
                    MOV    A,#10100101B         ;充电器设置
                    LCALL  R_BIT
                    SETB   LED3CLK
                    CLR    RST
                    CLR    LED3CLK
                    SETB   RST
                    MOV    A,#8EH
                    LCALL  R_BIT
                    MOV    A,#80H
                    LCALL  R_BIT
                    SETB   LED3CLK
                    CLR    RST
                    RET
;----------------------STONE-----------------------------------
        STONE:      CLR    LED3CLK              ;写数据进1302
                    CLR    RST
                    CLR    LED3CLK
                    NOP
                    SETB   RST
                    MOV    A,#8EH
                    LCALL  R_BIT
                    MOV    A,#00H
                    LCALL  R_BIT
                    SETB   LED3CLK
                    CLR    RST
                    CLR    LED3CLK
                    NOP
                    CLR    RST
                    CLR    LED3CLK
                    SETB   RST
                    MOV    A,R1
                    LCALL  R_BIT
                    MOV    A,R0
                    LCALL  R_BIT
                    NOP
                    SETB   LED3CLK
                    CLR    RST
                    NOP
                    NOP
                    CLR    RST
                    CLR    LED3CLK
                    SETB   RST
                    MOV    A,#8EH
                    LCALL  R_BIT
                    MOV    A,#80H
                    LCALL  R_BIT
                    SETB   LED3CLK
                    CLR    RST
                    RET




;------------------------DELAY------------------------
          DL1MS:   MOV 43H,#14H           ; every LED(2ms)
          DL2:     MOV 44H,#14H
          DL1:     NOP
                   NOP
                   DJNZ 44H,DL1
                   DJNZ 43H,DL2
                   RET
          DL5MS:   MOV 45H,#10
          DL0:     LCALL DISPLAY
                   DJNZ 45H,DL0
                   RET
;--------------------------TAB1,TAB2------------------
TAB1:
                   DB        081H;0
                   DB        0EDH;1
                   DB        043H;2
                   DB        049H;3
                   DB        02DH;4
                   DB        019H;5
                   DB        011H;6
                   DB        0CDH;7
                   DB        001H;8
                   DB        009H;9
TAB2:              DB        081H;0
                   DB        0EDH;1
                   DB        0C2H;2
                   DB        0C8H;3
                   DB        0ACH;4
                   DB        098H;5
                   DB        090H;6
                   DB        0CBH;7
                   DB        080H;8
                   DB        088H;9
END

⌨️ 快捷键说明

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