📄 hd_support.lis
字号:
028C .dbline 197
028C ; TCCR1B = 0x00;
028C 2224 clr R2
028E 2EBC out 0x2e,R2
0290 .dbline 198
0290 ; ICR1 = 0x0320;
0290 80E2 ldi R24,800
0292 93E0 ldi R25,3
0294 97BD out 0x27,R25
0296 86BD out 0x26,R24
0298 .dbline 199
0298 ; TCCR1A = 0x80;
0298 80E8 ldi R24,128
029A 8FBD out 0x2f,R24
029C .dbline 200
029C ; TCCR1B = 0x11; //start Timer
029C 81E1 ldi R24,17
029E 8EBD out 0x2e,R24
02A0 .dbline -2
02A0 L14:
02A0 .dbline 0 ; func end
02A0 0895 ret
02A2 .dbend
02A2 .dbfunc s Timer0_INIT _Timer0_INIT fV
.even
02A2 _Timer0_INIT:
02A2 .dbline -1
02A2 .dbline 210
02A2 ; }
02A2 ;
02A2 ; /***********************************************************
02A2 ; * 函数声明:定时器0初始化函数 *
02A2 ; * 输入: 无 *
02A2 ; * 输出: 无 *
02A2 ; * 调用函数:无 *
02A2 ; ***********************************************************/
02A2 ; static void Timer0_INIT(void)
02A2 ; {
02A2 .dbline 211
02A2 ; TCCR0 = 0x00;
02A2 2224 clr R2
02A4 23BE out 0x33,R2
02A6 .dbline 212
02A6 ; TCNT0 = 0x06;
02A6 86E0 ldi R24,6
02A8 82BF out 0x32,R24
02AA .dbline 213
02AA ; TCCR0 = 0x03;
02AA 83E0 ldi R24,3
02AC 83BF out 0x33,R24
02AE .dbline -2
02AE L15:
02AE .dbline 0 ; func end
02AE 0895 ret
02B0 .dbend
02B0 .dbfunc e Timer0_OVF_ISR _Timer0_OVF_ISR fV
.even
02B0 _Timer0_OVF_ISR::
02B0 0A92 st -y,R0
02B2 1A92 st -y,R1
02B4 2A92 st -y,R2
02B6 3A92 st -y,R3
02B8 4A92 st -y,R4
02BA 5A92 st -y,R5
02BC 6A92 st -y,R6
02BE 7A92 st -y,R7
02C0 8A92 st -y,R8
02C2 9A92 st -y,R9
02C4 0A93 st -y,R16
02C6 1A93 st -y,R17
02C8 2A93 st -y,R18
02CA 3A93 st -y,R19
02CC 8A93 st -y,R24
02CE 9A93 st -y,R25
02D0 AA93 st -y,R26
02D2 BA93 st -y,R27
02D4 EA93 st -y,R30
02D6 FA93 st -y,R31
02D8 0FB6 in R0,0x3f
02DA 0A92 st -y,R0
02DC .dbline -1
02DC .dbline 223
02DC ; }
02DC ;
02DC ; /***********************************************************
02DC ; * 函数声明:定时器0溢出中断处理程序 *
02DC ; * 输入: 无 *
02DC ; * 输出: 无 *
02DC ; * 调用函数:INSERT_TIMER0_OVF_ISR_CODE *
02DC ; ***********************************************************/
02DC ; void Timer0_OVF_ISR(void)
02DC ; {
02DC .dbline 224
02DC ; TCNT0 = 0x06;
02DC 86E0 ldi R24,6
02DE 82BF out 0x32,R24
02E0 .dbline 226
02E0 ;
02E0 ; INSERT_TIMER0_OVF_ISR_CODE
02E0 7894 sei
02E2 .dbline 226
02E2 00D0 rcall _Insert_Timer0_OVF_ISR_Code
02E4 .dbline -2
02E4 L16:
02E4 .dbline 0 ; func end
02E4 0990 ld R0,y+
02E6 0FBE out 0x3f,R0
02E8 F991 ld R31,y+
02EA E991 ld R30,y+
02EC B991 ld R27,y+
02EE A991 ld R26,y+
02F0 9991 ld R25,y+
02F2 8991 ld R24,y+
02F4 3991 ld R19,y+
02F6 2991 ld R18,y+
02F8 1991 ld R17,y+
02FA 0991 ld R16,y+
02FC 9990 ld R9,y+
02FE 8990 ld R8,y+
0300 7990 ld R7,y+
0302 6990 ld R6,y+
0304 5990 ld R5,y+
0306 4990 ld R4,y+
0308 3990 ld R3,y+
030A 2990 ld R2,y+
030C 1990 ld R1,y+
030E 0990 ld R0,y+
0310 1895 reti
0312 .dbend
0312 .dbfunc s USART0_INIT _USART0_INIT fV
.even
0312 _USART0_INIT:
0312 .dbline -1
0312 .dbline 239
0312 ; }
0312 ;
0312 ; /***********************************************************
0312 ; * 函数说明:USART0初始化函数 *
0312 ; * 输入: 无 *
0312 ; * 输出: 无 *
0312 ; * 调用函数:无 *
0312 ; * -------------------------------------------------------- *
0312 ; * [说明] *
0312 ; * 波特率: 38400,n,8,1 *
0312 ; ***********************************************************/
0312 ; static void USART0_INIT(void)
0312 ; {
0312 .dbline 248
0312 ; #ifdef LEFT_MOTOR
0312 ; UCSRB = 0x00; //disable while setting baud rate
0312 ; UCSRA = 0x01;
0312 ; UCSRC = BIT(URSEL) | 0x06;
0312 ; UBRRL = 0x19; //set baud rate lo
0312 ; UBRRH = 0x00; //set baud rate hi
0312 ; UCSRB = 0xDC;
0312 ; #else
0312 ; UCSRB = 0x00; //disable while setting baud rate
0312 2224 clr R2
0314 2AB8 out 0xa,R2
0316 .dbline 249
0316 ; UCSRA = 0x00;
0316 2BB8 out 0xb,R2
0318 .dbline 250
0318 ; UCSRC = BIT(URSEL) | 0x06;
0318 86E8 ldi R24,134
031A 80BD out 0x20,R24
031C .dbline 251
031C ; UBRRL = 0x19; //set baud rate lo
031C 89E1 ldi R24,25
031E 89B9 out 0x9,R24
0320 .dbline 252
0320 ; UBRRH = 0x00; //set baud rate hi
0320 20BC out 0x20,R2
0322 .dbline 253
0322 ; UCSRB = 0xDC;
0322 8CED ldi R24,220
0324 8AB9 out 0xa,R24
0326 .dbline -2
0326 L17:
0326 .dbline 0 ; func end
0326 0895 ret
0328 .dbend
0328 .dbfunc e USART0_RX_ISR _USART0_RX_ISR fV
0328 ; cTempUDR0 -> R10
0328 ; b9thBit0 -> R20
.even
0328 _USART0_RX_ISR::
0328 0A92 st -y,R0
032A 1A92 st -y,R1
032C 2A92 st -y,R2
032E 3A92 st -y,R3
0330 4A92 st -y,R4
0332 5A92 st -y,R5
0334 6A92 st -y,R6
0336 7A92 st -y,R7
0338 8A92 st -y,R8
033A 9A92 st -y,R9
033C AA92 st -y,R10
033E 0A93 st -y,R16
0340 1A93 st -y,R17
0342 2A93 st -y,R18
0344 3A93 st -y,R19
0346 4A93 st -y,R20
0348 8A93 st -y,R24
034A 9A93 st -y,R25
034C AA93 st -y,R26
034E BA93 st -y,R27
0350 EA93 st -y,R30
0352 FA93 st -y,R31
0354 0FB6 in R0,0x3f
0356 0A92 st -y,R0
0358 AA92 st -y,R10
035A 4A93 st -y,R20
035C .dbline -1
035C .dbline 264
035C ; #endif
035C ; }
035C ;
035C ; /***********************************************************
035C ; * 函数说明:串口接收完成中断处理函数 *
035C ; * 输入: 无 *
035C ; * 输出: 无 *
035C ; * 调用函数:INSERT_USART0_RX_ISR_CODE *
035C ; ***********************************************************/
035C ; void USART0_RX_ISR(void)
035C ; {
035C .dbline 269
035C ; #ifndef _USE_9BIT_MODEL
035C ; uint8 cTempUDR = UDR;
035C ; #endif
035C ;
035C ; INSERT_USART0_RX_ISR_CODE
035C .dbline 269
035C 4AB1 in R20,0xa
035E 4270 andi R20,2
0360 .dbline 269
0360 ACB0 in R10,0xc
0362 .dbline 269
0362 7894 sei
0364 .dbline 269
0364 4423 tst R20
0366 11F4 brne L19
0368 X4:
0368 .dbline 269
0368 .dbline 269
0368 0A2D mov R16,R10
036A 00D0 rcall _UARTaddDataToRxBuff
036C .dbline 269
036C .dbline 269
036C L19:
036C .dbline 269
036C .dbline -2
036C L18:
036C .dbline 0 ; func end
036C 4991 ld R20,y+
036E A990 ld R10,y+
0370 0990 ld R0,y+
0372 0FBE out 0x3f,R0
0374 F991 ld R31,y+
0376 E991 ld R30,y+
0378 B991 ld R27,y+
037A A991 ld R26,y+
037C 9991 ld R25,y+
037E 8991 ld R24,y+
0380 4991 ld R20,y+
0382 3991 ld R19,y+
0384 2991 ld R18,y+
0386 1991 ld R17,y+
0388 0991 ld R16,y+
038A A990 ld R10,y+
038C 9990 ld R9,y+
038E 8990 ld R8,y+
0390 7990 ld R7,y+
0392 6990 ld R6,y+
0394 5990 ld R5,y+
0396 4990 ld R4,y+
0398 3990 ld R3,y+
039A 2990 ld R2,y+
039C 1990 ld R1,y+
039E 0990 ld R0,y+
03A0 1895 reti
03A2 .dbsym r cTempUDR0 10 c
03A2 .dbsym r b9thBit0 20 c
03A2 .dbend
03A2 .dbfunc e USART0_TX_ISR _USART0_TX_ISR fV
.even
03A2 _USART0_TX_ISR::
03A2 8A93 st -y,R24
03A4 8FB7 in R24,0x3f
03A6 8A93 st -y,R24
03A8 .dbline -1
03A8 .dbline 279
03A8 ; }
03A8 ;
03A8 ; /***********************************************************
03A8 ; * 函数说明:串口发送完成中断处理函数 *
03A8 ; * 输入: 无 *
03A8 ; * 输出: 无 *
03A8 ; * 调用函数:INSERT_USART0_TX_ISR_CODE *
03A8 ; ***********************************************************/
03A8 ; void USART0_TX_ISR(void)
03A8 ; {
03A8 .dbline 280
03A8 ; INSERT_USART0_TX_ISR_CODE
03A8 7894 sei
03AA .dbline 280
03AA 81E0 ldi R24,1
03AC 80930000 sts _g_bIfSerialTransmitCompleted,R24
03B0 .dbline 280
03B0 .dbline -2
03B0 L21:
03B0 .dbline 0 ; func end
03B0 8991 ld R24,y+
03B2 8FBF out 0x3f,R24
03B4 8991 ld R24,y+
03B6 1895 reti
03B8 .dbend
03B8 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -