📄 main.lss
字号:
204: f1 f7 brne .-4 ; 0x202
206: 21 50 subi r18, 0x01 ; 1
208: 30 40 sbci r19, 0x00 ; 0
20a: c9 f7 brne .-14 ; 0x1fe
20c: 08 95 ret
0000020e <set5767>:
_delay_loop_2(250);
}
void set5767(void)
{
uchar i = 0;
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // SEND START SIGNAL
20e: 84 ea ldi r24, 0xA4 ; 164
210: 86 bf out 0x36, r24 ; 54
while (!(TWCR & (1<<TWINT))); // WAIT FOR START SIG
212: 06 b6 in r0, 0x36 ; 54
214: 07 fe sbrs r0, 7
216: fd cf rjmp .-6 ; 0x212
//if ((TWSR & 0xF8) != START) ERROR();
TWDR = SLA_W; // send address
218: 80 ec ldi r24, 0xC0 ; 192
21a: 83 b9 out 0x03, r24 ; 3
TWCR = (1<<TWINT) | (1<<TWEN);
21c: 84 e8 ldi r24, 0x84 ; 132
21e: 86 bf out 0x36, r24 ; 54
while (!(TWCR & (1<<TWINT)));
220: 06 b6 in r0, 0x36 ; 54
222: 07 fe sbrs r0, 7
224: fd cf rjmp .-6 ; 0x220
//if ((TWSR & 0xF8) !=MT_SLA_ACK) ERROR();
for ( i = 0; i < 5; i++ )
226: 90 e0 ldi r25, 0x00 ; 0
228: 24 e8 ldi r18, 0x84 ; 132
{
TWDR = senddata[i];
22a: e9 2f mov r30, r25
22c: ff 27 eor r31, r31
22e: e6 51 subi r30, 0x16 ; 22
230: fd 4f sbci r31, 0xFD ; 253
232: 80 81 ld r24, Z
234: 83 b9 out 0x03, r24 ; 3
TWCR = (1<<TWINT) | (1<<TWEN); // send data
236: 26 bf out 0x36, r18 ; 54
while (!(TWCR & (1<<TWINT)));
238: 06 b6 in r0, 0x36 ; 54
23a: 07 fe sbrs r0, 7
23c: fd cf rjmp .-6 ; 0x238
23e: 9f 5f subi r25, 0xFF ; 255
240: 95 30 cpi r25, 0x05 ; 5
242: 98 f3 brcs .-26 ; 0x22a
// if ((TWSR & 0xF8) != MT_DATA_ACK) ERROR();
}
TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //SEND STOP SIGNAL
244: 84 e9 ldi r24, 0x94 ; 148
246: 86 bf out 0x36, r24 ; 54
248: 08 95 ret
0000024a <read5767>:
//LCD_write_english_string(60,3,"sOK");
}
void read5767(void)
{
uchar i = 0;
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // SEND START SIGNAL
24a: 84 ea ldi r24, 0xA4 ; 164
24c: 86 bf out 0x36, r24 ; 54
while (!(TWCR & (1<<TWINT))); // WAIT FOR START SIG
24e: 06 b6 in r0, 0x36 ; 54
250: 07 fe sbrs r0, 7
252: fd cf rjmp .-6 ; 0x24e
//if ((TWSR & 0xF8) != START) ERROR();
TWDR = SLA_R; // send address
254: 81 ec ldi r24, 0xC1 ; 193
256: 83 b9 out 0x03, r24 ; 3
TWCR = (1<<TWINT) | (1<<TWEN);
258: 84 e8 ldi r24, 0x84 ; 132
25a: 86 bf out 0x36, r24 ; 54
while (!(TWCR & (1<<TWINT)));
25c: 06 b6 in r0, 0x36 ; 54
25e: 07 fe sbrs r0, 7
260: fd cf rjmp .-6 ; 0x25c
//if ((TWSR & 0xF8) !=MT_SLA_ACK) ERROR();
//TWCR = (1<<TWINT) | (1<<TWEN);
for ( i = 0; i < 5; i++ )
262: 90 e0 ldi r25, 0x00 ; 0
264: 24 e8 ldi r18, 0x84 ; 132
{
TWCR = (1<<TWINT) | (1<<TWEN); // read data
266: 26 bf out 0x36, r18 ; 54
while (!(TWCR & (1<<TWINT)));
268: 06 b6 in r0, 0x36 ; 54
26a: 07 fe sbrs r0, 7
26c: fd cf rjmp .-6 ; 0x268
readdata[i] = TWDR ;
26e: e9 2f mov r30, r25
270: ff 27 eor r31, r31
272: e1 51 subi r30, 0x11 ; 17
274: fd 4f sbci r31, 0xFD ; 253
276: 83 b1 in r24, 0x03 ; 3
278: 80 83 st Z, r24
27a: 9f 5f subi r25, 0xFF ; 255
27c: 95 30 cpi r25, 0x05 ; 5
27e: 98 f3 brcs .-26 ; 0x266
// if ((TWSR & 0xF8) != MT_DATA_ACK) ERROR();
}
TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //SEND STOP SIGNAL
280: 84 e9 ldi r24, 0x94 ; 148
282: 86 bf out 0x36, r24 ; 54
284: 08 95 ret
00000286 <show_frequency>:
//LCD_write_english_string(10,3,"rOK");
}
void show_frequency(void)
{
286: ef 92 push r14
288: ff 92 push r15
28a: 0f 93 push r16
28c: 1f 93 push r17
28e: cf 93 push r28
290: df 93 push r29
292: cd b7 in r28, 0x3d ; 61
294: de b7 in r29, 0x3e ; 62
296: 25 97 sbiw r28, 0x05 ; 5
298: 0f b6 in r0, 0x3f ; 63
29a: f8 94 cli
29c: de bf out 0x3e, r29 ; 62
29e: 0f be out 0x3f, r0 ; 63
2a0: cd bf out 0x3d, r28 ; 61
uint32_t nPLL =0; //Dec
uint32_t frequency = 0; //Khz
uchar display_bit[5];
uchar tbTmp1=readdata[1];
2a2: 20 91 f0 02 lds r18, 0x02F0
uchar tbTmp2=readdata[0];
2a6: 80 91 ef 02 lds r24, 0x02EF
tbTmp2&=0x3f;
2aa: 8f 73 andi r24, 0x3F ; 63
nPLL=tbTmp2*256+tbTmp1;
2ac: 99 27 eor r25, r25
2ae: 98 2f mov r25, r24
2b0: 88 27 eor r24, r24
2b2: 82 0f add r24, r18
2b4: 91 1d adc r25, r1
2b6: 9c 01 movw r18, r24
2b8: 44 27 eor r20, r20
2ba: 37 fd sbrc r19, 7
2bc: 40 95 com r20
2be: 54 2f mov r21, r20
// calculate searched station frequency
if(senddata[2]&0x10)
2c0: 80 91 ec 02 lds r24, 0x02EC
2c4: 84 ff sbrs r24, 4
2c6: 17 c0 rjmp .+46 ; 0x2f6
frequency =(unsigned long)(nPLL*82/10-225);
2c8: ca 01 movw r24, r20
2ca: b9 01 movw r22, r18
2cc: 22 e5 ldi r18, 0x52 ; 82
2ce: 30 e0 ldi r19, 0x00 ; 0
2d0: 40 e0 ldi r20, 0x00 ; 0
2d2: 50 e0 ldi r21, 0x00 ; 0
2d4: 75 d1 rcall .+746 ; 0x5c0
2d6: dc 01 movw r26, r24
2d8: cb 01 movw r24, r22
2da: bc 01 movw r22, r24
2dc: cd 01 movw r24, r26
2de: 2a e0 ldi r18, 0x0A ; 10
2e0: 30 e0 ldi r19, 0x00 ; 0
2e2: 40 e0 ldi r20, 0x00 ; 0
2e4: 50 e0 ldi r21, 0x00 ; 0
2e6: 97 d1 rcall .+814 ; 0x616
2e8: 79 01 movw r14, r18
2ea: 8a 01 movw r16, r20
2ec: 8f e1 ldi r24, 0x1F ; 31
2ee: 9f ef ldi r25, 0xFF ; 255
2f0: af ef ldi r26, 0xFF ; 255
2f2: bf ef ldi r27, 0xFF ; 255
2f4: 16 c0 rjmp .+44 ; 0x322
else
frequency =(unsigned long)(nPLL*82/10+225);
2f6: ca 01 movw r24, r20
2f8: b9 01 movw r22, r18
2fa: 22 e5 ldi r18, 0x52 ; 82
2fc: 30 e0 ldi r19, 0x00 ; 0
2fe: 40 e0 ldi r20, 0x00 ; 0
300: 50 e0 ldi r21, 0x00 ; 0
302: 5e d1 rcall .+700 ; 0x5c0
304: dc 01 movw r26, r24
306: cb 01 movw r24, r22
308: bc 01 movw r22, r24
30a: cd 01 movw r24, r26
30c: 2a e0 ldi r18, 0x0A ; 10
30e: 30 e0 ldi r19, 0x00 ; 0
310: 40 e0 ldi r20, 0x00 ; 0
312: 50 e0 ldi r21, 0x00 ; 0
314: 80 d1 rcall .+768 ; 0x616
316: 79 01 movw r14, r18
318: 8a 01 movw r16, r20
31a: 81 ee ldi r24, 0xE1 ; 225
31c: 90 e0 ldi r25, 0x00 ; 0
31e: a0 e0 ldi r26, 0x00 ; 0
320: b0 e0 ldi r27, 0x00 ; 0
322: e8 0e add r14, r24
324: f9 1e adc r15, r25
326: 0a 1f adc r16, r26
328: 1b 1f adc r17, r27
display_bit[0] = frequency / 100000 ;
32a: c8 01 movw r24, r16
32c: b7 01 movw r22, r14
32e: 20 ea ldi r18, 0xA0 ; 160
330: 36 e8 ldi r19, 0x86 ; 134
332: 41 e0 ldi r20, 0x01 ; 1
334: 50 e0 ldi r21, 0x00 ; 0
336: 6f d1 rcall .+734 ; 0x616
338: da 01 movw r26, r20
33a: c9 01 movw r24, r18
33c: 29 83 std Y+1, r18 ; 0x01
if ( display_bit[0] == 0 ) display_bit[0] = 0x20;
33e: 88 23 and r24, r24
340: 19 f4 brne .+6 ; 0x348
342: 80 e2 ldi r24, 0x20 ; 32
344: 89 83 std Y+1, r24 ; 0x01
346: 02 c0 rjmp .+4 ; 0x34c
else display_bit[0] += 0x30;
348: 20 5d subi r18, 0xD0 ; 208
34a: 29 83 std Y+1, r18 ; 0x01
display_bit[1] = (frequency / 10000)%10 +0x30;
34c: c8 01 movw r24, r16
34e: b7 01 movw r22, r14
350: 20 e1 ldi r18, 0x10 ; 16
352: 37 e2 ldi r19, 0x27 ; 39
354: 40 e0 ldi r20, 0x00 ; 0
356: 50 e0 ldi r21, 0x00 ; 0
358: 5e d1 rcall .+700 ; 0x616
35a: ca 01 movw r24, r20
35c: b9 01 movw r22, r18
35e: 2a e0 ldi r18, 0x0A ; 10
360: 30 e0 ldi r19, 0x00 ; 0
362: 40 e0 ldi r20, 0x00 ; 0
364: 50 e0 ldi r21, 0x00 ; 0
366: 57 d1 rcall .+686 ; 0x616
368: dc 01 movw r26, r24
36a: cb 01 movw r24, r22
36c: 80 5d subi r24, 0xD0 ; 208
36e: 8a 83 std Y+2, r24 ; 0x02
display_bit[2] = (frequency / 1000)%10 +0x30;
370: c8 01 movw r24, r16
372: b7 01 movw r22, r14
374: 28 ee ldi r18, 0xE8 ; 232
376: 33 e0 ldi r19, 0x03 ; 3
378: 40 e0 ldi r20, 0x00 ; 0
37a: 50 e0 ldi r21, 0x00 ; 0
37c: 4c d1 rcall .+664 ; 0x616
37e: ca 01 movw r24, r20
380: b9 01 movw r22, r18
382: 2a e0 ldi r18, 0x0A ; 10
384: 30 e0 ldi r19, 0x00 ; 0
386: 40 e0 ldi r20, 0x00 ; 0
388: 50 e0 ldi r21, 0x00 ; 0
38a: 45 d1 rcall .+650 ; 0x616
38c: dc 01 movw r26, r24
38e: cb 01 movw r24, r22
390: 80 5d subi r24, 0xD0 ; 208
392: 8b 83 std Y+3, r24 ; 0x03
display_bit[3] = (frequency / 100)%10 +0x30;
394: c8 01 movw r24, r16
396: b7 01 movw r22, r14
398: 24 e6 ldi r18, 0x64 ; 100
39a: 30 e0 ldi r19, 0x00 ; 0
39c: 40 e0 ldi r20, 0x00 ; 0
39e: 50 e0 ldi r21, 0x00 ; 0
3a0: 3a d1 rcall .+628 ; 0x616
3a2: ca 01 movw r24, r20
3a4: b9 01 movw r22, r18
3a6: 2a e0 ldi r18, 0x0A ; 10
3a8: 30 e0 ldi r19, 0x00 ; 0
3aa: 40 e0 ldi r20, 0x00 ; 0
3ac: 50 e0 ldi r21, 0x00 ; 0
3ae: 33 d1 rcall .+614 ; 0x616
3b0: dc 01 movw r26, r24
3b2: cb 01 movw r24, r22
3b4: 80 5d subi r24, 0xD0 ; 208
3b6: 8c 83 std Y+4, r24 ; 0x04
display_bit[4] = (frequency / 10)%10 +0x30;
3b8: c8 01 movw r24, r16
3ba: b7 01 movw r22, r14
3bc: 2a e0 ldi r18, 0x0A ; 10
3be: 30 e0 ldi r19, 0x00 ; 0
3c0: 40 e0 ldi r20, 0x00 ; 0
3c2: 50 e0 ldi r21, 0x00 ; 0
3c4: 28 d1 rcall .+592 ; 0x616
3c6: ca 01 movw r24, r20
3c8: b9 01 movw r22, r18
3ca: 2a e0 ldi r18, 0x0A ; 10
3cc: 30 e0 ldi r19, 0x00 ; 0
3ce: 40 e0 ldi r20, 0x00 ; 0
3d0: 50 e0 ldi r21, 0x00 ; 0
3d2: 21 d1 rcall .+578 ; 0x616
3d4: dc 01 movw r26, r24
3d6: cb 01 movw r24, r22
3d8: 80 5d subi r24, 0xD0 ; 208
3da: 8d 83 std Y+5, r24 ; 0x05
LCD_write_english_string(0,2," " );
3dc: 48 e8 ldi r20, 0x88 ; 136
3de: 52 e0 ldi r21, 0x02 ; 2
3e0: 62 e0 ldi r22, 0x02 ; 2
3e2: 80 e0 ldi r24, 0x00 ; 0
3e4: e3 de rcall .-570 ; 0x1ac
LCD_write_char(display_bit[0]);
3e6: 89 81 ldd r24, Y+1 ; 0x01
3e8: 9e de rcall .-708 ; 0x126
LCD_write_char(display_bit[1]);
3ea: 8a 81 ldd r24, Y+2 ; 0x02
3ec: 9c de rcall .-712 ; 0x126
LCD_write_char(display_bit[2]);
3ee: 8b 81 ldd r24, Y+3 ; 0x03
3f0: 9a de rcall .-716 ; 0x126
LCD_write_english_string(25,2,"." );
3f2: 4a e8 ldi r20, 0x8A ; 138
3f4: 52 e0 ldi r21, 0x02 ; 2
3f6: 62 e0 ldi r22, 0x02 ; 2
3f8: 89 e1 ldi r24, 0x19 ; 25
3fa: d8 de rcall .-592 ; 0x1ac
LCD_write_char(display_bit[3]);
3fc: 8c 81 ldd r24, Y+4 ; 0x04
3fe: 93 de rcall .-730 ; 0x126
LCD_write_char(display_bit[4]);
400: 8d 81 ldd r24, Y+5 ; 0x05
402: 91 de rcall .-734 ; 0x126
LCD_write_english_string(43,2," MHz" );
404: 4c e8 ldi r20, 0x8C ; 140
406: 52 e0 ldi r21, 0x02 ; 2
408: 62 e0 ldi r22, 0x02 ; 2
40a: 8b e2 ldi r24, 0x2B ; 43
40c: cf de rcall .-610 ; 0x1ac
40e: 25 96 adiw r28, 0x05 ; 5
410: 0f b6 in r0, 0x3f ; 63
412: f8 94 cli
414: de bf out 0x3e, r29 ; 62
416: 0f be out 0x3f, r0 ; 63
418: cd bf out 0x3d, r28 ; 61
41a: df 91 pop r29
41c: cf 91 pop r28
41e: 1f 91 pop r17
420: 0f 91 pop r16
422: ff 90 pop r15
424: ef 90 pop r14
426: 08 95 ret
00000428 <show_rx_power>:
}
void show_rx_power(void)
{
428: 0f 93 push r16
42a: 1f 93 push r17
uchar temp;
temp = (readdata[3]>>4);
42c: 00 91 f2 02 lds r16, 0x02F2
430: 02 95 swap r16
432: 0f 70 andi r16, 0x0F ; 15
LCD_write_english_string(60,0," ");
434: 48 e8 ldi r20, 0x88 ; 136
436: 52 e0 ldi r21, 0x02 ; 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -