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

📄 ze015_1.lis

📁 一款完整的家用电器程序,具有控制商用机的功能,应用广泛,有一定的参考价值
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0304                   .dbline 133
 0304           ;                       m_32mscountv=0;
 0304           L64:
 0304                   .dbline 134
 0304           ;                       jf_valvetotal();
 0304 042F              mov R16,R20
 0306                   .dbline -2
 0306           L52:
 0306 0E940000          xcall pop_gset5
 030A                   .dbline 0 ; func end
 030A 0895              ret
 030C                   .dbsym r a_d2 12 c
 030C                   .dbsym r a_d1 14 c
 030C                   .dbsym r th_value 20 c
 030C                   .dbsym r temp 22 c
 030C                   .dbsym r n 10 c
 030C                   .dbsym r thAD 16 c
 030C                   .dbend
 030C                   .dbfunc e ADStartP _ADStartP fV
                        .even
 030C           _ADStartP::
 030C                   .dbline -1
 030C                   .dbline 142
 030C           ;               }       
 030C           ;               m_500mscount=m_500mscount+1;
 030C           ; }
 030C           ; 
 030C           ; //TIMER1 initialize - prescale:64
 030C           ; // WGM: 0) Normal, TOP=0xFFFF
 030C           ; // desired value: 1Hz
 030C           ; // actual value:  1.000Hz (0.0%)
 030C                   .dbline 143
 030C           ; void timer1_init(void)
 030C 369A              sbi 0x6,6
 030E 01C0              xjmp L79
 0310           L78:
 0310                   .dbline 144
 0310 A895              wdr
 0312           L79:
 0312                   .dbline 144
 0312           ; {
 0312 349B              sbis 0x6,4
 0314 FDCF              rjmp L78
 0316                   .dbline 145
 0316           ;  TCCR1B = 0x00; //stop
 0316 349A              sbi 0x6,4
 0318                   .dbline -2
 0318           L77:
 0318                   .dbline 0 ; func end
 0318 0895              ret
 031A                   .dbend
 031A                   .dbfunc e funADsample _funADsample fV
                        .even
 031A           _funADsample::
 031A                   .dbline -1
 031A                   .dbline 155
 031A           ;  TCNT1H = 0x0B; //setup
 031A           ;  TCNT1L = 0xDC;
 031A           ;  OCR1AH = 0xF4;
 031A           ;  OCR1AL = 0x24;
 031A           ;  OCR1BH = 0xF4;
 031A           ;  OCR1BL = 0x24;
 031A           ;  OCR1CH = 0xF4;
 031A           ;  OCR1CL = 0x24;
 031A           ;  ICR1H  = 0xF4;
 031A           ;  ICR1L  = 0x24;
 031A                   .dbline 157
 031A           ;  TCCR1A = 0x00;
 031A           ;  TCCR1B = 0x03; //start Timer
 031A 86E8              ldi R24,134
 031C 86B9              out 0x6,R24
 031E                   .dbline 158
 031E           ; }
 031E 82E4              ldi R24,66
 0320 87B9              out 0x7,R24
 0322                   .dbline 159
 0322           ; 
 0322 8AD5              xcall _delay_20us
 0324                   .dbline 160
 0324           ; #pragma interrupt_handler timer1_ovf_isr:15
 0324 F3DF              xcall _ADStartP
 0326                   .dbline 161
 0326           ; void timer1_ovf_isr(void)
 0326 24B0              in R2,0x4
 0328 3324              clr R3
 032A 4090D500          lds R4,_i_defrost_sumADL
 032E 5090D600          lds R5,_i_defrost_sumADL+1
 0332 420C              add R4,R2
 0334 531C              adc R5,R3
 0336 5092D600          sts _i_defrost_sumADL+1,R5
 033A 4092D500          sts _i_defrost_sumADL,R4
 033E                   .dbline 162
 033E           ; {//20080201将定时1秒改在定时10MS中,增加快测
 033E 85B1              in R24,0x5
 0340 9927              clr R25
 0342 8370              andi R24,3
 0344 9070              andi R25,0
 0346 2090D300          lds R2,_i_defrost_sumADH
 034A 3090D400          lds R3,_i_defrost_sumADH+1
 034E 280E              add R2,R24
 0350 391E              adc R3,R25
 0352 3092D400          sts _i_defrost_sumADH+1,R3
 0356 2092D300          sts _i_defrost_sumADH,R2
 035A                   .dbline 163
 035A           ;  //TIMER1 has overflowed 1s 1秒定时
 035A 0000              nop
 035C                   .dbline 165
 035C           ;        TCNT1H = 0x0b; //reload counter high value
 035C           ;        TCNT1L = 0xdc; //reload counter low value
 035C 81E4              ldi R24,65
 035E 87B9              out 0x7,R24
 0360                   .dbline 166
 0360           ;  //20080201time_flag |=b_time_1s;     //f_1s=1
 0360 6BD5              xcall _delay_20us
 0362                   .dbline 167
 0362           ; }
 0362 D4DF              xcall _ADStartP
 0364                   .dbline 168
 0364           ; //TIMER2 initialize - prescale:8 中断未用,但用作蜂鸣器驱动2KHZ
 0364 24B0              in R2,0x4
 0366 3324              clr R3
 0368 4090DD00          lds R4,_i_evin_sumADL
 036C 5090DE00          lds R5,_i_evin_sumADL+1
 0370 420C              add R4,R2
 0372 531C              adc R5,R3
 0374 5092DE00          sts _i_evin_sumADL+1,R5
 0378 4092DD00          sts _i_evin_sumADL,R4
 037C                   .dbline 169
 037C           ; // WGM: CTC
 037C 85B1              in R24,0x5
 037E 9927              clr R25
 0380 8370              andi R24,3
 0382 9070              andi R25,0
 0384 2090DB00          lds R2,_i_evin_sumADH
 0388 3090DC00          lds R3,_i_evin_sumADH+1
 038C 280E              add R2,R24
 038E 391E              adc R3,R25
 0390 3092DC00          sts _i_evin_sumADH+1,R3
 0394 2092DB00          sts _i_evin_sumADH,R2
 0398                   .dbline 170
 0398           ; // desired value: 4KHz
 0398 0000              nop
 039A                   .dbline 173
 039A           ; // actual value:  3.992KHz (0.4%)
 039A           ; void timer2_init(void)
 039A           ; {
 039A 80E4              ldi R24,64
 039C 87B9              out 0x7,R24
 039E                   .dbline 174
 039E           ;  TCCR2 = 0x00; //stop
 039E 4CD5              xcall _delay_20us
 03A0                   .dbline 175
 03A0           ;  TCNT2 = 0x87; //0x86; // 2048 Khz    0x83; //2khz
 03A0 B5DF              xcall _ADStartP
 03A2                   .dbline 176
 03A2           ;  OCR2  = 0x79; //0x7a; //0x7d;
 03A2 24B0              in R2,0x4
 03A4 3324              clr R3
 03A6 4090D900          lds R4,_i_i_humid_sumADL
 03AA 5090DA00          lds R5,_i_i_humid_sumADL+1
 03AE 420C              add R4,R2
 03B0 531C              adc R5,R3
 03B2 5092DA00          sts _i_i_humid_sumADL+1,R5
 03B6 4092D900          sts _i_i_humid_sumADL,R4
 03BA                   .dbline 177
 03BA           ; }
 03BA 85B1              in R24,0x5
 03BC 9927              clr R25
 03BE 8370              andi R24,3
 03C0 9070              andi R25,0
 03C2 2090D700          lds R2,_i_i_humid_sumADH
 03C6 3090D800          lds R3,_i_i_humid_sumADH+1
 03CA 280E              add R2,R24
 03CC 391E              adc R3,R25
 03CE 3092D800          sts _i_i_humid_sumADH+1,R3
 03D2 2092D700          sts _i_i_humid_sumADH,R2
 03D6                   .dbline 178
 03D6           ; 
 03D6 0000              nop
 03D8                   .dbline 179
 03D8           ; #pragma interrupt_handler timer2_ovf_isr:11
 03D8 83E4              ldi R24,67
 03DA 87B9              out 0x7,R24
 03DC                   .dbline 180
 03DC           ; void timer2_ovf_isr(void)
 03DC 2DD5              xcall _delay_20us
 03DE                   .dbline 181
 03DE           ; {//no use but remain,定时器2用途CTC蜂鸣器驱动
 03DE 96DF              xcall _ADStartP
 03E0                   .dbline 182
 03E0           ;  TCNT2 = 0x06;  //reload counter value
 03E0 24B0              in R2,0x4
 03E2 3324              clr R3
 03E4 4090D100          lds R4,_i_exghaust_sumADL
 03E8 5090D200          lds R5,_i_exghaust_sumADL+1
 03EC 420C              add R4,R2
 03EE 531C              adc R5,R3
 03F0 5092D200          sts _i_exghaust_sumADL+1,R5
 03F4 4092D100          sts _i_exghaust_sumADL,R4
 03F8                   .dbline 183
 03F8           ; }
 03F8 85B1              in R24,0x5
 03FA 8370              andi R24,3
 03FC 2090D000          lds R2,_i_exghaust_sumADH
 0400 280E              add R2,R24
 0402 2092D000          sts _i_exghaust_sumADH,R2
 0406                   .dbline 184
 0406           ; //TIMER3未用 
 0406 0000              nop
 0408                   .dbline 185
 0408           ; //TIMER3 initialize - prescale:256
 0408 2224              clr R2
 040A 26B8              out 0x6,R2
 040C                   .dbline -2
 040C           L81:
 040C                   .dbline 0 ; func end
 040C 0895              ret
 040E                   .dbend
 040E                   .dbfunc e funADsum _funADsum fV
                        .even
 040E           _funADsum::
 040E 0E940000          xcall push_gset1
 0412 2497              sbiw R28,4
 0414                   .dbline -1
 0414                   .dbline 192
 0414           ; // WGM: 0) Normal, TOP=0xFFFF
 0414           ; // desired value: 100mSec
 0414           ; // actual value: 100.000mSec (0.0%)
 0414           ; void timer3_init(void)
 0414           ; {
 0414           ;  TCCR3B = 0x00; //stop
 0414           ;  TCNT3H = 0x0B; //setup
 0414                   .dbline 193
 0414           ;  TCNT3L = 0xDC;
 0414 82DF              xcall _funADsample
 0416                   .dbline 194
 0416           ;  OCR3AH = 0xF4;
 0416 8091ED00          lds R24,_ADsum_times
 041A 8F5F              subi R24,255    ; addi 1
 041C 8093ED00          sts _ADsum_times,R24
 0420                   .dbline 195
 0420           ;  OCR3AL = 0x24;
 0420 80912B00          lds R24,_ADsumTH_times
 0424 8F5F              subi R24,255    ; addi 1
 0426 80932B00          sts _ADsumTH_times,R24
 042A                   .dbline 196
 042A           ;  OCR3BH = 0xF4;
 042A 0000              nop
 042C                   .dbline 197
 042C           ;  OCR3BL = 0x24;
 042C 8031              cpi R24,16
 042E 08F4              brsh X0
 0430 EEC0              xjmp L83
 0432           X0:
 0432                   .dbline 198
 0432           ;  OCR3CH = 0xF4;
 0432                   .dbline 201
 0432           ;  OCR3CL = 0x24;
 0432           ;  ICR3H  = 0xF4;
 0432           ;  ICR3L  = 0x24;
 0432 26E0              ldi R18,6
 0434 30E0              ldi R19,0
 0436 0091D100          lds R16,_i_exghaust_sumADL
 043A 1091D200          lds R17,_i_exghaust_sumADL+1
 043E 0E940000          xcall lsr16
 0442 2090D000          lds R2,_i_exghaust_sumADH
 0446 220C              lsl R2
 0448 220C              lsl R2
 044A 200E              add R2,R16
 044C 2092E700          sts _exghaust_AD,R2
 0450                   .dbline 203
 0450           ;  TCCR3A = 0x00;
 0450           ; // TCCR3B = 0x03; //start Timer
 0450 2090D500          lds R2,_i_defrost_sumADL
 0454 3090D600          lds R3,_i_defrost_sumADL+1
 0458 3694              lsr R3
 045A 2794              ror R2
 045C 3694              lsr R3
 045E 2794              ror R2
 0460 3694              lsr R3
 0462 2794              ror R2
 0464 3694              lsr R3
 0466 2794              ror R2
 0468 4090D300          lds R4,_i_defrost_sumADH
 046C 5090D400          lds R5,_i_defrost_sumADH+1
 0470 440C              lsl R4
 0472 551C              rol R5
 0474 440C              lsl R4
 0476 551C              rol R5
 0478 440C              lsl R4
 047A 551C              rol R5
 047C 440C              lsl R4
 047E 551C              rol R5
 0480 420C              add R4,R2
 0482 531C              adc R5,R3
 0484 5092EB00          sts _defrost_AD+1,R5
 0488 4092EA00          sts _defrost_AD,R4
 048C                   .dbline 204
 048C           ; TCCR3B = 0x00;
 048C 2090DD00          lds R2,_i_evin_sumADL
 0490 3090DE00          lds R3,_i_evin_sumADL+1
 0494 3694              lsr R3
 0496 2794              ror R2
 0498 3694              lsr R3
 049A 2794              ror R2
 049C 3694              lsr R3
 049E 2794              ror R2
 04A0 3694              lsr R3
 04A2 2794              ror R2
 04A4 4090DB00          lds R4,_i_evin_sumADH
 04A8 5090DC00          lds R5,_i_evin_sumADH+1
 04AC 440C              lsl R4
 04AE 551C              rol R5
 04B0 440C              lsl R4
 04B2 551C              rol R5
 04B4 440C              lsl R4
 04B6 551C              rol R5
 04B8 440C              lsl R4
 04BA 551C              rol R5
 04BC 420C              add R4,R2
 04BE 531C              adc R5,R3
 04C0 5092E900          sts _evin_AD+1,R5
 04C4 4092E800          sts _evin_AD,R4
 04C8                   .dbline 206
 04C8           ; }
 04C8           ; 
 04C8 0091E700          lds R16,_exghaust_AD
 04CC B6DE              xcall _Fun_ad_50k
 04CE 0093E300          sts _exghaust_TH,R16
 04D2                   .dbline 207
 04D2           ; #pragma interrupt_handler timer3_ovf_isr:30
 04D2 8091EA00          lds R24,_defrost_AD
 04D6 9091EB00          lds R25,_defrost_AD+1
 04DA 8D31              cpi R24,29
 04DC E0E0              ldi R30,0
 04DE 9E07 

⌨️ 快捷键说明

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