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

📄 lcd_icc.lst

📁 用AVR及1602LCD在PROTEUS环境下仿真
💻 LST
📖 第 1 页 / 共 4 页
字号:
(0350)  {
(0351)   switch(time_set)//判断是哪个位要改变数值;
    0466 91400068  LDS	R20,time_set
    0468 2755      CLR	R21
    0469 3041      CPI	R20,1
    046A E0E0      LDI	R30,0
    046B 075E      CPC	R21,R30
    046C F0C1      BEQ	0x0485
    046D 3042      CPI	R20,2
    046E E0E0      LDI	R30,0
    046F 075E      CPC	R21,R30
    0470 F101      BEQ	0x0491
    0471 3043      CPI	R20,3
    0472 E0E0      LDI	R30,0
    0473 075E      CPC	R21,R30
    0474 F141      BEQ	0x049D
    0475 3044      CPI	R20,4
    0476 E0E0      LDI	R30,0
    0477 075E      CPC	R21,R30
    0478 F409      BNE	0x047A
    0479 C02F      RJMP	0x04A9
    047A 3045      CPI	R20,5
    047B E0E0      LDI	R30,0
    047C 075E      CPC	R21,R30
    047D F409      BNE	0x047F
    047E C102      RJMP	0x0581
    047F 3046      CPI	R20,6
    0480 E0E0      LDI	R30,0
    0481 075E      CPC	R21,R30
    0482 F409      BNE	0x0484
    0483 C108      RJMP	0x058C
    0484 C112      RJMP	0x0597
(0352)   {
(0353)    case 1: 
(0354)    {
(0355)     sec++;
    0485 91800060  LDS	R24,sec
    0487 5F8F      SUBI	R24,0xFF
    0488 93800060  STS	sec,R24
(0356)     if(sec==60)
    048A 338C      CPI	R24,0x3C
    048B F009      BEQ	0x048D
    048C C10A      RJMP	0x0597
(0357) 	{
(0358) 	 sec=0;
    048D 2422      CLR	R2
    048E 92200060  STS	sec,R2
(0359) 	}
(0360) 	break;//一定要用 break跳出;
    0490 C106      RJMP	0x0597
(0361)    }
(0362)    case 2:
(0363)    {
(0364)     min++;
    0491 91800061  LDS	R24,min
    0493 5F8F      SUBI	R24,0xFF
    0494 93800061  STS	min,R24
(0365)     if(min==60)            //超过60分,清0
    0496 338C      CPI	R24,0x3C
    0497 F009      BEQ	0x0499
    0498 C0FE      RJMP	0x0597
(0366)     {
(0367)      min=0;       
    0499 2422      CLR	R2
    049A 92200061  STS	min,R2
(0368)     }
(0369) 	break;
    049C C0FA      RJMP	0x0597
(0370)    }
(0371)    case 3:
(0372)    {
(0373)     hou++;
    049D 91800062  LDS	R24,hou
    049F 5F8F      SUBI	R24,0xFF
    04A0 93800062  STS	hou,R24
(0374) 	if(hou==24)
    04A2 3188      CPI	R24,0x18
    04A3 F009      BEQ	0x04A5
    04A4 C0F2      RJMP	0x0597
(0375) 	{
(0376) 	 hou=0;
    04A5 2422      CLR	R2
    04A6 92200062  STS	hou,R2
(0377) 	}
(0378) 	break;
    04A8 C0EE      RJMP	0x0597
(0379)    }
(0380)    case 4:
(0381)    {
(0382)     day++;
    04A9 91800066  LDS	R24,day
    04AB 5F8F      SUBI	R24,0xFF
    04AC 93800066  STS	day,R24
(0383) 	if(((year%4==0)&&(year%100!=0))||(year%400==0))  	 //判断是否为闰年 1为闰年        
    04AE 91800063  LDS	R24,year
    04B0 91900064  LDS	R25,year+1
    04B2 7083      ANDI	R24,3
    04B3 7090      ANDI	R25,0
    04B4 3080      CPI	R24,0
    04B5 0789      CPC	R24,R25
    04B6 F459      BNE	0x04C2
    04B7 E624      LDI	R18,0x64
    04B8 E030      LDI	R19,0
    04B9 91000063  LDS	R16,year
    04BB 91100064  LDS	R17,year+1
    04BD 940E05A0  CALL	mod16u
    04BF 3000      CPI	R16,0
    04C0 0701      CPC	R16,R17
    04C1 F461      BNE	0x04CE
    04C2 E920      LDI	R18,0x90
    04C3 E031      LDI	R19,1
    04C4 91000063  LDS	R16,year
    04C6 91100064  LDS	R17,year+1
    04C8 940E05A0  CALL	mod16u
    04CA 3000      CPI	R16,0
    04CB 0701      CPC	R16,R17
    04CC F009      BEQ	0x04CE
    04CD C05B      RJMP	0x0529
(0384)     {
(0385)      if((month==2)&&(day==30))//闰年2月份是29天
    04CE 91800065  LDS	R24,month
    04D0 3082      CPI	R24,2
    04D1 F441      BNE	0x04DA
    04D2 91800066  LDS	R24,day
    04D4 318E      CPI	R24,0x1E
    04D5 F421      BNE	0x04DA
(0386) 	 {
(0387) 	 //month++;
(0388) 	  day=0;	 	 
    04D6 2422      CLR	R2
    04D7 92200066  STS	day,R2
(0389) 	 }
    04D9 C0BD      RJMP	0x0597
(0390) 	 else if((month<=7)&&(month%2==0)&&(day==31))//其他月份小于等于7月份的偶数月份是30天
    04DA E087      LDI	R24,7
    04DB 90200065  LDS	R2,month
    04DD 1582      CP	R24,R2
    04DE F070      BCS	0x04ED
    04DF E012      LDI	R17,2
    04E0 2D02      MOV	R16,R2
    04E1 940E05BC  CALL	mod8u
    04E3 2300      TST	R16
    04E4 F441      BNE	0x04ED
    04E5 91800066  LDS	R24,day
    04E7 318F      CPI	R24,0x1F
    04E8 F421      BNE	0x04ED
(0391) 	 {
(0392) 	 //month++;
(0393) 	  day=0;	  
    04E9 2422      CLR	R2
    04EA 92200066  STS	day,R2
(0394) 	 }
    04EC C0AA      RJMP	0x0597
(0395) 	 else if((month<=7)&&(month%2!=0)&&(day==32))//奇数是31天;
    04ED E087      LDI	R24,7
    04EE 90200065  LDS	R2,month
    04F0 1582      CP	R24,R2
    04F1 F070      BCS	0x0500
    04F2 E012      LDI	R17,2
    04F3 2D02      MOV	R16,R2
    04F4 940E05BC  CALL	mod8u
    04F6 2300      TST	R16
    04F7 F041      BEQ	0x0500
    04F8 91800066  LDS	R24,day
    04FA 3280      CPI	R24,0x20
    04FB F421      BNE	0x0500
(0396) 	 {
(0397) 	 //month++;
(0398) 	  day=0;
    04FC 2422      CLR	R2
    04FD 92200066  STS	day,R2
(0399) 	 }
    04FF C097      RJMP	0x0597
(0400) 	 else if((month>7)&&(month%2==0)&&(day==32))//大于7月份的偶数月份是31天
    0500 E087      LDI	R24,7
    0501 90200065  LDS	R2,month
    0503 1582      CP	R24,R2
    0504 F470      BCC	0x0513
    0505 E012      LDI	R17,2
    0506 2D02      MOV	R16,R2
    0507 940E05BC  CALL	mod8u
    0509 2300      TST	R16
    050A F441      BNE	0x0513
    050B 91800066  LDS	R24,day
    050D 3280      CPI	R24,0x20
    050E F421      BNE	0x0513
(0401) 	 {
(0402) 	 //month++;
(0403) 	  day=0;	  
    050F 2422      CLR	R2
    0510 92200066  STS	day,R2
(0404) 	 }
    0512 C084      RJMP	0x0597
(0405) 	 else if((month>7)&&(month%2!=0)&&(day==31))//奇数是30天;
    0513 E087      LDI	R24,7
    0514 90200065  LDS	R2,month
    0516 1582      CP	R24,R2
    0517 F008      BCS	0x0519
    0518 C07E      RJMP	0x0597
    0519 E012      LDI	R17,2
    051A 2D02      MOV	R16,R2
    051B 940E05BC  CALL	mod8u
    051D 2300      TST	R16
    051E F409      BNE	0x0520
    051F C077      RJMP	0x0597
    0520 91800066  LDS	R24,day
    0522 318F      CPI	R24,0x1F
    0523 F009      BEQ	0x0525
    0524 C072      RJMP	0x0597
(0406) 	 {
(0407) 	 //month++;
(0408) 	  day=0;
    0525 2422      CLR	R2
    0526 92200066  STS	day,R2
(0409) 	 }	
(0410)     }
    0528 C06E      RJMP	0x0597
(0411)     else if((month==2)&&(day==29))//不是闰年二月份是28天;
    0529 91800065  LDS	R24,month
    052B 3082      CPI	R24,2
    052C F441      BNE	0x0535
    052D 91800066  LDS	R24,day
    052F 318D      CPI	R24,0x1D
    0530 F421      BNE	0x0535
(0412)     {
(0413)     //month++;
(0414)      day=0;
    0531 2422      CLR	R2
    0532 92200066  STS	day,R2
(0415)     }
    0534 C062      RJMP	0x0597
(0416)     else if((month<=7)&&(month%2==0)&&(day==31))//其他月份小于等于7月份的偶数月份是30天
    0535 E087      LDI	R24,7
    0536 90200065  LDS	R2,month
    0538 1582      CP	R24,R2
    0539 F070      BCS	0x0548
    053A E012      LDI	R17,2
    053B 2D02      MOV	R16,R2
    053C 940E05BC  CALL	mod8u
    053E 2300      TST	R16
    053F F441      BNE	0x0548
    0540 91800066  LDS	R24,day
    0542 318F      CPI	R24,0x1F
    0543 F421      BNE	0x0548
(0417)     {
(0418)    // month++;
(0419)      day=0;	  
    0544 2422      CLR	R2
    0545 92200066  STS	day,R2
(0420)     }
    0547 C04F      RJMP	0x0597
(0421)     else if((month<=7)&&(month%2!=0)&&(day==32))//奇数是31天;
    0548 E087      LDI	R24,7
    0549 90200065  LDS	R2,month
    054B 1582      CP	R24,R2
    054C F070      BCS	0x055B
    054D E012      LDI	R17,2
    054E 2D02      MOV	R16,R2
    054F 940E05BC  CALL	mod8u
    0551 2300      TST	R16
    0552 F041      BEQ	0x055B
    0553 91800066  LDS	R24,day
    0555 3280      CPI	R24,0x20
    0556 F421      BNE	0x055B
(0422)     {
(0423)     //month++;
(0424)      day=0;
    0557 2422      CLR	R2
    0558 92200066  STS	day,R2
(0425)     }
    055A C03C      RJMP	0x0597
(0426)     else if((month>7)&&(month%2==0)&&(day==32))//大于7月份的偶数月份是31天
    055B E087      LDI	R24,7
    055C 90200065  LDS	R2,month
    055E 1582      CP	R24,R2
    055F F470      BCC	0x056E
    0560 E012      LDI	R17,2
    0561 2D02      MOV	R16,R2
    0562 940E05BC  CALL	mod8u
    0564 2300      TST	R16
    0565 F441      BNE	0x056E
    0566 91800066  LDS	R24,day
    0568 3280      CPI	R24,0x20
    0569 F421      BNE	0x056E
(0427)     {
(0428)    // month++;
(0429)      day=0;	  
    056A 2422      CLR	R2
    056B 92200066  STS	day,R2
(0430)     }
    056D C029      RJMP	0x0597
(0431)     else if((month>7)&&(month%2!=0)&&(day==31))//奇数是30天;
    056E E087      LDI	R24,7
    056F 90200065  LDS	R2,month
    0571 1582      CP	R24,R2
    0572 F520      BCC	0x0597
    0573 E012      LDI	R17,2
    0574 2D02      MOV	R16,R2
    0575 940E05BC  CALL	mod8u
    0577 2300      TST	R16
    0578 F0F1      BEQ	0x0597
    0579 91800066  LDS	R24,day
    057B 318F      CPI	R24,0x1F
    057C F4D1      BNE	0x0597
(0432)     {
(0433)     //month++;
(0434)      day=0;
    057D 2422      CLR	R2
    057E 92200066  STS	day,R2
(0435)     }
(0436) 	break;
    0580 C016      RJMP	0x0597
(0437)    }
(0438)    case 5:
(0439)    {
(0440)     month++;
    0581 91800065  LDS	R24,month
    0583 5F8F      SUBI	R24,0xFF
    0584 93800065  STS	month,R24
(0441)     if(month==13)
    0586 308D      CPI	R24,0xD
    0587 F479      BNE	0x0597
(0442) 	{
(0443) 	 month=0;
    0588 2422      CLR	R2
    0589 92200065  STS	month,R2
(0444) 	}
(0445) 	break;
    058B C00B      RJMP	0x0597
(0446)    }
(0447)    case 6: year++;break;
    058C 91800063  LDS	R24,year
    058E 91900064  LDS	R25,year+1
    0590 9601      ADIW	R24,1
    0591 93900064  STS	year+1,R25
    0593 93800063  STS	year,R24
(0448)   }
(0449)   
(0450)  }
    0595 C001      RJMP	0x0597
(0451)  while((PIND&0x08)==0x00)
(0452)  {
(0453)   WDR();
    0596 95A8      WDR
    0597 9B83      SBIS	0x10,3
    0598 CFFD      RJMP	0x0596
(0454)  }
(0455)  GICR=0XC0;
FILE: <library>
    0599 EC80      LDI	R24,0xC0
    059A BF8B      OUT	0x3B,R24
    059B 940E05E2  CALL	pop_gset1
    059D 940E060D  CALL	pop_lset
    059F 9518      RETI
mod16u:
    05A0 9468      BSET	6
    05A1 C001      RJMP	xdiv16u
div16u:
    05A2 94E8      BCLR	6
xdiv16u:
    05A3 92EA      ST	R14,-Y
    05A4 92FA      ST	R15,-Y
    05A5 938A      ST	R24,-Y
    05A6 24EE      CLR	R14
    05A7 24FF      CLR	R15
    05A8 E180      LDI	R24,0x10
    05A9 0F00      LSL	R16
    05AA 1F11      ROL	R17
    05AB 1CEE      ROL	R14
    05AC 1CFF      ROL	R15
    05AD 16E2      CP	R14,R18
    05AE 06F3      CPC	R15,R19
    05AF F018      BCS	0x05B3
    05B0 1AE2      SUB	R14,R18
    05B1 0AF3      SBC	R15,R19
    05B2 9503      INC	R16
    05B3 958A      DEC	R24
    05B4 F7A1      BNE	0x05A9
    05B5 F416      BRTC	0x05B8
    05B6 2D0E      MOV	R16,R14
    05B7 2D1F      MOV	R17,R15
    05B8 9189      LD	R24,Y+
    05B9 90F9      LD	R15,Y+
    05BA 90E9      LD	R14,Y+
    05BB 9508      RET
mod8u:
    05BC 9468      BSET	6
    05BD C001      RJMP	xdiv8u
div8u:
    05BE 94E8      BCLR	6
xdiv8u:
    05BF 932A      ST	R18,-Y
    05C0 92FA      ST	R15,-Y
    05C1 92EA      ST	R14,-Y
    05C2 24FF      CLR	R15
    05C3 24EE      CLR	R14
    05C4 E120      LDI	R18,0x10
    05C5 0F00      LSL	R16
    05C6 1CFF      ROL	R15
    05C7 1CEE      ROL	R14
    05C8 16E1      CP	R14,R17
    05C9 F010      BCS	0x05CC
    05CA 1AE1      SUB	R14,R17
    05CB 9503      INC	R16
    05CC 952A      DEC	R18
    05CD F7B9      BNE	0x05C5
    05CE F40E      BRTC	0x05D0
    05CF 2D0E      MOV	R16,R14
    05D0 90E9      LD	R14,Y+
    05D1 90F9      LD	R15,Y+
    05D2 9129      LD	R18,Y+
    05D3 9508      RET
pop_gset2:
    05D4 E0E2      LDI	R30,2
    05D5 940C05E3  JMP	pop
push_gset5:
    05D7 92FA      ST	R15,-Y
    05D8 92EA      ST	R14,-Y
push_gset4:
    05D9 92DA      ST	R13,-Y
    05DA 92CA      ST	R12,-Y
push_gset3:
    05DB 92BA      ST	R11,-Y
    05DC 92AA      ST	R10,-Y
push_gset2:
    05DD 937A      ST	R23,-Y
    05DE 936A      ST	R22,-Y
push_gset1:
    05DF 935A      ST	R21,-Y
    05E0 934A      ST	R20,-Y
    05E1 9508      RET
pop_gset1:
    05E2 E0E1      LDI	R30,1
pop:
    05E3 9149      LD	R20,Y+
    05E4 9159      LD	R21,Y+
    05E5 FDE0      SBRC	R30,0
    05E6 9508      RET
    05E7 9169      LD	R22,Y+
    05E8 9179      LD	R23,Y+
    05E9 FDE1      SBRC	R30,1
    05EA 9508      RET
    05EB 90A9      LD	R10,Y+
    05EC 90B9      LD	R11,Y+
    05ED FDE2      SBRC	R30,2
    05EE 9508      RET
    05EF 90C9      LD	R12,Y+
    05F0 90D9      LD	R13,Y+
    05F1 FDE3      SBRC	R30,3
    05F2 9508      RET
    05F3 90E9      LD	R14,Y+
    05F4 90F9      LD	R15,Y+
    05F5 9508      RET
push_lset:
    05F6 93FA      ST	R31,-Y
    05F7 93EA      ST	R30,-Y
    05F8 93BA      ST	R27,-Y
    05F9 93AA      ST	R26,-Y
    05FA 939A      ST	R25,-Y
    05FB 938A      ST	R24,-Y
    05FC 933A      ST	R19,-Y
    05FD 932A      ST	R18,-Y
    05FE 931A      ST	R17,-Y
    05FF 930A      ST	R16,-Y
    0600 929A      ST	R9,-Y
    0601 928A      ST	R8,-Y
    0602 927A      ST	R7,-Y
    0603 926A      ST	R6,-Y
    0604 925A      ST	R5,-Y
    0605 924A      ST	R4,-Y
    0606 923A      ST	R3,-Y
    0607 922A      ST	R2,-Y
    0608 921A      ST	R1,-Y
    0609 920A      ST	R0,-Y
    060A B60F      IN	R0,0x3F
    060B 920A      ST	R0,-Y
    060C 9508      RET
pop_lset:
    060D 9009      LD	R0,Y+
    060E BE0F      OUT	0x3F,R0
    060F 9009      LD	R0,Y+
    0610 9019      LD	R1,Y+
    0611 9029      LD	R2,Y+
    0612 9039      LD	R3,Y+
    0613 9049      LD	R4,Y+
    0614 9059      LD	R5,Y+
    0615 9069      LD	R6,Y+
    0616 9079      LD	R7,Y+
    0617 9089      LD	R8,Y+
    0618 9099      LD	R9,Y+
    0619 9109      LD	R16,Y+
    061A 9119      LD	R17,Y+
    061B 9129      LD	R18,Y+
    061C 9139      LD	R19,Y+
    061D 9189      LD	R24,Y+
    061E 9199      LD	R25,Y+
    061F 91A9      LD	R26,Y+
    0620 91B9      LD	R27,Y+
    0621 91E9      LD	R30,Y+
    0622 91F9      LD	R31,Y+
    0623 9508      RET

⌨️ 快捷键说明

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