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

📄 slq.asm

📁 一个用PIC16C64开发的变色灯程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
   INCLUDE "SLQ.H"
   INCLUDE "P16C65.INC"
   LIST P=16C65
START   ORG .0
        GOTO MAIN
        NOP
        NOP
        NOP
ZD00 ORG .4
        MOVWF TMP_W
	MOVF STATUS , .0
	MOVWF TMP_OPTION
        BTFSC INTCON ,INTF
	GOTO ZD01
        BCF INTCON,T0IF
        ;BTFSS WB, .0
        ;GOTO ZD02
        ;BCF WB, .0
        ;MOVLW .1
        ;MOVWF JS
ZD02    MOVF JS, .0
        CALL TABLE
        MOVWF TMR0
        MOVF JS, .0
        SUBWF L1, .0
        BTFSS STATUS ,C
        GOTO ZD03
        BSF PORTE, .0
ZD04    MOVF JS, .0
        SUBWF L2, .0
        BTFSS STATUS,C
        GOTO ZD05
        BSF PORTB, .1
ZD06    MOVF JS, .0
        SUBWF L3, .0
        BTFSS STATUS,C
        GOTO ZD07
        BSF PORTB, .2
ZD08    MOVF JS, .0
        SUBWF L4, .0
        BTFSS STATUS,C
        GOTO ZD09
        BSF PORTB, .3
ZD10    MOVF JS, .0
        SUBWF L5, .0
        BTFSS STATUS,C
        GOTO ZD11
        BSF PORTB, .4
ZD12    MOVF JS, .0
        SUBWF L6, .0
        BTFSS STATUS, C
        GOTO ZD13
        BSF PORTB, .5
ZD14    MOVF JS, .0
        SUBWF L7, .0
        BTFSS STATUS ,C
        GOTO ZD15
        BSF PORTB, .6
ZD16    MOVF JS, .0
        SUBWF L8, .0
        BTFSS STATUS ,C
        GOTO ZD17
        BSF PORTB, .7
ZD18    MOVF JS , .0
        SUBWF L9, .0
        BTFSS STATUS, C
        GOTO ZD19
        BSF PORTC, .0
ZD20    MOVF JS , .0
        SUBWF L10, .0
        BTFSS STATUS ,C
        GOTO ZD21
        BSF PORTC, .1
ZD22    MOVF JS , .0
        SUBWF L11, .0
        BTFSS STATUS ,C
        GOTO ZD23
        BSF PORTC, .2
ZD24    MOVF JS , .0
        SUBWF L12, .0
        BTFSS STATUS ,C
        GOTO ZD25
        BSF PORTC, .3
ZD26    MOVF JS , .0
        SUBWF L13, .0
        BTFSS STATUS ,C
        GOTO ZD27
        BSF PORTC, .4
ZD28    MOVF JS , .0
        SUBWF L14, .0
        BTFSS STATUS ,C
        GOTO ZD29
        BSF PORTC, .5
ZD30    MOVF JS , .0
        SUBWF L15, .0
        BTFSS STATUS ,C
        GOTO ZD31
        BSF PORTC, .6
ZD32    MOVF JS , .0
        SUBWF L16, .0
        BTFSS STATUS ,C
        GOTO ZD33
        BSF PORTC, .7
ZD34    MOVF JS , .0
        SUBWF L17, .0
        BTFSS STATUS ,C
        GOTO ZD35
        BSF PORTD, .0
ZD36    MOVF JS , .0
        SUBWF L18, .0
        BTFSS STATUS ,C
        GOTO ZD37
        BSF PORTD, .1
ZD38    MOVF JS , .0
        SUBWF L19, .0
        BTFSS STATUS ,C
        GOTO ZD39
        BSF PORTD, .2
ZD40    MOVF JS , .0
        SUBWF L20, .0
        BTFSS STATUS ,C
        GOTO ZD41
        BSF PORTD, .3
ZD42    MOVF JS , .0
        SUBWF L21, .0
        BTFSS STATUS ,C
        GOTO ZD43
        BSF PORTD, .4                           
ZD44    MOVF JS , .0
        SUBWF L22, .0
        BTFSS STATUS ,C
        GOTO ZD45
        BSF PORTD, .5
ZD46    MOVF JS , .0
        SUBWF L23, .0
        BTFSS STATUS ,C
        GOTO ZD47
        BSF PORTD, .6
ZD48    MOVF JS , .0
        SUBWF L24, .0
        BTFSS STATUS ,C
        GOTO ZD49
        BSF PORTD, .7
ZD50    INCF JS, .1 
ZD51    MOVF TMP_OPTION , .0
        MOVWF STATUS
        MOVF TMP_W, .0
        RETURN
ZD01    BCF INTCON,INTF
        ;BSF WB, .0
        INCF FB, .1
        MOVLW .1
        MOVWF JS
        GOTO ZD02
TABLE   ADDWF PCL, .1
        NOP
        RETLW  W1
        RETLW  W2
        RETLW  W3
        RETLW  W4
        RETLW  W5
        RETLW  W6
        RETLW  W7
        RETLW  W8
        RETLW  W9
        RETLW  W10
        RETLW  W11
        RETLW  W12
        RETLW  W13
        RETLW  W14
        RETLW  W15
        RETLW  W16
        RETLW  W17
        RETLW  W18
        RETLW  W19
        RETLW  W20
        RETLW  W21
        RETLW  W22
        RETLW  W23
        RETLW  W24
        RETLW  W24
        RETLW  W24
        RETLW  W24
ZD03    BCF PORTE, .0
        GOTO ZD04
ZD05    BCF PORTB, .1
        GOTO ZD06
ZD07    BCF PORTB, .2
        GOTO ZD08  
ZD09    BCF PORTB, .3
        GOTO ZD10
ZD11    BCF PORTB, .4
        GOTO ZD12
ZD13    BCF PORTB, .5
        GOTO ZD14
ZD15    BCF PORTB, .6
        GOTO ZD16
ZD17    BCF PORTB, .7
        GOTO ZD18
ZD19    BCF PORTC, .0
        GOTO ZD20
ZD21    BCF PORTC, .1
        GOTO ZD22
ZD23    BCF PORTC, .2
        GOTO ZD24
ZD25    BCF PORTC, .3
        GOTO ZD26
ZD27    BCF PORTC, .4
        GOTO ZD28
ZD29    BCF PORTC, .5
        GOTO ZD30
ZD31    BCF PORTC, .6
        GOTO ZD32
ZD33    BCF PORTC, .7
        GOTO ZD34
ZD35    BCF PORTD, .0
        GOTO ZD36
ZD37    BCF PORTD, .1
        GOTO ZD38
ZD39    BCF PORTD, .2
        GOTO ZD40
ZD41    BCF PORTD, .3
        GOTO ZD42
ZD43    BCF PORTD, .4
        GOTO ZD44
ZD45    BCF PORTD, .5
        GOTO ZD46
ZD47    BCF PORTD, .6
        GOTO ZD48
ZD49    BCF PORTD, .7
        GOTO ZD50
JP00    BSF PORTA, .2
        NOP
        BTFSC XS, .7
        GOTO JP01
        BSF PORTE, .1
JP02    BTFSC XS, .4
        GOTO JP03
        BSF PORTE, .2
JP04    MOVLW .128
        MOVWF K
        CALL CS00
        MOVLW .16
        MOVWF K
        CALL CS00
        BCF PORTA, .2
        NOP
        BSF PORTA, .3
        NOP
        BTFSC XS, .6
        GOTO JP05
        BSF PORTE, .1
JP06    BTFSC XS, .2
        GOTO JP07
        BSF PORTE, .2
JP08    MOVLW .64
        MOVWF K
        CALL CS00
        MOVLW .8
        MOVWF K
        CALL CS00
        BCF PORTA, .3
        NOP
        BSF PORTA, .4
        NOP
        BTFSC XS, .5
        GOTO JP09
        BSF PORTE, .1
JP10    BTFSC XS, .1
        GOTO JP11
        BSF PORTE, .2
JP12    MOVLW .32
        MOVWF K
        CALL CS00
        MOVLW .4
        MOVWF K
        CALL CS00
        BCF PORTA, .4
        NOP
        BSF PORTA, .5
        NOP
        BTFSC XS, .4
        GOTO JP13
        BSF PORTE, .1
JP14    MOVLW .150
        CALL YS00
        BCF PORTA, .5
        NOP
        BTFSS  AX, .0
        GOTO JP00
        RETURN
JP01    BCF PORTE, .1
        NOP
        GOTO JP02
JP03    BCF PORTE, .2
        NOP
        GOTO JP04
JP05    BCF PORTE, .1
        NOP
        GOTO JP06
JP07    BCF PORTE, .2
        NOP
        GOTO JP08
JP09    BCF PORTE, .1
        NOP
        GOTO JP10
JP11    BCF PORTE, .2
        NOP
        GOTO JP12
JP13    BCF PORTE, .1
        NOP
        GOTO JP14
CS00    MOVLW .30
        SUBWF K, .0
        BTFSC STATUS, C
        GOTO CS01
        BTFSS PORTA, .1
        GOTO CS03
CS02    MOVF K, .0
        ANDWF YX, .0
        BTFSC STATUS, Z
        GOTO CS04
        BTFSS YX, .0
        GOTO CS06
        MOVF K, .0
        ANDWF AX, .0
        BTFSC STATUS,Z
        GOTO CS04
        INCF YS, .1
        MOVF YS, .0
        SUBWF JY, .0
        BTFSC STATUS,Z
        GOTO CS07
CS04    MOVLW .75
        CALL YS00
        RETURN
CS01    BTFSC PORTA, .0
        GOTO CS02
CS03    MOVF K, .0
        ANDWF AX, .0
        BTFSC STATUS , Z
        GOTO CS04
        BTFSS YX, .1
        GOTO CS05
        BSF YX, .1
        CALL AJ00
CS05    COMF K, .0
        IORWF AX , .1
        BSF YX, .0
        MOVLW .1
        MOVWF YS
        GOTO CS04
CS06    BSF YX, .0
        MOVF K, .0
        IORWF AX , .1
        MOVLW  .1
        MOVWF YS
        GOTO CS04
CS07    BSF YX, .1
        GOTO CS04
AJ00    MOVLW .128
        SUBWF K, .0
        BTFSC STATUS,Z
        GOTO AJ01
        MOVLW .64
        SUBWF K, .0
        BTFSC STATUS,Z
        GOTO AJ02
        MOVLW .32
        SUBWF K, .0
        BTFSC STATUS,Z
        GOTO AJ03
        MOVLW .16
        SUBWF K, .0
        BTFSC STATUS,Z
        GOTO AJ04
        MOVLW .8
        SUBWF K, .0
        BTFSC STATUS,Z
        GOTO AJ05
        CALL K600
AJ06    RETURN
AJ01    CALL K100
        GOTO AJ06
AJ02    CALL K200
        GOTO AJ06
AJ03    CALL K300
        GOTO AJ06
AJ04    CALL K400
        GOTO AJ06
AJ05    CALL K500
        GOTO AJ06
K100    MOVLW .255
        MOVWF XS
        MOVLW .96
        MOVWF YX
        RETURN
K200    MOVLW .0
        MOVWF XS
        MOVLW .128
        MOVWF YX
        BSF AX, .0
        RETURN
K300    MOVLW .1
        SUBWF GN, .0
        BTFSC STATUS,Z
        GOTO K301
        MOVLW .2
        SUBWF GN, .0
        BTFSC STATUS,Z
        GOTO K302
        MOVLW .3
        SUBWF GN, .0
        BTFSC STATUS,Z
        GOTO K303
        MOVLW .4
        SUBWF GN, .0
        BTFSC STATUS,Z
        GOTO K304
        INCF GN, .1
        MOVLW .5
        SUBWF GN, .0
        BTFSS STATUS,Z
        GOTO K305
        MOVLW .1
        MOVWF GN
K305    RETURN
K301    MOVLW .128
        MOVWF XS
        MOVLW .120
        MOVWF YX
        MOVLW .1
        MOVWF GH
        GOTO K305
K302    MOVLW .64
        MOVWF XS
        MOVLW .120
        MOVWF YX
        MOVLW .2
        MOVWF GH
        GOTO K305
K303    MOVLW .32
        MOVWF XS
        MOVLW .120
        MOVWF YX
        MOVLW .3
        MOVWF GH
        GOTO K305
K304    MOVLW .24
        MOVWF XS
        MOVLW .124
        MOVWF YX
        MOVLW .4
        MOVWF GH
        GOTO K305
K600    INCF SG, .1
        MOVLW .4
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K601
K602    MOVLW .1
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K603
        MOVLW .2
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K604
        MOVLW .3
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K605
K606    RETURN
K601    MOVLW .24
        MOVWF SG
        GOTO K602
K603    MOVLW .24
        MOVWF XS
        GOTO K606
K604    MOVLW .20
        MOVWF XS
        GOTO K606
K605    MOVLW .18
        MOVWF XS
        GOTO K606
K400    MOVLW .1
        SUBWF GH, .0
        BTFSC STATUS, Z
        GOTO K401
        MOVLW .2
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K403
        MOVLW .3
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K405
        MOVLW .4
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K407
K408    RETURN
K401    MOVLW .1
        MOVWF TS
        INCF TB, .1
        MOVLW .25
        SUBWF TB, .0
        BTFSS STATUS,Z
        GOTO K402
        MOVLW .1
        MOVWF TB
        MOVLW .0
        MOVWF ZTA
        CALL KM00
K402    MOVF TB, .0
        MOVWF ZTA
        BSF ZTB, .0
        CALL KN00
        GOTO K408
K403    INCF HS, .1
        MOVLW .11
        SUBWF HS, .0
        BTFSS STATUS,Z
        GOTO K404
        MOVLW .1
        MOVWF HS
K404    MOVLW .0
        MOVWF ZTA
        CALL KM00
        MOVF HS, .0
        MOVWF ZTA
        BSF ZTB, .0
        CALL KN00
        GOTO K408
K405    INCF TG, .1
        MOVLW .25
        SUBWF TG, .0
        BTFSS STATUS,Z
        GOTO K406
        MOVLW .1
        MOVWF TG
K406    MOVF TG, .0
        MOVWF ZTA
        CALL KM00
        GOTO K408
K407    MOVLW .1
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K412
        MOVLW .2
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K410
        MOVLW .3
        SUBWF SG, .0
        BTFSC STATUS,Z
        GOTO K411
        GOTO K408
K412    INCF RE, .1
        MOVLW .25
        SUBWF RE, .0
        BTFSS STATUS,Z
        GOTO K409
        MOVLW .0
        MOVWF RE
        GOTO K409
K410    INCF YE, .1
        MOVLW .25
        SUBWF YE, .0
        BTFSS STATUS,Z
        GOTO K409
        MOVLW .0
        MOVWF YE
        GOTO K409
K411    INCF BL, .1
        MOVLW .25
        SUBWF BL, .0
        BTFSS STATUS,Z
        GOTO K409
        MOVLW .0
        MOVWF BL
K409    CALL KL00
        GOTO K408
K500    MOVLW .1
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K501
        MOVLW .2
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K503
        MOVLW .3
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K505
        MOVLW .4
        SUBWF GH, .0
        BTFSC STATUS,Z
        GOTO K507
K502    RETURN
K501    MOVF TB, .0
        MOVWF ZTA
        BCF ZTB, .0

⌨️ 快捷键说明

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