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

📄 pt6523.asm

📁 PT6523的程序,需要的朋友可以看一下
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;----------------------------;
;      REGISTER SETUP        ;
;----------------------------;
INDEX     EQU     00H
RTCC      EQU     01H
PC        EQU     02H
STATUS    EQU     03H
;----------------------------;
DI        EQU     0
CL        EQU     1
Z         EQU     2
CE        EQU     2
INH       EQU     3
;----------------------------;
FSR       EQU     04H
;----------------------------;
CONTROL   EQU     05H
UBP1      EQU     06H
UBP2      EQU     07H
COMMAND   EQU     1FH
ACOUNT    EQU     1EH
KCOUNT    EQU     1DH
TEMP1     EQU     1CH
TEMP2     EQU     1BH
TEMP3     EQU     1AH
HOUR      EQU     19H
MINT      EQU     18H
SECD      EQU     17H
HSEC1     EQU     16H
HSEC2     EQU     15H
KEY1      EQU     14H
KEY2      EQU     13H
UB1       EQU     12H
UB2       EQU     11H
UB3       EQU     10H
UB4       EQU     0FH
UB5       EQU     0EH
UB6       EQU     0DH
UB7       EQU     0CH
UB8       EQU     0BH
UB9       EQU     0AH
UBA       EQU     09H
UBB       EQU     08H
;----------------------------;
;      MACRO MAIN SEGMENT    ;
;----------------------------;
COOL1   MACRO   A,B,C
        MOVF    A,W
        XORLW   B
        BTFSC   3,2
        GOTO    C
        ENDM
;----------------------------
COOL2   MACRO   D,E,F
        MOVF    D,W
        XORLW   E
        BTFSS   3,2
        GOTO    F
        ENDM
;----------------------------
COOL3   MACRO   X,Y,Z
        MOVF    Y,W
        MOVWF   TEMP1
        MOVF    X,W
        XORWF   TEMP1
        BTFSC   3,2
        GOTO    Z
        ENDM
;----------------------------
MOVFF   MACRO   G,H
        MOVF    H,W
        MOVWF   G
        ENDM
;----------------------------
MOVDF   MACRO   I,J
        MOVLW   J
        MOVWF   I
        ENDM
;----------------------------;
;      SUB MAIN SEGMENT      ;
;----------------------------;
        ORG     00H
;----------------------------;
;      OUTPUT [LOW] BIT      ;
;----------------------------;
BIT0    MACRO
        BCF     5,DI
        BCF     5,CL
        BSF     5,CL
        BCF     5,CL
        ENDM
;----------------------------;
;      OUTPUT [HIGH] BIT     ;
;----------------------------;
BIT1    MACRO
        BCF     5,DI
        BCF     5,CL
        BSF     5,DI
        BSF     5,CL
        BCF     5,CL
        BCF     5,DI
        ENDM
;----------------------------;
;      OUTPUT PATTEN         ;
;----------------------------;
CCB_W   MOVDF   ACOUNT,08H
        BCF     3,0
LOOP    RLF     COMMAND
        BTFSS   3,0
        GOTO    YY
GG      BIT1
        GOTO    OVER
YY      BIT0
OVER    DECFSZ  ACOUNT
        GOTO    LOOP
        RETLW   00H
;----------------------------;
;      TIMER DELAY SUB-0     ;
;----------------------------;
DELAY   MOVLW   05H
        MOVWF   TEMP1
DEL     MOVLW   FFH
        MOVWF   TEMP2
DEL1    MOVLW   FFH
        MOVWF   TEMP3
DEL0    DECFSZ  TEMP3
        GOTO    DEL0
        DECFSZ  TEMP2
        GOTO    DEL1
        DECFSZ  TEMP1
        GOTO    DEL
        RETLW   00H
;----------------------------;
;       CHECK TIMER          ;
;----------------------------;
CHECKT  CLRF    FSR
        MOVLW   10H
END1    SUBWF   RTCC,W
        SKPC
        GOTO    BACK1
        CLRF    RTCC
        MOVDF   FSR,30H
        INCF    INDEX
        CLRF    FSR
        INCFSZ  HSEC1
        GOTO    BACK1
        INCF    HSEC2
        COOL1   HSEC2,01H,HTOC
BACK1   RETLW   00H
;----------------------------;
;       CHANGE TIMER         ;
;----------------------------;
HTOC    CLRF    HSEC1
        CLRF    HSEC2
        INCF    SECD
HTOC1   MOVF    SECD,W
        ANDLW   0FH
        XORLW   0AH
        BTFSS   STATUS,Z
        RETLW   00H
        MOVLW   06H
        ADDWF   SECD
        MOVLW   60H
        SUBWF   SECD,W
        BTFSS   STATUS,Z
        RETLW   00H
        CLRF    RTCC
        CLRF    SECD
        INCF    MINT
        MOVF    MINT,W
        ANDLW   0FH
        XORLW   0AH
        BTFSS   STATUS,Z
        GOTO    H1
        MOVLW   06H
        ADDWF   MINT
H1      CLRF    RTCC
        MOVLW   60H
        SUBWF   MINT,W
        BTFSS   STATUS,Z
        RETLW   00H
        CLRF    MINT
        INCF    HOUR
        COOL1   HOUR,0AH,CLH
        RETLW   00H
CLH     CLRF    HOUR
        RETLW   00H
;----------------------------;
;      TIMER DELAY SUB-1     ;
;----------------------------;
DAYZ    DECFSZ  TEMP1
        GOTO    DAYZ
        RETLW   00H
