?? gce.lst
字號:
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 1
Line PC Opcode
0001 0000 IND0 equ 0h
0002 0001 RTCC equ 1h
0003 0002 PCL equ 2h
0004 0003 STATUS equ 3h ; F3 Reg is STATUS Reg
.
0005 0004 FSR equ 4h
0006 ;
0007 0005 PORT_A equ 5h
0008 0006 PORT_B equ 6h ; I/O Port Assignments
0009 ;
0010 0008 EEDATA equ 08h
0011 0009 EEADR equ 09h
0012 000A PCLATH equ 0Ah ;16C71 Special-purpose
registers
0013 000B INTCON equ 0Bh ;16C71 Special-purpose
registers
0014 0005 TRISA equ 05h ;16C71 Special-purpose
registers
0015 0006 TRISB equ 06h ;16C71 Special-purpose
registers
0016 0008 EECON1 equ 08h ;16C84
0017 0009 EECON2 equ 09h
0018 0005 EEROM EQU PORT_A
0019 0006 LED EQU PORT_B
0020
0021 0000 C EQU 0
0022 0002 Z EQU 2
0023 0000 M EQU 0
0024 0001 L EQU 1
0025 0002 N EQU 2
0026 0006 MS EQU 6
0027 0007 LS EQU 7
0028 0000 DO EQU 0
0029 0001 DI EQU 1
0030 0002 SK EQU 2
0031 0001 SDA EQU 1
0032 0002 SCL EQU 2
0033 0003 SW_A EQU 3
0034 0004 SW_B EQU 4
0035 0000 RD EQU 0
0036 0001 WR EQU 1
0037 0002 WREN EQU 2
0038 0003 WRERR EQU 3
0039 0004 EEIF EQU 4
0040 0080 MASTER EQU 80H
0041 0010 CHP_CNT EQU 10H
0042 0011 CMD_CNT EQU 11H
0043 0012 DSP_CNT EQU 12H
0044 0014 BYT_CNT EQU 14H
0045 0015 CNT EQU 15H
0046 0016 CNT_HI EQU 16H
0047 0017 BUFFER EQU 17H
0048 0019 EE_ADR EQU 19H
0049 001A SLAVE EQU 1AH
0050 001B TEMP EQU 1BH
0051 001C DATA_H EQU 1CH
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 2
Line PC Opcode
0052 001D DATA_L EQU 1DH
0053 001E DATA_VH EQU 1EH
0054 001F DATA_VL EQU 1FH
0055 0021 PWR_SAV1 EQU 21H
0056 0022 PWR_SAV2 EQU 22H
0057 0023 CNFG_CNT EQU 23H
0058 0024 LOCK_BYT EQU 24H
0059 0025 EE_SEL EQU 25H
0060 0026 CMDFLAG EQU 26H
0061
0062 ;********************************************************
***
0063 SET_SDA_OUT MACRO
0064 BSF STATUS,5
0065 BCF TRISA,SDA
0066 BCF STATUS,5
0067 ENDM
0068
0069 SET_SDA_IN MACRO
0070 BSF STATUS,5
0071 BSF TRISA,SDA
0072 BCF STATUS,5
0073 ENDM
0074
0075 START_BIT MACRO
0076 BSF EEROM,SDA ;START BIT
0077 BSF EEROM,SCL
0078 NOP
0079 BCF EEROM,SDA
0080 NOP
0081 NOP
0082 BCF EEROM,SCL
0083 ENDM
0084
0085 STOP_BIT MACRO
0086 BCF EEROM,SDA
0087 NOP
0088 BSF EEROM,SCL
0089 NOP
0090 NOP
0091 BSF EEROM,SDA
0092 ENDM
0093
0094 WAIT_ACK MACRO
0095 BSF EEROM,SCL
0096 MOVLW B'01111000' ;NO, PRINT ERROR
0097 MOVWF BUFFER ;AND RESTART
0098 BTFSC EEROM,SDA
0099 GOTO WERM
0100 BCF EEROM,SCL
0101 ENDM
0102
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 3
Line PC Opcode
0103 SND_DRV_ADR MACRO
0104 BSF EEROM,SDA ;send 1 0 1 0
0105 CALL CLOCK
0106 BCF EEROM,SDA
0107 CALL CLOCK
0108 BSF EEROM,SDA
0109 CALL CLOCK
0110 BCF EEROM,SDA
0111 CALL CLOCK
0112
0113 BCF EEROM,SDA
0114 CALL CLOCK
0115 BCF EEROM,SDA
0116 CALL CLOCK
0117 BCF EEROM,SDA
0118 CALL CLOCK
0119 ENDM
0120
0121 SND_C01_ADR MACRO
0122 LOCAL C01ADR_LP
0123 MOVF EE_ADR,0 ;KEEPS ADDRESS
0124 MOVWF TEMP ;SEND ADDRESS FIRST
0125 MOVLW 8
0126 MOVWF BYT_CNT
0127 C01ADR_LP BCF EEROM,SDA
0128 RLF TEMP,1 ;SHIFT MSB TO CARRY
0129 BTFSC STATUS,0 ;TEST CARRY BIT, SET IF BIT =
1
0130 BSF EEROM,SDA
0131 CALL CLOCK
0132 DECFSZ BYT_CNT
0133 GOTO C01ADR_LP
0134 ENDM
0135 ;********************************************************
***
0136 0000 ORG 0 ;RESET VECTOR 0000
0137 0000 2821 GOTO COLD ;GOTO POWER ON MEUN
0138 0000 ORG 4 ;INTERRUPT VECTOR 0004
0139 DISPLAY ;THIS ROUTINE WILL A
UTO RUN
0140 0004 110B BCF INTCON,2 ;EVERY 65MS // XTAL 4MHZ
0141 0005 0BA1 DECFSZ PWR_SAV1
0142 0006 280C GOTO CONFIG
0143 0007 0BA2 DECFSZ PWR_SAV2
0144 0008 280C GOTO CONFIG ;IF PWR_SAV REACH
0145 0009 3000 MOVLW 0H
0146 000A 0086 MOVWF LED ;TURNS OFF LED &
0147 000B 0063 SLEEP ;GOODBYE
0148 000C 1985 CONFIG BTFSC EEROM,SW_A
0149 000D 01A3 CLRF CNFG_CNT ;IF CONTINUEOUSLY PRESSING
0150 000E 1D85 BTFSS EEROM,SW_A ;SW_A FOR 10 SECOND
0151 000F 0BA3 DECFSZ CNFG_CNT ;SET CMDFLAG LOCK BIT
0152 0010 2817 GOTO DSP_MAIN ;AND RESTART
0153 0011 01A6 CLRF CMDFLAG
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 4
Line PC Opcode
0154 0012 14A6 BSF CMDFLAG,L
0155 0013 0191 CLRF CMD_CNT
0156 0014 0190 CLRF CHP_CNT
0157 0015 303A MOVLW 3AH
0158 0016 0097 MOVWF BUFFER
0159 DSP_MAIN
0160 0017 0B92 DECFSZ DSP_CNT
0161 0018 281F GOTO DSP_END
0162 0019 0817 MOVF BUFFER,0 ;
0163 001A 3A80 XORLW 080H ;display_count = 8;
0164 001B 0097 MOVWF BUFFER
0165 ; COMF BUFFER,0
0166 001C 0086 MOVWF LED
0167 001D 3010 MOVLW 10H
0168 001E 0092 MOVWF DSP_CNT
0169 001F 0181 DSP_END CLRF RTCC ;RESET RTCC
0170 0020 0009 RETFIE
0171 ;********************************************************
******
0172 COLD
0173 0021 0197 CLRF BUFFER
0174 0022 3001 MOVLW 1
0175 0023 2372 CALL READ_EE
0176 0024 00A4 MOVWF LOCK_BYT
0177 0025 3002 MOVLW 2
0178 0026 2372 CALL READ_EE
0179 0027 00A5 MOVWF EE_SEL
0180 WERM
0181 0028 1683 BSF STATUS,5 ;SET PAGE 1
0182 0029 3019 MOVLW B'00011001'
0183 002A 0085 MOVWF TRISA ;PORT A ALL INPUT
0184 002B 0186 CLRF TRISB ;PORT B ALL OUTPUT
0185 002C 3005 MOVLW B'00000101' ;PRESCALAR SETTING 1:128
0186 002D 0062 OPTION ;RTCC INTERNAL CKS
0187 002E 1283 BCF STATUS,5 ;BACK TO PAGE 0
0188 002F 30A0 MOVLW B'10100000' ;ENABLE RTCC INTERRUPT
0189 0030 008B MOVWF INTCON
0190 0031 0181 CLRF RTCC
0191 0032 0190 CLRF CHP_CNT
0192 0033 0191 CLRF CMD_CNT
0193 0034 01A1 CLRF PWR_SAV1
0194 0035 3014 MOVLW 20
0195 0036 00A2 MOVWF PWR_SAV2
0196 0037 3010 MOVLW 10H
0197 0038 0092 MOVWF DSP_CNT
0198 0039 3001 MOVLW B'00000001'
0199 003A 00A6 MOVWF CMDFLAG
0200 003B 3007 MOVLW 7
0201 003C 0094 MOVWF BYT_CNT
0202 ;********************************************************
******
0203 ; C M D F L A G REPRESENTITION
0204 ; BIT 0 = M SCAN MAIN JOB
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 5
Line PC Opcode
0205 ; 1 = L SCAN LOCK JOB
0206 ; 2 = N SCAN NUMBER COUNT
0207 ; 3 = SW_A
0208 ; 4 = SW_B
0209 ; 6 = MS MAIN JOB INPUT OKAY
0210 ; 7 = LS LOCK/UNLOCK CHANGE INPUT OKAY
0211
0212 003D 1C26 MAIN BTFSS CMDFLAG,M ;This is a loop job s
can
0213 003E 285B GOTO LOCK_CGE ;first bit set is main job
0214 003F 20A3 CALL CHK_KEY ;keyboard check
0215 0040 1DA6 MAINA BTFSS CMDFLAG,SW_A
0216 0041 284E GOTO MAINB
0217 0042 1C26 BTFSS CMDFLAG,M
0218 0043 285B GOTO LOCK_CGE ;JOB MAST CHANGE BY INTERRUPT
0219 0044 0A90 INCF CHP_CNT
0220 0045 0810 MOVF CHP_CNT,0
0221 0046 3C03 SUBLW 3 ;MAIN MENU HAS 3 SELECTION ONL
Y
0222 0047 1803 BTFSC STATUS,C
0223 0048 284B GOTO CNVTMENU
0224 0049 3001 MOVLW 1
0225 004A 0090 MOVWF CHP_CNT
0226 CNVTMENU
0227 004B 0810 MOVF CHP_CNT,0
0228 004C 2090 CALL MAIN_MENU
0229 004D 0097 MOVWF BUFFER
0230 004E 1E26 MAINB BTFSS CMDFLAG,SW_B
0231 004F 285B GOTO LOCK_CGE
0232 0050 0810 MOVF CHP_CNT,0
0233 0051 0091 MOVWF CMD_CNT
0234 0052 3C03 SUBLW 3
0235 0053 1D03 BTFSS STATUS,Z
0236 0054 2857 GOTO SKIP_3
0237 0055 3003 MOVLW 3
0238 0056 0094 MOVWF BYT_CNT
0239 0057 01A6 SKIP_3 CLRF CMDFLAG ;TURN OFF MAIN JO
B
0240 0058 1726 BSF CMDFLAG,MS ;MAIN OKAY
0241 0059 1526 BSF CMDFLAG,N ;TURN ON NUMBER CHK
0242 005A 287C GOTO RESET1 ;SET DEFAULT TO 1
0243 005B 1CA6 LOCK_CGE BTFSS CMDFLAG,L
0244 005C 2872 GOTO ALP_CHK
0245 005D 20A3 CALL CHK_KEY
0246 005E 1DA6 LOCKA BTFSS CMDFLAG,SW_A
0247 005F 286A GOTO LOCKB
0248 0060 0A90 INCF CHP_CNT
0249 0061 0810 MOVF CHP_CNT,0
0250 0062 3C02 SUBLW 2 ;LOCK MENU HAS 2 SELECTION ON
LY
0251 0063 1803 BTFSC STATUS,C
0252 0064 2867 GOTO CNVTLOCK
0253 0065 3001 MOVLW 1
0254 0066 0090 MOVWF CHP_CNT
0255 0067 0810 CNVTLOCK MOVF CHP_CNT,0
16c5x/7x Cross-Assembler V4.11 Released Sat Mar 04 12:18:21 1995 Page 6
Line PC Opcode
0256 0068 2095 CALL LOCK_MENU
0257 0069 0097 MOVWF BUFFER
0258 006A 1E26 LOCKB BTFSS CMDFLAG,SW_B
0259 006B 2872 GOTO ALP_CHK
0260 006C 0810 MOVF CHP_CNT,0
0261 006D 0091 MOVWF CMD_CNT
0262 006E 01A6 CLRF CMDFLAG ;TURN OFF MAIN JOB
0263 006F 17A6 BSF CMDFLAG,LS
0264 0070 1526 BSF CMDFLAG,N ;TURN ON NUMBER CHK
0265 0071 287C GOTO RESET1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -