?? sample.lst
字號:
MPASM 4.00 Released SAMPLE.ASM 9-19-2005 23:12:24 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00200 ;讀portd\portb每位的值,去抖后存入keyh\keyl
00201 ;key_set延時設定0-255MS,調整它可以調整防抖時間
005A 00202 scan_input
005A 0AC6 00203 INCF key_tim,F ;延時到?
005B 0847 00204 MOVFW key_set
005C 0246 00205 SUBWF key_tim,W
005D 1C03 00206 BTFSS 3,0
005E 2878 00207 GOTO scan_input_r ;n
005F 01C6 00208 clrf key_tim ;y
00209
0060 0808 00210 movfw PORTD ;存入備用
0061 00C2 00211 MOVWF key_bh
0062 0806 00212 MOVFW PORTB
0063 00C5 00213 MOVWF key_bl
00214
0064 0842 00215 movfw key_bh ;處理keyh
0065 06C1 00216 xorwf key_ah,F
0066 0941 00217 comf key_ah,W
0067 04C0 00218 IORWF keyh,F
0068 0841 00219 MOVFW key_ah
0069 0442 00220 IORWF key_bh,W
006A 05C0 00221 ANDWF keyh,F ;去抖后的位狀態
006B 0842 00222 MOVFW key_bh
006C 00C1 00223 movwf key_ah
006D 01C2 00224 CLRF key_bh
00225
006E 0845 00226 movfw key_bl ;處理keyl
006F 06C4 00227 xorwf key_al,F
0070 0944 00228 comf key_al,W
0071 04C3 00229 IORWF keyl,F
0072 0844 00230 MOVFW key_al
0073 0445 00231 IORWF key_bl,W
0074 05C3 00232 ANDWF keyl,F ;去抖后的位狀態
0075 0845 00233 MOVFW key_bl
0076 00C4 00234 movwf key_al
0077 01C5 00235 CLRF key_bl
0078 00236 scan_input_r
0078 0008 00237 return
00238
00239
00240
00241
00242
0079 00243 ACrcJs
00244 ;計算Crc0--CrcN的CRC檢驗碼,用于MODBUS 結果CrcH1 CrcL1
0079 00F8 00245 MOVWF tempy ;最后一個byte 地址
007A 3060 00246 movlw (Crc0-.1) ;從Crc0開始計算
007B 0084 00247 movwf FSR
007C 287D 00248 goto ACrcJs1
007D 00249 ACrcJs1
007D 30FF 00250 movlw 0FFH
007E 00EE 00251 movwf CrcL1
007F 00EF 00252 movwf CrcH1
MPASM 4.00 Released SAMPLE.ASM 9-19-2005 23:12:24 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0080 00253 ACrcJs2
0080 0A84 00254 incf FSR,F
0081 0A78 00255 incf tempy,W ;
0082 0204 00256 subwf FSR,W
0083 1803 00257 btfsc 3,0 ;FSR>=(最后一個byte 地址+1)?
0084 2896 00258 goto ACrcJsR ;y
0085 00259 ACrcJs3
0085 3009 00260 movlw (.1+.8) ;n設可移8次
0086 00F7 00261 movwf temp
0087 0800 00262 movfw INDF ;CrcL oxr Crc(FSR)
0088 06EE 00263 xorwf CrcL1,F
0089 00264 ACrcJs4
0089 0BF7 00265 decfsz temp,F ;temp-1=0?
008A 288C 00266 goto $+2
008B 2880 00267 goto ACrcJs2 ;y
008C 1003 00268 bcf 3,0 ;右移
008D 0CEF 00269 rrf CrcH1,F
008E 0CEE 00270 rrf CrcL1,F
008F 1C03 00271 btfss 3,0 ;c=1?
0090 2889 00272 goto ACrcJs4 ;n
0091 30A0 00273 movlw 0A0H ;y
0092 06EF 00274 xorwf CrcH1,F
0093 3001 00275 movlw 01H
0094 06EE 00276 xorwf CrcL1,F
0095 2889 00277 goto ACrcJs4
0096 00278 ACrcJsR
0096 0008 00279 return
00280
00281
00282
00283 end
MPASM 4.00 Released SAMPLE.ASM 9-19-2005 23:12:24 PAGE 7
SYMBOL TABLE
LABEL VALUE
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ACrcJs 00000079
ACrcJs1 0000007D
ACrcJs2 00000080
ACrcJs3 00000085
ACrcJs4 00000089
ACrcJsR 00000096
ADCON0 0000001F
ADCON1 0000009F
ADCS0 00000006
ADCS1 00000007
ADDEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADON 00000000
ADRESH 0000001E
ADRESL 0000009E
BCLIE 00000003
BCLIF 00000003
BF 00000000
BRGH 00000002
C 00000000
C1INV 00000004
C1OUT 00000006
C2INV 00000005
C2OUT 00000007
CCP1CON 00000017
CCP1IE 00000002
CCP1IF 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2CON 0000001D
CCP2IE 00000000
CCP2IF 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCPR1H 00000016
CCPR1L 00000015
CCPR2H 0000001C
CCPR2L 0000001B
CHS0 00000003
CHS1 00000004
MPASM 4.00 Released SAMPLE.ASM 9-19-2005 23:12:24 PAGE 8
SYMBOL TABLE
LABEL VALUE
CHS2 00000005
CIS 00000003
CKE 00000006
CKP 00000004
CM0 00000000
CM1 00000001
CM2 00000002
CMCON 0000009C
CMIE 00000006
CMIF 00000006
CREN 00000004
CSRC 00000007
CVR0 00000000
CVR1 00000001
CVR2 00000002
CVR3 00000003
CVRCON 0000009D
CVREN 00000007
CVROE 00000006
CVRR 00000005
Crc0 00000061
Crc00 00000060
Crc1 00000062
Crc10 0000006B
Crc11 0000006C
Crc12 0000006D
Crc2 00000063
Crc3 00000064
Crc4 00000065
Crc5 00000066
Crc6 00000067
Crc7 00000068
Crc8 00000069
Crc9 0000006A
CrcH 00000068
CrcH1 0000006F
CrcL 00000067
CrcL1 0000006E
D 00000005
DATA_ADDRESS 00000005
DC 00000001
D_A 00000005
EEADR 0000010D
EEADRH 0000010F
EECON1 0000018C
EECON2 0000018D
EEDATA 0000010C
EEDATH 0000010E
EEIE 00000004
EEIF 00000004
EEPGD 00000007
F 00000001
FERR 00000002
MPASM 4.00 Released SAMPLE.ASM 9-19-2005 23:12:24 PAGE 9
SYMBOL TABLE
LABEL VALUE
FSR 00000004
FSR_TMP 00000022
GCEN 00000007
GIE 00000007
GO 00000002
GO_DONE 00000002
I2C_DATA 00000005
I2C_READ 00000002
I2C_START 00000003
I2C_STOP 00000004
IBF 00000007
IBOV 00000005
INDF 00000000
INTCON 0000000B
INTE 00000004
INTEDG 00000006
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -