📄 main.lis
字号:
0212 7A93 st -y,R23
0214 6A93 st -y,R22
0216 5A93 st -y,R21
0218 4A93 st -y,R20
021A 00D0 rcall mod32u
021C 1801 movw R2,R16
021E 2901 movw R4,R18
0220 40E3 ldi R20,48
0222 50E0 ldi R21,0
0224 60E0 ldi R22,0
0226 70E0 ldi R23,0
0228 240E add R2,R20
022A 351E adc R3,R21
022C 461E adc R4,R22
022E 571E adc R5,R23
0230 8101 movw R16,R2
0232 9201 movw R18,R4
0234 00D0 rcall _lcd_write_data
0236 .dbline 35
0236 ; lcd_write_data((temp/100)%10+0x30);
0236 44E6 ldi R20,100
0238 50E0 ldi R21,0
023A 60E0 ldi R22,0
023C 70E0 ldi R23,0
023E FE01 movw R30,R28
0240 2080 ldd R2,z+0
0242 3180 ldd R3,z+1
0244 4280 ldd R4,z+2
0246 5380 ldd R5,z+3
0248 7A93 st -y,R23
024A 6A93 st -y,R22
024C 5A93 st -y,R21
024E 4A93 st -y,R20
0250 8101 movw R16,R2
0252 9201 movw R18,R4
0254 00D0 rcall div32u
0256 4AE0 ldi R20,10
0258 50E0 ldi R21,0
025A 60E0 ldi R22,0
025C 70E0 ldi R23,0
025E 7A93 st -y,R23
0260 6A93 st -y,R22
0262 5A93 st -y,R21
0264 4A93 st -y,R20
0266 00D0 rcall mod32u
0268 1801 movw R2,R16
026A 2901 movw R4,R18
026C 40E3 ldi R20,48
026E 50E0 ldi R21,0
0270 60E0 ldi R22,0
0272 70E0 ldi R23,0
0274 240E add R2,R20
0276 351E adc R3,R21
0278 461E adc R4,R22
027A 571E adc R5,R23
027C 8101 movw R16,R2
027E 9201 movw R18,R4
0280 00D0 rcall _lcd_write_data
0282 .dbline 36
0282 ; lcd_write_data((temp/10)%10+0x30);
0282 4AE0 ldi R20,10
0284 50E0 ldi R21,0
0286 60E0 ldi R22,0
0288 70E0 ldi R23,0
028A FE01 movw R30,R28
028C 2080 ldd R2,z+0
028E 3180 ldd R3,z+1
0290 4280 ldd R4,z+2
0292 5380 ldd R5,z+3
0294 7A93 st -y,R23
0296 6A93 st -y,R22
0298 5A93 st -y,R21
029A 4A93 st -y,R20
029C 8101 movw R16,R2
029E 9201 movw R18,R4
02A0 00D0 rcall div32u
02A2 4AE0 ldi R20,10
02A4 50E0 ldi R21,0
02A6 60E0 ldi R22,0
02A8 70E0 ldi R23,0
02AA 7A93 st -y,R23
02AC 6A93 st -y,R22
02AE 5A93 st -y,R21
02B0 4A93 st -y,R20
02B2 00D0 rcall mod32u
02B4 1801 movw R2,R16
02B6 2901 movw R4,R18
02B8 40E3 ldi R20,48
02BA 50E0 ldi R21,0
02BC 60E0 ldi R22,0
02BE 70E0 ldi R23,0
02C0 240E add R2,R20
02C2 351E adc R3,R21
02C4 461E adc R4,R22
02C6 571E adc R5,R23
02C8 8101 movw R16,R2
02CA 9201 movw R18,R4
02CC 00D0 rcall _lcd_write_data
02CE .dbline 37
02CE ; lcd_write_data(temp%10+0x30);
02CE 4AE0 ldi R20,10
02D0 50E0 ldi R21,0
02D2 60E0 ldi R22,0
02D4 70E0 ldi R23,0
02D6 FE01 movw R30,R28
02D8 2080 ldd R2,z+0
02DA 3180 ldd R3,z+1
02DC 4280 ldd R4,z+2
02DE 5380 ldd R5,z+3
02E0 7A93 st -y,R23
02E2 6A93 st -y,R22
02E4 5A93 st -y,R21
02E6 4A93 st -y,R20
02E8 8101 movw R16,R2
02EA 9201 movw R18,R4
02EC 00D0 rcall mod32u
02EE 1801 movw R2,R16
02F0 2901 movw R4,R18
02F2 40E3 ldi R20,48
02F4 50E0 ldi R21,0
02F6 60E0 ldi R22,0
02F8 70E0 ldi R23,0
02FA 240E add R2,R20
02FC 351E adc R3,R21
02FE 461E adc R4,R22
0300 571E adc R5,R23
0302 8101 movw R16,R2
0304 9201 movw R18,R4
0306 00D0 rcall _lcd_write_data
0308 .dbline -2
0308 L2:
0308 6096 adiw R28,16
030A 00D0 rcall pop_gset3
030C .dbline 0 ; func end
030C 0895 ret
030E .dbsym l wendu 4 D
030E .dbsym l temp 0 l
030E .dbsym r address 10 c
030E .dbend
030E .dbfunc e main _main fV
030E ; detect -> <dead>
030E ; kk -> R22
030E ; KeyValue -> R10
.even
030E _main::
030E 2297 sbiw R28,2
0310 .dbline -1
0310 .dbline 41
0310 ; }
0310 ;
0310 ; void main(void)
0310 ; { unsigned char KeyValue,kk,detect;
0310 .dbline 42
0310 ; CLI(); //disable all interrupts
0310 F894 cli
0312 .dbline 44
0312 ;
0312 ; spi_init();
0312 76DE rcall _spi_init
0314 .dbline 47
0314 ;
0314 ;
0314 ; DDRB=0x6f; //0110 1111b
0314 8FE6 ldi R24,111
0316 87BB out 0x17,R24
0318 .dbline 48
0318 ; PORTB=0xd4; //1101 0100b
0318 84ED ldi R24,212
031A 88BB out 0x18,R24
031C .dbline 51
031C ; //SET(PORTB,CSN);
031C ;
031C ; DDRC=0x00;
031C 2224 clr R2
031E 24BA out 0x14,R2
0320 .dbline 52
0320 ; PORTC=0x00;
0320 25BA out 0x15,R2
0322 .dbline 54
0322 ;
0322 ; DDRD=0xf8; //1111 1000b
0322 88EF ldi R24,248
0324 81BB out 0x11,R24
0326 .dbline 55
0326 ; PORTD=0xfc; //1111 1100b
0326 8CEF ldi R24,252
0328 82BB out 0x12,R24
032A .dbline 57
032A ;
032A ; timer0_init();
032A 00D0 rcall _timer0_init
032C .dbline 59
032C ;
032C ; MCUCR = 0x02;
032C 82E0 ldi R24,2
032E 85BF out 0x35,R24
0330 .dbline 60
0330 ; GICR = 0x40;
0330 80E4 ldi R24,64
0332 8BBF out 0x3b,R24
0334 .dbline 61
0334 ; TIMSK = 0x01; //timer interrupt sources
0334 81E0 ldi R24,1
0336 89BF out 0x39,R24
0338 .dbline 72
0338 ;
0338 ;
0338 ; // DDRD=0xff;
0338 ; // PORTD=0xf8;
0338 ;
0338 ; // MCUCR = 0x02;
0338 ; // GICR = 0x40;
0338 ; //TIMSK = 0x00; //timer interrupt sources
0338 ;
0338 ; // nrf905_Init();
0338 ; SEI(); //re-enable interrupts
0338 7894 sei
033A .dbline 73
033A ; screen(hz0);
033A 00E0 ldi R16,<_hz0
033C 10E0 ldi R17,>_hz0
033E 00D0 rcall _screen
0340 D7C0 rjmp L10
0342 L9:
0342 .dbline 76
0342 ;
0342 ; while(1)
0342 ; {
0342 .dbline 83
0342 ;
0342 ; // nrf905_RxOn();
0342 ; // detect=RfRecvProc();
0342 ;
0342 ; // lcd_write_comm(0x9f);
0342 ; // lcd_write_data(detect);
0342 ; displayint(0x8a,value_T);
0342 20910200 lds R18,_value_T
0346 3327 clr R19
0348 0AE8 ldi R16,138
034A 10E0 ldi R17,0
034C 00D0 rcall _displayint
034E .dbline 84
034E ; displayint(0x8c,times);
034E 20914100 lds R18,_times
0352 3327 clr R19
0354 0CE8 ldi R16,140
0356 10E0 ldi R17,0
0358 00D0 rcall _displayint
035A .dbline 85
035A ; print_temp(0x90);
035A 00E9 ldi R16,144
035C 54DE rcall _print_temp
035E .dbline 89
035E ; //if(detect=='Y')
035E ; //{detect=='N'; }
035E ;
035E ; if(KeyFlag==1)
035E 80910300 lds R24,_KeyFlag
0362 8130 cpi R24,1
0364 29F4 brne L12
0366 .dbline 90
0366 ; {
0366 .dbline 91
0366 ; KeyValue=KeyV;
0366 A0900400 lds R10,_KeyV
036A .dbline 92
036A ; KeyFlag=0;
036A 2224 clr R2
036C 20920300 sts _KeyFlag,R2
0370 .dbline 93
0370 ; }
0370 L12:
0370 .dbline 94
0370 ; switch(KeyValue) //此时相当按一次键处理两次程序
0370 4A2D mov R20,R10
0372 5527 clr R21
0374 4936 cpi R20,105
0376 E0E0 ldi R30,0
0378 5E07 cpc R21,R30
037A 09F4 brne X2
037C 4AC0 rjmp L18
037E X2:
037E 4B36 cpi R20,107
0380 E0E0 ldi R30,0
0382 5E07 cpc R21,R30
0384 09F4 brne X3
0386 5FC0 rjmp L21
0388 X3:
0388 4C36 cpi R20,108
038A E0E0 ldi R30,0
038C 5E07 cpc R21,R30
038E 09F4 brne X4
0390 74C0 rjmp L24
0392 X4:
0392 4037 cpi R20,112
0394 E0E0 ldi R30,0
0396 5E07 cpc R21,R30
0398 51F1 breq L17
039A 4237 cpi R20,114
039C E0E0 ldi R30,0
039E 5E07 cpc R21,R30
03A0 09F4 brne X5
03A2 3FC0 rjmp L19
03A4 X5:
03A4 4337 cpi R20,115
03A6 E0E0 ldi R30,0
03A8 5E07 cpc R21,R30
03AA 09F4 brne X6
03AC 54C0 rjmp L22
03AE X6:
03AE 4437 cpi R20,116
03B0 E0E0 ldi R30,0
03B2 5E07 cpc R21,R30
03B4 09F4 brne X7
03B6 58C0 rjmp L23
03B8 X7:
03B8 4537 cpi R20,117
03BA E0E0 ldi R30,0
03BC 5E07 cpc R21,R30
03BE 09F4 brne X8
03C0 6DC0 rjmp L25
03C2 X8:
03C2 4A37 cpi R20,122
03C4 E0E0 ldi R30,0
03C6 5E07 cpc R21,R30
03C8 09F4 brne X9
03CA 33C0 rjmp L20
03CC X9:
03CC 8AE7 ldi R24,122
03CE 90E0 ldi R25,0
03D0 8417 cp R24,R20
03D2 9507 cpc R25,R21
03D4 34F0 brlt L31
03D6 L30:
03D6 4A35 cpi R20,90
03D8 E0E0 ldi R30,0
03DA 5E07 cpc R21,R30
03DC 09F4 brne X10
03DE 80C0 rjmp L29
03E0 X10:
03E0 87C0 rjmp L15
03E2 L31:
03E2 4D37 cpi R20,125
03E4 E0E0 ldi R30,0
03E6 5E07 cpc R21,R30
03E8 09F4 brne X11
03EA 69C0 rjmp L27
03EC X11:
03EC 81C0 rjmp L15
03EE X0:
03EE .dbline 95
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -