📄 hd_support.lis
字号:
023A .dbline -1
023A .dbline 248
023A ; }
023A ;
023A ; /***********************************************************
023A ; * 函数说明: SPI通讯完成中断处理函数 *
023A ; * 输入: 无 *
023A ; * 输出: 无 *
023A ; * 调用函数: INSERT_SPI_STC_ISR_CODE *
023A ; ***********************************************************/
023A ; void SPI_STC_ISR(void)
023A ; {
023A .dbline 249
023A ; INSERT_SPI_STC_ISR_CODE
023A .dbline 249
023A 0EB5 in R16,0x2e
023C .dbline 249
023C 20900000 lds R2,_g_bIfSendCMD
0240 2220 tst R2
0242 71F0 breq L12
0244 X1:
0244 20900000 lds R2,_g_bIfStartCMD
0248 2220 tst R2
024A 51F0 breq L12
024C X2:
024C .dbline 249
024C .dbline 249
024C 80E0 ldi R24,<_g_chCMDBuffer
024E 90E0 ldi R25,>_g_chCMDBuffer
0250 E0910000 lds R30,_g_chDataCounter
0254 EF5F subi R30,255 ; addi 1
0256 FF27 clr R31
0258 E80F add R30,R24
025A F91F adc R31,R25
025C 2080 ldd R2,z+0
025E 2EBC out 0x2e,R2
0260 .dbline 249
0260 L12:
0260 .dbline 249
0260 80E0 ldi R24,<_g_chDataBuffer
0262 90E0 ldi R25,>_g_chDataBuffer
0264 E0910000 lds R30,_g_chDataCounter
0268 FF27 clr R31
026A E80F add R30,R24
026C F91F adc R31,R25
026E 0083 std z+0,R16
0270 .dbline 249
0270 20900000 lds R2,_g_chDataCounter
0274 2220 tst R2
0276 41F0 breq L14
0278 X3:
0278 822D mov R24,R2
027A 8031 cpi R24,16
027C 28F4 brsh L14
027E X4:
027E .dbline 249
027E .dbline 249
027E 20900000 lds R2,_g_chXOR
0282 2026 eor R2,R16
0284 20920000 sts _g_chXOR,R2
0288 .dbline 249
0288 L14:
0288 .dbline 249
0288 80910000 lds R24,_g_chDataCounter
028C 8F5F subi R24,255 ; addi 1
028E 80930000 sts _g_chDataCounter,R24
0292 .dbline 249
0292 8131 cpi R24,17
0294 79F4 brne L16
0296 X5:
0296 80910000 lds R24,_g_bIfSendCMD
029A 8130 cpi R24,1
029C 59F4 brne L16
029E X6:
029E 80910000 lds R24,_g_bIfStartCMD
02A2 8130 cpi R24,1
02A4 39F4 brne L16
02A6 X7:
02A6 .dbline 249
02A6 .dbline 249
02A6 2224 clr R2
02A8 20920000 sts _g_bIfSendCMD,R2
02AC .dbline 249
02AC 20920000 sts _g_bIfStartCMD,R2
02B0 .dbline 249
02B0 20920000 sts _g_bIfSendHead,R2
02B4 .dbline 249
02B4 L16:
02B4 .dbline 249
02B4 .dbline -2
02B4 L11:
02B4 .dbline 0 ; func end
02B4 2990 ld R2,y+
02B6 2FBE out 0x3f,R2
02B8 F991 ld R31,y+
02BA E991 ld R30,y+
02BC 9991 ld R25,y+
02BE 8991 ld R24,y+
02C0 0991 ld R16,y+
02C2 2990 ld R2,y+
02C4 1895 reti
02C6 .dbsym r chTempData0 16 c
02C6 .dbend
02C6 .dbfunc s PCINT_INIT _PCINT_INIT fV
.even
02C6 _PCINT_INIT:
02C6 .dbline -1
02C6 .dbline 259
02C6 ; }
02C6 ;
02C6 ; /***********************************************************
02C6 ; * 函数说明: 引脚电平变化中断处理程序 *
02C6 ; * 输入: 无 *
02C6 ; * 输出: 无 *
02C6 ; * 调用函数: 无 *
02C6 ; ***********************************************************/
02C6 ; static void PCINT_INIT(void)
02C6 ; {
02C6 .dbline 260
02C6 ; PCICR |= BIT(PCIE0)|BIT(PCIE1);
02C6 80916800 lds R24,104
02CA 8360 ori R24,3
02CC 80936800 sts 104,R24
02D0 .dbline 261
02D0 ; PCMSK0 = BIT(PCINT2);
02D0 84E0 ldi R24,4
02D2 80936B00 sts 107,R24
02D6 .dbline 262
02D6 ; PCMSK1 = BIT(PCINT8);
02D6 81E0 ldi R24,1
02D8 80936C00 sts 108,R24
02DC .dbline -2
02DC L18:
02DC .dbline 0 ; func end
02DC 0895 ret
02DE .dbend
02DE .dbfunc e PCINT0_ISR _PCINT0_ISR fV
.even
02DE _PCINT0_ISR::
02DE 0A92 st -y,R0
02E0 1A92 st -y,R1
02E2 2A92 st -y,R2
02E4 3A92 st -y,R3
02E6 4A92 st -y,R4
02E8 5A92 st -y,R5
02EA 8A93 st -y,R24
02EC EA93 st -y,R30
02EE FA93 st -y,R31
02F0 0FB6 in R0,0x3f
02F2 0A92 st -y,R0
02F4 .dbline -1
02F4 .dbline 272
02F4 ; }
02F4 ;
02F4 ; /***********************************************************
02F4 ; * 函数说明: 引脚电平变化中断处理函数 *
02F4 ; * 输入: 无 *
02F4 ; * 输出: 无 *
02F4 ; * 调用函数: INSERT_PCINT0_ISR_CODE *
02F4 ; ***********************************************************/
02F4 ; void PCINT0_ISR(void)
02F4 ; {
02F4 .dbline 273
02F4 ; INSERT_PCINT0_ISR_CODE
02F4 7894 sei
02F6 .dbline 273
02F6 .dbline 273
02F6 1A9B sbis 0x3,2
02F8 3FC0 rjmp L20
02FA X8:
02FA .dbline 273
02FA .dbline 273
02FA 20900000 lds R2,_g_bIfSendCMD
02FE 2220 tst R2
0300 31F0 breq L22
0302 X9:
0302 .dbline 273
0302 .dbline 273
0302 20900000 lds R2,_g_chCMDBuffer
0306 2EBC out 0x2e,R2
0308 .dbline 273
0308 81E0 ldi R24,1
030A 80930000 sts _g_bIfSendHead,R24
030E .dbline 273
030E L22:
030E .dbline 273
030E 20900000 lds R2,_g_chXOR
0312 2220 tst R2
0314 69F5 brne L24
0316 X10:
0316 .dbline 273
0316 .dbline 273
0316 E0E0 ldi R30,<_g_chDataBuffer+3
0318 F0E0 ldi R31,>_g_chDataBuffer+3
031A 2080 ldd R2,z+0
031C 3180 ldd R3,z+1
031E 4280 ldd R4,z+2
0320 5380 ldd R5,z+3
0322 30920100 sts _g_fAbsoluteX+1,R3
0326 20920000 sts _g_fAbsoluteX,R2
032A 50920300 sts _g_fAbsoluteX+2+1,R5
032E 40920200 sts _g_fAbsoluteX+2,R4
0332 .dbline 273
0332 E0E0 ldi R30,<_g_chDataBuffer+7
0334 F0E0 ldi R31,>_g_chDataBuffer+7
0336 2080 ldd R2,z+0
0338 3180 ldd R3,z+1
033A 4280 ldd R4,z+2
033C 5380 ldd R5,z+3
033E 30920100 sts _g_fAbsoluteY+1,R3
0342 20920000 sts _g_fAbsoluteY,R2
0346 50920300 sts _g_fAbsoluteY+2+1,R5
034A 40920200 sts _g_fAbsoluteY+2,R4
034E .dbline 273
034E E0E0 ldi R30,<_g_chDataBuffer+11
0350 F0E0 ldi R31,>_g_chDataBuffer+11
0352 2080 ldd R2,z+0
0354 3180 ldd R3,z+1
0356 4280 ldd R4,z+2
0358 5380 ldd R5,z+3
035A 30920100 sts _g_fAbsoluteAngle+1,R3
035E 20920000 sts _g_fAbsoluteAngle,R2
0362 50920300 sts _g_fAbsoluteAngle+2+1,R5
0366 40920200 sts _g_fAbsoluteAngle+2,R4
036A .dbline 273
036A 81E0 ldi R24,1
036C 80930800 sts _ProcPCB+6+2,R24
0370 .dbline 273
0370 L24:
0370 .dbline 273
0370 2224 clr R2
0372 20920000 sts _g_chDataCounter,R2
0376 .dbline 273
0376 0EC0 rjmp L21
0378 L20:
0378 .dbline 273
0378 .dbline 273
0378 2224 clr R2
037A 20920000 sts _g_chXOR,R2
037E .dbline 273
037E 20900000 lds R2,_g_bIfSendCMD
0382 2220 tst R2
0384 39F0 breq L31
0386 X11:
0386 20900000 lds R2,_g_bIfSendHead
038A 2220 tst R2
038C 19F0 breq L31
038E X12:
038E .dbline 273
038E .dbline 273
038E 81E0 ldi R24,1
0390 80930000 sts _g_bIfStartCMD,R24
0394 .dbline 273
0394 L31:
0394 .dbline 273
0394 L21:
0394 .dbline 273
0394 .dbline -2
0394 L19:
0394 .dbline 0 ; func end
0394 0990 ld R0,y+
0396 0FBE out 0x3f,R0
0398 F991 ld R31,y+
039A E991 ld R30,y+
039C 8991 ld R24,y+
039E 5990 ld R5,y+
03A0 4990 ld R4,y+
03A2 3990 ld R3,y+
03A4 2990 ld R2,y+
03A6 1990 ld R1,y+
03A8 0990 ld R0,y+
03AA 1895 reti
03AC .dbend
03AC .dbfunc e PCINT1_ISR _PCINT1_ISR fV
.even
03AC _PCINT1_ISR::
03AC 1A92 st -y,R1
03AE 8A93 st -y,R24
03B0 9A93 st -y,R25
03B2 1FB6 in R1,0x3f
03B4 1A92 st -y,R1
03B6 .dbline -1
03B6 .dbline 283
03B6 ; }
03B6 ;
03B6 ; /***********************************************************
03B6 ; * 函数说明: 引脚电平变化中断处理函数 *
03B6 ; * 输入: 无 *
03B6 ; * 输出: 无 *
03B6 ; * 调用函数: INSERT_PCINT1_ISR_CODE *
03B6 ; ***********************************************************/
03B6 ; void PCINT1_ISR(void)
03B6 ; {
03B6 .dbline 284
03B6 ; INSERT_PCINT1_ISR_CODE
03B6 7894 sei
03B8 .dbline 284
03B8 .dbline 284
03B8 86B1 in R24,0x6
03BA 8170 andi R24,1
03BC 96B1 in R25,0x6
03BE 9695 lsr R25
03C0 9170 andi R25,1
03C2 9817 cp R25,R24
03C4 51F4 brne L34
03C6 X13:
03C6 .dbline 284
03C6 .dbline 284
03C6 80910000 lds R24,_g_wCounter
03CA 90910100 lds R25,_g_wCounter+1
03CE 0196 adiw R24,1
03D0 90930100 sts _g_wCounter+1,R25
03D4 80930000 sts _g_wCounter,R24
03D8 .dbline 284
03D8 09C0 rjmp L35
03DA L34:
03DA .dbline 284
03DA .dbline 284
03DA 80910000 lds R24,_g_wCounter
03DE 90910100 lds R25,_g_wCounter+1
03E2 0197 sbiw R24,1
03E4 90930100 sts _g_wCounter+1,R25
03E8 80930000 sts _g_wCounter,R24
03EC .dbline 284
03EC L35:
03EC .dbline 284
03EC 80910000 lds R24,_g_wCounter
03F0 90910100 lds R25,_g_wCounter+1
03F4 9370 andi R25,3
03F6 90930100 sts _g_wCounter+1,R25
03FA 80930000 sts _g_wCounter,R24
03FE .dbline 284
03FE .dbline -2
03FE L33:
03FE .dbline 0 ; func end
03FE 1990 ld R1,y+
0400 1FBE out 0x3f,R1
0402 9991 ld R25,y+
0404 8991 ld R24,y+
0406 1990 ld R1,y+
0408 1895 reti
040A .dbend
040A ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -