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

📄 attest.lst

📁 使用atmel128对45db161读写程序加LM2009R大液晶显示
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0281) void ShowNumber(uchar x, uchar y,uint n, uint* number7)
(0282) {  
(0283)     uint i, number, showNum1,showNum2,showNum3,showNum4,showNum5,showNum6;
(0284)     SdCmd(0x00,0xCD);LCD_ChkBusy();   //send command normal power mode, Char mode    display on, normal display 
    04A6 EC2D      LDI	R18,0xCD
    04A7 2700      CLR	R16
    04A8 DF3E      RCALL	_SdCmd
    04A9 DF75      RCALL	_LCD_ChkBusy
(0285)     SdCmd(0x60,0x00+x);LCD_ChkBusy();  //set cursor X location to 0
    04AA 2D2C      MOV	R18,R12
    04AB E600      LDI	R16,0x60
    04AC DF3A      RCALL	_SdCmd
    04AD DF71      RCALL	_LCD_ChkBusy
(0286)     SdCmd(0x70,0x00+y);LCD_ChkBusy();  //set cursor Y location to 0
    04AE 2D2A      MOV	R18,R10
    04AF E700      LDI	R16,0x70
    04B0 DF36      RCALL	_SdCmd
    04B1 DF6D      RCALL	_LCD_ChkBusy
(0287)    for( i=0;i<n;i++ )
    04B2 2400      CLR	R0
    04B3 2411      CLR	R1
    04B4 8619      STD	Y+9,R1
    04B5 8608      STD	Y+8,R0
    04B6 C0B6      RJMP	0x056D
(0288)    {
(0289) 	
(0290) 	number = *number7;
    04B7 89EE      LDD	R30,Y+22
    04B8 89FF      LDD	R31,Y+23
    04B9 8020      LDD	R2,Z+0
    04BA 8031      LDD	R3,Z+1
    04BB 823D      STD	Y+5,R3
    04BC 822C      STD	Y+4,R2
(0291) 	number7++;
    04BD 898E      LDD	R24,Y+22
    04BE 899F      LDD	R25,Y+23
    04BF 9602      ADIW	R24,2
    04C0 8B9F      STD	Y+23,R25
    04C1 8B8E      STD	Y+22,R24
(0292) 	showNum1 = (number/100000);
    04C2 EA40      LDI	R20,0xA0
    04C3 E856      LDI	R21,0x86
    04C4 E061      LDI	R22,1
    04C5 E070      LDI	R23,0
    04C6 802C      LDD	R2,Y+4
    04C7 803D      LDD	R3,Y+5
    04C8 2444      CLR	R4
    04C9 2455      CLR	R5
    04CA 937A      ST	R23,-Y
    04CB 936A      ST	R22,-Y
    04CC 935A      ST	R21,-Y
    04CD 934A      ST	R20,-Y
    04CE 0181      MOVW	R16,R2
    04CF 0192      MOVW	R18,R4
    04D0 940E05CC  CALL	div32s
    04D2 0178      MOVW	R14,R16
(0293)     showNum2 = ((number%100000)/10000);
    04D3 EA40      LDI	R20,0xA0
    04D4 E856      LDI	R21,0x86
    04D5 E061      LDI	R22,1
    04D6 E070      LDI	R23,0
    04D7 802C      LDD	R2,Y+4
    04D8 803D      LDD	R3,Y+5
    04D9 2444      CLR	R4
    04DA 2455      CLR	R5
    04DB 937A      ST	R23,-Y
    04DC 936A      ST	R22,-Y
    04DD 935A      ST	R21,-Y
    04DE 934A      ST	R20,-Y
    04DF 0181      MOVW	R16,R2
    04E0 0192      MOVW	R18,R4
    04E1 940E05CE  CALL	mod32s
    04E3 E140      LDI	R20,0x10
    04E4 E257      LDI	R21,0x27
    04E5 E060      LDI	R22,0
    04E6 E070      LDI	R23,0
    04E7 937A      ST	R23,-Y
    04E8 936A      ST	R22,-Y
    04E9 935A      ST	R21,-Y
    04EA 934A      ST	R20,-Y
    04EB 940E05CC  CALL	div32s
    04ED 0168      MOVW	R12,R16
(0294)     showNum3 = ((number%10000)/1000);
    04EE E120      LDI	R18,0x10
    04EF E237      LDI	R19,0x27
    04F0 810C      LDD	R16,Y+4
    04F1 811D      LDD	R17,Y+5
    04F2 940E05AA  CALL	mod16u
    04F4 EE28      LDI	R18,0xE8
    04F5 E033      LDI	R19,3
    04F6 940E05AC  CALL	div16u
    04F8 0158      MOVW	R10,R16
(0295)     showNum4 = ((number%1000)/100);
    04F9 EE28      LDI	R18,0xE8
    04FA E033      LDI	R19,3
    04FB 810C      LDD	R16,Y+4
    04FC 811D      LDD	R17,Y+5
    04FD 940E05AA  CALL	mod16u
    04FF E624      LDI	R18,0x64
    0500 E030      LDI	R19,0
    0501 940E05AC  CALL	div16u
    0503 8319      STD	Y+1,R17
    0504 8308      STD	Y+0,R16
(0296)     showNum5 = ((number%100)/10);
    0505 E624      LDI	R18,0x64
    0506 E030      LDI	R19,0
    0507 810C      LDD	R16,Y+4
    0508 811D      LDD	R17,Y+5
    0509 940E05AA  CALL	mod16u
    050B E02A      LDI	R18,0xA
    050C E030      LDI	R19,0
    050D 940E05AC  CALL	div16u
    050F 831B      STD	Y+3,R17
    0510 830A      STD	Y+2,R16
(0297)     showNum6 = ((number%10)/1);
    0511 E02A      LDI	R18,0xA
    0512 E030      LDI	R19,0
    0513 810C      LDD	R16,Y+4
    0514 811D      LDD	R17,Y+5
    0515 940E05AA  CALL	mod16u
    0517 831F      STD	Y+7,R17
    0518 830E      STD	Y+6,R16
(0298) 
(0299)    if(number>=100000)
    0519 EA40      LDI	R20,0xA0
    051A E856      LDI	R21,0x86
    051B E061      LDI	R22,1
    051C E070      LDI	R23,0
    051D 802C      LDD	R2,Y+4
    051E 803D      LDD	R3,Y+5
    051F 2444      CLR	R4
    0520 2455      CLR	R5
    0521 1624      CP	R2,R20
    0522 0635      CPC	R3,R21
    0523 0646      CPC	R4,R22
    0524 0657      CPC	R5,R23
    0525 F034      BLT	0x052C
(0300)    {
(0301)     showNum1+=48;
    0526 01C7      MOVW	R24,R14
    0527 96C0      ADIW	R24,0x30
    0528 017C      MOVW	R14,R24
(0302) 	SdData(showNum1);
    0529 2F08      MOV	R16,R24
    052A DEE3      RCALL	_SdData
(0303) 	LCD_ChkBusy();
    052B DEF3      RCALL	_LCD_ChkBusy
(0304)    }
(0305)    if(number>=10000)
    052C 818C      LDD	R24,Y+4
    052D 819D      LDD	R25,Y+5
    052E 3180      CPI	R24,0x10
    052F E2E7      LDI	R30,0x27
    0530 079E      CPC	R25,R30
    0531 F030      BCS	0x0538
(0306)    {
(0307)     showNum2+=48;
    0532 01C6      MOVW	R24,R12
    0533 96C0      ADIW	R24,0x30
    0534 016C      MOVW	R12,R24
(0308) 	SdData(showNum2);
    0535 2F08      MOV	R16,R24
    0536 DED7      RCALL	_SdData
(0309) 	LCD_ChkBusy();
    0537 DEE7      RCALL	_LCD_ChkBusy
(0310)    }
(0311)    if(number>=1000)
    0538 818C      LDD	R24,Y+4
    0539 819D      LDD	R25,Y+5
    053A 3E88      CPI	R24,0xE8
    053B E0E3      LDI	R30,3
    053C 079E      CPC	R25,R30
    053D F030      BCS	0x0544
(0312)    {
(0313)     showNum3+=48;
    053E 01C5      MOVW	R24,R10
    053F 96C0      ADIW	R24,0x30
    0540 015C      MOVW	R10,R24
(0314) 	SdData(showNum3);
    0541 2F08      MOV	R16,R24
    0542 DECB      RCALL	_SdData
(0315) 	LCD_ChkBusy();  
    0543 DEDB      RCALL	_LCD_ChkBusy
(0316)    }
(0317)    if(number>=100)
    0544 818C      LDD	R24,Y+4
    0545 819D      LDD	R25,Y+5
    0546 3684      CPI	R24,0x64
    0547 E0E0      LDI	R30,0
    0548 079E      CPC	R25,R30
    0549 F040      BCS	0x0552
(0318)    {
(0319)     showNum4+=48;
    054A 8188      LDD	R24,Y+0
    054B 8199      LDD	R25,Y+1
    054C 96C0      ADIW	R24,0x30
    054D 8399      STD	Y+1,R25
    054E 8388      STD	Y+0,R24
(0320) 	SdData(showNum4);
    054F 2F08      MOV	R16,R24
    0550 DEBD      RCALL	_SdData
(0321) 	LCD_ChkBusy(); 
    0551 DECD      RCALL	_LCD_ChkBusy
(0322)    }  
(0323)    if(number>=10)
    0552 818C      LDD	R24,Y+4
    0553 819D      LDD	R25,Y+5
    0554 308A      CPI	R24,0xA
    0555 E0E0      LDI	R30,0
    0556 079E      CPC	R25,R30
    0557 F040      BCS	0x0560
(0324)    {
(0325)     showNum5+=48;
    0558 818A      LDD	R24,Y+2
    0559 819B      LDD	R25,Y+3
    055A 96C0      ADIW	R24,0x30
    055B 839B      STD	Y+3,R25
    055C 838A      STD	Y+2,R24
(0326) 	SdData(showNum5);
    055D 2F08      MOV	R16,R24
    055E DEAF      RCALL	_SdData
(0327) 	LCD_ChkBusy();
    055F DEBF      RCALL	_LCD_ChkBusy
(0328)    }
(0329)     showNum6+=48;
    0560 818E      LDD	R24,Y+6
    0561 819F      LDD	R25,Y+7
    0562 96C0      ADIW	R24,0x30
    0563 839F      STD	Y+7,R25
    0564 838E      STD	Y+6,R24
(0330) 	SdData(showNum6);
    0565 018C      MOVW	R16,R24
    0566 DEA7      RCALL	_SdData
(0331) 	LCD_ChkBusy();   
    0567 DEB7      RCALL	_LCD_ChkBusy
    0568 8588      LDD	R24,Y+8
    0569 8599      LDD	R25,Y+9
    056A 9601      ADIW	R24,1
    056B 8799      STD	Y+9,R25
    056C 8788      STD	Y+8,R24
    056D 8408      LDD	R0,Y+8
    056E 8419      LDD	R1,Y+9
    056F 890C      LDD	R16,Y+20
    0570 891D      LDD	R17,Y+21
    0571 1600      CP	R0,R16
    0572 0611      CPC	R1,R17
    0573 F408      BCC	0x0575
    0574 CF42      RJMP	0x04B7
    0575 962A      ADIW	R28,0xA
    0576 940E064D  CALL	pop_gset5
    0578 9508      RET
(0332)  }    
(0333) }
(0334) //==================================
(0335) //-----------------------------------
(0336) void delay_1us(void)
(0337) {
(0338) 	asm("nop");
_delay_1us:
    0579 0000      NOP
(0339) 	asm("nop");
    057A 0000      NOP
(0340) 	asm("nop");
    057B 0000      NOP
(0341) 	asm("nop");
    057C 0000      NOP
(0342) 	asm("nop");
    057D 0000      NOP
(0343) 	asm("nop");
    057E 0000      NOP
(0344) 	asm("nop");
    057F 0000      NOP
(0345) 	asm("nop");
    0580 0000      NOP
    0581 9508      RET
(0346) }
(0347) void delay_1ms(void)
(0348) {
(0349) 	unsigned int i;
(0350) 	for(i=1; i<(unsigned int)(8*143-2); i++)
_delay_1ms:
  i                    --> R16
    0582 E001      LDI	R16,1
    0583 E010      LDI	R17,0
    0584 C002      RJMP	0x0587
    0585 5F0F      SUBI	R16,0xFF
    0586 4F1F      SBCI	R17,0xFF
    0587 3706      CPI	R16,0x76
    0588 E0E4      LDI	R30,4
    0589 071E      CPC	R17,R30
    058A F3D0      BCS	0x0585
    058B 9508      RET
_delay_ms:
  i                    --> R20
  n                    --> R22
    058C 940E0667  CALL	push_gset2
    058E 01B8      MOVW	R22,R16
(0351) 	;
(0352) }
(0353) 
(0354) void delay_ms(unsigned int n)
(0355) {
(0356) 	unsigned int i;
(0357) 	for(i=0; i<n; i++)
    058F 2744      CLR	R20
    0590 2755      CLR	R21
    0591 C003      RJMP	0x0595
(0358) 	delay_1ms();
    0592 DFEF      RCALL	_delay_1ms
    0593 5F4F      SUBI	R20,0xFF
    0594 4F5F      SBCI	R21,0xFF
    0595 1746      CP	R20,R22
    0596 0757      CPC	R21,R23
    0597 F3D0      BCS	0x0592
    0598 940E0647  CALL	pop_gset2
    059A 9508      RET
_delay_us:
  i                    --> R20
  n                    --> R22
    059B 940E0667  CALL	push_gset2
    059D 01B8      MOVW	R22,R16
(0359) }
(0360) void delay_us(unsigned int n)
(0361) {
(0362) 	unsigned int i;
(0363) 	for(i=0; i<n; i++)
    059E 2744      CLR	R20
    059F 2755      CLR	R21
    05A0 C003      RJMP	0x05A4
(0364) 	delay_1us();
FILE: <library>
    05A1 DFD7      RCALL	_delay_1us
    05A2 5F4F      SUBI	R20,0xFF
    05A3 4F5F      SBCI	R21,0xFF
    05A4 1746      CP	R20,R22
    05A5 0757      CPC	R21,R23
    05A6 F3D0      BCS	0x05A1
    05A7 940E0647  CALL	pop_gset2
    05A9 9508      RET
mod16u:
    05AA 9468      BSET	6
    05AB C001      RJMP	xdiv16u
div16u:
    05AC 94E8      BCLR	6
xdiv16u:
    05AD 92EA      ST	R14,-Y
    05AE 92FA      ST	R15,-Y
    05AF 938A      ST	R24,-Y
    05B0 24EE      CLR	R14
    05B1 24FF      CLR	R15
    05B2 E180      LDI	R24,0x10
    05B3 0F00      LSL	R16
    05B4 1F11      ROL	R17
    05B5 1CEE      ROL	R14
    05B6 1CFF      ROL	R15
    05B7 16E2      CP	R14,R18
    05B8 06F3      CPC	R15,R19
    05B9 F018      BCS	0x05BD
    05BA 1AE2      SUB	R14,R18
    05BB 0AF3      SBC	R15,R19
    05BC 9503      INC	R16
    05BD 958A      DEC	R24
    05BE F7A1      BNE	0x05B3
    05BF F416      BRTC	0x05C2
    05C0 2D0E      MOV	R16,R14
    05C1 2D1F      MOV	R17,R15
    05C2 9189      LD	R24,Y+
    05C3 90F9      LD	R15,Y+
    05C4 90E9      LD	R14,Y+
    05C5 9508      RET
div32u:
    05C6 94E8      BCLR	6
    05C7 C001      RJMP	0x05C9
mod32u:
    05C8 9468      BSET	6
    05C9 D02F      RCALL	long_div_prolog
    05CA 24CC      CLR	R12
    05CB C008      RJMP	0x05D4
div32s:
    05CC 94E8      BCLR	6
    05CD C001      RJMP	0x05CF
mod32s:
    05CE 9468      BSET	6
    05CF D029      RCALL	long_div_prolog
    05D0 FD37      SBRC	R19,7
    05D1 D053      RCALL	neg_R16_R19
    05D2 FDB7      SBRC	R27,7
    05D3 D05A      RCALL	neg_R24_R27
    05D4 2477      CLR	R7
    05D5 2488      CLR	R8
    05D6 2499      CLR	R9
    05D7 24AA      CLR	R10
    05D8 24BB      CLR	R11
    05D9 D041      RCALL	tst_R16_R19
    05DA F0C1      BEQ	0x05F3
    05DB D044      RCALL	tst_R24_

⌨️ 快捷键说明

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