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

📄 test_1602.lst

📁 atmega32 +1602显示+ key控制 + ad转化电路都在一起测试通过
💻 LST
📖 第 1 页 / 共 5 页
字号:
    02BF 940E055D  CALL	fp2int
    02C1 E02A      LDI	R18,0xA
    02C2 E030      LDI	R19,0
    02C3 940E04D1  CALL	mod16s
    02C5 8308      STD	Y+0,R16
    02C6 2722      CLR	R18
    02C7 E006      LDI	R16,6
    02C8 DE11      RCALL	_LCD_write_num
(0140)   LCD_write_char(7,0,'V');
    02C9 E586      LDI	R24,0x56
    02CA 8388      STD	Y+0,R24
    02CB 2722      CLR	R18
    02CC E007      LDI	R16,7
    02CD DDFA      RCALL	_LCD_write_char
(0141)  
(0142)   }
    02CE C15C      RJMP	0x042B
(0143)   else if( disp_num2<1&&disp_num2>=0.1)
    02CF 90400074  LDS	R4,disp_num2+2
    02D1 90500075  LDS	R5,disp_num2+3
    02D3 90200072  LDS	R2,disp_num2
    02D5 90300073  LDS	R3,disp_num2+1
    02D7 925A      ST	R5,-Y
    02D8 924A      ST	R4,-Y
    02D9 923A      ST	R3,-Y
    02DA 922A      ST	R2,-Y
    02DB E608      LDI	R16,0x68
    02DC E010      LDI	R17,0
    02DD 940E0549  CALL	lpm32
    02DF 933A      ST	R19,-Y
    02E0 932A      ST	R18,-Y
    02E1 931A      ST	R17,-Y
    02E2 930A      ST	R16,-Y
    02E3 940E06BD  CALL	cmp32f
    02E5 F00C      BLT	0x02E7
    02E6 C0B0      RJMP	0x0397
    02E7 90400074  LDS	R4,disp_num2+2
    02E9 90500075  LDS	R5,disp_num2+3
    02EB 90200072  LDS	R2,disp_num2
    02ED 90300073  LDS	R3,disp_num2+1
    02EF 925A      ST	R5,-Y
    02F0 924A      ST	R4,-Y
    02F1 923A      ST	R3,-Y
    02F2 922A      ST	R2,-Y
    02F3 E508      LDI	R16,0x58
    02F4 E010      LDI	R17,0
    02F5 940E0549  CALL	lpm32
    02F7 933A      ST	R19,-Y
    02F8 932A      ST	R18,-Y
    02F9 931A      ST	R17,-Y
    02FA 930A      ST	R16,-Y
    02FB 940E06BD  CALL	cmp32f
    02FD F40C      BGE	0x02FF
    02FE C098      RJMP	0x0397
(0144)   {
(0145)   LCD_write_char(1,0,'U');
    02FF E585      LDI	R24,0x55
    0300 8388      STD	Y+0,R24
    0301 2722      CLR	R18
    0302 E001      LDI	R16,1
    0303 DDC4      RCALL	_LCD_write_char
(0146)   LCD_write_char(2,0,'=');
    0304 E38D      LDI	R24,0x3D
    0305 8388      STD	Y+0,R24
    0306 2722      CLR	R18
    0307 E002      LDI	R16,2
    0308 DDBF      RCALL	_LCD_write_char
(0147)   LCD_write_num(3,0,0);
    0309 2422      CLR	R2
    030A 8228      STD	Y+0,R2
    030B 2722      CLR	R18
    030C E003      LDI	R16,3
    030D DDCC      RCALL	_LCD_write_num
(0148)   LCD_write_char(4,0,'.');
    030E E28E      LDI	R24,0x2E
    030F 8388      STD	Y+0,R24
    0310 2722      CLR	R18
    0311 E004      LDI	R16,4
    0312 DDB5      RCALL	_LCD_write_char
(0149)   LCD_write_num(5,0,(disp_num2*100)/10);
    0313 E604      LDI	R16,0x64
    0314 E010      LDI	R17,0
    0315 940E0549  CALL	lpm32
    0317 933A      ST	R19,-Y
    0318 932A      ST	R18,-Y
    0319 931A      ST	R17,-Y
    031A 930A      ST	R16,-Y
    031B 90400074  LDS	R4,disp_num2+2
    031D 90500075  LDS	R5,disp_num2+3
    031F 90200072  LDS	R2,disp_num2
    0321 90300073  LDS	R3,disp_num2+1
    0323 925A      ST	R5,-Y
    0324 924A      ST	R4,-Y
    0325 923A      ST	R3,-Y
    0326 922A      ST	R2,-Y
    0327 940E06EE  CALL	empy32fs
    0329 E50C      LDI	R16,0x5C
    032A E010      LDI	R17,0
    032B 940E0549  CALL	lpm32
    032D 933A      ST	R19,-Y
    032E 932A      ST	R18,-Y
    032F 931A      ST	R17,-Y
    0330 930A      ST	R16,-Y
    0331 940E0663  CALL	div32f
    0333 01FE      MOVW	R30,R28
    0334 8301      STD	Z+1,R16
    0335 8312      STD	Z+2,R17
    0336 8323      STD	Z+3,R18
    0337 8334      STD	Z+4,R19
    0338 01FE      MOVW	R30,R28
    0339 8021      LDD	R2,Z+1
    033A 8032      LDD	R3,Z+2
    033B 8043      LDD	R4,Z+3
    033C 8054      LDD	R5,Z+4
    033D 925A      ST	R5,-Y
    033E 924A      ST	R4,-Y
    033F 923A      ST	R3,-Y
    0340 922A      ST	R2,-Y
    0341 E600      LDI	R16,0x60
    0342 E010      LDI	R17,0
    0343 940E0549  CALL	lpm32
    0345 933A      ST	R19,-Y
    0346 932A      ST	R18,-Y
    0347 931A      ST	R17,-Y
    0348 930A      ST	R16,-Y
    0349 940E06BD  CALL	cmp32f
    034B F0CC      BLT	0x0365
    034C 01FE      MOVW	R30,R28
    034D 8021      LDD	R2,Z+1
    034E 8032      LDD	R3,Z+2
    034F 8043      LDD	R4,Z+3
    0350 8054      LDD	R5,Z+4
    0351 925A      ST	R5,-Y
    0352 924A      ST	R4,-Y
    0353 923A      ST	R3,-Y
    0354 922A      ST	R2,-Y
    0355 E600      LDI	R16,0x60
    0356 E010      LDI	R17,0
    0357 940E0549  CALL	lpm32
    0359 933A      ST	R19,-Y
    035A 932A      ST	R18,-Y
    035B 931A      ST	R17,-Y
    035C 930A      ST	R16,-Y
    035D 940E060A  CALL	sub32f
    035F 940E055D  CALL	fp2int
    0361 01A8      MOVW	R20,R16
    0362 5040      SUBI	R20,0
    0363 4850      SBCI	R21,0x80
    0364 C008      RJMP	0x036D
    0365 01FE      MOVW	R30,R28
    0366 8101      LDD	R16,Z+1
    0367 8112      LDD	R17,Z+2
    0368 8123      LDD	R18,Z+3
    0369 8134      LDD	R19,Z+4
    036A 940E055D  CALL	fp2int
    036C 01A8      MOVW	R20,R16
    036D 8348      STD	Y+0,R20
    036E 2722      CLR	R18
    036F E005      LDI	R16,5
    0370 DD69      RCALL	_LCD_write_num
(0150)   LCD_write_num(6,0,(int)(disp_num2*100)%10);
    0371 E604      LDI	R16,0x64
    0372 E010      LDI	R17,0
    0373 940E0549  CALL	lpm32
    0375 933A      ST	R19,-Y
    0376 932A      ST	R18,-Y
    0377 931A      ST	R17,-Y
    0378 930A      ST	R16,-Y
    0379 90400074  LDS	R4,disp_num2+2
    037B 90500075  LDS	R5,disp_num2+3
    037D 90200072  LDS	R2,disp_num2
    037F 90300073  LDS	R3,disp_num2+1
    0381 925A      ST	R5,-Y
    0382 924A      ST	R4,-Y
    0383 923A      ST	R3,-Y
    0384 922A      ST	R2,-Y
    0385 940E06F1  CALL	empy32f
    0387 940E055D  CALL	fp2int
    0389 E02A      LDI	R18,0xA
    038A E030      LDI	R19,0
    038B 940E04D1  CALL	mod16s
    038D 8308      STD	Y+0,R16
    038E 2722      CLR	R18
    038F E006      LDI	R16,6
    0390 DD49      RCALL	_LCD_write_num
(0151)   LCD_write_char(7,0,'V');
    0391 E586      LDI	R24,0x56
    0392 8388      STD	Y+0,R24
    0393 2722      CLR	R18
    0394 E007      LDI	R16,7
    0395 DD32      RCALL	_LCD_write_char
(0152)   }
    0396 C094      RJMP	0x042B
(0153)   else if( disp_num2<0.1)
    0397 90400074  LDS	R4,disp_num2+2
    0399 90500075  LDS	R5,disp_num2+3
    039B 90200072  LDS	R2,disp_num2
    039D 90300073  LDS	R3,disp_num2+1
    039F 925A      ST	R5,-Y
    03A0 924A      ST	R4,-Y
    03A1 923A      ST	R3,-Y
    03A2 922A      ST	R2,-Y
    03A3 E508      LDI	R16,0x58
    03A4 E010      LDI	R17,0
    03A5 940E0549  CALL	lpm32
    03A7 933A      ST	R19,-Y
    03A8 932A      ST	R18,-Y
    03A9 931A      ST	R17,-Y
    03AA 930A      ST	R16,-Y
    03AB 940E06BD  CALL	cmp32f
    03AD F00C      BLT	0x03AF
    03AE C07C      RJMP	0x042B
(0154)   {
(0155)   LCD_write_char(1,0,'U');
    03AF E585      LDI	R24,0x55
    03B0 8388      STD	Y+0,R24
    03B1 2722      CLR	R18
    03B2 E001      LDI	R16,1
    03B3 DD14      RCALL	_LCD_write_char
(0156)   LCD_write_char(2,0,'=');
    03B4 E38D      LDI	R24,0x3D
    03B5 8388      STD	Y+0,R24
    03B6 2722      CLR	R18
    03B7 E002      LDI	R16,2
    03B8 DD0F      RCALL	_LCD_write_char
(0157)   LCD_write_num(3,0,0);
    03B9 2422      CLR	R2
    03BA 8228      STD	Y+0,R2
    03BB 2722      CLR	R18
    03BC E003      LDI	R16,3
    03BD DD1C      RCALL	_LCD_write_num
(0158)   LCD_write_char(4,0,'.');
    03BE E28E      LDI	R24,0x2E
    03BF 8388      STD	Y+0,R24
    03C0 2722      CLR	R18
    03C1 E004      LDI	R16,4
    03C2 DD05      RCALL	_LCD_write_char
(0159)   LCD_write_num(5,0,0);
    03C3 2422      CLR	R2
    03C4 8228      STD	Y+0,R2
    03C5 2722      CLR	R18
    03C6 E005      LDI	R16,5
    03C7 DD12      RCALL	_LCD_write_num
(0160)   LCD_write_num(6,0,(disp_num2*100)/10);
    03C8 E604      LDI	R16,0x64
    03C9 E010      LDI	R17,0
    03CA 940E0549  CALL	lpm32
    03CC 933A      ST	R19,-Y
    03CD 932A      ST	R18,-Y
    03CE 931A      ST	R17,-Y
    03CF 930A      ST	R16,-Y
    03D0 90400074  LDS	R4,disp_num2+2
    03D2 90500075  LDS	R5,disp_num2+3
    03D4 90200072  LDS	R2,disp_num2
    03D6 90300073  LDS	R3,disp_num2+1
    03D8 925A      ST	R5,-Y
    03D9 924A      ST	R4,-Y
    03DA 923A      ST	R3,-Y
    03DB 922A      ST	R2,-Y
    03DC 940E06EE  CALL	empy32fs
    03DE E50C      LDI	R16,0x5C
    03DF E010      LDI	R17,0
    03E0 940E0549  CALL	lpm32
    03E2 933A      ST	R19,-Y
    03E3 932A      ST	R18,-Y
    03E4 931A      ST	R17,-Y
    03E5 930A      ST	R16,-Y
    03E6 940E0663  CALL	div32f
    03E8 01FE      MOVW	R30,R28
    03E9 8301      STD	Z+1,R16
    03EA 8312      STD	Z+2,R17
    03EB 8323      STD	Z+3,R18
    03EC 8334      STD	Z+4,R19
    03ED 01FE      MOVW	R30,R28
    03EE 8021      LDD	R2,Z+1
    03EF 8032      LDD	R3,Z+2
    03F0 8043      LDD	R4,Z+3
    03F1 8054      LDD	R5,Z+4
    03F2 925A      ST	R5,-Y
    03F3 924A      ST	R4,-Y
    03F4 923A      ST	R3,-Y
    03F5 922A      ST	R2,-Y
    03F6 E600      LDI	R16,0x60
    03F7 E010      LDI	R17,0
    03F8 940E0549  CALL	lpm32
    03FA 933A      ST	R19,-Y
    03FB 932A      ST	R18,-Y
    03FC 931A      ST	R17,-Y
    03FD 930A      ST	R16,-Y
    03FE 940E06BD  CALL	cmp32f
    0400 F0CC      BLT	0x041A
    0401 01FE      MOVW	R30,R28
    0402 8021      LDD	R2,Z+1
    0403 8032      LDD	R3,Z+2
    0404 8043      LDD	R4,Z+3
    0405 8054      LDD	R5,Z+4
    0406 925A      ST	R5,-Y
    0407 924A      ST	R4,-Y
    0408 923A      ST	R3,-Y
    0409 922A      ST	R2,-Y
    040A E600      LDI	R16,0x60
    040B E010      LDI	R17,0
    040C 940E0549  CALL	lpm32
    040E 933A      ST	R19,-Y
    040F 932A      ST	R18,-Y
    0410 931A      ST	R17,-Y
    0411 930A      ST	R16,-Y
    0412 940E060A  CALL	sub32f
    0414 940E055D  CALL	fp2int
    0416 01A8      MOVW	R20,R16
    0417 5040      SUBI	R20,0
    0418 4850      SBCI	R21,0x80
    0419 C008      RJMP	0x0422
    041A 01FE      MOVW	R30,R28
    041B 8101      LDD	R16,Z+1
    041C 8112      LDD	R17,Z+2
    041D 8123      LDD	R18,Z+3
    041E 8134      LDD	R19,Z+4
    041F 940E055D  CALL	fp2int
    0421 01A8      MOVW	R20,R16
    0422 8348      STD	Y+0,R20
    0423 2722      CLR	R18
    0424 E006      LDI	R16,6
    0425 DCB4      RCALL	_LCD_write_num
(0161)   LCD_write_char(7,0,'V');
    0426 E586      LDI	R24,0x56
    0427 8388      STD	Y+0,R24
    0428 2722      CLR	R18
    0429 E007      LDI	R16,7
    042A DC9D      RCALL	_LCD_write_char
(0162)  } 
    042B 9625      ADIW	R28,5
    042C 940E052C  CALL	pop_gset1
    042E 9508      RET
_main:
  p                    --> Y+3
  i                    --> Y+3
  time_s               --> R20
    042F 9722      SBIW	R28,2
(0163)  }
(0164) void main(void) {
(0165)  unsigned char i;
(0166)  unsigned char *p;
(0167)  int time_s;
(0168)  PORTB = 0xFF;    /*电平设置*/
    0430 EF8F      LDI	R24,0xFF
    0431 BB88      OUT	0x18,R24
(0169)  DDRB = 0xFF;    /*方向输出*/
    0432 BB87      OUT	0x17,R24
(0170)  
(0171)  PORTA = 0xFF;
    0433 BB8B      OUT	0x1B,R24
(0172)  DDRA = 0xFF;
    0434 BB8A      OUT	0x1A,R24
(0173)  delay_ms(100);
    0435 E604      LDI	R16,0x64
    0436 E010      LDI	R17,0
    0437 DC3C      RCALL	_delay_ms
(0174)  
(0175)  LCD_init();
    0438 DCB4      RCALL	_LCD_init
(0176)  
(0177) 
(0178) time_s=0;
    0439 2744      CLR	R20
    043A 2755      CLR	R21
(0179) 
(0180)   delay_ms(500);
    043B EF04      LDI	R16,0xF4
    043C E011      LDI	R17,1
    043D DC36      RCALL	_delay_ms
(0181) LCD_clear();	
    043E DC67      RCALL	_LCD_clear
    043F C089      RJMP	0x04C9
(0182) 	while (1) {
(0183) 	 key=get_key();
    0440 DD62      RCALL	_get_key
    0441 2E20      MOV	R2,R16
    0442 2433      CLR	R3
    0443 92300079  STS	key+1,R3
    0445 92200078  STS	key,R2
(0184) 	
(0185) 
(0186) switch(key)
    0447 01C1      MOVW	R24,R2
    0448 3081      CPI	R24,1
    0449 E0E0      LDI	R30,0
    044A 079E      CPC	R25,R30
    044B F149      BEQ	0x0475
    044C 3082      CPI	R24,2
    044D E0E0      LDI	R30,0
    044E 079E      CPC	R25,R30
    044F F409      BNE	0x0451
    0450 C055      RJMP	0x04A6
    0451 3083      CPI	R24,3
    0452 E0E0      LDI	R30,0
    0453 079E      CPC	R25,R30
    0454 F409      BNE	0x0456
    0455 C05F      RJMP	0x04B5
    0456 3084      CPI	R24,4
    0457 E0E0      LDI	R30,0
    0458 079E      CPC	R25,R30
    0459 F409      BNE	0x045B
    045A C05D      RJMP	0x04B8
    045B 3085      CPI	R24,5
    045C E0E0      LDI	R30,0
    045D 079E      CPC	R25,R30
    045E F409      BNE	0x0460
    045F C05B      RJMP	0x04BB
    0460 3086      CPI	R24,6
    0461 E0E0      LDI	R30,0
    0462 079E      CPC	R25,R30
    0463 F409      BNE	0x0465
    0464 C059      RJMP	0x04BE
    0465 3087      CPI	R24,7
    0466 E0E0      LDI	R30,0
    0467 079E      CPC	R25,R30
    0468 F409      BNE	0x046A
    0469 C057      RJMP	0x04C1
    046A 3088      CPI	R24,0x8
    046B E0E0      LDI	R30,0
    046C 079E      CPC	R25,R30
    046D F409      BNE	0x046F
    046E C055      RJMP	0x04C4
    046F 3089      CPI	R24,0x9
    0470 E0E0      LDI	R30,0

⌨️ 快捷键说明

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