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

📄 motion.lst

📁 PIC16CXX C语言工具
💻 LST
字号:
16c5x/7x Cross-Assembler V4.11 Released  Wed Oct 25 03:51:24 1995  Page 1

Line   PC    Opcode

0001         0002  PCL     	EQU     	2H
0002         0003  STATUS	EQU	3H
0003         0005  PORT_A	EQU	5H
0004         0005  TRISA	EQU	5H
0005         0006  PORT_B  	EQU     	6H
0006         0006  TRISB   	EQU     	6H
0007         000A  PCLATH  	EQU     	0AH
0008         000C  CNT_REG	EQU	0CH
0009         0010  TEMP	EQU	10H
0010         0011  CMDFLAG   EQU       11H
0011         0003  SW_A	EQU	3  	;SWITCH CONNECTED TO BIT 3, PORT A
0012         0004  SW_B      EQU       4
0013         0000  C         EQU       0
0014         0002  Z	EQU	2
0015         0000  W         EQU       0
0016         0001  F         EQU       1
0017               
0018         0000  	ORG     	0
0019   0000  1683  START   	BSF     	STATUS,5 	;SET TO PAGE 1
0020   0001  3018            MOVLW     011000B   ;
0021   0002  0085            MOVWF     TRISA     ;DEFINE PORT_A BIT 4,5 INPU
                       T
0022   0003  0186  	CLRF    	TRISB     ;DEFINE PORT_B ALL OUTPUT
0023   0004  1283  	BCF       STATUS,5  ;BACK TO PAGE 0
0024   0005  1011            BCF       CMDFLAG,0
0025               
0026   0006  3004  MAIN_LOOP MOVLW     04H       ;LOAD INITIAL VALUE
0027   0007  008C  	MOVWF	CNT_REG
0028   0008  080C  DISPLAY	MOVF    	CNT_REG,W ;LOAD WORK'G REG WITH DESERVE 
                       NUMBER
0029   0009  0090           	MOVWF	TEMP      ;KEEP VALUE IN TEMP
0030   000A  2025  	CALL	CONVERT	;CONVERT TO RELATIVE OUTPUT
0031   000B  0086  	MOVWF   	PORT_B    ;RB0 ON
0032   000C  0390  	DECF      TEMP,F	;OKAY, DECREMENT COUNTER REG.
0033   000D  0810            MOVF      TEMP,W    ;TRANSFER COUNTER-1 TO PORT
                       _A
0034   000E  0085            MOVWF     PORT_A    ;OUTPUT TO SOLENOID
0035   000F  1C11            BTFSS     CMDFLAG,0 ;SKIP IF SW_A PRESSED
0036   0010  2039            CALL      DELAY
0037   0011  2039            CALL      DELAY
0038   0012  1C11            BTFSS     CMDFLAG,0 ;SKIP IF SW_A PRESSED
0039   0013  038C  	DECF      CNT_REG,F	;OKAY, DECREMENT COUNTER REG.
0040               
0041   0014  1985  CHK_A     BTFSC     PORT_A,SW_A         ;DETECT A SWITCH
0042   0015  281B  	GOTO      CHK_B               ;NO KEY DEPRESS SKIP
0043   0016  2030  	CALL      DLY20MS             ;KEY PRESS, DEBOUNCE
0044   0017  1D85  WAIT_1    BTFSS     PORT_A,SW_A         ;WAIT FOR KEY REL
                       EASE
0045   0018  2817  	GOTO      WAIT_1              ;TILL NOT RELEASE
0046   0019  1411            BSF       CMDFLAG,0
0047   001A  038C  	DECF      CNT_REG,F	          ;DECREMENT COUNTER REG.
0048               
0049   001B  1A05  CHK_B     BTFSC     PORT_A,SW_B         ;CHECK IF B DEPRE
                       SS
0050   001C  2821            GOTO      NO_BPRESS
0051   001D  2030  	CALL      DLY20MS             ;KEY PRESS, DEBOUNCE
16c5x/7x Cross-Assembler V4.11 Released  Wed Oct 25 03:51:24 1995  Page 2

Line   PC    Opcode

0052   001E  1E05  WAIT_2    BTFSS     PORT_A,SW_B         ;WAIT FOR KEY REL
                       EASE
0053   001F  281E  	GOTO      WAIT_2              ;TILL NOT RELEASE
0054   0020  1011            BCF       CMDFLAG,0           ;RESET FLAG
0055               
0056   0021  088C  NO_BPRESS MOVF      CNT_REG,F ;TEST IF ZERO
0057   0022  1D03            BTFSS     STATUS,Z
0058   0023  2808            GOTO    	DISPLAY
0059   0024  2806            GOTO      MAIN_LOOP
0060               
0061   0025  0782  CONVERT 	ADDWF     PCL,1     ;PCL = FW
0062   0026  343F  	retlw     03FH	;0
0063   0027  3406  	retlw     006H	;1
0064   0028  345B  	retlw     05BH	;2
0065   0029  344F  	retlw     04FH	;3
0066   002A  3466  	retlw     066H	;4
0067   002B  346D  	retlw     06DH	;5
0068   002C  347D  	retlw     07DH	;6
0069   002D  3407  	retlw     007H	;7
0070   002E  347F  	retlw     07FH	;8
0071   002F  346F  	retlw     06FH	;9
0072               
0073               DLY20MS
0074   0030  30FF  	MOVLW    	0FFH       ;LOAD WORK'G REG. WITH VALUE 255
0075   0031  008D  	MOVWF   	0DH       ;TRANSFER WORK'G REG. TO RAM f0D
0076   0032  30FF  DLY11	MOVLW   	255       ;LOAD WORK'G REG. WITH VALUE 255
                       
0077   0033  008E  	MOVWF   	0EH       ;TRANSFER WORK'G REG. TO RAM f0D
0078   0034  0B8E  DLY22	DECFSZ  	0EH,F     ;[f0E] - 1 = 0 ?
0079   0035  2834  	GOTO    	DLY22     ;NO, GO BACK TO DLY2 UNTIL 0 COUNT
0080   0036  0B8D  	DECFSZ  	0DH,F     ;[f0D] - 1 = 0 ?
0081   0037  2832  	GOTO    	DLY11     ;NO, GO BACK TO DLY1 UNTIL 0 COUNT
0082   0038  0008  	RETURN              ;RETURN TO MAIN PROGRAM
0083               ;********************************************************
                       ***
0084               DELAY
0085   0039  3005  	MOVLW	05
0086   003A  008D  	MOVWF	0DH
0087   003B  30FF  DLYL1	movlw     0FFh
0088   003C  008E  	movwf     0Eh
0089   003D  30FF  DLYL2     movlw     0FFh
0090   003E  008F  	movwf     0Fh
0091   003F  0B8F  DLYL3     decfsz    0FH,F
0092   0040  283F  	goto      DLYL3
0093   0041  0B8E  	decfsz    0Eh,F
0094   0042  283D  	goto      DLYL2
0095   0043  0B8D  	decfsz    0Dh,F
0096   0044  283B  	goto      DLYL1
0097   0045  0008  	return
0098         0000  	END
16c5x/7x Cross-Assembler V4.11 Released  Wed Oct 25 03:51:24 1995  Page 3



Cross-Reference Listing
LABEL        VALUE        DEFN        REFERENCES
C            0            13          13     
CHK_A        20           41          41     
CHK_B        27           49          42     49     
CMDFLAG      17           10          10     24     35     38     46     54     
CNT_REG      12           8           8      27     28     39     47     56     
CONVERT      37           61          30     61     
DELAY        57           84          36     37     84     
DISPLAY      8            28          28     58     
DLY11        50           76          76     81     
DLY20MS      48           73          43     51     73     
DLY22        52           78          78     79     
DLYL1        59           87          87     96     
DLYL2        61           89          89     94     
DLYL3        63           91          91     92     
F            1            16          16     32     39     47     56     78     
                                      80     91     93     95     
MAIN_LOOP    6            26          26     59     
NO_BPRESS    33           56          50     56     
PCL          2            1           1      61     
PCLATH       10           7           7      
PORT_A       5            3           3      34     41     44     49     52     
PORT_B       6            5           5      31     
START        0            19          19     
STATUS       3            2           2      19     23     57     
SW_A         3            11          11     41     44     
SW_B         4            12          12     49     52     
TEMP         16           9           9      29     32     33     
TRISA        5            4           4      21     
TRISB        6            6           6      22     
W            0            15          15     28     33     
WAIT_1       23           44          44     45     
WAIT_2       30           52          52     53     
Z            2            14          14     57     


⌨️ 快捷键说明

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