www.pudn.com > digital_duoji.rar > main.lis


                        .module main.c 
                        .area text(rom, con, rel) 
 0000                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
                        .area data(ram, con, rel) 
 0000                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0000           _ADCjohu:: 
 0000                   .blkb 4 
                        .area idata 
 0000 00000000          .word 0,0 
                        .area data(ram, con, rel) 
 0004                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0004                   .dbsym e ADCjohu _ADCjohu L 
 0004           _ms:: 
 0004                   .blkb 2 
                        .area idata 
 0004 0000              .word 0 
                        .area data(ram, con, rel) 
 0006                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0006                   .dbsym e ms _ms I 
 0006           _xx:: 
 0006                   .blkb 4 
                        .area idata 
 0006 00000000          .word 0,0 
                        .area data(ram, con, rel) 
 000A                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 000A                   .dbsym e xx _xx L 
 000A           _adc:: 
 000A                   .blkb 2 
                        .area idata 
 000A 0000              .word 0 
                        .area data(ram, con, rel) 
 000C                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 000C                   .dbsym e adc _adc I 
 000C           _lvbo:: 
 000C                   .blkb 1 
                        .area idata 
 000C 00                .byte 0 
                        .area data(ram, con, rel) 
 000D                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 000D                   .dbsym e lvbo _lvbo c 
 000D           _lvbo_num:: 
 000D                   .blkb 4 
                        .area idata 
 000D 00000000          .word 0,0 
                        .area data(ram, con, rel) 
 0011                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0011                   .dbsym e lvbo_num _lvbo_num L 
 0011           _pwm_pingjun:: 
 0011                   .blkb 1 
                        .area idata 
 0011 64                .byte 100 
                        .area data(ram, con, rel) 
 0012                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0012                   .dbsym e pwm_pingjun _pwm_pingjun c 
 0012           _Rpwm0:: 
 0012                   .blkb 1 
                        .area idata 
 0012 00                .byte 0 
                        .area data(ram, con, rel) 
 0013                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0013                   .dbsym e Rpwm0 _Rpwm0 c 
 0013           _Rpwm1:: 
 0013                   .blkb 1 
                        .area idata 
 0013 00                .byte 0 
                        .area data(ram, con, rel) 
 0014                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0014                   .dbsym e Rpwm1 _Rpwm1 c 
 0014           _Lpwm0:: 
 0014                   .blkb 1 
                        .area idata 
 0014 00                .byte 0 
                        .area data(ram, con, rel) 
 0015                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0015                   .dbsym e Lpwm0 _Lpwm0 c 
 0015           _Lpwm1:: 
 0015                   .blkb 1 
                        .area idata 
 0015 00                .byte 0 
                        .area data(ram, con, rel) 
 0016                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0016                   .dbsym e Lpwm1 _Lpwm1 c 
 0016           _all:: 
 0016                   .blkb 1 
                        .area idata 
 0016 00                .byte 0 
                        .area data(ram, con, rel) 
 0017                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0017                   .dbsym e all _all c 
 0017           _a:: 
 0017                   .blkb 1 
                        .area idata 
 0017 00                .byte 0 
                        .area data(ram, con, rel) 
 0018                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0018                   .dbsym e a _a c 
 0018           _b:: 
 0018                   .blkb 1 
                        .area idata 
 0018 00                .byte 0 
                        .area data(ram, con, rel) 
 0019                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0019                   .dbsym e b _b c 
 0019           _c:: 
 0019                   .blkb 1 
                        .area idata 
 0019 00                .byte 0 
                        .area data(ram, con, rel) 
 001A                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 001A                   .dbsym e c _c c 
 001A           _d:: 
 001A                   .blkb 1 
                        .area idata 
 001A 00                .byte 0 
                        .area data(ram, con, rel) 
 001B                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 001B                   .dbsym e d _d c 
 001B           _e:: 
 001B                   .blkb 1 
                        .area idata 
 001B 00                .byte 0 
                        .area data(ram, con, rel) 
 001C                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 001C                   .dbsym e e _e c 
 001C           _f:: 
 001C                   .blkb 1 
                        .area idata 
 001C 00                .byte 0 
                        .area data(ram, con, rel) 
 001D                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 001D                   .dbsym e f _f c 
 001D           _jiaodu:: 
 001D                   .blkb 4 
                        .area idata 
 001D 00000000          .word 0,0 
                        .area data(ram, con, rel) 
 0021                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0021                   .dbsym e jiaodu _jiaodu L 
 0021           _juli:: 
 0021                   .blkb 4 
                        .area idata 
 0021 00000000          .word 0,0 
                        .area data(ram, con, rel) 
 0025                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0025                   .dbsym e juli _juli L 
 0025           _time:: 
 0025                   .blkb 2 
                        .area idata 
 0025 0000              .word 0 
                        .area data(ram, con, rel) 
 0027                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0027                   .dbsym e time _time I 
 0027           _sec:: 
 0027                   .blkb 1 
                        .area idata 
 0027 00                .byte 0 
                        .area data(ram, con, rel) 
 0028                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0028                   .dbsym e sec _sec c 
                        .area text(rom, con, rel) 
 0000                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 0000                   .dbfunc e port_init _port_init fV 
                        .even 
 0000           _port_init:: 
 0000                   .dbline -1 
 0000                   .dbline 43 
 0000           ; ////////////////////////////// 
 0000           ; //////////////////////////////   61493为近似180度 
 0000           ;  
 0000           ; #include  
 0000           ; #include  
 0000           ;  
 0000           ; #define PREVSONG   BIT(2) 
 0000           ; #define NEXTSONG   BIT(3) 
 0000           ; #define VOLDOWN    BIT(4) 
 0000           ; #define VOLUP      BIT(5) 
 0000           ; #define STOP       BIT(6) 
 0000           ;  
 0000           ; #define R_pwm0       BIT(4) 
 0000           ; #define R_pwm1       BIT(5) 
 0000           ; #define L_pwm0       BIT(6) 
 0000           ; #define L_pwm1       BIT(7) 
 0000           ;  
 0000           ;  
 0000           ; long ADCjohu=0; 
 0000           ; int ms=0; 
 0000           ; long xx=0; 
 0000           ; int adc=0; 
 0000           ;  
 0000           ; #define REF 483 
 0000           ; unsigned char lvbo=0; 
 0000           ; long lvbo_num=0; 
 0000           ;  
 0000           ; unsigned char pwm_pingjun=100;//平均速度 
 0000           ; unsigned char Rpwm0=0; 
 0000           ; unsigned char Rpwm1=0; 
 0000           ; unsigned char Lpwm0=0; 
 0000           ; unsigned char Lpwm1=0; 
 0000           ; unsigned char all=0, a=0,b=0,c=0,d=0,e=0,f=0; 
 0000           ; #define CIR 1 
 0000           ; #define LINE 2 
 0000           ; long jiaodu=0,juli=0; 
 0000           ; int time=0; 
 0000           ; unsigned char sec=0; 
 0000           ;  
 0000           ;  
 0000           ;  
 0000           ; void port_init(void) 
 0000           ; { 
 0000                   .dbline 44 
 0000           ;  PORTA = 0x00; 
 0000 2224              clr R2 
 0002 2BBA              out 0x1b,R2 
 0004                   .dbline 45 
 0004           ;  DDRA  = 0x00; 
 0004 2ABA              out 0x1a,R2 
 0006                   .dbline 46 
 0006           ;  PORTB = 0x00; 
 0006 28BA              out 0x18,R2 
 0008                   .dbline 47 
 0008           ;  DDRB  = 0x00; 
 0008 27BA              out 0x17,R2 
 000A                   .dbline 48 
 000A           ;  PORTC = 0x00; //m103 output only 
 000A 25BA              out 0x15,R2 
 000C                   .dbline 49 
 000C           ;  DDRC  = 0x00; 
 000C 24BA              out 0x14,R2 
 000E                   .dbline 50 
 000E           ;  PORTD = 0x00; 
 000E 22BA              out 0x12,R2 
 0010                   .dbline 51 
 0010           ;  DDRD  = 0x00; 
 0010 21BA              out 0x11,R2 
 0012                   .dbline 52 
 0012           ;  PORTE = 0x00; 
 0012 23B8              out 0x3,R2 
 0014                   .dbline 53 
 0014           ;  DDRE  = 0x00; 
 0014 22B8              out 0x2,R2 
 0016                   .dbline 54 
 0016           ;  PORTF = 0x00; 
 0016 20926200          sts 98,R2 
 001A                   .dbline 55 
 001A           ;  DDRF  = 0x00; 
 001A 20926100          sts 97,R2 
 001E                   .dbline 56 
 001E           ;  PORTG = 0x00; 
 001E 20926500          sts 101,R2 
 0022                   .dbline 57 
 0022           ;  DDRG  = 0x00; 
 0022 20926400          sts 100,R2 
 0026                   .dbline -2 
 0026           L1: 
 0026                   .dbline 0 ; func end 
 0026 0895              ret 
 0028                   .dbend 
 0028                   .dbfunc e timer2_init _timer2_init fV 
                        .even 
 0028           _timer2_init:: 
 0028                   .dbline -1 
 0028                   .dbline 65 
 0028           ; } 
 0028           ;  
 0028           ; //TIMER2 initialize - prescale:64 
 0028           ; // WGM: Normal 
 0028           ; // desired value: 1mSec 
 0028           ; // actual value:  1.000mSec (0.0%) 
 0028           ; void timer2_init(void) 
 0028           ; { 
 0028                   .dbline 66 
 0028           ;  TCCR2 = 0x00; //stop 
 0028 2224              clr R2 
 002A 25BC              out 0x25,R2 
 002C                   .dbline 67 
 002C           ;  TCNT2 = 0x83; //setup 
 002C 83E8              ldi R24,131 
 002E 84BD              out 0x24,R24 
 0030                   .dbline 68 
 0030           ;  OCR2  = 0x7D; 
 0030 8DE7              ldi R24,125 
 0032 83BD              out 0x23,R24 
 0034                   .dbline 69 
 0034           ;  TCCR2 = 0x03; //start 
 0034 83E0              ldi R24,3 
 0036 85BD              out 0x25,R24 
 0038                   .dbline -2 
 0038           L2: 
 0038                   .dbline 0 ; func end 
 0038 0895              ret 
 003A                   .dbend 
                        .area vector(rom, abs) 
                        .org 40 
 0028 0C941D00          jmp _timer0_ovf_isr 
                        .area text(rom, con, rel) 
 003A                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 003A                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV 
                        .even 
 003A           _timer0_ovf_isr:: 
 003A 0A92              st -y,R0 
 003C 1A92              st -y,R1 
 003E 2A92              st -y,R2 
 0040 3A92              st -y,R3 
 0042 4A92              st -y,R4 
 0044 5A92              st -y,R5 
 0046 6A92              st -y,R6 
 0048 7A92              st -y,R7 
 004A 8A92              st -y,R8 
 004C 9A92              st -y,R9 
 004E 0A93              st -y,R16 
 0050 1A93              st -y,R17 
 0052 2A93              st -y,R18 
 0054 3A93              st -y,R19 
 0056 8A93              st -y,R24 
 0058 9A93              st -y,R25 
 005A 0FB6              in R0,0x3f 
 005C 0A92              st -y,R0 
 005E 0E940000          xcall push_xgsetF00C 
 0062                   .dbline -1 
 0062                   .dbline 75 
 0062           ; } 
 0062           ;  
 0062           ;  
 0062           ; #pragma interrupt_handler timer0_ovf_isr:11 
 0062           ; void timer0_ovf_isr(void) 
 0062           ; { 
 0062                   .dbline 76 
 0062           ;  TCNT0 = 0x83; //reload counter value 
 0062 83E8              ldi R24,131 
 0064 82BF              out 0x32,R24 
 0066                   .dbline 77 
 0066           ;  if (time>500){sec++;time=0;} 
 0066 84EF              ldi R24,500 
 0068 91E0              ldi R25,1 
 006A 20902500          lds R2,_time 
 006E 30902600          lds R3,_time+1 
 0072 8215              cp R24,R2 
 0074 9305              cpc R25,R3 
 0076 5CF4              brge L4 
 0078           X0: 
 0078                   .dbline 77 
 0078                   .dbline 77 
 0078 80912700          lds R24,_sec 
 007C 8F5F              subi R24,255    ; addi 1 
 007E 80932700          sts _sec,R24 
 0082                   .dbline 77 
 0082 2224              clr R2 
 0084 3324              clr R3 
 0086 30922600          sts _time+1,R3 
 008A 20922500          sts _time,R2 
 008E                   .dbline 77 
 008E           L4: 
 008E                   .dbline 78 
 008E           ;  time++; 
 008E 80912500          lds R24,_time 
 0092 90912600          lds R25,_time+1 
 0096 0196              adiw R24,1 
 0098 90932600          sts _time+1,R25 
 009C 80932500          sts _time,R24 
 00A0                   .dbline 79 
 00A0           ;  ADCjohu=ADCL; 
 00A0 24B0              in R2,0x4 
 00A2 3324              clr R3 
 00A4 4424              clr R4 
 00A6 5524              clr R5 
 00A8 30920100          sts _ADCjohu+1,R3 
 00AC 20920000          sts _ADCjohu,R2 
 00B0 50920300          sts _ADCjohu+2+1,R5 
 00B4 40920200          sts _ADCjohu+2,R4 
 00B8                   .dbline 80 
 00B8           ;  ADCjohu|=ADCH << 8; 
 00B8 25B0              in R2,0x5 
 00BA 3324              clr R3 
 00BC 322C              mov R3,R2 
 00BE 2224              clr R2 
 00C0 4424              clr R4 
 00C2 37FC              sbrc R3,7 
 00C4 4094              com R4 
 00C6 5524              clr R5 
 00C8 47FC              sbrc R4,7 
 00CA 5094              com R5 
 00CC 80900200          lds R8,_ADCjohu+2 
 00D0 90900300          lds R9,_ADCjohu+2+1 
 00D4 60900000          lds R6,_ADCjohu 
 00D8 70900100          lds R7,_ADCjohu+1 
 00DC 6228              or R6,R2 
 00DE 7328              or R7,R3 
 00E0 8428              or R8,R4 
 00E2 9528              or R9,R5 
 00E4 70920100          sts _ADCjohu+1,R7 
 00E8 60920000          sts _ADCjohu,R6 
 00EC 90920300          sts _ADCjohu+2+1,R9 
 00F0 80920200          sts _ADCjohu+2,R8 
 00F4                   .dbline 82 
 00F4           ; ///////////////////////////////////////////////////////////////////平均值滤波  1毫秒采样滤波,10毫秒输出 
 00F4           ;  if (lvbo==0) {lvbo_num=ADCjohu/2;lvbo++;return;} 
 00F4 20900C00          lds R2,_lvbo 
 00F8 2220              tst R2 
 00FA D1F4              brne L6 
 00FC           X1: 
 00FC                   .dbline 82 
 00FC                   .dbline 82 
 00FC 42E0              ldi R20,2 
 00FE 50E0              ldi R21,0 
 0100 60E0              ldi R22,0 
 0102 70E0              ldi R23,0 
 0104 8301              movw R16,R6 
 0106 9401              movw R18,R8 
 0108 7A93              st -y,R23 
 010A 6A93              st -y,R22 
 010C 5A93              st -y,R21 
 010E 4A93              st -y,R20 
 0110 0E940000          xcall div32s 
 0114 10930E00          sts _lvbo_num+1,R17 
 0118 00930D00          sts _lvbo_num,R16 
 011C 30931000          sts _lvbo_num+2+1,R19 
 0120 20930F00          sts _lvbo_num+2,R18 
 0124                   .dbline 82 
 0124 80910C00          lds R24,_lvbo 
 0128 8F5F              subi R24,255    ; addi 1 
 012A 80930C00          sts _lvbo,R24 
 012E                   .dbline 82 
 012E 77C0              xjmp L3 
 0130           L6: 
 0130                   .dbline 83 
 0130           ;  if (lvbo<10) {lvbo_num+=ADCjohu/2;lvbo++;return;} 
 0130 80910C00          lds R24,_lvbo 
 0134 8A30              cpi R24,10 
 0136 60F5              brsh L8 
 0138           X2: 
 0138                   .dbline 83 
 0138                   .dbline 83 
 0138 42E0              ldi R20,2 
 013A 50E0              ldi R21,0 
 013C 60E0              ldi R22,0 
 013E 70E0              ldi R23,0 
 0140 20910200          lds R18,_ADCjohu+2 
 0144 30910300          lds R19,_ADCjohu+2+1 
 0148 00910000          lds R16,_ADCjohu 
 014C 10910100          lds R17,_ADCjohu+1 
 0150 7A93              st -y,R23 
 0152 6A93              st -y,R22 
 0154 5A93              st -y,R21 
 0156 4A93              st -y,R20 
 0158 0E940000          xcall div32s 
 015C 40900F00          lds R4,_lvbo_num+2 
 0160 50901000          lds R5,_lvbo_num+2+1 
 0164 20900D00          lds R2,_lvbo_num 
 0168 30900E00          lds R3,_lvbo_num+1 
 016C 200E              add R2,R16 
 016E 311E              adc R3,R17 
 0170 421E              adc R4,R18 
 0172 531E              adc R5,R19 
 0174 30920E00          sts _lvbo_num+1,R3 
 0178 20920D00          sts _lvbo_num,R2 
 017C 50921000          sts _lvbo_num+2+1,R5 
 0180 40920F00          sts _lvbo_num+2,R4 
 0184                   .dbline 83 
 0184 80910C00          lds R24,_lvbo 
 0188 8F5F              subi R24,255    ; addi 1 
 018A 80930C00          sts _lvbo,R24 
 018E                   .dbline 83 
 018E 47C0              xjmp L3 
 0190           L8: 
 0190                   .dbline 84 
 0190           ;       else lvbo=0;/**/ 
 0190 2224              clr R2 
 0192 20920C00          sts _lvbo,R2 
 0196                   .dbline 86 
 0196           ; ////////////////////////////////////////////////////////////////////////////// 
 0196           ;  if ( (ADCjohuREF+6)) 
 0196 4DED              ldi R20,221 
 0198 51E0              ldi R21,1 
 019A 60E0              ldi R22,0 
 019C 70E0              ldi R23,0 
 019E 40900200          lds R4,_ADCjohu+2 
 01A2 50900300          lds R5,_ADCjohu+2+1 
 01A6 20900000          lds R2,_ADCjohu 
 01AA 30900100          lds R3,_ADCjohu+1 
 01AE 2416              cp R2,R20 
 01B0 3506              cpc R3,R21 
 01B2 4606              cpc R4,R22 
 01B4 5706              cpc R5,R23 
 01B6 4CF0              brlt L12 
 01B8           X3: 
 01B8 49EE              ldi R20,233 
 01BA 51E0              ldi R21,1 
 01BC 60E0              ldi R22,0 
 01BE 70E0              ldi R23,0 
 01C0 4215              cp R20,R2 
 01C2 5305              cpc R21,R3 
 01C4 6405              cpc R22,R4 
 01C6 7505              cpc R23,R5 
 01C8 24F5              brge L10 
 01CA           X4: 
 01CA           L12: 
 01CA                   .dbline 87 
 01CA           ;       { 
 01CA                   .dbline 89 
 01CA           ;        //ADCjohu-=511-10;//-511+31-3.27371     -10 
 01CA           ;        xx=xx+ADCjohu-REF;// 
 01CA 40900200          lds R4,_ADCjohu+2 
 01CE 50900300          lds R5,_ADCjohu+2+1 
 01D2 20900000          lds R2,_ADCjohu 
 01D6 30900100          lds R3,_ADCjohu+1 
 01DA 80900800          lds R8,_xx+2 
 01DE 90900900          lds R9,_xx+2+1 
 01E2 60900600          lds R6,_xx 
 01E6 70900700          lds R7,_xx+1 
 01EA 620C              add R6,R2 
 01EC 731C              adc R7,R3 
 01EE 841C              adc R8,R4 
 01F0 951C              adc R9,R5 
 01F2 43EE              ldi R20,227 
 01F4 51E0              ldi R21,1 
 01F6 60E0              ldi R22,0 
 01F8 70E0              ldi R23,0 
 01FA 641A              sub R6,R20 
 01FC 750A              sbc R7,R21 
 01FE 860A              sbc R8,R22 
 0200 970A              sbc R9,R23 
 0202 70920700          sts _xx+1,R7 
 0206 60920600          sts _xx,R6 
 020A 90920900          sts _xx+2+1,R9 
 020E 80920800          sts _xx+2,R8 
 0212                   .dbline 90 
 0212           ;       } 
 0212           L10: 
 0212                   .dbline 91 
 0212           ;  ms=1; 
 0212 81E0              ldi R24,1 
 0214 90E0              ldi R25,0 
 0216 90930500          sts _ms+1,R25 
 021A 80930400          sts _ms,R24 
 021E                   .dbline -2 
 021E           L3: 
 021E                   .dbline 0 ; func end 
 021E 0E940000          xcall pop_xgsetF00C 
 0222 0990              ld R0,y+ 
 0224 0FBE              out 0x3f,R0 
 0226 9991              ld R25,y+ 
 0228 8991              ld R24,y+ 
 022A 3991              ld R19,y+ 
 022C 2991              ld R18,y+ 
 022E 1991              ld R17,y+ 
 0230 0991              ld R16,y+ 
 0232 9990              ld R9,y+ 
 0234 8990              ld R8,y+ 
 0236 7990              ld R7,y+ 
 0238 6990              ld R6,y+ 
 023A 5990              ld R5,y+ 
 023C 4990              ld R4,y+ 
 023E 3990              ld R3,y+ 
 0240 2990              ld R2,y+ 
 0242 1990              ld R1,y+ 
 0244 0990              ld R0,y+ 
 0246 1895              reti 
 0248                   .dbend 
 0248                   .dbfunc e adc_init _adc_init fV 
                        .even 
 0248           _adc_init:: 
 0248                   .dbline -1 
 0248                   .dbline 99 
 0248           ; //ADCjohu==ADCL; 
 0248           ; //PORTD=ADCjohu; 
 0248           ; } 
 0248           ;  
 0248           ; //ADC initialize 
 0248           ; // Conversion time: 3uS 
 0248           ; void adc_init(void) 
 0248           ; { 
 0248                   .dbline 100 
 0248           ;  ADCSRA = 0x00; //disable adc 
 0248 2224              clr R2 
 024A 26B8              out 0x6,R2 
 024C                   .dbline 101 
 024C           ;  ADMUX = 0x01; //select adc input 0 
 024C 81E0              ldi R24,1 
 024E 87B9              out 0x7,R24 
 0250                   .dbline 102 
 0250           ;  ACSR  = 0x80; 
 0250 80E8              ldi R24,128 
 0252 88B9              out 0x8,R24 
 0254                   .dbline 104 
 0254           ; // ADCSRB = 0x00; 
 0254           ;  ADCSRA = 0xEf; 
 0254 8FEE              ldi R24,239 
 0256 86B9              out 0x6,R24 
 0258                   .dbline -2 
 0258           L13: 
 0258                   .dbline 0 ; func end 
 0258 0895              ret 
 025A                   .dbend 
                        .area vector(rom, abs) 
                        .org 84 
 0054 0C942D01          jmp _adc_isr 
                        .area text(rom, con, rel) 
 025A                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 025A                   .dbfunc e adc_isr _adc_isr fV 
                        .even 
 025A           _adc_isr:: 
 025A 2A92              st -y,R2 
 025C 2FB6              in R2,0x3f 
 025E 2A92              st -y,R2 
 0260                   .dbline -1 
 0260                   .dbline 109 
 0260           ; } 
 0260           ;  
 0260           ; #pragma interrupt_handler adc_isr:22 
 0260           ; void adc_isr(void) 
 0260           ; { 
 0260                   .dbline 117 
 0260           ;  //conversion complete, read value (int) using... 
 0260           ;  // value=ADCL;            //Read 8 low bits first (important) 
 0260           ;  // value|=(int)ADCH << 8; //read 2 high bits and shift into top byte 
 0260           ;  //ADCjohu==ADCL; 
 0260           ;  //ADCjohu|=(int)ADCH << 8; 
 0260           ;  //PORTD=ADCjohu; 
 0260           ;  //adc=1; 
 0260           ;  PORTA=ADCL; 
 0260 24B0              in R2,0x4 
 0262 2BBA              out 0x1b,R2 
 0264                   .dbline -2 
 0264           L14: 
 0264                   .dbline 0 ; func end 
 0264 2990              ld R2,y+ 
 0266 2FBE              out 0x3f,R2 
 0268 2990              ld R2,y+ 
 026A 1895              reti 
 026C                   .dbend 
 026C                   .dbfunc e init_devices _init_devices fV 
                        .even 
 026C           _init_devices:: 
 026C                   .dbline -1 
 026C                   .dbline 123 
 026C           ;  
 026C           ; } 
 026C           ;  
 026C           ; //call this routine to initialize all peripherals 
 026C           ; void init_devices(void) 
 026C           ; { 
 026C                   .dbline 125 
 026C           ;  //stop errant interrupts until set up 
 026C           ;  CLI(); //disable all interrupts 
 026C F894              cli 
 026E                   .dbline 126 
 026E           ;  XDIV  = 0x00; //xtal divider 
 026E 2224              clr R2 
 0270 2CBE              out 0x3c,R2 
 0272                   .dbline 127 
 0272           ;  XMCRA = 0x00; //external memory 
 0272 20926D00          sts 109,R2 
 0276                   .dbline 128 
 0276           ;  port_init(); 
 0276 C4DE              xcall _port_init 
 0278                   .dbline 129 
 0278           ;  timer2_init();  
 0278 D7DE              xcall _timer2_init 
 027A                   .dbline 131 
 027A           ;  
 027A           ; adc_init();uart1_init(); 
 027A E6DF              xcall _adc_init 
 027C                   .dbline 131 
 027C 0CD0              xcall _uart1_init 
 027E                   .dbline 133 
 027E           ;  
 027E           ;  MCUCR = 0x00; 
 027E 2224              clr R2 
 0280 25BE              out 0x35,R2 
 0282                   .dbline 134 
 0282           ;  EICRA = 0x00; //extended ext ints 
 0282 20926A00          sts 106,R2 
 0286                   .dbline 135 
 0286           ;  EICRB = 0x00; //extended ext ints 
 0286 2ABE              out 0x3a,R2 
 0288                   .dbline 136 
 0288           ;  EIMSK = 0x00; 
 0288 29BE              out 0x39,R2 
 028A                   .dbline 137 
 028A           ;  TIMSK = 0x40; //timer interrupt sources 
 028A 80E4              ldi R24,64 
 028C 87BF              out 0x37,R24 
 028E                   .dbline 138 
 028E           ;  ETIMSK = 0x00; //extended timer interrupt sources 
 028E 20927D00          sts 125,R2 
 0292                   .dbline 139 
 0292           ;  SEI(); //re-enable interrupts 
 0292 7894              sei 
 0294                   .dbline -2 
 0294           L15: 
 0294                   .dbline 0 ; func end 
 0294 0895              ret 
 0296                   .dbend 
 0296                   .dbfunc e uart1_init _uart1_init fV 
                        .even 
 0296           _uart1_init:: 
 0296                   .dbline -1 
 0296                   .dbline 146 
 0296           ;  //all peripherals are now initialized 
 0296           ; } 
 0296           ; //UART1 initialize 
 0296           ; // desired baud rate:9600 
 0296           ; // actual baud rate:9615 (0.2%) 
 0296           ; void uart1_init(void) 
 0296           ; { 
 0296                   .dbline 147 
 0296           ;  UCSR1B = 0x00; //disable while setting baud rate 
 0296 2224              clr R2 
 0298 20929A00          sts 154,R2 
 029C                   .dbline 148 
 029C           ;  UCSR1A = 0x00; 
 029C 20929B00          sts 155,R2 
 02A0                   .dbline 149 
 02A0           ;  UCSR1C = 0x06; 
 02A0 86E0              ldi R24,6 
 02A2 80939D00          sts 157,R24 
 02A6                   .dbline 150 
 02A6           ;  UBRR1L = 0x33; //set baud rate lo 
 02A6 83E3              ldi R24,51 
 02A8 80939900          sts 153,R24 
 02AC                   .dbline 151 
 02AC           ;  UBRR1H = 0x00; //set baud rate hi 
 02AC 20929800          sts 152,R2 
 02B0                   .dbline 152 
 02B0           ;  UCSR1B = 0x98; 
 02B0 88E9              ldi R24,152 
 02B2 80939A00          sts 154,R24 
 02B6                   .dbline -2 
 02B6           L16: 
 02B6                   .dbline 0 ; func end 
 02B6 0895              ret 
 02B8                   .dbend 
                        .area vector(rom, abs) 
                        .org 120 
 0078 0C945C01          jmp _uart1_rx_isr 
                        .area text(rom, con, rel) 
 02B8                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\main.c 
 02B8                   .dbfunc e uart1_rx_isr _uart1_rx_isr fV 
                        .even 
 02B8           _uart1_rx_isr:: 
 02B8 0A92              st -y,R0 
 02BA 1A92              st -y,R1 
 02BC 2A92              st -y,R2 
 02BE 3A92              st -y,R3 
 02C0 4A92              st -y,R4 
 02C2 5A92              st -y,R5 
 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 EA93              st -y,R30 
 02D2 FA93              st -y,R31 
 02D4 0FB6              in R0,0x3f 
 02D6 0A92              st -y,R0 
 02D8                   .dbline -1 
 02D8                   .dbline 158 
 02D8           ; } 
 02D8           ;  
 02D8           ; #pragma interrupt_handler uart1_rx_isr:31 
 02D8           ; //cir+00100 
 02D8           ; void uart1_rx_isr(void) 
 02D8           ; { 
 02D8                   .dbline 160 
 02D8           ;  //uart has received a character in UDR 
 02D8           ;  if (all==CIR) 
 02D8 80911600          lds R24,_all 
 02DC 8130              cpi R24,1 
 02DE 09F0              breq X25 
 02E0 B9C0              xjmp L18 
 02E2           X25: 
 02E2           X5: 
 02E2                   .dbline 161 
 02E2           ;       { 
 02E2                   .dbline 162 
 02E2           ;          a=b; 
 02E2 20901800          lds R2,_b 
 02E6 20921700          sts _a,R2 
 02EA                   .dbline 163 
 02EA           ;          b=c; 
 02EA 20901900          lds R2,_c 
 02EE 20921800          sts _b,R2 
 02F2                   .dbline 164 
 02F2           ;          c=d; 
 02F2 20901A00          lds R2,_d 
 02F6 20921900          sts _c,R2 
 02FA                   .dbline 165 
 02FA           ;          d=e; 
 02FA 20901B00          lds R2,_e 
 02FE 20921A00          sts _d,R2 
 0302                   .dbline 166 
 0302           ;          e=f; 
 0302 20901C00          lds R2,_f 
 0306 20921B00          sts _e,R2 
 030A                   .dbline 167 
 030A           ;          f=UDR1; 
 030A 20909C00          lds R2,156 
 030E 20921C00          sts _f,R2 
 0312                   .dbline 168 
 0312           ;          if ((f<'0')||(f>'9'))return; 
 0312 822D              mov R24,R2 
 0314 8033              cpi R24,48 
 0316 18F0              brlo L22 
 0318           X6: 
 0318 89E3              ldi R24,57 
 031A 8215              cp R24,R2 
 031C 08F4              brsh L20 
 031E           X7: 
 031E           L22: 
 031E                   .dbline 168 
 031E AAC1              xjmp L17 
 0320           L20: 
 0320                   .dbline 169 
 0320           ;          if (a=='+')//0x2b 
 0320 80911700          lds R24,_a 
 0324 8B32              cpi R24,43 
 0326 09F0              breq X26 
 0328 41C0              xjmp L23 
 032A           X26: 
 032A           X8: 
 032A                   .dbline 170 
 032A           ;                 {jiaodu=(b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48); 
 032A                   .dbline 170 
 032A 20911900          lds R18,_c 
 032E 3327              clr R19 
 0330 08EE              ldi R16,1000 
 0332 13E0              ldi R17,3 
 0334 0E940000          xcall empy16s 
 0338 C801              movw R24,R16 
 033A 8058              subi R24,128 
 033C 9B4B              sbci R25,187 
 033E 20911800          lds R18,_b 
 0342 3327              clr R19 
 0344 00E1              ldi R16,10000 
 0346 17E2              ldi R17,39 
 0348 0E940000          xcall empy16s 
 034C F801              movw R30,R16 
 034E E050              subi R30,0 
 0350 F345              sbci R31,83 
 0352 E80F              add R30,R24 
 0354 F91F              adc R31,R25 
 0356 20901A00          lds R2,_d 
 035A 84E6              ldi R24,100 
 035C 829D              mul R24,R2 
 035E C001              movw R24,R0 
 0360 805C              subi R24,192 
 0362 9241              sbci R25,18 
 0364 E80F              add R30,R24 
 0366 F91F              adc R31,R25 
 0368 20901B00          lds R2,_e 
 036C 8AE0              ldi R24,10 
 036E 829D              mul R24,R2 
 0370 C001              movw R24,R0 
 0372 805E              subi R24,224 
 0374 9140              sbci R25,1 
 0376 E80F              add R30,R24 
 0378 F91F              adc R31,R25 
 037A 80911C00          lds R24,_f 
 037E 9927              clr R25 
 0380 C097              sbiw R24,48 
 0382 E80F              add R30,R24 
 0384 F91F              adc R31,R25 
 0386 1F01              movw R2,R30 
 0388 4424              clr R4 
 038A 37FC              sbrc R3,7 
 038C 4094              com R4 
 038E 5524              clr R5 
 0390 47FC              sbrc R4,7 
 0392 5094              com R5 
 0394 30921E00          sts _jiaodu+1,R3 
 0398 20921D00          sts _jiaodu,R2 
 039C 50922000          sts _jiaodu+2+1,R5 
 03A0 40921F00          sts _jiaodu+2,R4 
 03A4                   .dbline 171 
 03A4           ;                  all=0;return;} 
 03A4 2224              clr R2 
 03A6 20921600          sts _all,R2 
 03AA                   .dbline 171 
 03AA 64C1              xjmp L17 
 03AC           L23: 
 03AC                   .dbline 172 
 03AC           ;          else if (a=='-')//0x2d 
 03AC 80911700          lds R24,_a 
 03B0 8D32              cpi R24,45 
 03B2 09F0              breq X27 
 03B4 46C0              xjmp L25 
 03B6           X27: 
 03B6           X9: 
 03B6                   .dbline 173 
 03B6           ;                 {jiaodu=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48)); 
 03B6                   .dbline 173 
 03B6 20911900          lds R18,_c 
 03BA 3327              clr R19 
 03BC 08EE              ldi R16,1000 
 03BE 13E0              ldi R17,3 
 03C0 0E940000          xcall empy16s 
 03C4 C801              movw R24,R16 
 03C6 8058              subi R24,128 
 03C8 9B4B              sbci R25,187 
 03CA 20911800          lds R18,_b 
 03CE 3327              clr R19 
 03D0 00E1              ldi R16,10000 
 03D2 17E2              ldi R17,39 
 03D4 0E940000          xcall empy16s 
 03D8 F801              movw R30,R16 
 03DA E050              subi R30,0 
 03DC F345              sbci R31,83 
 03DE E80F              add R30,R24 
 03E0 F91F              adc R31,R25 
 03E2 20901A00          lds R2,_d 
 03E6 84E6              ldi R24,100 
 03E8 829D              mul R24,R2 
 03EA C001              movw R24,R0 
 03EC 805C              subi R24,192 
 03EE 9241              sbci R25,18 
 03F0 E80F              add R30,R24 
 03F2 F91F              adc R31,R25 
 03F4 20901B00          lds R2,_e 
 03F8 8AE0              ldi R24,10 
 03FA 829D              mul R24,R2 
 03FC C001              movw R24,R0 
 03FE 805E              subi R24,224 
 0400 9140              sbci R25,1 
 0402 E80F              add R30,R24 
 0404 F91F              adc R31,R25 
 0406 80911C00          lds R24,_f 
 040A 9927              clr R25 
 040C C097              sbiw R24,48 
 040E E80F              add R30,R24 
 0410 F91F              adc R31,R25 
 0412 CF01              movw R24,R30 
 0414 8095              com R24 
 0416 9095              com R25 
 0418 8F5F              subi R24,0xFF 
 041A 9F4F              sbci R25,0xFF 
 041C 1C01              movw R2,R24 
 041E 4424              clr R4 
 0420 37FC              sbrc R3,7 
 0422 4094              com R4 
 0424 5524              clr R5 
 0426 47FC              sbrc R4,7 
 0428 5094              com R5 
 042A 30921E00          sts _jiaodu+1,R3 
 042E 20921D00          sts _jiaodu,R2 
 0432 50922000          sts _jiaodu+2+1,R5 
 0436 40921F00          sts _jiaodu+2,R4 
 043A                   .dbline 174 
 043A           ;                  all=0;return;} 
 043A 2224              clr R2 
 043C 20921600          sts _all,R2 
 0440                   .dbline 174 
 0440 19C1              xjmp L17 
 0442           L25: 
 0442                   .dbline 175 
 0442           ;          if (a!=0) {all=0;return;} 
 0442 20901700          lds R2,_a 
 0446 2220              tst R2 
 0448 09F4              brne X28 
 044A 14C1              xjmp L19 
 044C           X28: 
 044C           X10: 
 044C                   .dbline 175 
 044C                   .dbline 175 
 044C 2224              clr R2 
 044E 20921600          sts _all,R2 
 0452                   .dbline 175 
 0452 10C1              xjmp L17 
 0454           L18: 
 0454                   .dbline 178 
 0454           ;            //PORTF=jiaodu;//while(1); 
 0454           ;       } 
 0454           ;  else if (all==LINE) 
 0454 80911600          lds R24,_all 
 0458 8230              cpi R24,2 
 045A 09F0              breq X29 
 045C B9C0              xjmp L29 
 045E           X29: 
 045E           X11: 
 045E                   .dbline 179 
 045E           ;       { 
 045E                   .dbline 180 
 045E           ;          a=b; 
 045E 20901800          lds R2,_b 
 0462 20921700          sts _a,R2 
 0466                   .dbline 181 
 0466           ;          b=c; 
 0466 20901900          lds R2,_c 
 046A 20921800          sts _b,R2 
 046E                   .dbline 182 
 046E           ;          c=d; 
 046E 20901A00          lds R2,_d 
 0472 20921900          sts _c,R2 
 0476                   .dbline 183 
 0476           ;          d=e; 
 0476 20901B00          lds R2,_e 
 047A 20921A00          sts _d,R2 
 047E                   .dbline 184 
 047E           ;          e=f; 
 047E 20901C00          lds R2,_f 
 0482 20921B00          sts _e,R2 
 0486                   .dbline 185 
 0486           ;          f=UDR1; 
 0486 20909C00          lds R2,156 
 048A 20921C00          sts _f,R2 
 048E                   .dbline 186 
 048E           ;          if ((f<'0')||(f>'9'))return; 
 048E 822D              mov R24,R2 
 0490 8033              cpi R24,48 
 0492 18F0              brlo L33 
 0494           X12: 
 0494 89E3              ldi R24,57 
 0496 8215              cp R24,R2 
 0498 08F4              brsh L31 
 049A           X13: 
 049A           L33: 
 049A                   .dbline 186 
 049A ECC0              xjmp L17 
 049C           L31: 
 049C                   .dbline 187 
 049C           ;          if (a=='+') 
 049C 80911700          lds R24,_a 
 04A0 8B32              cpi R24,43 
 04A2 09F0              breq X30 
 04A4 41C0              xjmp L34 
 04A6           X30: 
 04A6           X14: 
 04A6                   .dbline 188 
 04A6           ;                 {juli=(b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48); 
 04A6                   .dbline 188 
 04A6 20911900          lds R18,_c 
 04AA 3327              clr R19 
 04AC 08EE              ldi R16,1000 
 04AE 13E0              ldi R17,3 
 04B0 0E940000          xcall empy16s 
 04B4 C801              movw R24,R16 
 04B6 8058              subi R24,128 
 04B8 9B4B              sbci R25,187 
 04BA 20911800          lds R18,_b 
 04BE 3327              clr R19 
 04C0 00E1              ldi R16,10000 
 04C2 17E2              ldi R17,39 
 04C4 0E940000          xcall empy16s 
 04C8 F801              movw R30,R16 
 04CA E050              subi R30,0 
 04CC F345              sbci R31,83 
 04CE E80F              add R30,R24 
 04D0 F91F              adc R31,R25 
 04D2 20901A00          lds R2,_d 
 04D6 84E6              ldi R24,100 
 04D8 829D              mul R24,R2 
 04DA C001              movw R24,R0 
 04DC 805C              subi R24,192 
 04DE 9241              sbci R25,18 
 04E0 E80F              add R30,R24 
 04E2 F91F              adc R31,R25 
 04E4 20901B00          lds R2,_e 
 04E8 8AE0              ldi R24,10 
 04EA 829D              mul R24,R2 
 04EC C001              movw R24,R0 
 04EE 805E              subi R24,224 
 04F0 9140              sbci R25,1 
 04F2 E80F              add R30,R24 
 04F4 F91F              adc R31,R25 
 04F6 80911C00          lds R24,_f 
 04FA 9927              clr R25 
 04FC C097              sbiw R24,48 
 04FE E80F              add R30,R24 
 0500 F91F              adc R31,R25 
 0502 1F01              movw R2,R30 
 0504 4424              clr R4 
 0506 37FC              sbrc R3,7 
 0508 4094              com R4 
 050A 5524              clr R5 
 050C 47FC              sbrc R4,7 
 050E 5094              com R5 
 0510 30922200          sts _juli+1,R3 
 0514 20922100          sts _juli,R2 
 0518 50922400          sts _juli+2+1,R5 
 051C 40922300          sts _juli+2,R4 
 0520                   .dbline 189 
 0520           ;                  all=0;return;} 
 0520 2224              clr R2 
 0522 20921600          sts _all,R2 
 0526                   .dbline 189 
 0526 A6C0              xjmp L17 
 0528           L34: 
 0528                   .dbline 190 
 0528           ;          else if (a=='-') 
 0528 80911700          lds R24,_a 
 052C 8D32              cpi R24,45 
 052E 09F0              breq X31 
 0530 46C0              xjmp L36 
 0532           X31: 
 0532           X15: 
 0532                   .dbline 191 
 0532           ;                 {juli=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48)); 
 0532                   .dbline 191 
 0532 20911900          lds R18,_c 
 0536 3327              clr R19 
 0538 08EE              ldi R16,1000 
 053A 13E0              ldi R17,3 
 053C 0E940000          xcall empy16s 
 0540 C801              movw R24,R16 
 0542 8058              subi R24,128 
 0544 9B4B              sbci R25,187 
 0546 20911800          lds R18,_b 
 054A 3327              clr R19 
 054C 00E1              ldi R16,10000 
 054E 17E2              ldi R17,39 
 0550 0E940000          xcall empy16s 
 0554 F801              movw R30,R16 
 0556 E050              subi R30,0 
 0558 F345              sbci R31,83 
 055A E80F              add R30,R24 
 055C F91F              adc R31,R25 
 055E 20901A00          lds R2,_d 
 0562 84E6              ldi R24,100 
 0564 829D              mul R24,R2 
 0566 C001              movw R24,R0 
 0568 805C              subi R24,192 
 056A 9241              sbci R25,18 
 056C E80F              add R30,R24 
 056E F91F              adc R31,R25 
 0570 20901B00          lds R2,_e 
 0574 8AE0              ldi R24,10 
 0576 829D              mul R24,R2 
 0578 C001              movw R24,R0 
 057A 805E              subi R24,224 
 057C 9140              sbci R25,1 
 057E E80F              add R30,R24 
 0580 F91F              adc R31,R25 
 0582 80911C00          lds R24,_f 
 0586 9927              clr R25 
 0588 C097              sbiw R24,48 
 058A E80F              add R30,R24 
 058C F91F              adc R31,R25 
 058E CF01              movw R24,R30 
 0590 8095              com R24 
 0592 9095              com R25 
 0594 8F5F              subi R24,0xFF 
 0596 9F4F              sbci R25,0xFF 
 0598 1C01              movw R2,R24 
 059A 4424              clr R4 
 059C 37FC              sbrc R3,7 
 059E 4094              com R4 
 05A0 5524              clr R5 
 05A2 47FC              sbrc R4,7 
 05A4 5094              com R5 
 05A6 30922200          sts _juli+1,R3 
 05AA 20922100          sts _juli,R2 
 05AE 50922400          sts _juli+2+1,R5 
 05B2 40922300          sts _juli+2,R4 
 05B6                   .dbline 192 
 05B6           ;                  all=0;return;} 
 05B6 2224              clr R2 
 05B8 20921600          sts _all,R2 
 05BC                   .dbline 192 
 05BC 5BC0              xjmp L17 
 05BE           L36: 
 05BE                   .dbline 193 
 05BE           ;          if (a!=0) {all=0;return;} 
 05BE 20901700          lds R2,_a 
 05C2 2220              tst R2 
 05C4 09F4              brne X32 
 05C6 56C0              xjmp L30 
 05C8           X32: 
 05C8           X16: 
 05C8                   .dbline 193 
 05C8                   .dbline 193 
 05C8 2224              clr R2 
 05CA 20921600          sts _all,R2 
 05CE                   .dbline 193 
 05CE 52C0              xjmp L17 
 05D0           L29: 
 05D0                   .dbline 196 
 05D0           ;          //PORTF=a; 
 05D0           ;       } 
 05D0           ;  else   if (all==0)//(johu!=3)&&(johu!=5)  //5:7-bit    3:8-bit 
 05D0 20901600          lds R2,_all 
 05D4 2220              tst R2 
 05D6 09F0              breq X33 
 05D8 4DC0              xjmp L40 
 05DA           X33: 
 05DA           X17: 
 05DA                   .dbline 197 
 05DA           ;       { 
 05DA                   .dbline 198 
 05DA           ;          a=b; 
 05DA 20901800          lds R2,_b 
 05DE 20921700          sts _a,R2 
 05E2                   .dbline 199 
 05E2           ;          b=c; 
 05E2 20901900          lds R2,_c 
 05E6 20921800          sts _b,R2 
 05EA                   .dbline 200 
 05EA           ;          c=d; 
 05EA 20901A00          lds R2,_d 
 05EE 20921900          sts _c,R2 
 05F2                   .dbline 201 
 05F2           ;          d=UDR1; 
 05F2 20909C00          lds R2,156 
 05F6 20921A00          sts _d,R2 
 05FA                   .dbline 202 
 05FA           ;          if ((a=='c')&&(b=='i')&&(c=='r')) 
 05FA 80911700          lds R24,_a 
 05FE 8336              cpi R24,99 
 0600 C9F4              brne L42 
 0602           X18: 
 0602 80911800          lds R24,_b 
 0606 8936              cpi R24,105 
 0608 A9F4              brne L42 
 060A           X19: 
 060A 80911900          lds R24,_c 
 060E 8237              cpi R24,114 
 0610 89F4              brne L42 
 0612           X20: 
 0612                   .dbline 203 
 0612           ;            { 
 0612                   .dbline 204 
 0612           ;                  all=CIR; 
 0612 81E0              ldi R24,1 
 0614 80931600          sts _all,R24 
 0618                   .dbline 205 
 0618           ;                  a=0;b=0;c=0;d=0;e=0;f=0; 
 0618 2224              clr R2 
 061A 20921700          sts _a,R2 
 061E                   .dbline 205 
 061E 20921800          sts _b,R2 
 0622                   .dbline 205 
 0622 20921900          sts _c,R2 
 0626                   .dbline 205 
 0626 20921A00          sts _d,R2 
 062A                   .dbline 205 
 062A 20921B00          sts _e,R2 
 062E                   .dbline 205 
 062E 20921C00          sts _f,R2 
 0632                   .dbline 206 
 0632           ;                  return; }//RXlen=4;{johu=3;RXlen=3;return;} 
 0632 20C0              xjmp L17 
 0634           L42: 
 0634                   .dbline 207 
 0634           ;          else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e')) 
 0634 80911700          lds R24,_a 
 0638 8C36              cpi R24,108 
 063A E1F4              brne L44 
 063C           X21: 
 063C 80911800          lds R24,_b 
 0640 8936              cpi R24,105 
 0642 C1F4              brne L44 
 0644           X22: 
 0644 80911900          lds R24,_c 
 0648 8E36              cpi R24,110 
 064A A1F4              brne L44 
 064C           X23: 
 064C 80911A00          lds R24,_d 
 0650 8536              cpi R24,101 
 0652 81F4              brne L44 
 0654           X24: 
 0654                   .dbline 208 
 0654           ;            { 
 0654                   .dbline 209 
 0654           ;                  all=LINE; 
 0654 82E0              ldi R24,2 
 0656 80931600          sts _all,R24 
 065A                   .dbline 210 
 065A           ;                  a=0;b=0;c=0;d=0;e=0;f=0; 
 065A 2224              clr R2 
 065C 20921700          sts _a,R2 
 0660                   .dbline 210 
 0660 20921800          sts _b,R2 
 0664                   .dbline 210 
 0664 20921900          sts _c,R2 
 0668                   .dbline 210 
 0668 20921A00          sts _d,R2 
 066C                   .dbline 210 
 066C 20921B00          sts _e,R2 
 0670                   .dbline 210 
 0670 20921C00          sts _f,R2 
 0674                   .dbline 211 
 0674           ;                  return; }//RXlen=4;{johu=5;RXlen=3;return;} 
 0674           L44: 
 0674                   .dbline 213 
 0674           ;                  //////////////////////////////////////////////////////////////////// 
 0674           ;        } 
 0674           L40: 
 0674           L30: 
 0674           L19: 
 0674                   .dbline -2 
 0674           L17: 
 0674                   .dbline 0 ; func end 
 0674 0990              ld R0,y+ 
 0676 0FBE              out 0x3f,R0 
 0678 F991              ld R31,y+ 
 067A E991              ld R30,y+ 
 067C 9991              ld R25,y+ 
 067E 8991              ld R24,y+ 
 0680 3991              ld R19,y+ 
 0682 2991              ld R18,y+ 
 0684 1991              ld R17,y+ 
 0686 0991              ld R16,y+ 
 0688 5990              ld R5,y+ 
 068A 4990              ld R4,y+ 
 068C 3990              ld R3,y+ 
 068E 2990              ld R2,y+ 
 0690 1990              ld R1,y+ 
 0692 0990              ld R0,y+ 
 0694 1895              reti 
 0696                   .dbend 
 0696                   .dbfunc e number_uart1 _number_uart1 fV 
 0696           ;              n -> y+0 
 0696           ;       huanhang -> y+8 
 0696           ;            NUM -> y+4 
                        .even 
 0696           _number_uart1:: 
 0696 0E940000          xcall push_arg4 
 069A 2497              sbiw R28,4 
 069C                   .dbline -1 
 069C                   .dbline 233 
 069C           ; } 
 069C           ;  
 069C           ;  
 069C           ;  
 069C           ; /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK) 
 069C           ; { 
 069C           ;  char code[]={'0','1','2','3','4','5','6','7','8','9',}; 
 069C           ;  if (NUM<0) 
 069C           ;       {LCD_write_String1(X,Y,"-");NUM=-NUM;} 
 069C           ;  else 
 069C           ;       {LCD_write_String1(X,Y,"+");} 
 069C           ; X=X+6; 
 069C           ;  while(LEN--) 
 069C           ;        { 
 069C           ;         LCD_write_String1(X+LEN*6,Y,& code[NUM%10]); 
 069C           ;         NUM=NUM/10; 
 069C           ;        }  
 069C           ; }*/ 
 069C           ; void number_uart1(long NUM,char huanhang) 
 069C           ; {long n=0; 
 069C                   .dbline 233 
 069C 80E0              ldi R24,0 
 069E 90E0              ldi R25,0 
 06A0 A0E0              ldi R26,0 
 06A2 B0E0              ldi R27,0 
 06A4 8883              std y+0,R24 
 06A6 9983              std y+1,R25 
 06A8 AA83              std y+2,R26 
 06AA BB83              std y+3,R27 
 06AC                   .dbline 234 
 06AC           ;                       if (NUM<0){n=-NUM; while(!(UCSR1A&(1<  
 0912           ;         n_juli -> R10 
 0912           ;       n_jiaodu -> R10 
 0912           ;          n_sec -> R10 
 0912           ;      pwm_duoji -> R10,R11 
                        .even 
 0912           _main:: 
 0912 2197              sbiw R28,1 
 0914                   .dbline -1 
 0914                   .dbline 342 
 0914           ; } 
 0914           ;  
 0914           ;  
 0914           ; #define PWM_ON    DDRB|=   R_pwm0 | R_pwm1 | L_pwm0 | L_pwm1; 
 0914           ; #define PWM_OFF   DDRB&= ~(R_pwm0 | R_pwm1 | L_pwm0 | L_pwm1); 
 0914           ; main() 
 0914           ; {int n; 
 0914                   .dbline 343 
 0914           ; unsigned char n_jiaodu=0,n_juli=0; 
 0914                   .dbline 343 
 0914                   .dbline 344 
 0914           ; unsigned char n_sec=0; 
 0914                   .dbline 345 
 0914           ; unsigned int pwm_duoji=0; 
 0914                   .dbline 346 
 0914           ; init_devices(); 
 0914 ABDC              xcall _init_devices 
 0916                   .dbline 347 
 0916           ; timer1_init();timer0_init(); 
 0916 E0DF              xcall _timer1_init 
 0918                   .dbline 347 
 0918 D5DF              xcall _timer0_init 
 091A                   .dbline 358 
 091A           ;  //OCR1AH = 0x00; 
 091A           ; /* OCR1AL = 64; 
 091A           ;  //OCR1BH = 0x00; 
 091A           ;  OCR1BL = 64; 
 091A           ;  //OCR1CH = 0x00; 
 091A           ;  OCR1CL = 64; 
 091A           ;  OCR0=64;*/ 
 091A           ;  
 091A           ;   
 091A           ; //while(1); 
 091A           ; DDRE|=0x38;//while(1); 
 091A 82B1              in R24,0x2 
 091C 8863              ori R24,56 
 091E 82B9              out 0x2,R24 
 0920                   .dbline 368 
 0920           ; /////////LCD 
 0920           ;       /* DDRB = 0xBF;    //SI输入,SO,SCK,SS输出 
 0920           ;        SPCR = 0x50;  //setup SPI 
 0920           ;        SPSR = 0x01;  //setup SPI*/ 
 0920           ; /*while(!(UCSR0A&(1<>8)&0x07; 
 09BE C501              movw R24,R10 
 09C0 892F              mov R24,R25 
 09C2 9927              clr R25 
 09C4 8770              andi R24,7 
 09C6 9070              andi R25,0 
 09C8 89BD              out 0x29,R24 
 09CA                   .dbline 398 
 09CA           ;                        OCR1BL = pwm_duoji;  
 09CA A8BC              out 0x28,R10 
 09CC                   .dbline 404 
 09CC           ;                        /*OCR1BH = 0x03; 
 09CC           ;                        OCR1BL = 0xF0; 
 09CC           ;                        OCR1CH = 0x03; 
 09CC           ;                        OCR1CL = 0xF0; 
 09CC           ;                        */ 
 09CC           ;                       PWM_ON 
 09CC 87B3              in R24,0x17 
 09CE 806F              ori R24,240 
 09D0 87BB              out 0x17,R24 
 09D2                   .dbline 406 
 09D2           ;                       //SEI(); 
 09D2           ;                 } 
 09D2           L92: 
 09D2                   .dbline 407 
 09D2           ;               } 
 09D2           L90: 
 09D2                   .dbline 408 
 09D2           ;               if (!(PINE & PREVSONG)) 
 09D2 0A99              sbic 0x1,2 
 09D4 18C0              rjmp L96 
 09D6           X50: 
 09D6                   .dbline 409 
 09D6           ;            {delay_ms(500); 
 09D6                   .dbline 409 
 09D6 04EF              ldi R16,500 
 09D8 11E0              ldi R17,1 
 09DA 0E940000          xcall _delay_ms 
 09DE                   .dbline 410 
 09DE           ;                 if (!(PINE & PREVSONG)) 
 09DE 0A99              sbic 0x1,2 
 09E0 12C0              rjmp L98 
 09E2           X51: 
 09E2                   .dbline 411 
 09E2           ;                 { 
 09E2                   .dbline 413 
 09E2           ;                        //CLI(); 
 09E2           ;                    if(pwm_duoji>200) pwm_duoji--;//0.5ms 
 09E2 88EC              ldi R24,200 
 09E4 90E0              ldi R25,0 
 09E6 8A15              cp R24,R10 
 09E8 9B05              cpc R25,R11 
 09EA 18F4              brsh L100 
 09EC           X52: 
 09EC                   .dbline 413 
 09EC C501              movw R24,R10 
 09EE 0197              sbiw R24,1 
 09F0 5C01              movw R10,R24 
 09F2           L100: 
 09F2                   .dbline 414 
 09F2           ;                        OCR1BH = (pwm_duoji>>8)&0x07; 
 09F2 C501              movw R24,R10 
 09F4 892F              mov R24,R25 
 09F6 9927              clr R25 
 09F8 8770              andi R24,7 
 09FA 9070              andi R25,0 
 09FC 89BD              out 0x29,R24 
 09FE                   .dbline 415 
 09FE           ;                        OCR1BL = pwm_duoji;  
 09FE A8BC              out 0x28,R10 
 0A00                   .dbline 421 
 0A00           ;                        /*OCR1BH = 0x03; 
 0A00           ;                        OCR1BL = 0xF0; 
 0A00           ;                        OCR1CH = 0x03; 
 0A00           ;                        OCR1CL = 0xF0; 
 0A00           ;                        */ 
 0A00           ;                       PWM_ON 
 0A00 87B3              in R24,0x17 
 0A02 806F              ori R24,240 
 0A04 87BB              out 0x17,R24 
 0A06                   .dbline 423 
 0A06           ;                       //SEI(); 
 0A06           ;                 } 
 0A06           L98: 
 0A06                   .dbline 424 
 0A06           ;               } 
 0A06           L96: 
 0A06                   .dbline 426 
 0A06           ;  
 0A06           ; } 
 0A06           L88: 
 0A06                   .dbline 389 
 0A06 CCCF              xjmp L87 
 0A08           L102: 
 0A08                   .dbline 428 
 0A08           ;   while(1) 
 0A08           ;   { //(unsigned char)jiaodu; 
 0A08                   .dbline 429 
 0A08           ;       PORTF=juli; 
 0A08 20902100          lds R2,_juli 
 0A0C 30902200          lds R3,_juli+1 
 0A10 20926200          sts 98,R2 
 0A14                   .dbline 430 
 0A14           ;       if (!(PINE & STOP))jiaodu=100;//PWM_ON//PORTD=~PORTD; 
 0A14 0E99              sbic 0x1,6 
 0A16 0CC0              rjmp L105 
 0A18           X53: 
 0A18                   .dbline 430 
 0A18 44E6              ldi R20,100 
 0A1A 50E0              ldi R21,0 
 0A1C 60E0              ldi R22,0 
 0A1E 70E0              ldi R23,0 
 0A20 50931E00          sts _jiaodu+1,R21 
 0A24 40931D00          sts _jiaodu,R20 
 0A28 70932000          sts _jiaodu+2+1,R23 
 0A2C 60931F00          sts _jiaodu+2,R22 
 0A30           L105: 
 0A30                   .dbline 431 
 0A30           ;     if (ms==1) 
 0A30 80910400          lds R24,_ms 
 0A34 90910500          lds R25,_ms+1 
 0A38 8130              cpi R24,1 
 0A3A A0E0              ldi R26,0 
 0A3C 9A07              cpc R25,R26 
 0A3E 09F0              breq X65 
 0A40 37C1              xjmp L107 
 0A42           X65: 
 0A42           X54: 
 0A42                   .dbline 432 
 0A42           ;          { //if (jiaodu!=n_jiaodu)//test 
 0A42                   .dbline 433 
 0A42           ;                if (jiaodu!=0) 
 0A42 40901F00          lds R4,_jiaodu+2 
 0A46 50902000          lds R5,_jiaodu+2+1 
 0A4A 20901D00          lds R2,_jiaodu 
 0A4E 30901E00          lds R3,_jiaodu+1 
 0A52 8894              clc 
 0A54 2220              tst R2 
 0A56 3204              cpc R3,R2 
 0A58 4204              cpc R4,R2 
 0A5A 5204              cpc R5,R2 
 0A5C 09F4              brne X66 
 0A5E 60C0              xjmp L109 
 0A60           X66: 
 0A60           X55: 
 0A60                   .dbline 434 
 0A60           ;             {//PORTF=jiaodu; 
 0A60                   .dbline 436 
 0A60           ;                   //if (jiaodu<0-20)//test  旋转 
 0A60           ;                       if (ADCjohu0+20)//test 
 0AB4           ;                       else if (ADCjohu>jiaodu+20) 
 0AB4 44E1              ldi R20,20 
 0AB6 50E0              ldi R21,0 
 0AB8 60E0              ldi R22,0 
 0ABA 70E0              ldi R23,0 
 0ABC 40901F00          lds R4,_jiaodu+2 
 0AC0 50902000          lds R5,_jiaodu+2+1 
 0AC4 20901D00          lds R2,_jiaodu 
 0AC8 30901E00          lds R3,_jiaodu+1 
 0ACC 240E              add R2,R20 
 0ACE 351E              adc R3,R21 
 0AD0 461E              adc R4,R22 
 0AD2 571E              adc R5,R23 
 0AD4 80900200          lds R8,_ADCjohu+2 
 0AD8 90900300          lds R9,_ADCjohu+2+1 
 0ADC 60900000          lds R6,_ADCjohu 
 0AE0 70900100          lds R7,_ADCjohu+1 
 0AE4 2614              cp R2,R6 
 0AE6 3704              cpc R3,R7 
 0AE8 4804              cpc R4,R8 
 0AEA 5904              cpc R5,R9 
 0AEC A4F4              brge L113 
 0AEE           X57: 
 0AEE                   .dbline 448 
 0AEE           ;                        {DDRB |=(R_pwm0 | L_pwm1); 
 0AEE                   .dbline 448 
 0AEE 87B3              in R24,0x17 
 0AF0 8069              ori R24,144 
 0AF2 87BB              out 0x17,R24 
 0AF4                   .dbline 449 
 0AF4           ;                         DDRB &=~(R_pwm0 | L_pwm1); 
 0AF4 87B3              in R24,0x17 
 0AF6 8F76              andi R24,111 
 0AF8 87BB              out 0x17,R24 
 0AFA                   .dbline 450 
 0AFA           ;                         PORTB =0xf0; 
 0AFA 80EF              ldi R24,240 
 0AFC 88BB              out 0x18,R24 
 0AFE                   .dbline 451 
 0AFE           ;                         OCR1AL = 0; 
 0AFE 2224              clr R2 
 0B00 2ABC              out 0x2a,R2 
 0B02                   .dbline 452 
 0B02           ;                         OCR1BL = 0; 
 0B02 28BC              out 0x28,R2 
 0B04                   .dbline 453 
 0B04           ;                         OCR1CL = pwm_pingjun; 
 0B04 20901100          lds R2,_pwm_pingjun 
 0B08 20927800          sts 120,R2 
 0B0C                   .dbline 454 
 0B0C           ;                         OCR0=pwm_pingjun; 
 0B0C 21BE              out 0x31,R2 
 0B0E                   .dbline 455 
 0B0E           ;                         PWM_ON 
 0B0E 87B3              in R24,0x17 
 0B10 806F              ori R24,240 
 0B12 87BB              out 0x17,R24 
 0B14                   .dbline 456 
 0B14           ;                        } 
 0B14 03C0              xjmp L114 
 0B16           L113: 
 0B16                   .dbline 457 
 0B16           ;                   else PWM_OFF 
 0B16 87B3              in R24,0x17 
 0B18 8F70              andi R24,15 
 0B1A 87BB              out 0x17,R24 
 0B1C           L114: 
 0B1C           L112: 
 0B1C                   .dbline 458 
 0B1C           ;                  n_jiaodu=jiaodu; 
 0B1C A0901D00          lds R10,_jiaodu 
 0B20                   .dbline 459 
 0B20           ;                 } 
 0B20           L109: 
 0B20                   .dbline 460 
 0B20           ;                if (juli!=0)  
 0B20 40902300          lds R4,_juli+2 
 0B24 50902400          lds R5,_juli+2+1 
 0B28 20902100          lds R2,_juli 
 0B2C 30902200          lds R3,_juli+1 
 0B30 8894              clc 
 0B32 2220              tst R2 
 0B34 3204              cpc R3,R2 
 0B36 4204              cpc R4,R2 
 0B38 5204              cpc R5,R2 
 0B3A 09F4              brne X67 
 0B3C 89C0              xjmp L115 
 0B3E           X67: 
 0B3E           X58: 
 0B3E                   .dbline 461 
 0B3E           ;                if (sec!=n_sec) 
 0B3E 20902700          lds R2,_sec 
 0B42 2A14              cp R2,R10 
 0B44 09F4              brne X68 
 0B46 84C0              xjmp L117 
 0B48           X68: 
 0B48           X59: 
 0B48                   .dbline 462 
 0B48           ;                   { 
 0B48                   .dbline 463 
 0B48           ;                        if (juli>0) 
 0B48 40E0              ldi R20,0 
 0B4A 50E0              ldi R21,0 
 0B4C 60E0              ldi R22,0 
 0B4E 70E0              ldi R23,0 
 0B50 40902300          lds R4,_juli+2 
 0B54 50902400          lds R5,_juli+2+1 
 0B58 20902100          lds R2,_juli 
 0B5C 30902200          lds R3,_juli+1 
 0B60 4215              cp R20,R2 
 0B62 5305              cpc R21,R3 
 0B64 6405              cpc R22,R4 
 0B66 7505              cpc R23,R5 
 0B68 84F5              brge L119 
 0B6A           X60: 
 0B6A                   .dbline 464 
 0B6A           ;                         {DDRB |=(R_pwm1 | L_pwm1); 
 0B6A                   .dbline 464 
 0B6A 87B3              in R24,0x17 
 0B6C 806A              ori R24,160 
 0B6E 87BB              out 0x17,R24 
 0B70                   .dbline 465 
 0B70           ;                          DDRB &=~(R_pwm1 | L_pwm1); 
 0B70 87B3              in R24,0x17 
 0B72 8F75              andi R24,95 
 0B74 87BB              out 0x17,R24 
 0B76                   .dbline 466 
 0B76           ;                          OCR1AL = 0; 
 0B76 2224              clr R2 
 0B78 2ABC              out 0x2a,R2 
 0B7A                   .dbline 467 
 0B7A           ;                          OCR1BL = pwm_pingjun+Rpwm0; 
 0B7A 20901200          lds R2,_Rpwm0 
 0B7E 30901100          lds R3,_pwm_pingjun 
 0B82 320C              add R3,R2 
 0B84 38BC              out 0x28,R3 
 0B86                   .dbline 468 
 0B86           ;                          OCR1CL = 0; 
 0B86 2224              clr R2 
 0B88 20927800          sts 120,R2 
 0B8C                   .dbline 469 
 0B8C           ;                          OCR0=pwm_pingjun; 
 0B8C 20901100          lds R2,_pwm_pingjun 
 0B90 21BE              out 0x31,R2 
 0B92                   .dbline 470 
 0B92           ;                          PWM_ON 
 0B92 87B3              in R24,0x17 
 0B94 806F              ori R24,240 
 0B96 87BB              out 0x17,R24 
 0B98                   .dbline 471 
 0B98           ;                          juli--; 
 0B98 41E0              ldi R20,1 
 0B9A 50E0              ldi R21,0 
 0B9C 60E0              ldi R22,0 
 0B9E 70E0              ldi R23,0 
 0BA0 40902300          lds R4,_juli+2 
 0BA4 50902400          lds R5,_juli+2+1 
 0BA8 20902100          lds R2,_juli 
 0BAC 30902200          lds R3,_juli+1 
 0BB0 241A              sub R2,R20 
 0BB2 350A              sbc R3,R21 
 0BB4 460A              sbc R4,R22 
 0BB6 570A              sbc R5,R23 
 0BB8 30922200          sts _juli+1,R3 
 0BBC 20922100          sts _juli,R2 
 0BC0 50922400          sts _juli+2+1,R5 
 0BC4 40922300          sts _juli+2,R4 
 0BC8                   .dbline 472 
 0BC8           ;                         } 
 0BC8 41C0              xjmp L120 
 0BCA           L119: 
 0BCA                   .dbline 473 
 0BCA           ;                        else if (juli<0) 
 0BCA 40E0              ldi R20,0 
 0BCC 50E0              ldi R21,0 
 0BCE 60E0              ldi R22,0 
 0BD0 70E0              ldi R23,0 
 0BD2 40902300          lds R4,_juli+2 
 0BD6 50902400          lds R5,_juli+2+1 
 0BDA 20902100          lds R2,_juli 
 0BDE 30902200          lds R3,_juli+1 
 0BE2 2416              cp R2,R20 
 0BE4 3506              cpc R3,R21 
 0BE6 4606              cpc R4,R22 
 0BE8 5706              cpc R5,R23 
 0BEA 6CF5              brge L121 
 0BEC           X61: 
 0BEC                   .dbline 474 
 0BEC           ;                         {DDRB |=(R_pwm0 | L_pwm0); 
 0BEC                   .dbline 474 
 0BEC 87B3              in R24,0x17 
 0BEE 8065              ori R24,80 
 0BF0 87BB              out 0x17,R24 
 0BF2                   .dbline 475 
 0BF2           ;                          DDRB &=~(R_pwm0 | L_pwm0); 
 0BF2 87B3              in R24,0x17 
 0BF4 8F7A              andi R24,175 
 0BF6 87BB              out 0x17,R24 
 0BF8                   .dbline 476 
 0BF8           ;                          OCR1AL = pwm_pingjun; 
 0BF8 20901100          lds R2,_pwm_pingjun 
 0BFC 2ABC              out 0x2a,R2 
 0BFE                   .dbline 477 
 0BFE           ;                          OCR1BL = 0; 
 0BFE 2224              clr R2 
 0C00 28BC              out 0x28,R2 
 0C02                   .dbline 478 
 0C02           ;                          OCR1CL = pwm_pingjun; 
 0C02 20901100          lds R2,_pwm_pingjun 
 0C06 20927800          sts 120,R2 
 0C0A                   .dbline 479 
 0C0A           ;                          OCR0=0; 
 0C0A 2224              clr R2 
 0C0C 21BE              out 0x31,R2 
 0C0E                   .dbline 480 
 0C0E           ;                          PWM_ON 
 0C0E 87B3              in R24,0x17 
 0C10 806F              ori R24,240 
 0C12 87BB              out 0x17,R24 
 0C14                   .dbline 481 
 0C14           ;                          juli++; 
 0C14 41E0              ldi R20,1 
 0C16 50E0              ldi R21,0 
 0C18 60E0              ldi R22,0 
 0C1A 70E0              ldi R23,0 
 0C1C 40902300          lds R4,_juli+2 
 0C20 50902400          lds R5,_juli+2+1 
 0C24 20902100          lds R2,_juli 
 0C28 30902200          lds R3,_juli+1 
 0C2C 240E              add R2,R20 
 0C2E 351E              adc R3,R21 
 0C30 461E              adc R4,R22 
 0C32 571E              adc R5,R23 
 0C34 30922200          sts _juli+1,R3 
 0C38 20922100          sts _juli,R2 
 0C3C 50922400          sts _juli+2+1,R5 
 0C40 40922300          sts _juli+2,R4 
 0C44                   .dbline 482 
 0C44           ;                         }/**/ 
 0C44 03C0              xjmp L122 
 0C46           L121: 
 0C46                   .dbline 483 
 0C46           ;                        else PWM_OFF 
 0C46 87B3              in R24,0x17 
 0C48 8F70              andi R24,15 
 0C4A 87BB              out 0x17,R24 
 0C4C           L122: 
 0C4C           L120: 
 0C4C                   .dbline 484 
 0C4C           ;                       n_sec=sec; 
 0C4C A0902700          lds R10,_sec 
 0C50                   .dbline 485 
 0C50           ;                       }        
 0C50           L117: 
 0C50           L115: 
 0C50                   .dbline 489 
 0C50           ;  
 0C50           ;               //number(0,2,5,xx,1); 
 0C50           ;               //number(0,4,5,ADCjohu,1); 
 0C50           ;               if (!(PINE & PREVSONG))xx=0; 
 0C50 0A99              sbic 0x1,2 
 0C52 0CC0              rjmp L123 
 0C54           X62: 
 0C54                   .dbline 489 
 0C54 40E0              ldi R20,0 
 0C56 50E0              ldi R21,0 
 0C58 60E0              ldi R22,0 
 0C5A 70E0              ldi R23,0 
 0C5C 50930700          sts _xx+1,R21 
 0C60 40930600          sts _xx,R20 
 0C64 70930900          sts _xx+2+1,R23 
 0C68 60930800          sts _xx+2,R22 
 0C6C           L123: 
 0C6C                   .dbline 490 
 0C6C           ;               if (!(PINE & NEXTSONG)) 
 0C6C 0B99              sbic 0x1,3 
 0C6E 1AC0              rjmp L125 
 0C70           X63: 
 0C70                   .dbline 491 
 0C70           ;               { 
 0C70                   .dbline 493 
 0C70           ;                       //CLI(); 
 0C70           ;                       number_uart1(xx,0); 
 0C70 2224              clr R2 
 0C72 2882              std y+0,R2 
 0C74 20910800          lds R18,_xx+2 
 0C78 30910900          lds R19,_xx+2+1 
 0C7C 00910600          lds R16,_xx 
 0C80 10910700          lds R17,_xx+1 
 0C84 08DD              xcall _number_uart1 
 0C86                   .dbline 494 
 0C86           ;                       number_uart1(ADCjohu,1); 
 0C86 81E0              ldi R24,1 
 0C88 8883              std y+0,R24 
 0C8A 20910200          lds R18,_ADCjohu+2 
 0C8E 30910300          lds R19,_ADCjohu+2+1 
 0C92 00910000          lds R16,_ADCjohu 
 0C96 10910100          lds R17,_ADCjohu+1 
 0C9A FDDC              xcall _number_uart1 
 0C9C                   .dbline 495 
 0C9C           ;                       delay_ms(20); 
 0C9C 04E1              ldi R16,20 
 0C9E 10E0              ldi R17,0 
 0CA0 0E940000          xcall _delay_ms 
 0CA4                   .dbline 497 
 0CA4           ;                       //SEI(); 
 0CA4           ;                       } 
 0CA4           L125: 
 0CA4                   .dbline 498 
 0CA4           ;           ms=0; 
 0CA4 2224              clr R2 
 0CA6 3324              clr R3 
 0CA8 30920500          sts _ms+1,R3 
 0CAC 20920400          sts _ms,R2 
 0CB0                   .dbline 499 
 0CB0           ;        } 
 0CB0           L107: 
 0CB0                   .dbline 500 
 0CB0           ;   } 
 0CB0           L103: 
 0CB0                   .dbline 427 
 0CB0 ABCE              xjmp L102 
 0CB2           X64: 
 0CB2                   .dbline -2 
 0CB2           L86: 
 0CB2                   .dbline 0 ; func end 
 0CB2 2196              adiw R28,1 
 0CB4 0895              ret 
 0CB6                   .dbsym l n 2 I 
 0CB6                   .dbsym r n_juli 10 c 
 0CB6                   .dbsym r n_jiaodu 10 c 
 0CB6                   .dbsym r n_sec 10 c 
 0CB6                   .dbsym r pwm_duoji 10 i 
 0CB6                   .dbend 
 0CB6           ;  
 0CB6           ; }