📄 slave.lis
字号:
00F4 .dbend
00F4 .dbfunc e RfSendProc _RfSendProc fV
00F4 ; i -> R20
.even
00F4 _RfSendProc::
00F4 0E940000 xcall push_gset1
00F8 .dbline -1
00F8 .dbline 125
00F8 ;
00F8 ;
00F8 ; //从机回送数据包,这样双方都能指示是否收到有效数据包
00F8 ; #ifndef MASTER
00F8 ; //RfSendProc();
00F8 ; #endif
00F8 ; }
00F8 ;
00F8 ; //发送测试
00F8 ; void RfSendProc()
00F8 ; {uchar i;
00F8 .dbline 126
00F8 4427 clr R20
00FA 0AC0 xjmp L23
00FC L20:
00FC .dbline 126
00FC 82E0 ldi R24,2
00FE 849F mul R24,R20
0100 80E0 ldi R24,<_TxBuf
0102 90E0 ldi R25,>_TxBuf
0104 E42F mov R30,R20
0106 FF27 clr R31
0108 E80F add R30,R24
010A F91F adc R31,R25
010C 0082 std z+0,R0
010E L21:
010E .dbline 126
010E 4395 inc R20
0110 L23:
0110 .dbline 126
0110 ; for (i=0;i<SIZE;i++) TxBuf[i]=2*i;
0110 4032 cpi R20,32
0112 A0F3 brlo L20
0114 .dbline 127
0114 ; nrf905_SendData();//发送测试数据
0114 0E940000 xcall _nrf905_SendData
0118 .dbline 128
0118 ; nrf905_RxOn();//重新回到接收状态
0118 0E940000 xcall _nrf905_RxOn
011C .dbline -2
011C L19:
011C 0E940000 xcall pop_gset1
0120 .dbline 0 ; func end
0120 0895 ret
0122 .dbsym r i 20 c
0122 .dbend
0122 .dbfunc e TimerFunc _TimerFunc fV
.even
0122 _TimerFunc::
0122 .dbline -1
0122 .dbline 132
0122 ; }
0122 ;
0122 ; void TimerFunc()
0122 ; {
0122 .dbline 133
0122 ; bTimer=0;
0122 2224 clr R2
0124 20920300 sts _bTimer,R2
0128 .dbline 136
0128 ; //WDR();//clear WDT
0128 ;
0128 ; CPL(PORTD,LED);
0128 80E8 ldi R24,128
012A 90E0 ldi R25,0
012C 22B2 in R2,0x12
012E 3324 clr R3
0130 2826 eor R2,R24
0132 3926 eor R3,R25
0134 22BA out 0x12,R2
0136 .dbline -2
0136 L24:
0136 .dbline 0 ; func end
0136 0895 ret
0138 .dbend
0138 .dbfunc e SystemIni _SystemIni fV
.even
0138 _SystemIni::
0138 .dbline -1
0138 .dbline 141
0138 ; //SPDR=66;
0138 ; }
0138 ;
0138 ; void SystemIni()
0138 ; {
0138 .dbline 142
0138 ; T0Cnt=T0N;
0138 89E1 ldi R24,25
013A 80930100 sts _T0Cnt,R24
013E .dbline 143
013E ; RfCnt=RFTN;
013E 80930000 sts _RfCnt,R24
0142 .dbline -2
0142 L25:
0142 .dbline 0 ; func end
0142 0895 ret
0144 .dbend
0144 .dbfunc e DelayMs _DelayMs fV
0144 ; i -> R20
0144 ; ms -> R22
.even
0144 _DelayMs::
0144 0E940000 xcall push_gset2
0148 602F mov R22,R16
014A .dbline -1
014A .dbline 147
014A ; }
014A ;
014A ; void DelayMs(uchar ms)
014A ; {char i;
014A .dbline 148
014A ; for (i=0;i<ms;i++)
014A 4427 clr R20
014C 04C0 xjmp L30
014E L27:
014E .dbline 149
014E .dbline 149
014E 08EE ldi R16,1000
0150 13E0 ldi R17,3
0152 06D0 xcall _DelayUs
0154 .dbline 150
0154 L28:
0154 .dbline 148
0154 4395 inc R20
0156 L30:
0156 .dbline 148
0156 4617 cp R20,R22
0158 D0F3 brlo L27
015A .dbline 151
015A ; {DelayUs(1000);
015A ; }
015A ; return;
015A .dbline -2
015A L26:
015A 0E940000 xcall pop_gset2
015E .dbline 0 ; func end
015E 0895 ret
0160 .dbsym r i 20 c
0160 .dbsym r ms 22 c
0160 .dbend
0160 .dbfunc e DelayUs _DelayUs fV
0160 ; i -> R20,R21
0160 ; us -> R16,R17
.even
0160 _DelayUs::
0160 0E940000 xcall push_gset1
0164 .dbline -1
0164 .dbline 155
0164 ; }
0164 ;
0164 ; void DelayUs(uint us)
0164 ; {uint i;
0164 .dbline 156
0164 ; for (i=0;i<us;i++)
0164 4427 clr R20
0166 5527 clr R21
0168 08C0 xjmp L35
016A L32:
016A .dbline 157
016A .dbline 157
016A 0000 nop
016C .dbline 157
016C 0000 nop
016E .dbline 157
016E 0000 nop
0170 .dbline 157
0170 0000 nop
0172 .dbline 157
0172 0000 nop
0174 .dbline 157
0174 0000 nop
0176 .dbline 158
0176 L33:
0176 .dbline 156
0176 4F5F subi R20,255 ; offset = 1
0178 5F4F sbci R21,255
017A L35:
017A .dbline 156
017A 4017 cp R20,R16
017C 5107 cpc R21,R17
017E A8F3 brlo L32
0180 .dbline -2
0180 L31:
0180 0E940000 xcall pop_gset1
0184 .dbline 0 ; func end
0184 0895 ret
0186 .dbsym r i 20 i
0186 .dbsym r us 16 i
0186 .dbend
0186 .dbfunc e main _main fV
.even
0186 _main::
0186 .dbline -1
0186 .dbline 162
0186 ; {NOP();NOP();NOP();NOP();NOP();NOP();
0186 ; }
0186 ; }
0186 ;
0186 ; void main()
0186 ; {
0186 .dbline 163
0186 ; init_devices();
0186 82DF xcall _init_devices
0188 .dbline 164
0188 ; SystemIni();
0188 D7DF xcall _SystemIni
018A .dbline 165
018A ; nrf905_Init();
018A 0E940000 xcall _nrf905_Init
018E .dbline 166
018E ; ENLCD();
018E 9198 cbi 0x12,1
0190 .dbline 167
0190 ; PutChar('W');
0190 07E5 ldi R16,87
0192 0E940000 xcall _PutChar
0196 .dbline 168
0196 ; PutChar('e');
0196 05E6 ldi R16,101
0198 0E940000 xcall _PutChar
019C .dbline 169
019C ; PutChar('l');
019C 0CE6 ldi R16,108
019E 0E940000 xcall _PutChar
01A2 .dbline 170
01A2 ; PutChar('c');
01A2 03E6 ldi R16,99
01A4 0E940000 xcall _PutChar
01A8 .dbline 171
01A8 ; PutChar('o');
01A8 0FE6 ldi R16,111
01AA 0E940000 xcall _PutChar
01AE .dbline 172
01AE ; PutChar('m');
01AE 0DE6 ldi R16,109
01B0 0E940000 xcall _PutChar
01B4 .dbline 173
01B4 ; PutChar('e');
01B4 05E6 ldi R16,101
01B6 0E940000 xcall _PutChar
01BA .dbline 174
01BA ; PutChar(' ');
01BA 00E2 ldi R16,32
01BC 0E940000 xcall _PutChar
01C0 .dbline 175
01C0 ; PutChar('t');
01C0 04E7 ldi R16,116
01C2 0E940000 xcall _PutChar
01C6 .dbline 176
01C6 ; PutChar('o');
01C6 0FE6 ldi R16,111
01C8 0E940000 xcall _PutChar
01CC .dbline 177
01CC ; PutChar(' ');
01CC 00E2 ldi R16,32
01CE 0E940000 xcall _PutChar
01D2 .dbline 178
01D2 ; PutChar('X');
01D2 08E5 ldi R16,88
01D4 0E940000 xcall _PutChar
01D8 .dbline 179
01D8 ; PutChar('G');
01D8 07E4 ldi R16,71
01DA 0E940000 xcall _PutChar
01DE .dbline 180
01DE ; PutChar('C');
01DE 03E4 ldi R16,67
01E0 0E940000 xcall _PutChar
01E4 .dbline 181
01E4 ; DelayMs(1000);
01E4 08EE ldi R16,232
01E6 AEDF xcall _DelayMs
01E8 .dbline 182
01E8 ; DelayMs(1000);
01E8 08EE ldi R16,232
01EA ACDF xcall _DelayMs
01EC .dbline 183
01EC ; DelayMs(1000);
01EC 08EE ldi R16,232
01EE AADF xcall _DelayMs
01F0 .dbline 184
01F0 ; DelayMs(1000);
01F0 08EE ldi R16,232
01F2 A8DF xcall _DelayMs
01F4 .dbline 188
01F4 ;
01F4 ;
01F4 ;
01F4 ; clear_lcd();
01F4 0E940000 xcall _clear_lcd
01F8 .dbline 191
01F8 ;
01F8 ;
01F8 ; DISLCD();
01F8 919A sbi 0x12,1
01FA 09C0 xjmp L38
01FC L37:
01FC .dbline 194
01FC ;
01FC ; while (1)
01FC ; {
01FC .dbline 197
01FC ; // if (bTimer) TimerFunc();
01FC ; #ifdef MASTER
01FC ; if (bRfSend)
01FC 20900200 lds R2,_bRfSend
0200 2220 tst R2
0202 21F0 breq L40
0204 .dbline 198
0204 ; { bRfSend=0;
0204 .dbline 198
0204 2224 clr R2
0206 20920200 sts _bRfSend,R2
020A .dbline 199
020A ; RfSendProc();//发送测试
020A 74DF xcall _RfSendProc
020C .dbline 200
020C ; }
020C L40:
020C .dbline 203
020C 4DDF xcall _RfRecvProc
020E .dbline 204
020E L38:
020E .dbline 193
020E F6CF xjmp L37
0210 X0:
0210 .dbline -2
0210 L36:
0210 .dbline 0 ; func end
0210 0895 ret
0212 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\charon\MYDOCU~1\AVR\NRF905\slave.C
0000 _RfCnt::
0000 .blkb 1
0001 .dbsym e RfCnt _RfCnt c
0001 _T0Cnt::
0001 .blkb 1
0002 .dbsym e T0Cnt _T0Cnt c
0002 _bRfSend::
0002 .blkb 1
0003 .dbsym e bRfSend _bRfSend c
0003 _bTimer::
0003 .blkb 1
0004 .dbsym e bTimer _bTimer c
0004 _key:
0004 .blkb 1
0005 .dbfile C:\DOCUME~1\charon\MYDOCU~1\AVR\NRF905/config.h
0005 .dbsym s key _key c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -