📄 sv2105.lst
字号:
00187
00188
0000003C 00189 LED_IMAGE EQU 0X3C
00190 #DEFINE PLED_IMG LED_IMAGE,5
00191 #DEFINE SLED_IMG LED_IMAGE,3
00192 #DEFINE ALED_IMG LED_IMAGE,6
00193 #DEFINE MLED_IMG LED_IMAGE,4
00194 #DEFINE LED_MASK B'01100000'
00195
00196
0000003B 00197 DIVISOR EQU 0X3B
0000003A 00198 LO_BYTE EQU 0X3A
00000039 00199 HI_BYTE EQU 0X39
00000038 00200 MUL_CNT EQU 0X38
00201
00000037 00202 REM EQU 0X37
00203
00000036 00204 OFFSET EQU 0X36
00205 #DEFINE F_MAX_TMP1 OFFSET
00206
00000035 00207 UP_VAL EQU 0X35
00000034 00208 RIGHT_VAL EQU 0X34
00000033 00209 DOWN_VAL EQU 0X33
00000032 00210 LEFT_VAL EQU 0X32
00000031 00211 L2_VAL EQU 0X31
00000030 00212 R2_VAL EQU 0X30
0000002F 00213 L1_VAL EQU 0X2F
0000002E 00214 R1_VAL EQU 0X2E
0000002D 00215 TRI_VAL EQU 0X2D
0000002C 00216 O_VAL EQU 0X2C
0000002B 00217 X_VAL EQU 0X2B
0000002A 00218 SQUARE_VAL EQU 0X2A
00219
00220 ;----- for TX/RCV.
00000029 00221 LAST_COMMAND EQU 0X29
00000028 00222 PAD_ID EQU 0X28
00223
00000027 00224 SC_TMP1 EQU 0X27
00000026 00225 SC_TMP2 EQU 0X26
00000025 00226 SC_TMP3 EQU 0X25
00227
00000024 00228 FLAG4 EQU 0X24
00229 #DEFINE F_OLD_VIB_ON FLAG4,0 ; old vibration mode ON flag
00230 #DEFINE F_OLD_VIB_COUNT FLAG4,1 ; old vib mode ON counter flag
00231 #DEFINE F_SYNCHRONOUS FLAG4,2
00232 #DEFINE F_WAIT_MODE FLAG4,3 ; 1 - chk mode key in waitkey:
00233 #DEFINE F_SIO_ACK FLAG4,4 ; used in 40,4f
00234 #DEFINE F_4F_ALL_0 FLAG4,5
00235 #DEFINE F_SET_FORCE FLAG4,6 ;
00236 #DEFINE F_TIME_RESET FLAG4,7
00237
00000023 00238 PCLATH_SAVE EQU 0X23
00000022 00239 FSR_SAVE EQU 0X22
00000021 00240 STATUS_SAVE EQU 0X21
00000020 00241 W_SAVE EQU 0X20
00242
00243 ; -------------
00244 ; page 1
00245 ; -------------
00246 ; E4 - FF : button program memories
00247 ;
00248 ; A8 - CF : reserve for DC
00249
00250 ;w_save equ 0xA0
00251 ;status_save equ 0xA1
00252 ;fsr_save equ 0xA2
00253 ;pclath_save equ 0xA3
00254
00255
000000A4 00256 SIO_TMP1 EQU 0XA4
000000A5 00257 SIO_TMP2 EQU 0XA5
000000A6 00258 SIO_TMP3 EQU 0XA6
00259
000000A7 00260 DATA3_4F EQU 0XA7 ; data for 4f
000000A8 00261 DATA2_4F EQU 0XA8
000000A9 00262 DATA1_4F EQU 0XA9
00263
00264 #DEFINE RX0_4F DATA1_4F,7
00265 #DEFINE RX1_4F DATA1_4F,6
00266 #DEFINE RX_4F DATA1_4F,5
00267 #DEFINE RY_4F DATA1_4F,4
00268 #DEFINE LX_4F DATA1_4F,3
00269 #DEFINE LY_4F DATA1_4F,2
00270 #DEFINE RIGHT_4F DATA1_4F,1
00271 #DEFINE LEFT_4F DATA1_4F,0
00272 #DEFINE UP_4F DATA2_4F,7
00273 #DEFINE DOWN_4F DATA2_4F,6
00274 #DEFINE TRI_4F DATA2_4F,5
00275 #DEFINE O_4F DATA2_4F,4
00276 #DEFINE X_4F DATA2_4F,3
00277 #DEFINE SQUARE_4F DATA2_4F,2
00278 #DEFINE L1_4F DATA2_4F,1
00279 #DEFINE R1_4F DATA2_4F,0
00280 #DEFINE L2_4F DATA3_4F,7
00281 #DEFINE R2_4F DATA3_4F,6
00282
000000AA 00283 ANA_SEN_1 EQU 0XAA ; rt sensitivity
000000AB 00284 ANA_SEN_2 EQU 0XAB ; lf sensitivity
000000AC 00285 ANA_SEN_3 EQU 0XAC ; up sensitivity
000000AD 00286 ANA_SEN_4 EQU 0XAD ; dn sensitivity
000000AE 00287 ANA_SEN_5 EQU 0XAE ; trig sensitivity
000000AF 00288 ANA_SEN_6 EQU 0XAF ; O sensitivity
000000B0 00289 ANA_SEN_7 EQU 0XB0 ; X sensitivity
000000B1 00290 ANA_SEN_8 EQU 0XB1 ; squ sensitivity
000000B2 00291 ANA_SEN_9 EQU 0XB2 ; L1 sensitivity
000000B3 00292 ANA_SEN_10 EQU 0XB3 ; R1 sensitivity
000000B4 00293 ANA_SEN_11 EQU 0XB4 ; R2 sensitivity
000000B5 00294 ANA_SEN_12 EQU 0XB5 ; L2 sensitivity
00295
00296
000000B6 00297 SQUARE_NULL EQU 0XB6
000000B7 00298 X_NULL EQU 0XB7
000000B8 00299 O_NULL EQU 0XB8
000000B9 00300 TRI_NULL EQU 0XB9
000000BA 00301 R1_NULL EQU 0XBA
000000BB 00302 L1_NULL EQU 0XBB
000000BC 00303 R2_NULL EQU 0XBC
000000BD 00304 L2_NULL EQU 0XBD
000000BE 00305 LEFT_NULL EQU 0XBE
000000BF 00306 DOWN_NULL EQU 0XBF
000000C0 00307 RIGHT_NULL EQU 0XC0
000000C1 00308 UP_NULL EQU 0XC1
00309
00310 ; data buffer for send/receive for 4d
000000C2 00311 PRE_DATA1 EQU 0XC2
000000C3 00312 PRE_DATA2 EQU 0XC3
000000C4 00313 PRE_DATA3 EQU 0XC4
000000C5 00314 PRE_DATA4 EQU 0XC5
000000C6 00315 PRE_DATA5 EQU 0XC6
000000C7 00316 PRE_DATA6 EQU 0XC7
00317
000000C8 00318 FINADATA1 EQU 0XC8
000000C9 00319 FINADATA2 EQU 0XC9
000000CA 00320 FINADATA3 EQU 0XCA
000000CB 00321 FINADATA4 EQU 0XCB
000000CC 00322 FINADATA5 EQU 0XCC
000000CD 00323 FINADATA6 EQU 0XCD
000000CE 00324 FINADATA7 EQU 0XCE
000000CF 00325 FINADATA8 EQU 0XCF
000000D0 00326 FINADATA9 EQU 0XD0
000000D1 00327 FINADATA10 EQU 0XD1
000000D2 00328 FINADATA11 EQU 0XD2
000000D3 00329 FINADATA12 EQU 0XD3
000000D4 00330 FINADATA13 EQU 0XD4
000000D5 00331 FINADATA14 EQU 0XD5
000000D6 00332 FINADATA15 EQU 0XD6
000000D7 00333 FINADATA16 EQU 0XD7
000000D8 00334 FINADATA17 EQU 0XD8
000000D9 00335 FINADATA18 EQU 0XD9
00336
000000DA 00337 M_RESET EQU 0XDA
000000DB 00338 FINA_INDEX EQU 0XDB
00339
000000DC 00340 BU_FORCE1 EQU 0XDC
000000DD 00341 BU_FORCE2 EQU 0XDD
000000DE 00342 BU_FORCE3 EQU 0XDE
000000DF 00343 BU_FORCE4 EQU 0XDF
00344
000000E0 00345 FORCE_TMP1 EQU 0XE0 ; tmp use in set force
000000E1 00346 FORCE_ID EQU 0XE1 ; store the tmp pbid
00347
00348 #DEFINE DO_MELOOP LOOP_COUNT
00349 #DEFINE DO_EMLOOP LOOP_COUNT
00350 #DEFINE BYTE_COUNT MOV_COUNT
00351 #DEFINE IN_BIT_LOC TEMP_BUF3
00352 #DEFINE BIT_COUNT MOV_COUNT
00353 #DEFINE NK_BUF EE_ADDR
00354 #DEFINE TOTAL_KEY PGM_BUF2
00355 #DEFINE IN_PBID PGM_BUF1
00356 #DEFINE ZERO_COUNT MOV_BUFFER
00357 #DEFINE SHIFT_BUF TEMP_BUF1
00358 #DEFINE TOTAL_BIT TEMP_BUF3
00359 #DEFINE BEEP_PUL LOOP_COUNT
00360
00361
00020
0000 00021 ORG 0X00
0000 018B 00022 CLRF INTCON ; clear GIE
0001 0183 00023 CLRF STATUS ; page 0&1 for indirect access
00024 ; page 0 for direct access
0002 018A 00025 CLRF PCLATH
0003 2E53 00026 GOTO START
00027
0004 00028 ORG 0X04
00029 INCLUDE "sio.asm" ; must be here
00001 ;============================================================
00002 ; File Name : sio.asm
00003 ;
00004 ;Rev.: Date: Author: Reason:
00005 ;1.00 18-06-96 C.H.Lai First Version
00006 ;============================================================
00007
00008
0004 00009 ORG 0X04
00010 ;------------------------------------------------------------
00011 ; Name :
00012 ; Parm :
00013 ; Retn :
00014 ; Desc :
00015 ;------------------------------------------------------------
0004 00016 SI:
0004 00A0 00017 MOVWF W_SAVE ; save W
0005 0E03 00018 SWAPF STATUS,W
0006 0183 00019 CLRF STATUS ; to bank 0
0007 00A1 00020 MOVWF STATUS_SAVE ; save STATUS
00021
0008 0804 00022 MOVF FSR,W ; save FSR
0009 00A2 00023 MOVWF FSR_SAVE
00024
000A 080A 00025 MOVF PCLATH,W
000B 00A3 00026 MOVWF PCLATH_SAVE ; save PCLATH
000C 018A 00027 CLRF PCLATH
00028
000D 108B 00029 BCF INTCON,INTF ; clear INT
000E 1394 00030 BCF SSPCON,WCOL ;
000F 1694 00031 BSF SSPCON,SSPEN ; enable SPI
00032
0010 0093 00033 MOVWF SSPBUF
0011 118C 00034 BCF PIR1,SSPIF
0012 2493 00035 CALL WAIT_SPI_DATA
0013 1803 00036 BTFSC STATUS,C
0014 2C77 00037 GOTO END_SPI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -