?? sv2105.lst
字號:
MPASM 01.30.01 Intermediate SV2105.ASM 6-3-2000 17:12:46 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;==========================================================================
00002 ; File Name : p303.asm
00003 ;
00004 ; Rev: Date: Author: Reason:
00005 ; 1.00 18-06-96 C.H.Lai First Version
00006 ;==========================================================================
00007
00008 LIST R=DEC,LINES=0,COLUMNS=120,NOWRAP,XREF=YES
00009
00010 ;==========================================================================
00011 ; use reg. bank 0 by default. switch to reg. bank 1 when needed. switch
00012 ; back to bank 0 right afterward.
00013 ;==========================================================================
00014
00015 PROCESSOR PIC16C74
00016 INCLUDE "d:\m16clite\p16c74.inc"
00001 LIST
00002 ; P16C74.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00318 LIST
00017
00018 INCLUDE "const.asm"
00001 ;==========================================================================
00002 ; File Name : const.asm
00003 ;
00004 ;Rev: Date: Author: Reason:
00005 ;1.00 18-06-96 C.H.Lai First Version
00006 ;1.1s 14-09-96 C.H.Lai Special version for SV362 to fix y-scale
00007 ;==========================================================================
00008
00009 #DEFINE ALL_INTR INTCON,GIE ; GLOBAL INTERRUPT ENABLE BIT
00010
00011 ;#define so_pin TRISC,1 ; must be bank 1
00012
00013 #DEFINE TIMEBASE_INTR INTCON,T0IF ; timer0 interrupt as time base
00014 #DEFINE T200US_BIT TMR0,3
00015
00016 ;#define sio_intr PIR2,CCP2IF ; serial comm. request signal
00017 ;#define sio_dbg_pin PORTE,2 ; serial debugging tap point
00018
00019
00020 #DEFINE EECS_PIN PORTD,1 ; E2PROM CS pin
00021 #DEFINE EESK_PIN PORTD,2 ; " SK "
00022 #DEFINE EEDI_PIN PORTD,3 ; " DI "
00023 #DEFINE EEDO_PIN PORTD,4 ; " DO "
00024
00025 #DEFINE BUZZER PORTC,6
00026 #DEFINE PROGRAM_LED PORTA,4
00027
00028 #DEFINE MODE_LED1 PORTD,0
00029 #DEFINE MODE_LED2 PORTC,2
00030
00031 #DEFINE DTR PORTB,0 ; PORT B
00032 #DEFINE DSR PORTC,7 ; PORT C
00033 #DEFINE SDO PORTC,5 ; PORT C
00034
00035 #DEFINE TRIS_DSR TRISC,7 ; I/O control of DSR
00036 #DEFINE TRIS_SDO TRISC,5 ; I/O control of SDO
00037
00038 #DEFINE SEN_GROUP1 PORTD,7
00039 #DEFINE SEN_GROUP2 PORTD,6
00040 #DEFINE SEN_GROUP3 PORTD,5
00041
00042 #DEFINE AUTO_DIS_SW PORTB,7
00043 #DEFINE AUTO_EN_SW PORTB,6
00044
00045 SPI_TRANSMIT MACRO
00046 CALL SPI_COMM
00047 BTFSC STATUS,C
00048 GOTO END_SPI
00049 ENDM
00050
00051 DSR_SHOT MACRO
00052 BCF DSR ; rxdata ='80', passed, activate /DSR
00053 NOP ; delay 3us
00054 NOP
00055 NOP
00056 NOP
00057 NOP
00058 NOP
00059 BSF DSR ; negate /DSR
00060 ENDM
00061
00062
00063
00064 ADD_NOP8 MACRO
00065 NOP
00066 NOP
00067 NOP
00068 NOP
00069 NOP
00070 NOP
00071 NOP
00072 NOP
00073 ENDM
00074
00075
00076
00077 ; writting 1 to unused TRIS bit may cause unexpected result
00078 ; e.g. 0xff to TRISE cause TRISD cannot clear to zero
00079 ; start ----> HI-Z -----> PB ----> EE ----\
00080 ; ^ \------> MEM ----|
00081 ; \--------------------------------/
00082 #DEFINE DIR_HIZ_A B'00100000' ; RA initial mode
00083 #DEFINE DIR_HIZ_B B'11111111' ; RB " "
00084 #DEFINE DIR_HIZ_C B'10111001' ; RC " "
00085 #DEFINE DIR_HIZ_D B'00010000' ; RD " "
00086 #DEFINE DIR_HIZ_E B'00000111' ; RE " "
00087
00088
00089 #DEFINE CONT_BIT_SEL 7 ; 1st byte to host
00090 #DEFINE CONT_BIT_L3 6
00091 #DEFINE CONT_BIT_R3 5
00092 #DEFINE CONT_BIT_ST 4
00093 #DEFINE CONT_BIT_UP 3
00094 #DEFINE CONT_BIT_RT 2
00095 #DEFINE CONT_BIT_DN 1
00096 #DEFINE CONT_BIT_LT 0 ; 2nd byte to host
00097 #DEFINE CONT_BIT_L2 7
00098 #DEFINE CONT_BIT_R2 6
00099 #DEFINE CONT_BIT_L1 5
00100 #DEFINE CONT_BIT_R1 4
00101 #DEFINE CONT_BIT_TRI 3
00102 #DEFINE CONT_BIT_CIR 2
00103 #DEFINE CONT_BIT_CRO 1
00104 #DEFINE CONT_BIT_SQU 0
00105
00106 #DEFINE MEMTOP H'0ff' ;POINTER AT TOP OF BUTTON DATA MEMORY
00107 #DEFINE PBMAX D'014' ;MAXIMUM # OF FIRE BUTTONS
00108
00109 #DEFINE TIME1SEC D'76' ;1.0 SEC
00110 #DEFINE TIME700MS D'53' ;0.7 SEC
00111 #DEFINE TIME500MS D'38' ;0.5 SEC
00112 #DEFINE TIME200MS D'15' ;0.2 SEC
00113 #DEFINE TIME100MS D'8' ;0.1 SEC
00114 #DEFINE TIME65MS D'5' ;0.07 SEC
00115 #DEFINE TIME52MS D'4' ;0.05 SEC
00116 #DEFINE TIME26MS D'2' ;0.03 SEC
00117 #DEFINE TIME13MS D'1' ;0.01 SEC
00118
00119 #DEFINE DBC1SEC TIME1SEC ;1 SECONDS
00120 #DEFINE DBC700MS TIME700MS ;0.7 SECONDS
00121 #DEFINE DBC500MS TIME500MS ;0.5 SECONDS
00122 #DEFINE DBC200MS TIME200MS ;0.2 SECONDS
00123 #DEFINE DBC100MS TIME100MS ;0.1 SECONDS
00124 #DEFINE DBC26MS TIME26MS ;0.026 SECONDS
00125
00126 #DEFINE I_DUR_STEP TIME65MS ;0.07 SECONDS
00127 #DEFINE DUR_SLOW TIME52MS ;10 HZ
00128 #DEFINE DUR_AUTO TIME52MS ;10 HZ
00129
00130 #DEFINE DURBZON TIME100MS ;BUZZER ON DURATION
00131 #DEFINE DURBZOFF TIME100MS ;BUZZER OFF DURATION
00132 #DEFINE BEEP_STEP 1
00133 #DEFINE BEEP_1 D'001' ;BEEP ONCE
00134 #DEFINE BEEP_2 D'002' ;BEEP TWICE
00135 #DEFINE BEEP_3 D'003' ;BEEP THREE TIMES
00136
00137 #DEFINE PLEDON H'88' ;LED ALWAYS ON
00138 #DEFINE PLEDOFF H'00' ;LED ALWAYS OFF
00139 #DEFINE PLED1ST H'B3' ;LED BLINKS AT NORMAL RATE
00140 #DEFINE PLEDSTEP H'84' ;LED BLINKS ONCE
00141 #DEFINE PLEDMEM H'A2' ;LED BLINKS AT FAST RATE
00142
00143 #DEFINE IDLE H'EE' ;CODE FOR IDLE PERIOD
00144 #DEFINE REPEAT H'EF' ;CODE FOR REPEAT FUNCTION
00145 #DEFINE CODE_1 D'01' ;ONE BYTE STEP
00146 #DEFINE CODE_2 D'02' ;TOW BYTE STEP
00147 #DEFINE CODE_3 D'03' ;THREE BYTE STEP
00148
00149 #DEFINE CRC_BIT_8_0 B'00000000' ;XOR CODE IF BIT 8 = 0
00150 #DEFINE CRC_BIT_8_1 B'10000101' ;XOR CODE IF BIT 8 = 1
00151 #DEFINE CRC5_MASK B'00010101' ; for addr. crc
00152 #DEFINE CRC8_MASK CRC_BIT_8_1 ; for data crc
00153
00154 #DEFINE CNTL_DATA_WORD D'08' ;TOTAL # OF WORD FOR CONTROL DATA
00155 #DEFINE PB_DATA_WORD D'14' ;TOTAL # OF WORD FOR BUTTON DATA (E4 - FF)
00156 #DEFINE CNTL_POINTER PBID_0 ;POINTER OF STARTING ADDRESS OF CONTROL DATA
00157 #DEFINE DATA_POINTER H'E4' ;POINTER OF STARTING ADDRESS OF BUTTON DATA
00158 ;#define PTR_PBRAW0 H'59' ;POINTER OF PB_RAW0 BUFFER
00159 ;
00160 #DEFINE EEP_ADDR_1 H'00' ;BUTTON ADDRESS OF EEPROM
00161 #DEFINE EEP_ADDR_2 H'20' ;DEFAULT BUTTON ADDRESS OF EEPROM
00162 #DEFINE CNTL_DATA D'14' ;# OF BYTE OF CONTROL DATA
00163 #DEFINE PB_DATA D'14' ;# OF BYTE OF DEFAULT BUTTON DATA
00164 #DEFINE SIZE_LENGTH D'1' ;DEFAULT BUTTON DATA LENGTH=1
00165
00166 #DEFINE RESET_PB0 B'11110011' ;RESET BUTTON A & X PRESSED
00167 #DEFINE RESET_PB1 B'10111111' ;RESET BUTTON ST PRESSED
00168
00169 #DEFINE CNTL_DATA_TOTAL D'15' ;TOT.# OF CONTROL DATA=15
00170 #DEFINE PB_DATA_TOTAL D'28' ;TOT.# OF BUTTON DATA =90
00171
00172 #DEFINE ADC_CONF 0X80 ; osc/32,chn0,A/D off
00173 #DEFINE ADC_ANA_IN 0X00 ; vdd ref., RA0,1,3 ana in
00174 #DEFINE ADC_DIG_IN 0X07 ; RA0-5 digital in
00175
00176 ;#define TY_ABS 0x01
00177 ;#define TY_REL 0x02
00178 ;#define TY_JPORT 0x04
00179 ;#define TY_EEP 0x80
00180
00181 ;#define ST_CP_IN 0
00182 ;#define ST_CP_OUT 1
00183 ;#define ST_ADR_ERR 2
00184 ;#define ST_EE_BUSY 7
00185
00186 ;#define PAD_TYPE_L (TY_ABS | TY_JPORT) ; JOY PAD type byte
00187 ;#define PAD_TYPE_H 0x00
00188
00189 #DEFINE ALT_SCALE_X 0XA0
00190 #DEFINE ALT_SCALE_Y 0XA0
00191 #DEFINE SCALE_X 0X70
00192 #DEFINE SCALE_Y 0X7E
00193
00194 ;#define BIT_TIMEOUT d'64' ; SIO bit timeout constant
00195
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -