📄 hd_support.lis
字号:
00EA 0990 ld R0,y+
00EC 0FBE out 0x3f,R0
00EE B991 ld R27,y+
00F0 A991 ld R26,y+
00F2 9991 ld R25,y+
00F4 8991 ld R24,y+
00F6 3991 ld R19,y+
00F8 2991 ld R18,y+
00FA 1991 ld R17,y+
00FC 0991 ld R16,y+
00FE 5990 ld R5,y+
0100 4990 ld R4,y+
0102 3990 ld R3,y+
0104 2990 ld R2,y+
0106 1990 ld R1,y+
0108 0990 ld R0,y+
010A 1895 reti
010C .dbend
010C .dbfunc e INT1_ISR _INT1_ISR fV
.even
010C _INT1_ISR::
010C 0A92 st -y,R0
010E 1A92 st -y,R1
0110 2A92 st -y,R2
0112 3A92 st -y,R3
0114 4A92 st -y,R4
0116 5A92 st -y,R5
0118 0A93 st -y,R16
011A 1A93 st -y,R17
011C 2A93 st -y,R18
011E 3A93 st -y,R19
0120 8A93 st -y,R24
0122 9A93 st -y,R25
0124 AA93 st -y,R26
0126 BA93 st -y,R27
0128 0FB6 in R0,0x3f
012A 0A92 st -y,R0
012C .dbline -1
012C .dbline 147
012C ; }
012C ;
012C ; /***********************************************************
012C ; * 函数说明:外中断1中断处理函数 *
012C ; * 输入: 无 *
012C ; * 输出: 无 *
012C ; * 调用函数:INSERT_INT0_ISR_CODE *
012C ; ***********************************************************/
012C ; void INT1_ISR(void)
012C ; {
012C .dbline 148
012C ; INSERT_INT1_ISR_CODE
012C .dbline 148
012C 80B3 in R24,0x10
012E 8695 lsr R24
0130 8695 lsr R24
0132 8170 andi R24,1
0134 90B3 in R25,0x10
0136 9695 lsr R25
0138 9695 lsr R25
013A 9695 lsr R25
013C 9170 andi R25,1
013E 9817 cp R25,R24
0140 C9F4 brne L9
0142 X2:
0142 81E0 ldi R24,1
0144 90E0 ldi R25,0
0146 A0E0 ldi R26,0
0148 B0E0 ldi R27,0
014A 40900200 lds R4,_g_dNowMotorPosition+2
014E 50900300 lds R5,_g_dNowMotorPosition+2+1
0152 20900000 lds R2,_g_dNowMotorPosition
0156 30900100 lds R3,_g_dNowMotorPosition+1
015A 280E add R2,R24
015C 391E adc R3,R25
015E 4A1E adc R4,R26
0160 5B1E adc R5,R27
0162 30920100 sts _g_dNowMotorPosition+1,R3
0166 20920000 sts _g_dNowMotorPosition,R2
016A 50920300 sts _g_dNowMotorPosition+2+1,R5
016E 40920200 sts _g_dNowMotorPosition+2,R4
0172 18C0 rjmp L10
0174 L9:
0174 81E0 ldi R24,1
0176 90E0 ldi R25,0
0178 A0E0 ldi R26,0
017A B0E0 ldi R27,0
017C 40900200 lds R4,_g_dNowMotorPosition+2
0180 50900300 lds R5,_g_dNowMotorPosition+2+1
0184 20900000 lds R2,_g_dNowMotorPosition
0188 30900100 lds R3,_g_dNowMotorPosition+1
018C 281A sub R2,R24
018E 390A sbc R3,R25
0190 4A0A sbc R4,R26
0192 5B0A sbc R5,R27
0194 30920100 sts _g_dNowMotorPosition+1,R3
0198 20920000 sts _g_dNowMotorPosition,R2
019C 50920300 sts _g_dNowMotorPosition+2+1,R5
01A0 40920200 sts _g_dNowMotorPosition+2,R4
01A4 L10:
01A4 .dbline 148
01A4 85B7 in R24,0x35
01A6 8C70 andi R24,12
01A8 8C30 cpi R24,12
01AA 39F4 brne L11
01AC X3:
01AC .dbline 148
01AC .dbline 148
01AC 85B7 in R24,0x35
01AE 837F andi R24,243
01B0 85BF out 0x35,R24
01B2 .dbline 148
01B2 85B7 in R24,0x35
01B4 8860 ori R24,8
01B6 85BF out 0x35,R24
01B8 .dbline 148
01B8 06C0 rjmp L12
01BA L11:
01BA .dbline 148
01BA .dbline 148
01BA 85B7 in R24,0x35
01BC 837F andi R24,243
01BE 85BF out 0x35,R24
01C0 .dbline 148
01C0 85B7 in R24,0x35
01C2 8C60 ori R24,12
01C4 85BF out 0x35,R24
01C6 .dbline 148
01C6 L12:
01C6 .dbline 148
01C6 .dbline -2
01C6 L8:
01C6 .dbline 0 ; func end
01C6 0990 ld R0,y+
01C8 0FBE out 0x3f,R0
01CA B991 ld R27,y+
01CC A991 ld R26,y+
01CE 9991 ld R25,y+
01D0 8991 ld R24,y+
01D2 3991 ld R19,y+
01D4 2991 ld R18,y+
01D6 1991 ld R17,y+
01D8 0991 ld R16,y+
01DA 5990 ld R5,y+
01DC 4990 ld R4,y+
01DE 3990 ld R3,y+
01E0 2990 ld R2,y+
01E2 1990 ld R1,y+
01E4 0990 ld R0,y+
01E6 1895 reti
01E8 .dbend
01E8 .dbfunc s Port_INIT _Port_INIT fV
.even
01E8 _Port_INIT:
01E8 .dbline -1
01E8 .dbline 158
01E8 ; }
01E8 ;
01E8 ; /***********************************************************
01E8 ; * 函数说明:系统端口初始化函数 *
01E8 ; * 输入: 无 *
01E8 ; * 输出: 无 *
01E8 ; * 调用函数:无 *
01E8 ; ***********************************************************/
01E8 ; static void Port_INIT(void)
01E8 ; {
01E8 .dbline 160
01E8 ; //LED
01E8 ; DDR_PC0 = PDIR_OUT;_PC0 = LOW;
01E8 84B3 in R24,0x14
01EA 8160 ori R24,1
01EC 84BB out 0x14,R24
01EE .dbline 160
01EE 85B3 in R24,0x15
01F0 8E7F andi R24,254
01F2 85BB out 0x15,R24
01F4 .dbline 163
01F4 ;
01F4 ; //SP027
01F4 ; DDR_PC5 = PDIR_OUT;_PC5 = HIGH;
01F4 84B3 in R24,0x14
01F6 8062 ori R24,32
01F8 84BB out 0x14,R24
01FA .dbline 163
01FA 85B3 in R24,0x15
01FC 8062 ori R24,32
01FE 85BB out 0x15,R24
0200 .dbline 164
0200 ; DDR_PC4 = PDIR_OUT;_PC4 = HIGH;
0200 84B3 in R24,0x14
0202 8061 ori R24,16
0204 84BB out 0x14,R24
0206 .dbline 164
0206 85B3 in R24,0x15
0208 8061 ori R24,16
020A 85BB out 0x15,R24
020C .dbline 167
020C ;
020C ; //外中断
020C ; DDR_PD2 = PDIR_IN; _PD2 = HIGH;
020C 81B3 in R24,0x11
020E 8B7F andi R24,251
0210 81BB out 0x11,R24
0212 .dbline 167
0212 82B3 in R24,0x12
0214 8460 ori R24,4
0216 82BB out 0x12,R24
0218 .dbline 168
0218 ; DDR_PD3 = PDIR_IN; _PD3 = HIGH;
0218 81B3 in R24,0x11
021A 877F andi R24,247
021C 81BB out 0x11,R24
021E .dbline 168
021E 82B3 in R24,0x12
0220 8860 ori R24,8
0222 82BB out 0x12,R24
0224 .dbline 171
0224 ;
0224 ; //SPI
0224 ; DDR_PB2 = PDIR_IN; _PB2 = LOW;
0224 87B3 in R24,0x17
0226 8B7F andi R24,251
0228 87BB out 0x17,R24
022A .dbline 171
022A 88B3 in R24,0x18
022C 8B7F andi R24,251
022E 88BB out 0x18,R24
0230 .dbline 172
0230 ; DDR_PB3 = PDIR_IN; _PB3 = LOW;
0230 87B3 in R24,0x17
0232 877F andi R24,247
0234 87BB out 0x17,R24
0236 .dbline 172
0236 88B3 in R24,0x18
0238 877F andi R24,247
023A 88BB out 0x18,R24
023C .dbline 173
023C ; DDR_PB4 = PDIR_IN; _PB4 = LOW;
023C 87B3 in R24,0x17
023E 8F7E andi R24,239
0240 87BB out 0x17,R24
0242 .dbline 173
0242 88B3 in R24,0x18
0244 8F7E andi R24,239
0246 88BB out 0x18,R24
0248 .dbline 174
0248 ; DDR_PB5 = PDIR_IN; _PB5 = LOW;
0248 87B3 in R24,0x17
024A 8F7D andi R24,223
024C 87BB out 0x17,R24
024E .dbline 174
024E 88B3 in R24,0x18
0250 8F7D andi R24,223
0252 88BB out 0x18,R24
0254 .dbline 177
0254 ;
0254 ; //串口
0254 ; DDR_PD0 = PDIR_IN; _PD0 = HIGH;
0254 81B3 in R24,0x11
0256 8E7F andi R24,254
0258 81BB out 0x11,R24
025A .dbline 177
025A 82B3 in R24,0x12
025C 8160 ori R24,1
025E 82BB out 0x12,R24
0260 .dbline 180
0260 ;
0260 ; //PWM输出
0260 ; DDR_PB1 = PDIR_OUT;
0260 87B3 in R24,0x17
0262 8260 ori R24,2
0264 87BB out 0x17,R24
0266 .dbline 182
0266 ; //电机控制
0266 ; DDR_PD6 = PDIR_OUT; _PD6 = HIGH;
0266 81B3 in R24,0x11
0268 8064 ori R24,64
026A 81BB out 0x11,R24
026C .dbline 182
026C 82B3 in R24,0x12
026E 8064 ori R24,64
0270 82BB out 0x12,R24
0272 .dbline 183
0272 ; DDR_PD7 = PDIR_OUT; _PD7 = HIGH;
0272 81B3 in R24,0x11
0274 8068 ori R24,128
0276 81BB out 0x11,R24
0278 .dbline 183
0278 82B3 in R24,0x12
027A 8068 ori R24,128
027C 82BB out 0x12,R24
027E .dbline 186
027E ;
027E ; //读写控制
027E ; DDR_PD4 = PDIR_IN; _PD4 = HIGH;
027E 81B3 in R24,0x11
0280 8F7E andi R24,239
0282 81BB out 0x11,R24
0284 .dbline 186
0284 82B3 in R24,0x12
0286 8061 ori R24,16
0288 82BB out 0x12,R24
028A .dbline -2
028A L13:
028A .dbline 0 ; func end
028A 0895 ret
028C .dbend
028C .dbfunc s Timer1_INIT _Timer1_INIT fV
.even
028C _Timer1_INIT:
028C .dbline -1
028C .dbline 196
028C ; }
028C ;
028C ; /***********************************************************
028C ; * 函数声明:定时器1初始化函数 *
028C ; * 输入: 无 *
028C ; * 输出: 无 *
028C ; * 调用函数:无 *
028C ; ***********************************************************/
028C ; static void Timer1_INIT(void)
028C ; {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -