📄 main.lis
字号:
022A 0023 tst R16
022C 11F4 brne L77
022E .dbline 132
022E 0027 clr R16
0230 01C0 xjmp L76
0232 L77:
0232 .dbline 134
0232 ; unsigned int read_adc(void) //读取模数转换的值,即测速发电机的电压值
0232 ; {
0232 0B81 ldd R16,y+3
0234 .dbline -2
0234 L76:
0234 2496 adiw R28,4
0236 .dbline 0 ; func end
0236 0895 ret
0238 .dbsym l rece 3 c
0238 .dbend
0238 .dbfunc e disstring _disstring fV
.area func_lit(rom, con, rel)
0000 L127:
0000 F801 .word `L123
0002 FB01 .word `L88
0004 9901 .word `L91
0006 9B01 .word `L92
0008 9E01 .word `L93
000A A101 .word `L94
000C A401 .word `L95
000E A701 .word `L96
0010 AA01 .word `L97
0012 AD01 .word `L98
0014 B001 .word `L99
0016 B301 .word `L100
0018 FB01 .word `L88
001A FB01 .word `L88
001C FB01 .word `L88
001E FB01 .word `L88
0020 FB01 .word `L88
0022 FB01 .word `L88
0024 FB01 .word `L88
0026 B901 .word `L102
0028 FB01 .word `L88
002A BF01 .word `L104
002C FB01 .word `L88
002E C501 .word `L106
0030 C801 .word `L107
0032 CB01 .word `L108
0034 CE01 .word `L109
0036 FB01 .word `L88
0038 D401 .word `L111
003A FB01 .word `L88
003C D701 .word `L112
003E FB01 .word `L88
0040 FB01 .word `L88
0042 DA01 .word `L113
0044 DD01 .word `L114
0046 FB01 .word `L88
0048 FB01 .word `L88
004A FB01 .word `L88
004C F501 .word `L122
004E E901 .word `L118
.area text(rom, con, rel)
0238 .dbfile C:/icc/include/h_iic.c
0238 ; at -> R20,R21
0238 ; num -> y+0
0238 ; chr2 -> R12
0238 ; i -> R22
0238 ; chr -> R14
0238 ; chr1 -> R10
0238 ; tmp -> y+11
.even
0238 _disstring::
0238 1A93 st -y,r17
023A 0A93 st -y,r16
023C 0E940000 xcall push_gset5
0240 2197 sbiw R28,1
0242 .dbline -1
0242 .dbline 138
0242 ; unsigned char adc_H,adc_L;
0242 ; unsigned int adc_jg;
0242 ; adc_L=ADCL;
0242 ; adc_H=ADCH;
0242 .dbline 143
0242 ; adc_jg=adc_H*256+adc_L;
0242 ; return adc_jg;
0242 ; }
0242 ; //TIMER0 initialize - prescale:8
0242 ; // WGM: Normal
0242 0B85 ldd R16,y+11
0244 1C85 ldd R17,y+12
0246 0E940000 xcall _strlen
024A 0883 std y+0,R16
024C .dbline 147
024C ; // desired value: 1Hz
024C ; // actual value: Out of range
024C ; void timer0_init(void)
024C ; {
024C 4B85 ldd R20,y+11
024E 5C85 ldd R21,y+12
0250 .dbline 148
0250 ; TCCR0 = 0x00; //stop
0250 88E0 ldi R24,8
0252 002E mov R0,R16
0254 8017 cp R24,R16
0256 40F4 brsh L80
0258 .dbline 149
0258 ; TCNT0 = 0x00 /*INVALID SETTING*/; //set count
0258 .dbline 150
0258 ; OCR0 = 0x00 /*INVALID SETTING*/; //set compare
0258 FA01 movw R30,R20
025A 8081 ldd R24,z+0
025C 8E32 cpi R24,46
025E 11F4 brne L82
0260 .dbline 150
0260 89E0 ldi R24,9
0262 8883 std y+0,R24
0264 L82:
0264 .dbline 151
0264 ; TCCR0 = 0x02; //start timer
0264 4F5F subi R20,255 ; offset = 1
0266 5F4F sbci R21,255
0268 .dbline 152
0268 ; }
0268 L80:
0268 .dbline 153
0268 ;
0268 6627 clr R22
026A DCC0 xjmp L87
026C L84:
026C .dbline 154
026C ; #pragma interrupt_handler timer0_ovf_isr:10
026C .dbline 155
026C ; void timer0_ovf_isr(void)
026C 88E6 ldi R24,104
026E E82E mov R14,R24
0270 E61A sub R14,R22
0272 .dbline 156
0272 ; {
0272 EB85 ldd R30,y+11
0274 FC85 ldd R31,y+12
0276 E080 ldd R14,z+0
0278 .dbline 157
0278 ; unsigned char i;
0278 4E2D mov R20,R14
027A 5527 clr R21
027C 4236 cpi R20,98
027E E0E0 ldi R30,0
0280 5E07 cpc R21,R30
0282 09F4 brne X2
0284 79C0 xjmp L103
0286 X2:
0286 4336 cpi R20,99
0288 E0E0 ldi R30,0
028A 5E07 cpc R21,R30
028C 09F4 brne X3
028E A7C0 xjmp L120
0290 X3:
0290 4436 cpi R20,100
0292 E0E0 ldi R30,0
0294 5E07 cpc R21,R30
0296 09F4 brne X4
0298 75C0 xjmp L105
029A X4:
029A 4836 cpi R20,104
029C E0E0 ldi R30,0
029E 5E07 cpc R21,R30
02A0 09F4 brne X5
02A2 A0C0 xjmp L121
02A4 X5:
02A4 4936 cpi R20,105
02A6 E0E0 ldi R30,0
02A8 5E07 cpc R21,R30
02AA 09F4 brne X6
02AC 7AC0 xjmp L110
02AE X6:
02AE 89E6 ldi R24,105
02B0 90E0 ldi R25,0
02B2 8417 cp R24,R20
02B4 9507 cpc R25,R21
02B6 1CF1 brlt L125
02B8 L124:
02B8 4032 cpi R20,32
02BA E0E0 ldi R30,0
02BC 5E07 cpc R21,R30
02BE 09F4 brne X7
02C0 55C0 xjmp L101
02C2 X7:
02C2 4032 cpi R20,32
02C4 E0E0 ldi R30,0
02C6 5E07 cpc R21,R30
02C8 0CF4 brge X8
02CA 95C0 xjmp L88
02CC X8:
02CC L126:
02CC 4E32 cpi R20,46
02CE E0E0 ldi R30,0
02D0 5E07 cpc R21,R30
02D2 0CF4 brge X9
02D4 90C0 xjmp L88
02D6 X9:
02D6 85E5 ldi R24,85
02D8 90E0 ldi R25,0
02DA 8417 cp R24,R20
02DC 9507 cpc R25,R21
02DE 0CF4 brge X10
02E0 8AC0 xjmp L88
02E2 X10:
02E2 02E0 ldi R16,2
02E4 10E0 ldi R17,0
02E6 9A01 movw R18,R20
02E8 0E940000 xcall empy16s
02EC F801 movw R30,R16
02EE 80E0 ldi R24,<L127-92
02F0 90E0 ldi R25,>L127-92
02F2 E80F add R30,R24
02F4 F91F adc R31,R25
02F6 0590 lpm R0,Z+
02F8 1490 lpm R1,Z
02FA F001 movw R30,R0
02FC 0994 ijmp
02FE L125:
02FE 4137 cpi R20,113
0300 E0E0 ldi R30,0
0302 5E07 cpc R21,R30
0304 09F4 brne X11
0306 5CC0 xjmp L115
0308 X11:
0308 4237 cpi R20,114
030A E0E0 ldi R30,0
030C 5E07 cpc R21,R30
030E 09F4 brne X12
0310 5AC0 xjmp L116
0312 X12:
0312 4437 cpi R20,116
0314 E0E0 ldi R30,0
0316 5E07 cpc R21,R30
0318 09F4 brne X13
031A 58C0 xjmp L117
031C X13:
031C 4137 cpi R20,113
031E E0E0 ldi R30,0
0320 5E07 cpc R21,R30
0322 0CF4 brge X14
0324 68C0 xjmp L88
0326 X14:
0326 L129:
0326 4937 cpi R20,121
0328 E0E0 ldi R30,0
032A 5E07 cpc R21,R30
032C 09F4 brne X15
032E 54C0 xjmp L119
0330 X15:
0330 62C0 xjmp L88
0332 X1:
0332 .dbline 158
0332 ; if (on_scr==1) //如果可控硅触发标志为1,则触发可控硅
0332 L91:
0332 .dbline 159
0332 ; {
0332 AA24 clr R10
0334 .dbline 159
0334 62C0 xjmp L89
0336 L92:
0336 .dbline 160
0336 ; TCCR0=0;
0336 AA24 clr R10
0338 A394 inc R10
033A .dbline 160
033A 5FC0 xjmp L89
033C L93:
033C .dbline 161
033C ; PORTC=PORTC | 0b01000000;
033C 82E0 ldi R24,2
033E A82E mov R10,R24
0340 .dbline 161
0340 5CC0 xjmp L89
0342 L94:
0342 .dbline 162
0342 ; for (i=0;i<20;i++) ;
0342 83E0 ldi R24,3
0344 A82E mov R10,R24
0346 .dbline 162
0346 59C0 xjmp L89
0348 L95:
0348 .dbline 163
0348 ; PORTC=PORTC & 0b10111111;
0348 84E0 ldi R24,4
034A A82E mov R10,R24
034C .dbline 163
034C 56C0 xjmp L89
034E L96:
034E .dbline 164
034E ; on_scr=0;
034E 85E0 ldi R24,5
0350 A82E mov R10,R24
0352 .dbline 164
0352 53C0 xjmp L89
0354 L97:
0354 .dbline 165
0354 ; }
0354 86E0 ldi R24,6
0356 A82E mov R10,R24
0358 .dbline 165
0358 50C0 xjmp L89
035A L98:
035A .dbline 166
035A ; if (time0_chi>0) //如果计数器0次数大于0,则重新开始(0-255)的计时
035A 87E0 ldi R24,7
035C A82E mov R10,R24
035E .dbline 166
035E 4DC0 xjmp L89
0360 L99:
0360 .dbline 167
0360 ; {
0360 88E0 ldi R24,8
0362 A82E mov R10,R24
0364 .dbline 167
0364 4AC0 xjmp L89
0366 L100:
0366 .dbline 168
0366 ; TCNT0=0;
0366 89E0 ldi R24,9
0368 A82E mov R10,R24
036A .dbline 168
036A 47C0 xjmp L89
036C L101:
036C .dbline 169
036C ; TCCR0=2;
036C 8FE1 ldi R24,31
036E A82E mov R10,R24
0370 .dbline 169
0370 44C0 xjmp L89
0372 L102:
0372 .dbline 170
0372 ; time0_chi--;
0372 8AE0 ldi R24,10
0374 A82E mov R10,R24
0376 .dbline 170
0376 41C0 xjmp L89
0378 L103:
0378 .dbline 171
0378 ; }
0378 8BE0 ldi R24,11
037A A82E mov R10,R24
037C .dbline 171
037C 3EC0 xjmp L89
037E L104:
037E .dbline 172
037E ; else
037E 8CE0 ldi R24,12
0380 A82E mov R10,R24
0382 .dbline 172
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -