📄 tx900-ok.lst
字号:
00178 ;========================================================================
0015 09C9 00179 CALL INIT_GPIO
00180 ;**** check key-press
0016 00181 M_LOOP
0016 0040 00182 CLRW
0017 0002 00183 OPTION
0018 0206 00184 MOVFW PB
0019 0000 00185 NOP
001A 0003 00186 SLEEP
001B 0000 00187 NOP
001C 0000 00188 NOP
001D 0000 00189 NOP
001E 0000 00190 NOP
001F 00191 KEY_WAKE
001F 0040 00192 CLRW
0020 0002 00193 OPTION
0021 09C9 00194 CALL INIT_GPIO
00195 ;
0022 0206 00196 MOVF PB,W
0023 0E0B 00197 ANDLW B'00001011'
0024 002C 00198 MOVWF TEMP_BUF
0025 0F0B 00199 XORLW B'00001011'
0026 0643 00200 SKPNZ
0027 0A16 00201 GOTO M_LOOP
0028 0206 00202 MOVF PB,W
0029 0E0B 00203 ANDLW B'00001011'
002A 002C 00204 MOVWF TEMP_BUF
002B 0F0B 00205 XORLW B'00001011'
002C 0643 00206 SKPNZ
002D 0A16 00207 GOTO M_LOOP
00208 ; MOVLW 09H
00209 ; MOVWF TEMP_BUF
00210 ;**** have key-press
002E 00211 CPE_N0
MPASM 03.20.02 Released TX900-OK.ASM 12-2-2003 17:03:10 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
002E 0C0A 00212 MOVLW 0AH
002F 008C 00213 SUBWF TEMP_BUF,W
0030 0743 00214 SKPZ
0031 0A36 00215 GOTO CPE_N1
0032 0CAA 00216 MOVLW 0AAH ;key 1 press-down
0033 0034 00217 MOVWF DATA_BUF
0034 094F 00218 CALL SEND_PACKAGE
0035 0A45 00219 GOTO ON_KEY
0036 00220 CPE_N1
0036 0C09 00221 MOVLW 09H
0037 008C 00222 SUBWF TEMP_BUF,W
0038 0743 00223 SKPZ
0039 0A3E 00224 GOTO CPE_N3
003A 0C55 00225 MOVLW 055H ;key 2 press-down
003B 0034 00226 MOVWF DATA_BUF
003C 094F 00227 CALL SEND_PACKAGE
003D 0A45 00228 GOTO ON_KEY
003E 00229 CPE_N3
003E 0C03 00230 MOVLW 03H
003F 008C 00231 SUBWF TEMP_BUF,W
0040 0743 00232 SKPZ
0041 0A16 00233 GOTO M_LOOP
0042 0C0F 00234 MOVLW 00FH ;key 3 press-down
0043 0034 00235 MOVWF DATA_BUF
0044 094F 00236 CALL SEND_PACKAGE
00237 ;--------------------------------------
00238 ;**** waiting key-on
0045 00239 ON_KEY
0045 0C0B 00240 MOVLW B'00001011'
0046 0126 00241 IORWF PB,F
0047 0206 00242 MOVF PB,W
0048 0E0B 00243 ANDLW B'00001011'
0049 002C 00244 MOVWF TEMP_BUF
004A 0C0B 00245 MOVLW B'00001011'
004B 008C 00246 SUBWF TEMP_BUF,W
004C 0703 00247 SKPC
004D 0A45 00248 GOTO ON_KEY
004E 0A16 00249 GOTO M_LOOP
00250
00251 ;****************************************************
00252 ; entrance parameter:
00253 ; DATA_BUF--send data
00254 ;****************************************************
004F 00255 SEND_PACKAGE
004F 05A7 00256 BSF PC,DAT
0050 0587 00257 BSF PC,PLLEN
0051 05A6 00258 BSF PB,LV
0052 0567 00259 BSF PC,TXEN
0053 0C01 00260 MOVLW D'1'
0054 09D6 00261 CALL DELAYX
00262 ;==================================
0055 0079 00263 CLRF ID_CONT
0056 0906 00264 CALL GET_ID
MPASM 03.20.02 Released TX900-OK.ASM 12-2-2003 17:03:10 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0057 003A 00265 MOVWF ID_CODE
00266 ;----------------------------
0058 0C19 00267 MOVLW D'25'
0059 0036 00268 MOVWF BAG_CNT
005A 00269 _SEND10
00270 ;**** send start bit
005A 0C0F 00271 MOVLW STA_BREADTH
005B 0032 00272 MOVWF PUL_BREADTH
005C 097E 00273 CALL SEND_BIT
00274 ;
00275 ;**** send eight ID code
005D 0C08 00276 MOVLW D'8'
005E 0033 00277 MOVWF BIT_CONT
005F 021A 00278 MOVF ID_CODE,W
0060 0035 00279 MOVWF DATA_TMP
0061 00280 _SEND_ID
0061 0615 00281 BTFSC DATA_TMP,0
0062 0A65 00282 GOTO $+3
0063 0C07 00283 MOVLW ZER_BREADTH
0064 0A66 00284 GOTO $+2
0065 0C04 00285 MOVLW ONE_BREADTH
0066 0032 00286 MOVWF PUL_BREADTH
0067 097E 00287 CALL SEND_BIT
0068 0335 00288 RRF DATA_TMP,F
0069 02F3 00289 DECFSZ BIT_CONT,F
006A 0A61 00290 GOTO _SEND_ID
00291 ;
00292 ;**** send eight bit data
006B 0C08 00293 MOVLW D'8'
006C 0033 00294 MOVWF BIT_CONT
006D 0214 00295 MOVF DATA_BUF,W
006E 0035 00296 MOVWF DATA_TMP
006F 00297 _SEND_DAT
006F 0615 00298 BTFSC DATA_TMP,0
0070 0A73 00299 GOTO $+3
0071 0C07 00300 MOVLW ZER_BREADTH
0072 0A74 00301 GOTO $+2
0073 0C04 00302 MOVLW ONE_BREADTH
0074 0032 00303 MOVWF PUL_BREADTH
0075 097E 00304 CALL SEND_BIT
0076 0335 00305 RRF DATA_TMP,F
0077 02F3 00306 DECFSZ BIT_CONT,F
0078 0A6F 00307 GOTO _SEND_DAT
00308 ;
0079 02F6 00309 DECFSZ BAG_CNT,F
007A 0A5A 00310 GOTO _SEND10
00311 ;
007B 0066 00312 CLRF PB
007C 0067 00313 CLRF PC
007D 0800 00314 RETLW 0
00315
00316 ;****************************************************
00317 ; entrance parameter:
MPASM 03.20.02 Released TX900-OK.ASM 12-2-2003 17:03:10 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00318 ; PUL_BREADTH--pulse breadth
00319 ;****************************************************
00320 ;****************************************************
007E 00321 SEND_BIT
007E 05A7 00322 BSF PC,DAT
007F 0C0A 00323 MOVLW D'10' ; 10 * 5 = 50us
00324 DELX_US
0080 003B M MOVWF COUNT
0081 0000 M NOP
0082 0000 M NOP
0083 02FB M DECFSZ COUNT,F
0084 0A81 M GOTO $-3
00325 ;
0085 04A7 00326 BCF PC,DAT
0086 0C05 00327 MOVLW D'5' ; 5 * 5 = 25us
00328 DELX_US
0087 003B M MOVWF COUNT
0088 0000 M NOP
0089 0000 M NOP
008A 02FB M DECFSZ COUNT,F
008B 0A88 M GOTO $-3
00329 ;
008C 05A7 00330 BSF PC,DAT
008D 0C0A 00331 MOVLW D'10' ; 10 * 5 = 50us
00332 DELX_US
008E 003B M MOVWF COUNT
008F 0000 M NOP
0090 0000 M NOP
0091 02FB M DECFSZ COUNT,F
0092 0A8F M GOTO $-3
00333 ;
0093 04A7 00334 BCF PC,DAT
0094 0C05 00335 MOVLW D'5' ; 5 * 5 = 25us
00336 DELX_US
0095 003B M MOVWF COUNT
0096 0000 M NOP
0097 0000 M NOP
0098 02FB M DECFSZ COUNT,F
0099 0A96 M GOTO $-3
00337 ;-------------------------
009A 00338 _ZERO
009A 0C07 00339 MOVLW D'7'
009B 0092 00340 SUBWF PUL_BREADTH,W
009C 0743 00341 SKPZ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -