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

📄 doo1.lis

📁 433M收发,内有PCB(用99打开),源程序ICC打开,用了IC发送和三极管两种,接收用RX3310
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00D6                   .dbsym r len 10 c
 00D6                   .dbsym r data 20 pc
 00D6                   .dbend
 00D6                   .dbfunc e addr_f _addr_f fV
 00D6           ;              j -> <dead>
 00D6           ;              i -> <dead>
                        .even
 00D6           _addr_f::
 00D6                   .dbline -1
 00D6                   .dbline 125
 00D6           ; }
 00D6           ; 
 00D6           ; 
 00D6           ; //地址计算
 00D6           ; void addr_f(void)
 00D6           ; {
 00D6                   .dbline 128
 00D6           ;     unsigned char i; 
 00D6           ;     unsigned char j;
 00D6           ; data[0]=EEPROM_read(0);
 00D6 0027              clr R16
 00D8 00D0              rcall _EEPROM_read
 00DA 00930300          sts _data,R16
 00DE                   .dbline 129
 00DE           ; data[1]=EEPROM_read(1);                 //EEPORM内地址,最大FFFF
 00DE 01E0              ldi R16,1
 00E0 00D0              rcall _EEPROM_read
 00E2 00930400          sts _data+1,R16
 00E6                   .dbline 130
 00E6           ; data[2]=0;
 00E6 2224              clr R2
 00E8 20920500          sts _data+2,R2
 00EC                   .dbline 131
 00EC           ; if(GetADC()<327)  data[2]|=0x80;
 00EC 9FDF              rcall _GetADC
 00EE 0734              cpi R16,71
 00F0 E1E0              ldi R30,1
 00F2 1E07              cpc R17,R30
 00F4 28F4              brsh L25
 00F6                   .dbline 131
 00F6 80910500          lds R24,_data+2
 00FA 8068              ori R24,128
 00FC 80930500          sts _data+2,R24
 0100           L25:
 0100                   .dbline 132
 0100           ; if(powbit) data[2]|=0x40;        
 0100 20900600          lds R2,_powbit
 0104 2220              tst R2
 0106 29F0              breq L28
 0108                   .dbline 132
 0108 80910500          lds R24,_data+2
 010C 8064              ori R24,64
 010E 80930500          sts _data+2,R24
 0112           L28:
 0112                   .dbline 133
 0112           ; data[2]+=CRC3(data,3);
 0112 23E0              ldi R18,3
 0114 00E0              ldi R16,<_data
 0116 10E0              ldi R17,>_data
 0118 9BDF              rcall _CRC3
 011A 20900500          lds R2,_data+2
 011E 200E              add R2,R16
 0120 20920500          sts _data+2,R2
 0124                   .dbline -2
 0124           L22:
 0124                   .dbline 0 ; func end
 0124 0895              ret
 0126                   .dbsym l j 1 c
 0126                   .dbsym l i 1 c
 0126                   .dbend
 0126                   .dbfunc e data_1 _data_1 fV
                        .even
 0126           _data_1::
 0126                   .dbline -1
 0126                   .dbline 137
 0126           ; }
 0126           ; //要发送的数据1
 0126           ; void data_1(void)
 0126           ; {
 0126                   .dbline 138
 0126           ;  RF_OFF;
 0126 C198              cbi 0x18,1
 0128                   .dbline 139
 0128           ;  del(700);
 0128 0CEB              ldi R16,700
 012A 12E0              ldi R17,2
 012C 00D0              rcall _del
 012E                   .dbline 140
 012E           ;  RF_ON;
 012E C19A              sbi 0x18,1
 0130                   .dbline 141
 0130           ;  del(350);
 0130 0EE5              ldi R16,350
 0132 11E0              ldi R17,1
 0134 00D0              rcall _del
 0136                   .dbline -2
 0136           L32:
 0136                   .dbline 0 ; func end
 0136 0895              ret
 0138                   .dbend
 0138                   .dbfunc e data_0 _data_0 fV
                        .even
 0138           _data_0::
 0138                   .dbline -1
 0138                   .dbline 145
 0138           ; }
 0138           ; //要发送的数据0
 0138           ; void data_0(void)
 0138           ; {
 0138                   .dbline 146
 0138           ;  RF_OFF;
 0138 C198              cbi 0x18,1
 013A                   .dbline 147
 013A           ;  del(350);
 013A 0EE5              ldi R16,350
 013C 11E0              ldi R17,1
 013E 00D0              rcall _del
 0140                   .dbline 148
 0140           ;  RF_ON;
 0140 C19A              sbi 0x18,1
 0142                   .dbline 149
 0142           ;  del(700);
 0142 0CEB              ldi R16,700
 0144 12E0              ldi R17,2
 0146 00D0              rcall _del
 0148                   .dbline -2
 0148           L33:
 0148                   .dbline 0 ; func end
 0148 0895              ret
 014A                   .dbend
 014A                   .dbfunc e rf _rf fV
 014A           ;              i -> R20
 014A           ;              j -> R10
 014A           ;          dataf -> R22,R23
                        .even
 014A           _rf::
 014A 00D0              rcall push_gset3
 014C 602F              mov R22,R16
 014E 712F              mov R23,R17
 0150                   .dbline -1
 0150                   .dbline 153
 0150           ; } 
 0150           ; //发送数据 
 0150           ; void rf (unsigned char *dataf)
 0150           ; {
 0150                   .dbline 156
 0150           ;     unsigned char i; 
 0150           ;     unsigned char j;
 0150           ;  RF_ON;                       //起始位
 0150 C19A              sbi 0x18,1
 0152                   .dbline 157
 0152           ;  del(350);
 0152 0EE5              ldi R16,350
 0154 11E0              ldi R17,1
 0156 00D0              rcall _del
 0158                   .dbline 158
 0158           ;  for(i=0;i<3;i++)
 0158 4427              clr R20
 015A 1BC0              rjmp L38
 015C           L35:
 015C                   .dbline 159
 015C           ;  {             for(j=0;j<8;j++)
 015C                   .dbline 159
 015C AA24              clr R10
 015E 13C0              rjmp L42
 0160           L39:
 0160                   .dbline 160
 0160           ;                {
 0160                   .dbline 161
 0160           ;          if(*dataf& (0x80>>j))  //如果该位为1 
 0160 2A2D              mov R18,R10
 0162 3327              clr R19
 0164 00E8              ldi R16,128
 0166 10E0              ldi R17,0
 0168 00D0              rcall asr16
 016A E62F              mov R30,R22
 016C F72F              mov R31,R23
 016E 2080              ldd R2,z+0
 0170 3324              clr R3
 0172 2022              and R2,R16
 0174 3122              and R3,R17
 0176 2220              tst R2
 0178 11F4              brne X1
 017A 3320              tst R3
 017C 11F0              breq L43
 017E           X1:
 017E                   .dbline 162
 017E           ;             data_1();
 017E D3DF              rcall _data_1
 0180 01C0              rjmp L44
 0182           L43:
 0182                   .dbline 163
 0182           ;             else data_0();
 0182 DADF              rcall _data_0
 0184           L44:
 0184                   .dbline 164
 0184           L40:
 0184                   .dbline 159
 0184 A394              inc R10
 0186           L42:
 0186                   .dbline 159
 0186 8A2D              mov R24,R10
 0188 8830              cpi R24,8
 018A 50F3              brlo L39
 018C                   .dbline 165
 018C 6F5F              subi R22,255  ; offset = 1
 018E 7F4F              sbci R23,255
 0190                   .dbline 166
 0190           L36:
 0190                   .dbline 158
 0190 4395              inc R20
 0192           L38:
 0192                   .dbline 158
 0192 4330              cpi R20,3
 0194 18F3              brlo L35
 0196                   .dbline 167
 0196           ;               } 
 0196           ;               dataf++; 
 0196           ;  }
 0196           ;  RF_OFF;
 0196 C198              cbi 0x18,1
 0198                   .dbline -2
 0198           L34:
 0198 00D0              rcall pop_gset3
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbsym r i 20 c
 019C                   .dbsym r j 10 c
 019C                   .dbsym r dataf 22 pc
 019C                   .dbend
 019C                   .dbfunc e main _main fV
 019C           ;              i -> R20
                        .even
 019C           _main::
 019C                   .dbline -1
 019C                   .dbline 171
 019C           ; }
 019C           ; //主函数!不用解释了
 019C           ; void main()
 019C           ; {
 019C                   .dbline 175
 019C           ; 
 019C           ;    unsigned char i;
 019C           ;       //以下初始化硬件
 019C           ;       port_init();    //端口初始化  
 019C 31DF              rcall _port_init
 019E                   .dbline 176
 019E           ;       adc_init();     //ADC初始化
 019E 35DF              rcall _adc_init
 01A0                   .dbline 177
 01A0           ;       watchdog_init();//初始化看门狗  
 01A0 3FDF              rcall _watchdog_init
 01A2                   .dbline 178
 01A2           ;       POWER_ON;
 01A2 C29A              sbi 0x18,2
 01A4                   .dbline 179
 01A4           ;       if(!(PINB&0X10)) powbit=1;      
 01A4 B499              sbic 0x16,4
 01A6 03C0              rjmp L46
 01A8                   .dbline 179
 01A8 81E0              ldi R24,1
 01AA 80930600          sts _powbit,R24
 01AE           L46:
 01AE                   .dbline 180
 01AE           ;       delay(1);
 01AE 01E0              ldi R16,1
 01B0 10E0              ldi R17,0
 01B2 00D0              rcall _delay
 01B4 22C0              rjmp L49
 01B6           L48:
 01B6                   .dbline 183
 01B6           ; 
 01B6           ;       while(1)
 01B6           ;       {
 01B6                   .dbline 184
 01B6           ;       WDR();  
 01B6 A895              wdr
 01B8                   .dbline 185
 01B8           ;     LED_ON;
 01B8 C09A              sbi 0x18,0
 01BA                   .dbline 186
 01BA           ;       delay(100);
 01BA 04E6              ldi R16,100
 01BC 10E0              ldi R17,0
 01BE 00D0              rcall _delay
 01C0                   .dbline 187
 01C0           ;       addr_f();
 01C0 8ADF              rcall _addr_f
 01C2                   .dbline 188
 01C2           ;       for(i=0;i<50;i++)
 01C2 4427              clr R20
 01C4 13C0              rjmp L54
 01C6           L51:
 01C6                   .dbline 189
 01C6                   .dbline 190
 01C6 20900300          lds R2,_data
 01CA 20920000          sts _dataf,R2
 01CE                   .dbline 191
 01CE 20900400          lds R2,_data+1
 01D2 20920100          sts _dataf+1,R2
 01D6                   .dbline 192
 01D6 20900500          lds R2,_data+2
 01DA 20920200          sts _dataf+2,R2
 01DE                   .dbline 193
 01DE 00E0              ldi R16,<_dataf
 01E0 10E0              ldi R17,>_dataf
 01E2 B3DF              rcall _rf
 01E4                   .dbline 194
 01E4 03E0              ldi R16,3
 01E6 10E0              ldi R17,0
 01E8 00D0              rcall _delay
 01EA                   .dbline 195
 01EA           L52:
 01EA                   .dbline 188
 01EA 4395              inc R20
 01EC           L54:
 01EC                   .dbline 188
 01EC 4233              cpi R20,50
 01EE 58F3              brlo L51
 01F0                   .dbline 196
 01F0 C298              cbi 0x18,2
 01F2                   .dbline 197
 01F2 04E6              ldi R16,100
 01F4 10E0              ldi R17,0
 01F6 00D0              rcall _delay
 01F8                   .dbline 198
 01F8 C098              cbi 0x18,0
 01FA                   .dbline 199
 01FA           L49:
 01FA                   .dbline 182
 01FA DDCF              rjmp L48
 01FC           X2:
 01FC                   .dbline -2
 01FC           L45:
 01FC                   .dbline 0 ; func end
 01FC 0895              ret
 01FE                   .dbsym r i 20 c
 01FE                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\abol\file\EMD\programme\EM-PB-2129\DOO1.c
 0000           _dataf::
 0000                   .blkb 3
 0003                   .dbsym e dataf _dataf A[3:3]c
 0003           _data::
 0003                   .blkb 3
 0006                   .dbsym e data _data A[3:3]c
 0006           _DECODER_CODE0::
 0006                   .blkb 1
 0007                   .dbsym e DECODER_CODE0 _DECODER_CODE0 c
 0007           _DECODER_CODE1::
 0007                   .blkb 1
 0008                   .dbsym e DECODER_CODE1 _DECODER_CODE1 c
 0008           _flagl::
 0008                   .blkb 1
 0009                   .dbsym e flagl _flagl c
 0009           _j::
 0009                   .blkb 1
 000A                   .dbsym e j _j c
 000A           _i::
 000A                   .blkb 1
 000B                   .dbsym e i _i c
 000B           _aa::
 000B                   .blkb 2
 000D                   .dbsym e aa _aa i
 000D           _ai::
 000D                   .blkb 2
 000F                   .dbsym e ai _ai i
 000F           _crc::
 000F                   .blkb 1
 0010                   .dbsym e crc _crc c

⌨️ 快捷键说明

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