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

📄 init.lis

📁 433M收发,内有PCB(用99打开),源程序ICC打开,用了IC发送和三极管两种,接收用RX3310
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 03AC                   .dbsym r j 20 c
 03AC                   .dbsym r i 22 c
 03AC                   .dbend
                        .area vector(rom, abs)
                        .org 18
 0012 D6C1              rjmp _timer2_ovf_isr
                        .area text(rom, con, rel)
 03AC                   .dbfile E:\abol\file\EMD\programme\init.c
 03AC                   .dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
 03AC           ;              i -> <dead>
                        .even
 03AC           _timer2_ovf_isr::
 03AC 00D0              rcall push_lset
 03AE                   .dbline -1
 03AE                   .dbline 265
 03AE           ;       }//6
 03AE           ; give_up:
 03AE           ;          data[0]=0; 
 03AE           ;          data[1]=0;
 03AE           ;          data[2]=0;
 03AE           ;               BITCOUNTER=CODELANGTH;
 03AE           ;               DECODER_FLAG_L;
 03AE           ;               LO_COUNT_SAVE=0;
 03AE           ;               HI_COUNT_SAVE=0;
 03AE           ;   }//1 
 03AE           ; 
 03AE           ; }
 03AE           ; #pragma interrupt_handler timer2_ovf_isr:10
 03AE           ; void timer2_ovf_isr(void)     //中断程序 
 03AE           ; {//00
 03AE                   .dbline 269
 03AE           ;  unsigned char i;
 03AE           ;  //RF_ON;//关RF使能
 03AE           ;  //DECODER_EN_L;//关RF接收数据
 03AE           ;  flag|=0x80;
 03AE 80910000          lds R24,_flag
 03B2 8068              ori R24,128
 03B4 80930000          sts _flag,R24
 03B8                   .dbline 270
 03B8           ;  flagh|=0x80; 
 03B8 80910000          lds R24,_flagh
 03BC 8068              ori R24,128
 03BE 80930000          sts _flagh,R24
 03C2                   .dbline 271
 03C2           ;    bitclr(PORTD,0);             
 03C2 5898              cbi 0xb,0
 03C4                   .dbline 272
 03C4           ;    acount++;
 03C4 80910000          lds R24,_acount
 03C8 8F5F              subi R24,255    ; addi 1
 03CA 80930000          sts _acount,R24
 03CE                   .dbline 273
 03CE           ;    if(acount>1) 
 03CE 81E0              ldi R24,1
 03D0 20900000          lds R2,_acount
 03D4 8215              cp R24,R2
 03D6 50F4              brsh L80
 03D8                   .dbline 274
 03D8           ;      { 
 03D8                   .dbline 275
 03D8           ;        tm1620();              //刷新显示 
 03D8 00D0              rcall _tm1620
 03DA                   .dbline 276
 03DA           ;      flagh^=0x04;       //闪烁LED 32768/32*2=0.5s 
 03DA 84E0              ldi R24,4
 03DC 20900000          lds R2,_flagh
 03E0 2826              eor R2,R24
 03E2 20920000          sts _flagh,R2
 03E6                   .dbline 277
 03E6           ;        acount=0; 
 03E6 2224              clr R2
 03E8 20920000          sts _acount,R2
 03EC                   .dbline 278
 03EC           ;        }
 03EC           L80:
 03EC                   .dbline 279
 03EC           ;  bcount++; 
 03EC 80910000          lds R24,_bcount
 03F0 8F5F              subi R24,255    ; addi 1
 03F2 80930000          sts _bcount,R24
 03F6                   .dbline 280
 03F6           ;  if(bcount>3)               // 
 03F6 83E0              ldi R24,3
 03F8 20900000          lds R2,_bcount
 03FC 8215              cp R24,R2
 03FE 08F0              brlo X9
 0400 9AC0              rjmp L82
 0402           X9:
 0402                   .dbline 281
 0402           ;   {//3 
 0402                   .dbline 282
 0402           ;          if(SPFC!=0)                  //开蜂鸣器
 0402 20900000          lds R2,_SPFC
 0406 2220              tst R2
 0408 29F0              breq L84
 040A                   .dbline 283
 040A           ;          {
 040A                   .dbline 284
 040A           ;          bitset(PORTD,0);
 040A 589A              sbi 0xb,0
 040C                   .dbline 285
 040C           ;          SPFC--;
 040C 822D              mov R24,R2
 040E 8150              subi R24,1
 0410 80930000          sts _SPFC,R24
 0414                   .dbline 286
 0414           ;          }
 0414           L84:
 0414                   .dbline 296
 0414           ;       /*    RF_OFF;            //开RF使能
 0414           ;          data[0]=0; 
 0414           ;          data[1]=0;
 0414           ;          data[2]=0;
 0414           ;               BITCOUNTER=CODELANGTH;
 0414           ;               DECODER_FLAG_L;
 0414           ;               LO_COUNT_SAVE=0;
 0414           ;               HI_COUNT_SAVE=0;
 0414           ;         DECODER_EN_H;//开RF接收数据           */
 0414           ;               flag&=~0x80;
 0414 80910000          lds R24,_flag
 0418 8F77              andi R24,127
 041A 80930000          sts _flag,R24
 041E                   .dbline 297
 041E           ;   bcount=0; 
 041E 2224              clr R2
 0420 20920000          sts _bcount,R2
 0424                   .dbline 298
 0424           ;   sec--; 
 0424 80910000          lds R24,_sec
 0428 8150              subi R24,1
 042A 80930000          sts _sec,R24
 042E                   .dbline 299
 042E           ;   sec0--;
 042E 80910000          lds R24,_sec0
 0432 8150              subi R24,1
 0434 80930000          sts _sec0,R24
 0438                   .dbline 300
 0438           ;   if(sec0==0)
 0438 8823              tst R24
 043A 41F4              brne L86
 043C                   .dbline 301
 043C           ;         {
 043C                   .dbline 302
 043C           ;         sec0=3;
 043C 83E0              ldi R24,3
 043E 80930000          sts _sec0,R24
 0442                   .dbline 303
 0442           ;         flagh |=BIT(1);       //3sec  
 0442 80910000          lds R24,_flagh
 0446 8260              ori R24,2
 0448 80930000          sts _flagh,R24
 044C                   .dbline 304
 044C           ;         } 
 044C           L86:
 044C                   .dbline 305
 044C           ;   if(sec==0)                 //秒判断   32768/32*4*SEC
 044C 20900000          lds R2,_sec
 0450 2220              tst R2
 0452 09F0              breq X10
 0454 70C0              rjmp L88
 0456           X10:
 0456                   .dbline 306
 0456           ;     {//4
 0456                   .dbline 307
 0456           ;       flagh |=BIT(0);                  //倒计时时间到
 0456 80910000          lds R24,_flagh
 045A 8160              ori R24,1
 045C 80930000          sts _flagh,R24
 0460                   .dbline 308
 0460           ;       sec=60;
 0460 8CE3              ldi R24,60
 0462 80930000          sts _sec,R24
 0466                   .dbline 309
 0466           ;         if((PIND&0X06)==2)
 0466 89B1              in R24,0x9
 0468 8670              andi R24,6
 046A 8230              cpi R24,2
 046C 81F5              brne L90
 046E                   .dbline 310
 046E           ;           {
 046E                   .dbline 311
 046E           ;               minu15++;
 046E 80910000          lds R24,_minu15
 0472 8F5F              subi R24,255    ; addi 1
 0474 80930000          sts _minu15,R24
 0478                   .dbline 312
 0478           ;               if(minu15>15)  //15分钟自动全部清除
 0478 8FE0              ldi R24,15
 047A 20900000          lds R2,_minu15
 047E 8215              cp R24,R2
 0480 30F5              brsh L92
 0482                   .dbline 313
 0482           ;                 {
 0482                   .dbline 314
 0482           ;                 datas[0]=datas[1]=datas[2]=datas[3]=datas[4]=datas[5]=datas[6]=datas[7]=0;
 0482 2224              clr R2
 0484 20920700          sts _datas+7,R2
 0488 20920600          sts _datas+6,R2
 048C 20920500          sts _datas+5,R2
 0490 20920400          sts _datas+4,R2
 0494 20920300          sts _datas+3,R2
 0498 20920200          sts _datas+2,R2
 049C 20920100          sts _datas+1,R2
 04A0 20920000          sts _datas,R2
 04A4                   .dbline 315
 04A4           ;                 dipdata[3]=dipdata[4]=dipdata[5]=0;
 04A4 20920500          sts _dipdata+5,R2
 04A8 20920400          sts _dipdata+4,R2
 04AC 20920300          sts _dipdata+3,R2
 04B0                   .dbline 316
 04B0           ;                 dipdata[0]=dipdata[1]=dipdata[2]=0;
 04B0 20920200          sts _dipdata+2,R2
 04B4 20920100          sts _dipdata+1,R2
 04B8 20920000          sts _dipdata,R2
 04BC                   .dbline 317
 04BC           ;                 dipdata[5]|=0x80;       //电源LED
 04BC 80910500          lds R24,_dipdata+5
 04C0 8068              ori R24,128
 04C2 80930500          sts _dipdata+5,R24
 04C6                   .dbline 318
 04C6           ;                 minu15=0;
 04C6 20920000          sts _minu15,R2
 04CA                   .dbline 319
 04CA           ;                 minu30=0;
 04CA 20920000          sts _minu30,R2
 04CE                   .dbline 320
 04CE           ;                 }
 04CE           L92:
 04CE                   .dbline 321
 04CE           ;                }
 04CE           L90:
 04CE                   .dbline 322
 04CE           ;         if((PIND&0X06)==4)
 04CE 89B1              in R24,0x9
 04D0 8670              andi R24,6
 04D2 8430              cpi R24,4
 04D4 81F5              brne L107
 04D6                   .dbline 323
 04D6           ;           {
 04D6                   .dbline 324
 04D6           ;               minu30++;
 04D6 80910000          lds R24,_minu30
 04DA 8F5F              subi R24,255    ; addi 1
 04DC 80930000          sts _minu30,R24
 04E0                   .dbline 325
 04E0           ;               if(minu30>30)   //30分钟自动全部清除
 04E0 8EE1              ldi R24,30
 04E2 20900000          lds R2,_minu30
 04E6 8215              cp R24,R2
 04E8 30F5              brsh L109
 04EA                   .dbline 326
 04EA           ;                 {
 04EA                   .dbline 327
 04EA           ;                 datas[0]=datas[1]=datas[2]=datas[3]=datas[4]=datas[5]=datas[6]=datas[7]=0;
 04EA 2224              clr R2
 04EC 20920700          sts _datas+7,R2
 04F0 20920600          sts _datas+6,R2
 04F4 20920500          sts _datas+5,R2
 04F8 20920400          sts _datas+4,R2
 04FC 20920300          sts _datas+3,R2
 0500 20920200          sts _datas+2,R2
 0504 20920100          sts _datas+1,R2
 0508 20920000          sts _datas,R2
 050C                   .dbline 328
 050C           ;                 dipdata[3]=dipdata[4]=dipdata[5]=0;
 050C 20920500          sts _dipdata+5,R2
 0510 20920400          sts _dipdata+4,R2
 0514 20920300          sts _dipdata+3,R2
 0518                   .dbline 329
 0518           ;                 dipdata[0]=dipdata[1]=dipdata[2]=0;
 0518 20920200          sts _dipdata+2,R2
 051C 20920100          sts _dipdata+1,R2
 0520 20920000          sts _dipdata,R2
 0524                   .dbline 330
 0524           ;                 dipdata[5]|=0x80;       //电源LED
 0524 80910500          lds R24,_dipdata+5
 0528 8068              ori R24,128
 052A 80930500          sts _dipdata+5,R24
 052E                   .dbline 331
 052E           ;                 minu30=0;     
 052E 20920000          sts _minu30,R2
 0532                   .dbline 332
 0532           ;                 minu15=0;
 0532 20920000          sts _minu15,R2
 0536                   .dbline 333
 0536           ;                 }
 0536           L109:
 0536                   .dbline 334
 0536           ;                }
 0536           L107:
 0536                   .dbline 335
 0536           ;     }//4
 0536           L88:
 0536                   .dbline 336
 0536           L82:
 0536                   .dbline -2
 0536           L79:
 0536 00D0              rcall pop_lset
 0538                   .dbline 0 ; func end
 0538 1895              reti
 053A                   .dbsym l i 1 c
 053A                   .dbend

⌨️ 快捷键说明

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