⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hd_support.lis

📁 一个直流电机的闭环控制源代码程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 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 + -