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

📄 edu.lst

📁 一个单片机的完整开发程序AVR的
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0599 53A5      SUBI	R26,0x35
    059A 4FBF      SBCI	R27,0xFF
    059B 91EC      LD	R30,0(X)
    059C 27FF      CLR	R31
    059D 0FE8      ADD	R30,R24
    059E 1FF9      ADC	R31,R25
    059F 8180      LDD	R24,Z+0
    05A0 7E8F      ANDI	R24,0xEF
    05A1 93800144  STS	_lcd_buffer+2,R24
(0425) 	lcd_buffer[10]=table[j];
    05A3 E680      LDI	R24,0x60
    05A4 E090      LDI	R25,0
    05A5 01DE      MOVW	R26,R28
    05A6 53A4      SUBI	R26,0x34
    05A7 4FBF      SBCI	R27,0xFF
    05A8 91EC      LD	R30,0(X)
    05A9 27FF      CLR	R31
    05AA 0FE8      ADD	R30,R24
    05AB 1FF9      ADC	R31,R25
    05AC 8020      LDD	R2,Z+0
    05AD 9220014C  STS	0x14C,R2
(0426) 	send_data(4,lcd_buffer[2]);
    05AF 91200144  LDS	R18,_lcd_buffer+2
    05B1 E004      LDI	R16,4
    05B2 940E0A59  CALL	_send_data
(0427) 	send_data(20,lcd_buffer[10]);
    05B4 9120014C  LDS	R18,0x14C
    05B6 E104      LDI	R16,0x14
    05B7 940E0A59  CALL	_send_data
(0428) 	send_data(24,lcd_buffer[12]);
    05B9 9120014E  LDS	R18,0x14E
    05BB E108      LDI	R16,0x18
    05BC 940E0A59  CALL	_send_data
(0429) 	  
(0430) 	 key=key_scan();
    05BE 940E0AB7  CALL	_key_scan
    05C0 01FE      MOVW	R30,R28
    05C1 53E2      SUBI	R30,0x32
    05C2 4FFF      SBCI	R31,0xFF
    05C3 8300      STD	Z+0,R16
(0431) 	 if(key==9||key==6)
    05C4 3009      CPI	R16,0x9
    05C5 F019      BEQ	0x05C9
    05C6 3006      CPI	R16,6
    05C7 F009      BEQ	0x05C9
    05C8 C0BF      RJMP	0x0688
(0432) 	 {
(0433) 	  if(key==9)
    05C9 01FE      MOVW	R30,R28
    05CA 53E2      SUBI	R30,0x32
    05CB 4FFF      SBCI	R31,0xFF
    05CC 8180      LDD	R24,Z+0
    05CD 3089      CPI	R24,0x9
    05CE F449      BNE	0x05D8
(0434) 	  ques_id++;
    05CF 01FE      MOVW	R30,R28
    05D0 53E3      SUBI	R30,0x33
    05D1 4FFF      SBCI	R31,0xFF
    05D2 8000      LDD	R0,Z+0
    05D3 9403      INC	R0
    05D4 01FE      MOVW	R30,R28
    05D5 53E3      SUBI	R30,0x33
    05D6 4FFF      SBCI	R31,0xFF
    05D7 8200      STD	Z+0,R0
(0435) 	  if(ques_id>ques_num)
    05D8 9020006C  LDS	R2,_ques_num
    05DA 01FE      MOVW	R30,R28
    05DB 53E3      SUBI	R30,0x33
    05DC 4FFF      SBCI	R31,0xFF
    05DD 8000      LDD	R0,Z+0
    05DE 1420      CP	R2,R0
    05DF F430      BCC	0x05E6
(0436) 	  ques_id=1;
    05E0 2400      CLR	R0
    05E1 9403      INC	R0
    05E2 01FE      MOVW	R30,R28
    05E3 53E3      SUBI	R30,0x33
    05E4 4FFF      SBCI	R31,0xFF
    05E5 8200      STD	Z+0,R0
(0437) 	  if(key==6)
    05E6 01FE      MOVW	R30,R28
    05E7 53E2      SUBI	R30,0x32
    05E8 4FFF      SBCI	R31,0xFF
    05E9 8180      LDD	R24,Z+0
    05EA 3086      CPI	R24,6
    05EB F449      BNE	0x05F5
(0438) 	  ques_id--;
    05EC 01FE      MOVW	R30,R28
    05ED 53E3      SUBI	R30,0x33
    05EE 4FFF      SBCI	R31,0xFF
    05EF 8000      LDD	R0,Z+0
    05F0 940A      DEC	R0
    05F1 01FE      MOVW	R30,R28
    05F2 53E3      SUBI	R30,0x33
    05F3 4FFF      SBCI	R31,0xFF
    05F4 8200      STD	Z+0,R0
(0439) 	  if(ques_id<1)
    05F5 01FE      MOVW	R30,R28
    05F6 53E3      SUBI	R30,0x33
    05F7 4FFF      SBCI	R31,0xFF
    05F8 8180      LDD	R24,Z+0
    05F9 3081      CPI	R24,1
    05FA F430      BCC	0x0601
(0440) 	  ques_id=ques_num;
    05FB 9020006C  LDS	R2,_ques_num
    05FD 01FE      MOVW	R30,R28
    05FE 53E3      SUBI	R30,0x33
    05FF 4FFF      SBCI	R31,0xFF
    0600 8220      STD	Z+0,R2
(0441) 	  
(0442) 	  //ques_id
(0443) 	  if(ques[ques_id-1]&0x01)
    0601 ED8A      LDI	R24,0xDA
    0602 E090      LDI	R25,0
    0603 01DE      MOVW	R26,R28
    0604 53A3      SUBI	R26,0x33
    0605 4FBF      SBCI	R27,0xFF
    0606 91EC      LD	R30,0(X)
    0607 27FF      CLR	R31
    0608 0FE8      ADD	R30,R24
    0609 1FF9      ADC	R31,R25
    060A 8020      LDD	R2,Z+0
    060B FE20      SBRS	R2,0
    060C C006      RJMP	0x0613
(0444) 	    lcd_buffer[9]|=0x02;
    060D 9180014B  LDS	R24,0x14B
    060F 6082      ORI	R24,2
    0610 9380014B  STS	0x14B,R24
    0612 C005      RJMP	0x0618
(0445) 	  else
(0446) 	  	lcd_buffer[9]&=0xfd;	
    0613 9180014B  LDS	R24,0x14B
    0615 7F8D      ANDI	R24,0xFD
    0616 9380014B  STS	0x14B,R24
(0447) 	  if(ques[ques_id-1]&0x02)
    0618 ED8A      LDI	R24,0xDA
    0619 E090      LDI	R25,0
    061A 01DE      MOVW	R26,R28
    061B 53A3      SUBI	R26,0x33
    061C 4FBF      SBCI	R27,0xFF
    061D 91EC      LD	R30,0(X)
    061E 27FF      CLR	R31
    061F 0FE8      ADD	R30,R24
    0620 1FF9      ADC	R31,R25
    0621 8020      LDD	R2,Z+0
    0622 FE21      SBRS	R2,1
    0623 C006      RJMP	0x062A
(0448) 		lcd_buffer[1]|=0x02;
    0624 91800143  LDS	R24,_lcd_buffer+1
    0626 6082      ORI	R24,2
    0627 93800143  STS	_lcd_buffer+1,R24
    0629 C005      RJMP	0x062F
(0449) 	  else
(0450) 	  	lcd_buffer[1]&=0xfd;
    062A 91800143  LDS	R24,_lcd_buffer+1
    062C 7F8D      ANDI	R24,0xFD
    062D 93800143  STS	_lcd_buffer+1,R24
(0451) 	  if(ques[ques_id-1]&0x04)
    062F ED8A      LDI	R24,0xDA
    0630 E090      LDI	R25,0
    0631 01DE      MOVW	R26,R28
    0632 53A3      SUBI	R26,0x33
    0633 4FBF      SBCI	R27,0xFF
    0634 91EC      LD	R30,0(X)
    0635 27FF      CLR	R31
    0636 0FE8      ADD	R30,R24
    0637 1FF9      ADC	R31,R25
    0638 8020      LDD	R2,Z+0
    0639 FE22      SBRS	R2,2
    063A C006      RJMP	0x0641
(0452) 		lcd_buffer[12]|=0x20;
    063B 9180014E  LDS	R24,0x14E
    063D 6280      ORI	R24,0x20
    063E 9380014E  STS	0x14E,R24
    0640 C005      RJMP	0x0646
(0453) 	  else
(0454) 	  	lcd_buffer[12]&=0xdf;
    0641 9180014E  LDS	R24,0x14E
    0643 7D8F      ANDI	R24,0xDF
    0644 9380014E  STS	0x14E,R24
(0455) 	  if(ques[ques_id-1]&0x08)
    0646 ED8A      LDI	R24,0xDA
    0647 E090      LDI	R25,0
    0648 01DE      MOVW	R26,R28
    0649 53A3      SUBI	R26,0x33
    064A 4FBF      SBCI	R27,0xFF
    064B 91EC      LD	R30,0(X)
    064C 27FF      CLR	R31
    064D 0FE8      ADD	R30,R24
    064E 1FF9      ADC	R31,R25
    064F 8020      LDD	R2,Z+0
    0650 FE23      SBRS	R2,3
    0651 C006      RJMP	0x0658
(0456) 		lcd_buffer[12]|=0x02;
    0652 9180014E  LDS	R24,0x14E
    0654 6082      ORI	R24,2
    0655 9380014E  STS	0x14E,R24
    0657 C005      RJMP	0x065D
(0457) 	  else
(0458) 	  	lcd_buffer[12]&=0xfd;	
    0658 9180014E  LDS	R24,0x14E
    065A 7F8D      ANDI	R24,0xFD
    065B 9380014E  STS	0x14E,R24
(0459) 	  if(ques[ques_id-1]&0x10)
    065D ED8A      LDI	R24,0xDA
    065E E090      LDI	R25,0
    065F 01DE      MOVW	R26,R28
    0660 53A3      SUBI	R26,0x33
    0661 4FBF      SBCI	R27,0xFF
    0662 91EC      LD	R30,0(X)
    0663 27FF      CLR	R31
    0664 0FE8      ADD	R30,R24
    0665 1FF9      ADC	R31,R25
    0666 8020      LDD	R2,Z+0
    0667 FE24      SBRS	R2,4
    0668 C006      RJMP	0x066F
(0460) 		lcd_buffer[4]|=0x20;
    0669 91800146  LDS	R24,0x146
    066B 6280      ORI	R24,0x20
    066C 93800146  STS	0x146,R24
    066E C005      RJMP	0x0674
(0461)       else
(0462) 	  	lcd_buffer[4]&=0xdf;
    066F 91800146  LDS	R24,0x146
    0671 7D8F      ANDI	R24,0xDF
    0672 93800146  STS	0x146,R24
(0463) 	  
(0464) 	  send_data(2,lcd_buffer[1]);
    0674 91200143  LDS	R18,_lcd_buffer+1
    0676 E002      LDI	R16,2
    0677 940E0A59  CALL	_send_data
(0465) 	  send_data(8,lcd_buffer[4]);
    0679 91200146  LDS	R18,0x146
    067B E008      LDI	R16,0x8
    067C 940E0A59  CALL	_send_data
(0466) 	  send_data(18,lcd_buffer[9]);
    067E 9120014B  LDS	R18,0x14B
    0680 E102      LDI	R16,0x12
    0681 940E0A59  CALL	_send_data
(0467) 	  send_data(24,lcd_buffer[12]);
    0683 9120014E  LDS	R18,0x14E
    0685 E108      LDI	R16,0x18
    0686 940E0A59  CALL	_send_data
(0468) 	  //send_data(14,lcd_buffer[7]);
(0469) 	 // send_data(30,lcd_buffer[15]);
(0470) 	 }
(0471) 	 
(0472)   	 if((key==1||key==4||key==5||key==7||key==8)&&(key_flag==1))
    0688 01FE      MOVW	R30,R28
    0689 53E2      SUBI	R30,0x32
    068A 4FFF      SBCI	R31,0xFF
    068B 8180      LDD	R24,Z+0
    068C 3081      CPI	R24,1
    068D F049      BEQ	0x0697
    068E 3084      CPI	R24,4
    068F F039      BEQ	0x0697
    0690 3085      CPI	R24,5
    0691 F029      BEQ	0x0697
    0692 3087      CPI	R24,7
    0693 F019      BEQ	0x0697
    0694 3088      CPI	R24,0x8
    0695 F009      BEQ	0x0697
    0696 C190      RJMP	0x0827
    0697 01FE      MOVW	R30,R28
    0698 52ED      SUBI	R30,0x2D
    0699 4FFF      SBCI	R31,0xFF
    069A 8180      LDD	R24,Z+0
    069B 3081      CPI	R24,1
    069C F009      BEQ	0x069E
    069D C189      RJMP	0x0827
(0473)   	 { 
(0474)       if(ques[ques_id-1]&0x01)
    069E ED8A      LDI	R24,0xDA
    069F E090      LDI	R25,0
    06A0 01DE      MOVW	R26,R28
    06A1 53A3      SUBI	R26,0x33
    06A2 4FBF      SBCI	R27,0xFF
    06A3 91EC      LD	R30,0(X)
    06A4 27FF      CLR	R31
    06A5 0FE8      ADD	R30,R24
    06A6 1FF9      ADC	R31,R25
    06A7 8020      LDD	R2,Z+0
    06A8 FE20      SBRS	R2,0
    06A9 C007      RJMP	0x06B1
(0475) 	    keya_flag=1;
    06AA 2400      CLR	R0
    06AB 9403      INC	R0
    06AC 01FE      MOVW	R30,R28
    06AD 52EB      SUBI	R30,0x2B
    06AE 4FFF      SBCI	R31,0xFF
    06AF 8200      STD	Z+0,R0
    06B0 C005      RJMP	0x06B6
(0476) 	  else
(0477) 	  	keya_flag=0;	
    06B1 2400      CLR	R0
    06B2 01FE      MOVW	R30,R28
    06B3 52EB      SUBI	R30,0x2B
    06B4 4FFF      SBCI	R31,0xFF
    06B5 8200      STD	Z+0,R0
(0478) 	  if(ques[ques_id-1]&0x02)
    06B6 ED8A      LDI	R24,0xDA
    06B7 E090      LDI	R25,0
    06B8 01DE      MOVW	R26,R28
    06B9 53A3      SUBI	R26,0x33
    06BA 4FBF      SBCI	R27,0xFF
    06BB 91EC      LD	R30,0(X)
    06BC 27FF      CLR	R31
    06BD 0FE8      ADD	R30,R24
    06BE 1FF9      ADC	R31,R25
    06BF 8020      LDD	R2,Z+0
    06C0 FE21      SBRS	R2,1
    06C1 C007      RJMP	0x06C9
(0479) 		keyb_flag=1;
    06C2 2400      CLR	R0
    06C3 9403      INC	R0
    06C4 01FE      MOVW	R30,R28
    06C5 52EA      SUBI	R30,0x2A
    06C6 4FFF      SBCI	R31,0xFF
    06C7 8200      STD	Z+0,R0
    06C8 C005      RJMP	0x06CE
(0480) 	  else
(0481) 	  	keyb_flag=0;	
    06C9 2400      CLR	R0
    06CA 01FE      MOVW	R30,R28
    06CB 52EA      SUBI	R30,0x2A
    06CC 4FFF      SBCI	R31,0xFF
    06CD 8200      STD	Z+0,R0
(0482) 	  if(ques[ques_id-1]&0x04)
    06CE ED8A      LDI	R24,0xDA
    06CF E090      LDI	R25,0
    06D0 01DE      MOVW	R26,R28
    06D1 53A3      SUBI	R26,0x33
    06D2 4FBF      SBCI	R27,0xFF
    06D3 91EC      LD	R30,0(X)
    06D4 27FF      CLR	R31
    06D5 0FE8      ADD	R30,R24
    06D6 1FF9      ADC	R31,R25
    06D7 8020      LDD	R2,Z+0
    06D8 FE22      SBRS	R2,2
    06D9 C007      RJMP	0x06E1
(0483) 		keyc_flag=1;
    06DA 2400      CLR	R0
    06DB 9403      INC	R0
    06DC 01FE      MOVW	R30,R28
    06DD 52EE      SUBI	R30,0x2E
    06DE 4FFF      SBCI	R31,0xFF
    06DF 8200      STD	Z+0,R0
    06E0 C005      RJMP	0x06E6
(0484) 	  else
(0485) 	  	keyc_flag=0;
    06E1 2400      CLR	R0
    06E2 01FE      MOVW	R30,R28
    06E3 52EE      SUBI	R30,0x2E
    06E4 4FFF      SBCI	R31,0xFF
    06E5 8200      STD	Z+0,R0
(0486) 	  if(ques[ques_id-1]&0x08)
    06E6 ED8A      LDI	R24,0xDA
    06E7 E090      LDI	R25,0
    06E8 01DE      MOVW	R26,R28
    06E9 53A3      SUBI	R26,0x33
    06EA 4FBF      SBCI	R27,0xFF
    06EB 91EC      LD	R30,0(X)
    06EC 27FF      CLR	R31
    06ED 0FE8      ADD	R30,R24
    06EE 1FF9      ADC	R31,R25
    06EF 8020      LDD	R2,Z+0
    06F0 FE23      SBRS	R2,3
    06F1 C007      RJMP	0x06F9
(0487) 		keyd_flag=1;
    06F2 2400      CLR	R0
    06F3 9403      INC	R0
    06F4 01FE      MOVW	R30,R28
    06F5 52E9      SUBI	R30,0x29
    06F6 4FFF      SBCI	R31,0xFF
    06F7 8200      STD	Z+0,R0
    06F8 C005      RJMP	0x06FE
(0488) 	  else
(0489) 	  	keyd_flag=0;	
    06F9 2400      CLR	R0
    06FA 01FE      MOVW	R30,R28
    06FB 52E9      SUBI	R30,0x29
    06FC 4FFF      SBCI	R31,0xFF
    06FD 8200      STD	Z+0,R0
(0490) 	  if(ques[ques_id-1]&0x10)
    06FE ED8A      LDI	R24,0xDA
    06FF E090      LDI	R25,0
    0700 01DE      MOVW	R26,R28
    0701 53A3      SUBI	R26,0x33
    0702 4FBF      SBCI	R27,0xFF
    0703 91EC      LD	R30,0(X)
    0704 27FF      CLR	R31
    0705 0FE8      ADD	R30,R24
    0706 1FF9      ADC	R31,R25
    0707 8020      LDD	R2,Z+0
    0708 FE24      SBRS	R2,4
    0709 C007      RJMP	0x0711
(0491) 		keye_flag=1;
    070A 2400      CLR	R0
    070B 9403      INC	R0
    070C 01FE      MOVW	R30,R28
    070D 52E8      SUBI	R30,0x28
    070E 4FFF      SBCI	R31,0xFF
    070F 8200      STD	Z+0,R0
    0710 C005      RJMP	0x0716
(0492) 	  else
(0493) 	  	keye_flag=0;
    0711 2400      CLR	R0
    0712 01FE      MOVW	R30,R28
    0713 52E8      SUBI	R30,0x28
    0714 4FFF      SBCI	R31,0xFF
    0715 8200      STD	Z+0,R0
(0494) 			
(0495) 	 switch(key)
    0716 01FE      MOVW	R30,R28
    0717 53E2      SUBI	R30,0x32
    0718 4FFF      SBCI	R31,0xFF
    0719 8020      LDD	R2,Z+0
    071A 2433      CLR	R3
    071B 01FE      MOVW	R30,R28
    071C 53E8      SUBI	R30,0x38
    071D 4FFF      SBCI	R31,0xFF
    071E 8231      STD	Z+1,R3
    071F 8220      STD	Z+0,R2
    0720 01C1      MOVW	R24,

⌨️ 快捷键说明

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