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

📄 2.4g+̤

📁 2.4G无线模块资料
💻 4G+̤
📖 第 1 页 / 共 5 页
字号:
 0002           ; #define key1  BIT4
 0002           ; #define key2  BIT3
 0002           ; #define key3  BIT2
 0002           ; #define key4  BIT5
 0002           ; #define key5  BIT4
 0002           ; #define key6  BIT3
 0002           ; #define key7  BIT2
 0002           ; #define key8  BIT1
 0002           ; #define       bit20ms                                         BIT0
 0002           ; unsigned char flag;
 0002           ; unsigned char key1_pulse;
 0002           ; unsigned char key2_pulse;
 0002           ; unsigned char key3_pulse;
 0002           ; unsigned char key4_pulse;
 0002           ; unsigned char key5_pulse;
 0002           ; unsigned char key6_pulse;
 0002           ; unsigned char key7_pulse;
 0002           ; unsigned char key8_pulse;
 0002           ; unsigned char key1_flag;
 0002           ; unsigned char key2_flag;
 0002           ; unsigned char key3_flag;
 0002           ; unsigned char key4_flag;
 0002           ; unsigned char key5_flag;
 0002           ; unsigned char key6_flag;
 0002           ; unsigned char key7_flag;
 0002           ; unsigned char key8_flag;
 0002           ; unsigned char key8_long_flag;
 0002           ; unsigned char send_flag;
 0002           ; unsigned char key1_time;
 0002           ; unsigned char key2_time;
 0002           ; unsigned char key3_time;
 0002           ; unsigned char key4_time;
 0002           ; unsigned char key5_time;
 0002           ; unsigned char key6_time;
 0002           ; unsigned char key7_time;
 0002           ; unsigned char key8_time;
 0002           ; //-----------------------------------------------------------------------------
 0002           ; void main(void)
 0002           ; {
 0002                   .dbline 159
 0002           ;       unsigned char Get_SO=0;
 0002 4427              clr R20
 0004                   .dbline 160
 0004           ;     CLI();                   /* global interrupt disable */
 0004 F894              cli
 0006                   .dbline 161
 0006           ;     init_CPU ();
 0006 8DD0              rcall _init_CPU
 0008                   .dbline 162
 0008           ;     delayms(100);     //延时10ms*10=100ms
 0008 04E6              ldi R16,100
 000A 10E0              ldi R17,0
 000C B2D0              rcall _delayms
 000E                   .dbline 163
 000E           ;     delayms(100);     //延时10ms*10=100ms
 000E 04E6              ldi R16,100
 0010 10E0              ldi R17,0
 0012 AFD0              rcall _delayms
 0014                   .dbline 164
 0014           ;       timer0_init();
 0014 70D1              rcall _timer0_init
 0016                   .dbline 165
 0016           ;       RX_Mode();
 0016 25D1              rcall _RX_Mode
 0018                   .dbline 166
 0018           ;       SEI();
 0018 7894              sei
 001A 79C0              rjmp L3
 001C           L2:
 001C                   .dbline 168
 001C           ;       while(1)
 001C           ;       {               
 001C                   .dbline 170
 001C           ;               //      if(!(PINB& 0x01))
 001C           ;               WDR();
 001C A895              wdr
 001E                   .dbline 171
 001E           ;               if(!(PINB& nRF24L01_IRQ))
 001E 1A99              sbic 0x3,2
 0020 22C0              rjmp L5
 0022                   .dbline 172
 0022           ;               {//nRF24L01 接收数据
 0022                   .dbline 173
 0022           ;                       key_debug=SPI_Read(STATUS);                     // read register STATUS's value
 0022 07E0              ldi R16,7
 0024 DED0              rcall _SPI_Read
 0026 00931B00          sts _key_debug,R16
 002A                   .dbline 174
 002A           ;                       if(key_debug&RX_DR)                                     // if renRF24L01_CEive data ready (RX_DR) interrupt
 002A 06FF              sbrs R16,6
 002C 06C0              rjmp L7
 002E                   .dbline 175
 002E           ;                               SPI_Read_Buf(RD_RX_PLOAD,Buffer,TX_PLOAD_WIDTH);// read renRF24L01_CEive payload from RX_FIFO buffer
 002E 84E1              ldi R24,20
 0030 8883              std y+0,R24
 0032 20E0              ldi R18,<_Buffer
 0034 30E0              ldi R19,>_Buffer
 0036 01E6              ldi R16,97
 0038 E2D0              rcall _SPI_Read_Buf
 003A           L7:
 003A                   .dbline 176
 003A           ;                       if(key_debug&MAX_RT) SPI_RW_Reg(FLUSH_TX,0);
 003A 20901B00          lds R2,_key_debug
 003E 24FE              sbrs R2,4
 0040 03C0              rjmp L9
 0042                   .dbline 176
 0042 2227              clr R18
 0044 01EE              ldi R16,225
 0046 BED0              rcall _SPI_RW_Reg
 0048           L9:
 0048                   .dbline 177
 0048           ;                       SPI_RW_Reg(WRITE_REG+STATUS,0xff);// clear RX_DR or TX_DS or MAX_RT interrupt flag
 0048 2FEF              ldi R18,255
 004A 07E2              ldi R16,39
 004C BBD0              rcall _SPI_RW_Reg
 004E                   .dbline 178
 004E           ;                       RX_Mode();
 004E 09D1              rcall _RX_Mode
 0050                   .dbline 179
 0050           ;                       if((Buffer[0]==80)&&(Buffer[1]==01))//data accept
 0050 80910000          lds R24,_Buffer
 0054 8035              cpi R24,80
 0056 39F4              brne L11
 0058 80910100          lds R24,_Buffer+1
 005C 8130              cpi R24,1
 005E 19F4              brne L11
 0060                   .dbline 180
 0060           ;                       {
 0060                   .dbline 181
 0060           ;                               accept_flag=1;
 0060 81E0              ldi R24,1
 0062 80934500          sts _accept_flag,R24
 0066                   .dbline 182
 0066           ;                       }
 0066           L11:
 0066                   .dbline 183
 0066           ;               }
 0066           L5:
 0066                   .dbline 184
 0066           ;               if(send_flag==1)//data send
 0066 80914600          lds R24,_send_flag
 006A 8130              cpi R24,1
 006C 81F4              brne L14
 006E                   .dbline 185
 006E           ;               {
 006E                   .dbline 186
 006E           ;                               Buffer[0]=80;
 006E 80E5              ldi R24,80
 0070 80930000          sts _Buffer,R24
 0074                   .dbline 187
 0074           ;                               Buffer[1]=02;
 0074 82E0              ldi R24,2
 0076 80930100          sts _Buffer+1,R24
 007A                   .dbline 188
 007A           ;                               TX_Mode();                      // set TX Mode and transmitting
 007A 12D1              rcall _TX_Mode
 007C                   .dbline 189
 007C           ;                               delayms(100);
 007C 04E6              ldi R16,100
 007E 10E0              ldi R17,0
 0080 78D0              rcall _delayms
 0082                   .dbline 190
 0082           ;                               RX_Mode();
 0082 EFD0              rcall _RX_Mode
 0084                   .dbline 191
 0084           ;                               Buffer[0]=00;
 0084 2224              clr R2
 0086 20920000          sts _Buffer,R2
 008A                   .dbline 192
 008A           ;                               Buffer[1]=00;
 008A 20920100          sts _Buffer+1,R2
 008E                   .dbline 193
 008E           ;               }
 008E           L14:
 008E                   .dbline 195
 008E           ; //========================================数据一直发送
 008E           ;               if(key8_long_flag==1)//data send
 008E 80910800          lds R24,_key8_long_flag
 0092 8130              cpi R24,1
 0094 81F4              brne L18
 0096                   .dbline 196
 0096           ;               {
 0096                   .dbline 197
 0096           ;                               Buffer[0]=80;
 0096 80E5              ldi R24,80
 0098 80930000          sts _Buffer,R24
 009C                   .dbline 198
 009C           ;                               Buffer[1]=02;
 009C 82E0              ldi R24,2
 009E 80930100          sts _Buffer+1,R24
 00A2                   .dbline 199
 00A2           ;                               TX_Mode();                      // set TX Mode and transmitting
 00A2 FED0              rcall _TX_Mode
 00A4                   .dbline 200
 00A4           ;                               delayms(100);
 00A4 04E6              ldi R16,100
 00A6 10E0              ldi R17,0
 00A8 64D0              rcall _delayms
 00AA                   .dbline 201
 00AA           ;                               RX_Mode();
 00AA DBD0              rcall _RX_Mode
 00AC                   .dbline 202
 00AC           ;                               Buffer[0]=00;
 00AC 2224              clr R2
 00AE 20920000          sts _Buffer,R2
 00B2                   .dbline 203
 00B2           ;                               Buffer[1]=00;
 00B2 20920100          sts _Buffer+1,R2
 00B6                   .dbline 204
 00B6           ;               }
 00B6           L18:
 00B6                   .dbline 206
 00B6           ; //========================================数据一直发送
 00B6           ;               if(send_flag==1)
 00B6 80914600          lds R24,_send_flag
 00BA 8130              cpi R24,1
 00BC D1F4              brne L22
 00BE                   .dbline 207
 00BE           ;               {
 00BE                   .dbline 208
 00BE           ;                  accept_time++;
 00BE 80914700          lds R24,_accept_time
 00C2 90914800          lds R25,_accept_time+1
 00C6 0196              adiw R24,1
 00C8 90934800          sts _accept_time+1,R25
 00CC 80934700          sts _accept_time,R24
 00D0                   .dbline 209
 00D0           ;                  if(accept_time>30)
 00D0 8EE1              ldi R24,30
 00D2 90E0              ldi R25,0
 00D4 20904700          lds R2,_accept_time
 00D8 30904800          lds R3,_accept_time+1
 00DC 8215              cp R24,R2
 00DE 9305              cpc R25,R3
 00E0 40F4              brsh L24
 00E2                   .dbline 210
 00E2           ;                  {
 00E2                   .dbline 211
 00E2           ;                        send_flag=0;
 00E2 2224              clr R2
 00E4 20924600          sts _send_flag,R2
 00E8                   .dbline 212
 00E8           ;                        accept_time=0;
 00E8 3324              clr R3
 00EA 30924800          sts _accept_time+1,R3
 00EE 20924700          sts _accept_time,R2
 00F2                   .dbline 213
 00F2           ;                  }
 00F2           L24:
 00F2                   .dbline 214
 00F2           ;               }
 00F2           L22:
 00F2                   .dbline 215
 00F2           ;               if(accept_flag==1)
 00F2 80914500          lds R24,_accept_flag
 00F6 8130              cpi R24,1
 00F8 51F4              brne L26
 00FA                   .dbline 216
 00FA           ;               {
 00FA                   .dbline 217
 00FA           ;                   accept_flag=0;
 00FA 2224              clr R2
 00FC 20924500          sts _accept_flag,R2
 0100                   .dbline 218
 0100           ;               PORTB = 0x80;
 0100 80E8              ldi R24,128
 0102 85B9              out 0x5,R24
 0104                   .dbline 219
 0104           ;                   delayms(5000);      //延时10ms*10=100ms
 0104 08E8              ldi R16,5000
 0106 13E1              ldi R17,19
 0108 34D0              rcall _delayms
 010A                   .dbline 220
 010A           ;                   PORTB = 0x00;
 010A 2224              clr R2
 010C 25B8              out 0x5,R2
 010E                   .dbline 221
 010E           ;               }
 010E           L26:
 010E                   .dbline 222
 010E           L3:
 010E                   .dbline 167
 010E 86CF              rjmp L2
 0110           X0:
 0110                   .dbline -2
 0110           L1:
 0110 2196              adiw R28,1
 0112                   .dbline 0 ; func end
 0112 0895              ret
 0114                   .dbsym r Get_SO 20 c
 0114                   .dbend
 0114                   .dbfunc e nrf24l01init _nrf24l01init fV
                        .even
 0114           _nrf24l01init::
 0114                   .dbline -1
 0114                   .dbline 227
 0114           ;       }
 0114           ; 
 0114           ; 

⌨️ 快捷键说明

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