?? motion.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 + -