;----------------------------;
;   CLEAR MCU ALL REGISTER   ;
;----------------------------;
CLRR    MOVDF   FSR,05H
        MOVDF   COMMAND,25D
        CLRW
PP0     MOVWF   INDEX
        INCF    FSR
        DECFSZ  COMMAND
        GOTO    PP0
        CLRF    FSR
        MOVDF   TEMP1,10H
        MOVDF   TEMP2,30H
PP1     MOVFF   FSR,UB2
        CLRF    INDEX
        CLRF    FSR
        INCF    TEMP2
        DECFSZ  TEMP1
        GOTO    PP1
        CLRF    FSR
        RETLW   00H
;----------------------------;
;   CLEAR PT6523 REGISTER    ;
;----------------------------;
CLRD    BCF     5,CE
        MOVDF   COMMAND,82H
        CALL    CCB_W
        BSF     5,CE
        MOVDF   TEMP1,98H
CLRD_1  CALL    LOW_B
        DECFSZ  TEMP1
        GOTO    CLRD_1
        MOVDF   COMMAND,08H
        CALL    CCB_W
        BCF     5,CE
        RETLW   00H
;----------------------------;
;      OUTPUT [LOW] BIT      ;
;----------------------------;
LOW_B   BCF     5,DI
        BCF     5,CL
        BSF     5,CL
        BCF     5,CL
        RETLW   00H
;----------------------------;
;      OUTPUT [HIGH] BIT     ;
;----------------------------;
HIGH_B  BCF     5,DI
        BCF     5,CL
        BSF     5,DI
        BSF     5,CL
        BCF     5,CL
        BCF     5,DI
        RETLW   00H
;----------------------------;
;      SEND DATA TO PT6523   ;
;----------------------------;
GOGO    BCF     5,CE
        MOVDF   COMMAND,82H
        CALL    CCB_W
        BSF     5,CE
        MOVDF   TEMP1,12H
G1      CALL    HIGH_B
        DECFSZ  TEMP1
        GOTO    G1
W_1     MOVFF   COMMAND,UB1
        CALL    CCB_W
        CALL    LOW_B
        CALL    HIGH_B
        CALL    HIGH_B
        CALL    LOW_B
W_2     MOVFF   COMMAND,UB2
        CALL    CCB_W
        CALL    LOW_B
W_3     MOVFF   COMMAND,UB3
        CALL    CCB_W
        CALL    LOW_B
W_4     MOVFF   COMMAND,UB4
        CALL    CCB_W
        CALL    LOW_B
        CALL    HIGH_B
        CALL    HIGH_B
        CALL    HIGH_B
W_5     MOVFF   COMMAND,UB5
        CALL    CCB_W
        CALL    LOW_B
        CALL    HIGH_B
        CALL    HIGH_B
        CALL    LOW_B
W_6     MOVFF   COMMAND,UB6
        BSF     COMMAND,1
        CALL    CCB_W
        CALL    HIGH_B
W_7     MOVFF   COMMAND,UB7
        BSF     COMMAND,1
        CALL    CCB_W
W_8     MOVFF   COMMAND,UB8
        BSF     COMMAND,7
        BSF     COMMAND,6
        BSF     COMMAND,4
        CALL    CCB_W
W_9     MOVFF   COMMAND,UB9
        CALL    CCB_W
W_A     MOVFF   COMMAND,UBA
        CALL    CCB_W
W_B     MOVFF   COMMAND,UBB
        CALL    CCB_W
        MOVDF   TEMP1,1FH
G2      CALL    LOW_B
        DECFSZ  TEMP1
        GOTO    G2
        MOVFF   COMMAND,KCOUNT
        CALL    CCB_W
        BCF     5,CE
        RETLW   00H
;----------------------------;
;       VFDOUT COUNT         ;
;----------------------------;
LCDC    MOVF    TEMP2,W
        ADDWF   TEMP1,W
        MOVWF   PC
LCD_1   RETLW   FCH
        RETLW   18H
        RETLW   B5H
        RETLW   9DH
        RETLW   59H
        RETLW   CDH
        RETLW   EDH
        RETLW   D8H
        RETLW   FDH
        RETLW   DDH
;----------------------------;
;       MAIN  START          ;
;----------------------------;
        ORG     7FFH
        GOTO    START
;----------------------------;
        ORG     E5H
START   CLRF    FSR
        CLRW
        TRIS    CONTROL
        CLRF    CONTROL
        MOVLW   07H
        TRIS    UBP1
        CLRF    UBP1
;----------------------------;
;   CLEAR ALL MCU REGISTER   ;
;----------------------------;
        CALL    CLRR
        CLRF    FSR
;----------------------------;
;    CLEAR PT6523 REGISTER   ;
;----------------------------;
        CALL    CLRD
;----------------------------;
;      TURN ON OUTPUT        ;
;----------------------------;
        BSF     CONTROL,INH
;----------------------------;
;    FLASH THIS WORD 'LOAD'  ;
;----------------------------;
        MOVDF   KEY1,06H
        MOVDF   UB1,05H
RE_LOAD MOVDF   KCOUNT,08H
        BSF     3,5
        CALL    LOAD
        CALL    DELAY
        MOVDF   KCOUNT,0CH
        BSF     3,5
        CALL    LOAD
        CALL    DELAY
        DECFSZ  UB1
        GOTO    RE_LOAD
        BCF     3,5

⌨️ 快捷键说明

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