📄 74as.lst
字号:
0314 2??? M goto $-.8
00334 gettouchvalue controly,buffery1,buffery2
0315 3090 M movlw controly
0316 00?? M movwf ctrlword
0317 3008 M movlw 8
0318 00?? M movwf count
M ;LOOP1 ;input controlword
0319 30FF M movlw 0xff
031A 05?? M andwf ctrlword,1 ;同样用GPIO的方法进行ADS7846控制字的写入
031B 1B80 M btfsc ctrlword,7 ;得到触摸屏的x值和y值,特别要注意时序问题
031C 1607 M bsf PORTC,4
031D 1207 M bcf PORTC,4
031E 1187 M bcf PORTC,3
031F 0000 M nop
0320 1587 M bsf PORTC,3 ;上升沿触发
0321 0000 M nop
0322 0D?? M rlf input,1
0323 0B?? M decfsz count,1
0324 2??? M goto $-.11
0325 01?? M clrf buffery2
0326 1683 1303 M banksel TRISC
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0328 1687 M bsf TRISC,5
M ;wait
0329 1283 1303 M banksel PORTB
032B 1886 M btfsc PORTB,1
032C 2??? M goto $-.1
032D 3004 M movlw 4
032E 00?? M movwf count
M ;coutinue1
032F 0D?? M rlf buffery2,1
0330 1587 M bsf PORTC,3
0331 0000 M nop
0332 1187 M bcf PORTC,3 ;下降沿触发
0333 0000 M nop
0334 1A87 M btfsc PORTC,5
MPASM 4.00 Released 74AS.ASM 11-1-2006 9:15:52 PAGE 21
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0335 0A?? M incf buffery2,1
0336 0B?? M decfsz count,1
0337 2??? M goto $-.8
0338 3008 M movlw 8
0339 00?? M movwf count
M ;coutinue2
033A 0D?? M rlf buffery1,1
033B 1587 M bsf PORTC,3
033C 0000 M nop
033D 1187 M bcf PORTC,3
033E 0000 M nop
033F 1A87 M btfsc PORTC,5
0340 0A?? M incf buffery1,1
0341 0B?? M decfsz count,1
0342 2??? M goto $-.8
0343 0000 00335 nop
0344 0000 00336 nop
0345 2??? 00337 call delay
0346 1506 00338 bsf PORTB,2 ;晶振为4MHz
0347 1683 1303 00339 banksel TRISC ;将触摸屏的值传送出去
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0349 0080 00340 movwf 0x80
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
034A 0087 00341 movwf TRISC ; TX/RX口输入输出配置
034B 1683 1303 00342 banksel SPBRG
034D 3018 00343 movlw D'24' ; 十进制的24
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
034E 0099 00344 movwf SPBRG ; 大约9600 BPS/ 10MHZ
034F 1683 1303 00345 banksel TXSTA
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0351 0198 00346 clrf TXSTA
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0352 1518 00347 bsf TXSTA,BRGH ; HIGH SPEED/ASYN/8BITS
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0353 1698 00348 bsf TXSTA,TXEN
0354 1283 1303 00349 banksel RCSTA
0356 1798 00350 bsf RCSTA,SPEN
0357 1283 1303 00351 banksel TXREG
0359 08?? 00352 movf bufferx2,w ;共12位,先传高4位,再传低8位
035A 0099 00353 movwf TXREG
035B 2??? 00354 call TXPOLL
035C 08?? 00355 movf bufferx1,w
035D 0099 00356 movwf TXREG
035E 2??? 00357 call TXPOLL
035F 08?? 00358 movf buffery2,w
0360 0099 00359 movwf TXREG
0361 2??? 00360 call TXPOLL
0362 08?? 00361 movf buffery1,w
0363 0099 00362 movwf TXREG
0364 2??? 00363 call TXPOLL ;中断返回
0365 0000 00364 nop
0366 0000 00365 nop
00366 pop
MPASM 4.00 Released 74AS.ASM 11-1-2006 9:15:52 PAGE 22
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0367 08?? M movf status_temp,w
0368 0083 M movwf STATUS
0369 0E?? M swapf w_temp,f
036A 0E?? M swapf w_temp,w
036B 0009 00367 retfie
036C 00368 TXPOLL
036C 1683 00369 bsf STATUS,RP0
036D 00370 TLOOP
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
036D 1C98 00371 btfss TXSTA,TRMT ;发送完成
036E 2??? 00372 goto TLOOP
036F 1283 00373 bcf STATUS,RP0
0370 0008 00374 return
00375
0371 00376 timersevice ;定时器中断,轮询4个按键,看哪个按下,并进行相应的处理
00377 push
0371 00?? M movwf w_temp
0372 0803 M movf STATUS,w
0373 00?? M movwf status_temp
0374 1283 1303 00378 banksel PORTA
0376 1E85 00379 btfss PORTA,5
0377 2??? 00380 goto judge1
0378 2??? 00381 goto modeselect
0379 00382 modeselect ;模式选择,RA5按下
0379 2??? 00383 call delay
037A ???? ???? 00384 banksel modeaddress
037C 0A?? 00385 incf modeaddress,1
037D 08?? 00386 movf modeaddress,w
037E 3C52 00387 sublw 0x52
037F 1803 00388 btfsc STATUS,C
0380 2??? 00389 call recoveraddress1
0381 3060 00390 movlw 0x60
0382 00?? 00391 movwf shipinaddress
0383 08?? 00392 movf modeaddress,w
0384 00?? 00393 movwf shipinvalue
00394 data_select
0385 1283 1303 M banksel PORTC
0387 1087 M bcf PORTC,1
M ;writeaddress
0388 08?? M movf shipinaddress,w
0389 00?? M movwf input
038A 3008 M movlw 8
038B 00?? M movwf count
038C 30FF M movlw 0xff
038D 05?? M andwf input,1
038E 1800 M btfsc input,0
038F 1607 M bsf PORTC,4
0390 1207 M bcf PORTC,4
0391 1187 M bcf PORTC,3
0392 0000 M nop
0393 1587 M bsf PORTC,3
0394 0000 M nop
0395 0C?? M rrf input,1
MPASM 4.00 Released 74AS.ASM 11-1-2006 9:15:52 PAGE 23
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0396 0B?? M decfsz count,1
0397 2??? M goto $-.11
M ;writevalue
0398 08?? M movf shipinvalue,w
0399 00?? M movwf input
039A 3008 M movlw 8
039B 00?? M movwf count
039C 30FF M movlw 0xff
039D 05?? M andwf input,1
039E 1800 M btfsc input,0
039F 1607 M bsf PORTC,4
03A0 1207 M bcf PORTC,4
03A1 1187 M bcf PORTC,3
03A2 0000 M nop
03A3 1587 M bsf PORTC,3
03A4 0000 M nop
03A5 0C?? M rrf input,1
03A6 0B?? M decfsz count,1
03A7 2??? M goto $-.11
03A8 1487 M bsf PORTC,1
03A9 2??? 00395 goto recovertimer
03AA 00396 recoveraddress1
03AA 3050 00397 movlw 0x50
03AB 00?? 00398 movwf modeaddress
03AC 0008 00399 return
03AD 00400 judge1 ;用户菜单选择,RA0按下
03AD 1283 1303 00401 banksel PORTA
03AF 1C05 00402 btfss PORTA,0
03B0 2??? 00403 goto judge2
03B1 2??? 00404 goto menuselect
03B2 00405 menuselect
03B2 2??? 00406 call delay
03B3 3002 00407 movlw .2
03B4 07?? 00408 addwf selectaddress,1
03B5 07?? 00409 addwf selectvalue,1
03B6 08?? 00410 movf selectaddress,w
03B7 3C66 00411 sublw 0x66
03B8 1803 00412 btfsc STATUS,C
03B9 2??? 00413 call recoveraddress2
03BA 2??? 00414 goto recovertimer
03BB 00415 recoveraddress2
03BB 3060 00416 movlw 0x60
03BC 00?? 00417 movwf selectaddress
03BD 3061 00418 movlw 0x61
03BE 00?? 00419 movwf selectvalue
03BF 0008 00420 return
03C0 00421 judge2
03C0 1283 1303 00422 banksel PORTA ;数值增加,RA2按下
03C2 1D05 00423 btfss PORTA,2
03C3 2??? 00424 goto judge3
03C4 2??? 00425 goto incresing
03C5 00426 incresing
03C5 2??? 00427 call delay
MPASM 4.00 Released 74AS.ASM 11-1-2006 9:15:52 PAGE 24
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
03C6 08?? 00428 movf selectvalue,w
03C7 3E02 00429 addlw .2
03C8 00?? 00430 movwf selectvalue
03C9 00?? 00431 movwf shipinvalue
03CA 08?? 00432 movf selectaddress,w
03CB 00?? 00433 movwf shipinaddress
00434 data_select
03CC 1283 1303 M banksel PORTC
03CE 1087 M bcf PORTC,1
M ;writeaddress
03CF 08?? M movf shipinaddress,w
03D0 00?? M movwf input
03D1 3008 M movlw 8
03D2 00?? M movwf count
03D3 30FF M movlw 0xff
03D4 05?? M andwf input,1
03D5 1800 M btfsc input,0
03D6 1607 M bsf PORTC,4
03D7 1207 M bcf PORTC,4
03D8 1187 M bcf PORTC,3
03D9 0000 M nop
03DA 1587 M bsf PORTC,3
03DB 0000 M nop
03DC 0C?? M rrf input,1
03DD 0B?? M decfsz count,1
03DE 2??? M goto $-.11
M ;writevalue
03DF 08?? M movf shipinvalue,w
03E0 00?? M movwf input
03E1 3008 M movlw 8
03E2 00?? M movwf count
03E3 30FF M movlw 0xff
03E4 05?? M andwf input,1
03E5 1800 M btfsc input,0
03E6 1607 M bsf PORTC,4
03E7 1207 M bcf PORTC,4
03E8 1187 M bcf PORTC,3
03E9 0000 M nop
03EA 1587 M bsf PORTC,3
03EB 0000 M nop
03EC 0C?? M rrf input,1
03ED 0B?? M decfsz count,1
03EE 2??? M goto $-.11
03EF 1487 M bsf PORTC,1
03F0 2??? 00435 goto recovertimer
03F1 00436 judge3
03F1 1283 1303 00437 banksel PORTA ;数值减小,RA1按下
03F3 1885 00438 btfsc PORTA,1
03F4 2??? 00439 goto decresing
03F5 2??? 00440 goto recovertimer
03F6 00441 decresing
03F6 2??? 00442 call delay
03F7 08?? 00443 movf selectvalue,w
MPASM 4.00 Released 74AS.ASM 11-1-2006 9:15:52 PAGE 25
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
03F8 3C02 00444 sublw .2
03F9 00?? 00445 movwf selectvalue
03FA 00?? 00446 movwf shipinvalue
03FB 08?? 00447 movf selectaddress,w
03FC 00?? 00448 movwf shipinaddress
00449 data_select
03FD 1283 1303 M ba
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -