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

📄 ac20-1.lis

📁 AVR单片机ATmega16(L)应用实例—红外线感应自动移门
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 003A           ;  PORTB=0xff;
 003A 8FEF              ldi R24,255
 003C 88BB              out 0x18,R24
 003E                   .dbline 126
 003E           ;  DDRC=0x01;                                      
 003E 81E0              ldi R24,1
 0040 84BB              out 0x14,R24
 0042                   .dbline 127
 0042           ;  PORTC=0xff;
 0042 8FEF              ldi R24,255
 0044 85BB              out 0x15,R24
 0046                   .dbline 128
 0046           ;  DDRD=0xf8;
 0046 88EF              ldi R24,248
 0048 81BB              out 0x11,R24
 004A                   .dbline 129
 004A           ;  PORTD=0xff;
 004A 8FEF              ldi R24,255
 004C 82BB              out 0x12,R24
 004E                   .dbline 131
 004E           ;  //-----------------------------
 004E           ;  PWMOUT_0;
 004E 979A              sbi 0x12,7
 0050                   .dbline 132
 0050           ;  SACE_0;
 0050 969A              sbi 0x12,6
 0052                   .dbline 133
 0052           ;  TCCR0=0x04;
 0052 84E0              ldi R24,4
 0054 83BF              out 0x33,R24
 0056                   .dbline 134
 0056           ;  TCNT0=0xd9;
 0056 89ED              ldi R24,217
 0058 82BF              out 0x32,R24
 005A                   .dbline 135
 005A           ;  GICR=0x40;/*c0;*/
 005A 80E4              ldi R24,64
 005C 8BBF              out 0x3b,R24
 005E                   .dbline 136
 005E           ;  MCUCR=0x02;/*0a;*/
 005E 82E0              ldi R24,2
 0060 85BF              out 0x35,R24
 0062                   .dbline 137
 0062           ;  TIMSK=0x01;
 0062 81E0              ldi R24,1
 0064 89BF              out 0x39,R24
 0066                   .dbline 138
 0066           ;  TCCR2=0x71;
 0066 81E7              ldi R24,113
 0068 85BD              out 0x25,R24
 006A                   .dbline 139
 006A           ;  FANXIANG_R;
 006A 82B3              in R24,0x12
 006C 8F7D              andi R24,223
 006E 82BB              out 0x12,R24
 0070                   .dbline 140
 0070           ; round_cnt=0;
 0070 3324              clr R3
 0072 30925900          sts _round_cnt+1,R3
 0076 20925800          sts _round_cnt,R2
 007A                   .dbline 141
 007A           ; changdu=0;
 007A 30925700          sts _changdu+1,R3
 007E 20925600          sts _changdu,R2
 0082                   .dbline 142
 0082           ; sp_pl=0;
 0082 30924F00          sts _sp_pl+1,R3
 0086 20924E00          sts _sp_pl,R2
 008A                   .dbline 143
 008A           ; allchangdu=0;
 008A 30925100          sts _allchangdu+1,R3
 008E 20925000          sts _allchangdu,R2
 0092                   .dbline 144
 0092           ; changdu=0;
 0092 30925700          sts _changdu+1,R3
 0096 20925600          sts _changdu,R2
 009A                   .dbline 145
 009A           ; st_changdu=0;
 009A 30925500          sts _st_changdu+1,R3
 009E 20925400          sts _st_changdu,R2
 00A2                   .dbline 146
 00A2           ; status=0;
 00A2 20924C00          sts _status,R2
 00A6                   .dbline 147
 00A6           ; inc_dec_flag=0;
 00A6 20920200          sts _inc_dec_flag,R2
 00AA                   .dbline 149
 00AA           ; //***********************************
 00AA           ; eep_temp=0;
 00AA 20924500          sts _eep_temp,R2
 00AE                   .dbline 150
 00AE           ; EEPROM_READ(stoptime_address+1,eep_temp);
 00AE 81E0              ldi R24,1
 00B0 90E0              ldi R25,0
 00B2 9983              std y+1,R25
 00B4 8883              std y+0,R24
 00B6 20E0              ldi R18,<_eep_temp
 00B8 30E0              ldi R19,>_eep_temp
 00BA 0BE0              ldi R16,11
 00BC 10E0              ldi R17,0
 00BE 0E940000          xcall _EEPROMReadBytes
 00C2                   .dbline 151
 00C2           ; if(eep_temp==55)
 00C2 80914500          lds R24,_eep_temp
 00C6 8733              cpi R24,55
 00C8 51F4              brne L11
 00CA                   .dbline 152
 00CA           ; {EEPROM_READ(stoptime_address,stoptime);}
 00CA                   .dbline 152
 00CA 81E0              ldi R24,1
 00CC 90E0              ldi R25,0
 00CE 9983              std y+1,R25
 00D0 8883              std y+0,R24
 00D2 20E0              ldi R18,<_stoptime
 00D4 30E0              ldi R19,>_stoptime
 00D6 0AE0              ldi R16,10
 00D8 10E0              ldi R17,0
 00DA 0E940000          xcall _EEPROMReadBytes
 00DE                   .dbline 152
 00DE           L11:
 00DE                   .dbline 154
 00DE           ; //************************************
 00DE           ; eep_temp=0;
 00DE 2224              clr R2
 00E0 20924500          sts _eep_temp,R2
 00E4                   .dbline 155
 00E4           ; EEPROM_READ(open_max_address+1,eep_temp);
 00E4 81E0              ldi R24,1
 00E6 90E0              ldi R25,0
 00E8 9983              std y+1,R25
 00EA 8883              std y+0,R24
 00EC 20E0              ldi R18,<_eep_temp
 00EE 30E0              ldi R19,>_eep_temp
 00F0 05E1              ldi R16,21
 00F2 10E0              ldi R17,0
 00F4 0E940000          xcall _EEPROMReadBytes
 00F8                   .dbline 156
 00F8           ; if(eep_temp==55)
 00F8 80914500          lds R24,_eep_temp
 00FC 8733              cpi R24,55
 00FE 51F4              brne L13
 0100                   .dbline 157
 0100           ; {EEPROM_READ(open_max_address,open_max_temp);}
 0100                   .dbline 157
 0100 81E0              ldi R24,1
 0102 90E0              ldi R25,0
 0104 9983              std y+1,R25
 0106 8883              std y+0,R24
 0108 20E0              ldi R18,<_open_max_temp
 010A 30E0              ldi R19,>_open_max_temp
 010C 04E1              ldi R16,20
 010E 10E0              ldi R17,0
 0110 0E940000          xcall _EEPROMReadBytes
 0114                   .dbline 157
 0114           L13:
 0114                   .dbline 159
 0114           ; //*************************************
 0114           ; eep_temp=0;
 0114 2224              clr R2
 0116 20924500          sts _eep_temp,R2
 011A                   .dbline 160
 011A           ; EEPROM_READ(open_min_address+1,eep_temp);
 011A 81E0              ldi R24,1
 011C 90E0              ldi R25,0
 011E 9983              std y+1,R25
 0120 8883              std y+0,R24
 0122 20E0              ldi R18,<_eep_temp
 0124 30E0              ldi R19,>_eep_temp
 0126 0AE1              ldi R16,26
 0128 10E0              ldi R17,0
 012A 0E940000          xcall _EEPROMReadBytes
 012E                   .dbline 161
 012E           ; if(eep_temp==55)
 012E 80914500          lds R24,_eep_temp
 0132 8733              cpi R24,55
 0134 51F4              brne L15
 0136                   .dbline 162
 0136           ; {EEPROM_READ(open_min_address,open_min_temp);}
 0136                   .dbline 162
 0136 81E0              ldi R24,1
 0138 90E0              ldi R25,0
 013A 9983              std y+1,R25
 013C 8883              std y+0,R24
 013E 20E0              ldi R18,<_open_min_temp
 0140 30E0              ldi R19,>_open_min_temp
 0142 09E1              ldi R16,25
 0144 10E0              ldi R17,0
 0146 0E940000          xcall _EEPROMReadBytes
 014A                   .dbline 162
 014A           L15:
 014A                   .dbline 164
 014A           ; //*************************************
 014A           ; eep_temp=0;
 014A 2224              clr R2
 014C 20924500          sts _eep_temp,R2
 0150                   .dbline 165
 0150           ; EEPROM_READ(close_max_address+1,eep_temp);
 0150 81E0              ldi R24,1
 0152 90E0              ldi R25,0
 0154 9983              std y+1,R25
 0156 8883              std y+0,R24
 0158 20E0              ldi R18,<_eep_temp
 015A 30E0              ldi R19,>_eep_temp
 015C 0FE1              ldi R16,31
 015E 10E0              ldi R17,0
 0160 0E940000          xcall _EEPROMReadBytes
 0164                   .dbline 166
 0164           ; if(eep_temp==55)
 0164 80914500          lds R24,_eep_temp
 0168 8733              cpi R24,55
 016A 51F4              brne L17
 016C                   .dbline 167
 016C           ; {EEPROM_READ(close_max_address,open_max_temp);}
 016C                   .dbline 167
 016C 81E0              ldi R24,1
 016E 90E0              ldi R25,0
 0170 9983              std y+1,R25
 0172 8883              std y+0,R24
 0174 20E0              ldi R18,<_open_max_temp
 0176 30E0              ldi R19,>_open_max_temp
 0178 0EE1              ldi R16,30
 017A 10E0              ldi R17,0
 017C 0E940000          xcall _EEPROMReadBytes
 0180                   .dbline 167
 0180           L17:
 0180                   .dbline 169
 0180           ; //*************************************
 0180           ; eep_temp=0;
 0180 2224              clr R2
 0182 20924500          sts _eep_temp,R2
 0186                   .dbline 170
 0186           ; EEPROM_READ(close_min_address+1,eep_temp);
 0186 81E0              ldi R24,1
 0188 90E0              ldi R25,0
 018A 9983              std y+1,R25
 018C 8883              std y+0,R24
 018E 20E0              ldi R18,<_eep_temp
 0190 30E0              ldi R19,>_eep_temp
 0192 04E2              ldi R16,36
 0194 10E0              ldi R17,0
 0196 0E940000          xcall _EEPROMReadBytes
 019A                   .dbline 171
 019A           ; if(eep_temp==55)
 019A 80914500          lds R24,_eep_temp
 019E 8733              cpi R24,55
 01A0 51F4              brne L19
 01A2                   .dbline 172
 01A2           ; {EEPROM_READ(close_min_address,open_min_temp);}
 01A2                   .dbline 172
 01A2 81E0              ldi R24,1
 01A4 90E0              ldi R25,0
 01A6 9983              std y+1,R25
 01A8 8883              std y+0,R24
 01AA 20E0              ldi R18,<_open_min_temp
 01AC 30E0              ldi R19,>_open_min_temp
 01AE 03E2              ldi R16,35
 01B0 10E0              ldi R17,0
 01B2 0E940000          xcall _EEPROMReadBytes
 01B6                   .dbline 172
 01B6           L19:
 01B6                   .dbline 174
 01B6 2224              clr R2
 01B8 20924500          sts _eep_temp,R2
 01BC                   .dbline 175
 01BC 81E0              ldi R24,1
 01BE 90E0              ldi R25,0
 01C0 9983              std y+1,R25
 01C2 8883              std y+0,R24
 01C4 20E0              ldi R18,<_eep_temp
 01C6 30E0              ldi R19,>_eep_temp
 01C8 00E1              ldi R16,16
 01CA 10E0              ldi R17,0
 01CC 0E940000          xcall _EEPROMReadBytes
 01D0                   .dbline 176
 01D0 80914500          lds R24,_eep_temp
 01D4 8733              cpi R24,55
 01D6 51F4              brne L21
 01D8                   .dbline 177
 01D8                   .dbline 177
 01D8 81E0              ldi R24,1
 01DA 90E0              ldi R25,0
 01DC 9983              std y+1,R25
 01DE 8883              std y+0,R24
 01E0 20E0              ldi R18,<_study_speed_temp
 01E2 30E0              ldi R19,>_study_speed_temp
 01E4 0FE0              ldi R16,15
 01E6 10E0              ldi R17,0
 01E8 0E940000          xcall _EEPROMReadBytes
 01EC                   .dbline 177
 01EC           L21:
 01EC                   .dbline -2
 01EC           L10:
 01EC 2296              adiw R28,2
 01EE                   .dbline 0 ; func end
 01EE 0895              ret
 01F0                   .dbend
                        .area vector(rom, abs)
                        .org 36
 0024 0C94F800          jmp _timer0
                        .area text(rom, con, rel)
 01F0                   .dbfile d:\MYDOCU~1\ac20-1\ac20-1.c
 01F0                   .dbfunc e timer0 _timer0 fV
                        .even
 01F0           _timer0::
 01F0 2A92              st -y,R2
 01F2 3A92              st -y,R3
 01F4 0A93              st -y,R16
 01F6 1A93              st -y,R17
 01F8 2A93              st -y,R18
 01FA 3A93              st -y,R19
 01FC 8A93              st -y,R24
 01FE 9A93              st -y,R25
 0200 EA93              st -y,R30
 0202 FA93              st -y,R31
 0204 2FB6              in R2,0x3f
 0206 2A92              st -y,R2
 0208 0E940000          xcall push_gset1
 020C                   .dbline -1
 020C                   .dbline 184
 020C           ; //*************************************
 020C           ; eep_temp=0;
 020C           ; EEPROM_READ(study_speed_address+1,eep_temp);
 020C           ; if(eep_temp==55)
 020C           ; {EEPROM_READ(study_speed_address,study_speed_temp);}
 020C           ; }
 020C           ; 
 020C           ; /*===================================================*/
 020C           ; /***定时器T0的1ms中断,用于数码管显示及检测运行状态的马达堵转情况***/
 020C           ; #pragma interrupt_handler timer0:10
 020C           ; void timer0(void)

⌨️ 快捷键说明

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