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

📄 24c04.asm

📁 本程序是利用汇编语言实现的实时时钟RX-8025应用程序
💻 ASM
字号:
BUF1    EQU     50H;秒
BUF2    EQU     51H;分
BUF3    EQU     52H;时
BUF4    EQU     53H;年/日
BUF5    EQU     54H;星期/月

REG1    EQU     40H;延时
REG2    EQU     41H;
X       EQU     30;
Y       EQU     40;
NUMB    EQU     28H
TXBUF   EQU     29H
BUFFER1       EQU     30H
BUFFER2       EQU     38H
BUFFER3       EQU     40H
BUFFER4       EQU     48H
BUFFER5       EQU     50H
BUFFER6       EQU     58H
BUFFER7       EQU     60H
BUFFER8       EQU     68H
BUFFER9       EQU     70H
BUFFER10      EQU     78H

RXBUF   EQU     2AH
CNT     EQU     2BH
ADDR    EQU     2CH
FLAG    EQU     2DH
DO      EQU     0
DI      EQU     1
SCL     EQU     6
SDA     EQU     7
RB      EQU     6
RD      EQU     8
TRISD   EQU     88H
;向24LC01B写入N(位于NUMB中)字节,
                ORG     0000H
                GOTO    BIN



BIN:            NOP
                BSF     RD,SDA
                BSF     RD,SCL
                BSF     3,5
                MOVLW   20H
                MOVWF   TRISD
                BCF     3,5





MOVLW            4
MOVWF            NUMB
MOVLW            00H
MOVWF            ADDR
MOVLW            BUFFER1
CALL             WRBYTES

;CALL             DELAY
;CALL             DELAY
NOP
NOP

R24:            NOP
                NOP
MOVLW            04H
MOVWF            NUMB
MOVLW            00H
MOVWF            ADDR
MOVLW            BUFFER2
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            68H
MOVWF            ADDR
MOVLW            BUFFER2
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            70H
MOVWF            ADDR
MOVLW            BUFFER3
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            78H
MOVWF            ADDR
MOVLW            BUFFER4
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            80H
MOVWF            ADDR
MOVLW            BUFFER5
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            88H
MOVWF            ADDR
MOVLW            BUFFER6
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            90H
MOVWF            ADDR
MOVLW            BUFFER7
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            98H
MOVWF            ADDR
MOVLW            BUFFER8
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            0A0H
MOVWF            ADDR
MOVLW            BUFFER9
CALL             RDBYTES

MOVLW            08H
MOVWF            NUMB
MOVLW            0A8H
MOVWF            ADDR
MOVLW            BUFFER10
CALL             RDBYTES








ERROR:           NOP
                 GOTO   ERROR
OK:              NOP
                 GOTO   OK



WRBYTES :
                CLRF    FLAG
                MOVWF   4
                MOVLW   0A2H
                MOVWF   TXBUF
                CALL    BSTART
                CALL    TX
                MOVF    ADDR,0
                MOVWF   TXBUF
                CALL    TX

WRLOOP:         MOVF    0,0
                MOVWF   TXBUF
                CALL    TX
                INCF    4
                DECFSZ  NUMB,1
                GOTO    WRLOOP
                CALL    BSTOP
                RETLW   0

;------------------------------------------------
RDBYTES:
                CLRF    FLAG
                MOVWF   4
                MOVLW   0A2H
                MOVWF   TXBUF
                CALL    BSTART
                CALL    TX
                MOVF    ADDR,0
                MOVWF   TXBUF
                CALL    TX
                CALL    BSTART
                MOVLW   0A3H
                MOVWF   TXBUF
                CALL    TX

RDLOOP:         CALL    RX
                MOVF    RXBUF,0
                MOVWF   0
                INCF    4
                DECFSZ  NUMB
                GOTO    LOWACK
          ;      BSF     3,5
          ;      MOVLW   20H
          ;      MOVLW   00001111B
          ;            TRIS    RD
          ;      MOVWF  TRISD
          ;      BCF    3,5
                BSF     RD,SDA
                NOP
                NOP
                BSF     RD,SCL
                NOP
                NOP
                NOP
                NOP
                BSF     RD,SCL
                NOP
                NOP
                CALL    BSTOP
                RETLW   0

LOWACK:
        ;        BSF     3,5
        ;        MOVLW   20H
        ;        MOVWF   TRISD
        ;        BCF     3,5
         ;       MOVLW   00001111B
         ;       TRIS    RD
                BCF     RD,SDA
                NOP
                BSF     RD,SCL
                NOP
                BCF     RD,SCL
                GOTO    RDLOOP

;------------------------------------------------------------------
BSTART:
       ;             MOVLW   00001111B
       ;         TRIS    RD
                BSF     RD,SDA
                NOP
                NOP
                BSF     RD,SCL
                NOP
                NOP
                NOP
                BCF     RD,SDA
                NOP
                NOP
                BCF     RD,SCL
                NOP
                NOP
                RETLW   0
;-------------------------------------------------------------------
TX:              MOVLW   08
                MOVWF   CNT
TXLP:           BCF     FLAG,DO
                BTFSC   TXBUF,7
                BSF     FLAG,DO
      ;          MOVLW   00001111B
      ;          TRIS    RD
                BTFSS   FLAG,DO
                GOTO    TX0
                BSF     RD,SDA
                GOTO    TX1
TX0:            BCF     RD,SDA
TX1:            BSF     RD,SCL
                NOP
                NOP
                BCF     RD,SCL
                RLF     TXBUF
                DECFSZ  CNT
                GOTO    TXLP
                BSF     3,5
                MOVLW   0A0H
                MOVWF   TRISD
                BCF     3,5
        ;        MOVLW   10001111B
        ;        TRIS    RD
                BSF     RD,SDA
                NOP
                BSF     RD,SCL
                NOP
                BTFSC   RD,SDA
                BSF     FLAG,DI
                BCF     RD,SCL
                BSF     3,5
                MOVLW   20H
                MOVWF   TRISD
                BCF     3,5

                RETLW   0

;----------------------------------------------------
BSTOP:
;                MOVLW   00001111B
;                TRIS    RD
                BCF     RD,SDA
                NOP
                NOP
                BSF     RD,SCL
                NOP
                NOP
                BSF     RD,SDA
                NOP
                NOP
                BCF     RD,SCL
                NOP
                NOP
                RETLW   0

;--------------------------------------------------
RX:             MOVLW   08
                MOVWF   CNT
                CLRF    RXBUF
                BSF     3,5
                MOVLW   0A0H
                MOVWF   TRISD
                BCF     3,5

        ;        MOVLW   10111111B
        ;        TRIS    RD
                NOP
RXLP:           BSF     RD,SCL
                BCF     3,0
                RLF     RXBUF
                BTFSC   RD,SDA
                BSF     RXBUF,0
                BCF     RD,SCL
                DECFSZ  CNT
                GOTO    RXLP
                BSF     3,5
                MOVLW   20H
                MOVWF   TRISD
                BCF     3,5

                RETLW   0


DELAY:          MOVLW   X
                MOVWF   REG1
LOOP2:          MOVLW   Y
                MOVWF   REG2
LOOP1:          DECFSZ  REG2,1
                GOTO    LOOP1
                DECFSZ  REG1,1
                GOTO    LOOP2
                RETURN

                END

⌨️ 快捷键说明

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