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

📄 m16_t1_compare.lis

📁 我最近使用的一些程序代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00E2 2282              std z+2,R2
 00E4           L31:
 00E4                   .dbline 45
 00E4           ;   Key2=0;
 00E4 2224              clr R2
 00E6 20920100          sts _Key2,R2
 00EA                   .dbline 46
 00EA           ;  }
 00EA           L29:
 00EA                   .dbline 47
 00EA           ;  if(Key3==1)
 00EA 80910000          lds R24,_Key3
 00EE 8130              cpi R24,1
 00F0 81F4              brne L33
 00F2                   .dbline 48
 00F2           ;  {
 00F2                   .dbline 49
 00F2           ;   p[1]++;
 00F2 CA01              movw R24,R20
 00F4 0196              adiw R24,1
 00F6 FC01              movw R30,R24
 00F8 8081              ldd R24,z+0
 00FA 8F5F              subi R24,255    ; addi 1
 00FC 8083              std z+0,R24
 00FE                   .dbline 50
 00FE           ;   if(p[1]==10) p[1]=0;
 00FE FA01              movw R30,R20
 0100 8181              ldd R24,z+1
 0102 8A30              cpi R24,10
 0104 19F4              brne L35
 0106                   .dbline 50
 0106 2224              clr R2
 0108 FA01              movw R30,R20
 010A 2182              std z+1,R2
 010C           L35:
 010C                   .dbline 51
 010C 2224              clr R2
 010E 20920000          sts _Key3,R2
 0112                   .dbline 52
 0112           L33:
 0112                   .dbline -2
 0112                   .dbline 53
 0112           ;   Key3=0;
 0112           ;  }
 0112           ; }
 0112           L15:
 0112 0E940000          xcall pop_gset1
 0116                   .dbline 0 ; func end
 0116 0895              ret
 0118                   .dbsym r p 20 pc
 0118                   .dbend
 0118                   .dbfunc e Set_Process _Set_Process fV
 0118           ;              i -> R20,R21
 0118           ;              j -> R20,R21
                        .even
 0118           _Set_Process::
 0118 0E940000          xcall push_gset1
 011C                   .dbline -1
 011C                   .dbline 56
 011C           ; 
 011C           ; void Set_Process(void)
 011C           ; {
 011C                   .dbline 58
 011C           ;  uint i,j;
 011C           ;  i=Data[0]*1000+Data[1]*100+Data[2]*10+Data[3];
 011C                   .dbline 59
 011C           ;  j=500/i;
 011C                   .dbline 60
 011C           ;  OCR1AH=j>>8;
 011C 20900B00          lds R2,_Data+1
 0120 84E6              ldi R24,100
 0122 829D              mul R24,R2
 0124 1001              movw R2,R0
 0126 20910A00          lds R18,_Data
 012A 3327              clr R19
 012C 08EE              ldi R16,1000
 012E 13E0              ldi R17,3
 0130 0E940000          xcall empy16s
 0134 A801              movw R20,R16
 0136 420D              add R20,R2
 0138 531D              adc R21,R3
 013A 20900C00          lds R2,_Data+2
 013E 8AE0              ldi R24,10
 0140 829D              mul R24,R2
 0142 400D              add R20,R0
 0144 511D              adc R21,R1
 0146 20900D00          lds R2,_Data+3
 014A 3324              clr R3
 014C 420D              add R20,R2
 014E 531D              adc R21,R3
 0150 04EF              ldi R16,500
 0152 11E0              ldi R17,1
 0154 9A01              movw R18,R20
 0156 0E940000          xcall div16u
 015A A801              movw R20,R16
 015C 1A01              movw R2,R20
 015E 232C              mov R2,R3
 0160 3324              clr R3
 0162 2BBC              out 0x2b,R2
 0164                   .dbline 61
 0164           ;  OCR1AL=j&0x00ff;
 0164 CA01              movw R24,R20
 0166 9070              andi R25,0
 0168 8ABD              out 0x2a,R24
 016A                   .dbline -2
 016A                   .dbline 62
 016A           ; }
 016A           L37:
 016A 0E940000          xcall pop_gset1
 016E                   .dbline 0 ; func end
 016E 0895              ret
 0170                   .dbsym r i 20 i
 0170                   .dbsym r j 20 i
 0170                   .dbend
 0170                   .dbfunc e Init_IO _Init_IO fV
                        .even
 0170           _Init_IO::
 0170                   .dbline -1
 0170                   .dbline 65
 0170           ; 
 0170           ; void Init_IO(void)
 0170           ; {
 0170                   .dbline 66
 0170           ;  DDRA=0xff;
 0170 8FEF              ldi R24,255
 0172 8ABB              out 0x1a,R24
 0174                   .dbline 67
 0174           ;  PORTA=0xff;
 0174 8BBB              out 0x1b,R24
 0176                   .dbline 68
 0176           ;  DDRC=0xff;
 0176 84BB              out 0x14,R24
 0178                   .dbline 69
 0178           ;  PORTC=0xff;
 0178 85BB              out 0x15,R24
 017A                   .dbline 70
 017A           ;  DDRB=0x00;
 017A 2224              clr R2
 017C 27BA              out 0x17,R2
 017E                   .dbline 71
 017E           ;  PORTB=0x00;
 017E 28BA              out 0x18,R2
 0180                   .dbline 72
 0180           ;  DDRD=0xff;
 0180 81BB              out 0x11,R24
 0182                   .dbline 73
 0182           ;  PORTD=0xff;
 0182 82BB              out 0x12,R24
 0184                   .dbline -2
 0184                   .dbline 74
 0184           ; }
 0184           L41:
 0184                   .dbline 0 ; func end
 0184 0895              ret
 0186                   .dbend
 0186                   .dbfunc e Init_Timer1 _Init_Timer1 fV
                        .even
 0186           _Init_Timer1::
 0186                   .dbline -1
 0186                   .dbline 77
 0186           ; 
 0186           ; void Init_Timer1(void)
 0186           ; {
 0186                   .dbline 78
 0186           ;  TIMSK=TIMSK|0x10;
 0186 89B7              in R24,0x39
 0188 8061              ori R24,16
 018A 89BF              out 0x39,R24
 018C                   .dbline 79
 018C           ;  TCCR1B=0x0a;
 018C 8AE0              ldi R24,10
 018E 8EBD              out 0x2e,R24
 0190                   .dbline 80
 0190           ;  TCNT1H=0x00;
 0190 2224              clr R2
 0192 2DBC              out 0x2d,R2
 0194                   .dbline 81
 0194           ;  TCNT1L=0x00;
 0194 2CBC              out 0x2c,R2
 0196                   .dbline 82
 0196           ;  Set_Process();
 0196 C0DF              xcall _Set_Process
 0198                   .dbline 83
 0198           ;  SREG=SREG|0x80;
 0198 7894              bset 7
 019A                   .dbline -2
 019A                   .dbline 84
 019A           ; }
 019A           L42:
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbend
 019C                   .dbfunc e main _main fV
                        .even
 019C           _main::
 019C                   .dbline -1
 019C                   .dbline 87
 019C           ; 
 019C           ; void main(void)
 019C           ; {
 019C                   .dbline 88
 019C           ;  Init_IO();
 019C E9DF              xcall _Init_IO
 019E                   .dbline 89
 019E           ;  Init_Timer1();
 019E F3DF              xcall _Init_Timer1
 01A0                   .dbline 90
 01A0           ;  DelayMs(50);
 01A0 02E3              ldi R16,50
 01A2 2EDF              xcall _DelayMs
 01A4 07C0              xjmp L45
 01A6           L44:
 01A6                   .dbline 92
 01A6                   .dbline 93
 01A6 00E0              ldi R16,<_Data
 01A8 10E0              ldi R17,>_Data
 01AA 59DF              xcall _Key_Process
 01AC                   .dbline 94
 01AC B5DF              xcall _Set_Process
 01AE                   .dbline 95
 01AE 00E0              ldi R16,<_Data
 01B0 10E0              ldi R17,>_Data
 01B2 34DF              xcall _Display
 01B4                   .dbline 96
 01B4           L45:
 01B4                   .dbline 91
 01B4 F8CF              xjmp L44
 01B6           X0:
 01B6                   .dbline -2
 01B6                   .dbline 97
 01B6           ;  while(1)
 01B6           ;  {
 01B6           ;   Key_Process(Data);
 01B6           ;   Set_Process();
 01B6           ;   Display(Data);
 01B6           ;  }
 01B6           ; }
 01B6           L43:
 01B6                   .dbline 0 ; func end
 01B6 0895              ret
 01B8                   .dbend
                        .area vector(rom, abs)
                        .org 24
 0018 0C94DC00          jmp _Compare
                        .area text(rom, con, rel)
 01B8                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 01B8                   .dbfunc e Compare _Compare fV
                        .even
 01B8           _Compare::
 01B8 2A92              st -y,R2
 01BA 2FB6              in R2,0x3f
 01BC 2A92              st -y,R2
 01BE                   .dbline -1
 01BE                   .dbline 101
 01BE           ; 
 01BE           ; #pragma interrupt_handler Compare:7
 01BE           ; void Compare(void)
 01BE           ; {PORTD=~PORTD;}
 01BE                   .dbline 101
 01BE 22B2              in R2,0x12
 01C0 2094              com R2
 01C2 22BA              out 0x12,R2
 01C4                   .dbline -2
 01C4                   .dbline 101
 01C4           L47:
 01C4 2990              ld R2,y+
 01C6 2FBE              out 0x3f,R2
 01C8 2990              ld R2,y+
 01CA                   .dbline 0 ; func end
 01CA 1895              reti
 01CC                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 0000           _Key3::
 0000                   .blkb 1
 0001                   .dbsym e Key3 _Key3 c
 0001           _Key2::
 0001                   .blkb 1
 0002                   .dbsym e Key2 _Key2 c
 0002           _Key1::
 0002                   .blkb 1
 0003                   .dbsym e Key1 _Key1 c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -