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

📄 ac7-2.lst

📁 AVR学习资料
💻 LST
字号:
__start:
__text_start:
    0030 E5CF      LDI	R28,0x5F
    0031 E0D4      LDI	R29,4
    0032 BFCD      OUT	0x3D,R28
    0033 BFDE      OUT	0x3E,R29
    0034 51C0      SUBI	R28,0x10
    0035 40D0      SBCI	R29,0
    0036 EA0A      LDI	R16,0xAA
    0037 8308      STD	Y+0,R16
    0038 2400      CLR	R0
    0039 E6E0      LDI	R30,0x60
    003A E0F0      LDI	R31,0
    003B E010      LDI	R17,0
    003C 36E0      CPI	R30,0x60
    003D 07F1      CPC	R31,R17
    003E F011      BEQ	0x0041
    003F 9201      ST	R0,Z+
    0040 CFFB      RJMP	0x003C
    0041 8300      STD	Z+0,R16
    0042 E6E0      LDI	R30,0x60
    0043 E0F0      LDI	R31,0
    0044 E6A0      LDI	R26,0x60
    0045 E0B0      LDI	R27,0
    0046 E010      LDI	R17,0
    0047 36E0      CPI	R30,0x60
    0048 07F1      CPC	R31,R17
    0049 F021      BEQ	0x004E
    004A 95C8      LPM
    004B 9631      ADIW	R30,1
    004C 920D      ST	R0,X+
    004D CFF9      RJMP	0x0047
    004E 940E0067  CALL	_main
_exit:
    0050 CFFF      RJMP	_exit
_delay_ms:
  i                    --> R20
  j                    --> R22
  k                    --> R16
    0051 940E00E5  CALL	push_gset2
FILE: d:\MYDOCU~1\ac7-2\ac7-2.c
(0001) #include<iom16v.h>			
(0002) #define uchar unsigned char	
(0003) #define uint unsigned int
(0004) uchar const SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,	
(0005)                 0x6d,0x7d,0x07,0x7f,0x6f};
(0006) uchar const ACT[2]={0xfe,0xfd};				
(0007) //=============================
(0008) void delay_ms(uint k)			
(0009) {
(0010)     uint i,j;
(0011)     for(i=0;i<k;i++)
    0053 2744      CLR	R20
    0054 2755      CLR	R21
    0055 C00B      RJMP	0x0061
(0012)     {
(0013)        for(j=0;j<570;j++);
    0056 2766      CLR	R22
    0057 2777      CLR	R23
    0058 C002      RJMP	0x005B
    0059 5F6F      SUBI	R22,0xFF
    005A 4F7F      SBCI	R23,0xFF
    005B 336A      CPI	R22,0x3A
    005C E0E2      LDI	R30,2
    005D 077E      CPC	R23,R30
    005E F3D0      BCS	0x0059
    005F 5F4F      SUBI	R20,0xFF
    0060 4F5F      SBCI	R21,0xFF
    0061 1740      CP	R20,R16
    0062 0751      CPC	R21,R17
    0063 F390      BCS	0x0056
    0064 940E00DC  CALL	pop_gset2
    0066 9508      RET
(0014)     }
(0015) }
(0016) //=============================
(0017) void main(void)	
(0018) {				
(0019) uchar i,counter;	
(0020) DDRA=0xff;			
_main:
  i                    --> R20
  counter              --> R22
    0067 EF8F      LDI	R24,0xFF
    0068 BB8A      OUT	0x1A,R24
(0021) DDRC=0xff;		
    0069 BB84      OUT	0x14,R24
(0022) PORTA=0x00;		
    006A 2422      CLR	R2
    006B BA2B      OUT	0x1B,R2
(0023) PORTC=0xff;		
    006C BB85      OUT	0x15,R24
    006D C032      RJMP	0x00A0
(0024)    while(1)		
(0025)    {			
(0026)    		   for(i=0;i<100;i++)	
    006E 2744      CLR	R20
    006F C029      RJMP	0x0099
(0027)    		   {					
(0028) 		   PORTA=SEG7[counter%10];	
    0070 E02A      LDI	R18,0xA
    0071 E030      LDI	R19,0
    0072 2F06      MOV	R16,R22
    0073 2711      CLR	R17
    0074 940E00A2  CALL	mod16s
    0076 01F8      MOVW	R30,R16
    0077 E584      LDI	R24,0x54
    0078 E090      LDI	R25,0
    0079 0FE8      ADD	R30,R24
    007A 1FF9      ADC	R31,R25
    007B 91E4      LPM	R30,0(Z)
    007C BBEB      OUT	0x1B,R30
(0029)    		   PORTC=ACT[0];			
    007D E5EE      LDI	R30,0x5E
    007E E0F0      LDI	R31,0
    007F 91E4      LPM	R30,0(Z)
    0080 BBE5      OUT	0x15,R30
(0030)    		   delay_ms(1);				
    0081 E001      LDI	R16,1
    0082 E010      LDI	R17,0
    0083 DFCD      RCALL	_delay_ms
(0031)    		   PORTA=SEG7[counter/10];	
    0084 E02A      LDI	R18,0xA
    0085 E030      LDI	R19,0
    0086 2F06      MOV	R16,R22
    0087 2711      CLR	R17
    0088 940E00A6  CALL	div16s
    008A 01F8      MOVW	R30,R16
    008B E584      LDI	R24,0x54
    008C E090      LDI	R25,0
    008D 0FE8      ADD	R30,R24
    008E 1FF9      ADC	R31,R25
    008F 91E4      LPM	R30,0(Z)
    0090 BBEB      OUT	0x1B,R30
(0032)    		   PORTC=ACT[1];			
    0091 E5EF      LDI	R30,0x5F
    0092 E0F0      LDI	R31,0
    0093 91E4      LPM	R30,0(Z)
    0094 BBE5      OUT	0x15,R30
(0033)    		   delay_ms(1);			
    0095 E001      LDI	R16,1
    0096 E010      LDI	R17,0
    0097 DFB9      RCALL	_delay_ms
    0098 9543      INC	R20
    0099 3644      CPI	R20,0x64
    009A F2A8      BCS	0x0070
(0034) 		   }					
(0035) 		   counter++;		
    009B 9563      INC	R22
(0036) 		   if(counter>99)counter=0;	
FILE: <library>
    009C E683      LDI	R24,0x63
    009D 1786      CP	R24,R22
    009E F408      BCC	0x00A0
    009F 2766      CLR	R22
    00A0 CFCD      RJMP	0x006E
    00A1 9508      RET
mod16s:
    00A2 9468      BSET	6
    00A3 92DA      ST	R13,-Y
    00A4 2ED1      MOV	R13,R17
    00A5 C004      RJMP	0x00AA
div16s:
    00A6 94E8      BCLR	6
    00A7 92DA      ST	R13,-Y
    00A8 2ED1      MOV	R13,R17
    00A9 26D3      EOR	R13,R19
    00AA FF17      SBRS	R17,7
    00AB C004      RJMP	0x00B0
    00AC 9510      COM	R17
    00AD 9500      COM	R16
    00AE 5F0F      SUBI	R16,0xFF
    00AF 4F1F      SBCI	R17,0xFF
    00B0 FF37      SBRS	R19,7
    00B1 C004      RJMP	0x00B6
    00B2 9530      COM	R19
    00B3 9520      COM	R18
    00B4 5F2F      SUBI	R18,0xFF
    00B5 4F3F      SBCI	R19,0xFF
    00B6 940E00C3  CALL	xdiv16u
    00B8 FED7      SBRS	R13,7
    00B9 C004      RJMP	0x00BE
    00BA 9510      COM	R17
    00BB 9500      COM	R16
    00BC 5F0F      SUBI	R16,0xFF
    00BD 4F1F      SBCI	R17,0xFF
    00BE 90D9      LD	R13,Y+
    00BF 9508      RET
mod16u:
    00C0 9468      BSET	6
    00C1 C001      RJMP	xdiv16u
div16u:
    00C2 94E8      BCLR	6
xdiv16u:
    00C3 92EA      ST	R14,-Y
    00C4 92FA      ST	R15,-Y
    00C5 938A      ST	R24,-Y
    00C6 24EE      CLR	R14
    00C7 24FF      CLR	R15
    00C8 E180      LDI	R24,0x10
    00C9 0F00      LSL	R16
    00CA 1F11      ROL	R17
    00CB 1CEE      ROL	R14
    00CC 1CFF      ROL	R15
    00CD 16E2      CP	R14,R18
    00CE 06F3      CPC	R15,R19
    00CF F018      BCS	0x00D3
    00D0 1AE2      SUB	R14,R18
    00D1 0AF3      SBC	R15,R19
    00D2 9503      INC	R16
    00D3 958A      DEC	R24
    00D4 F7A1      BNE	0x00C9
    00D5 F416      BRTC	0x00D8
    00D6 2D0E      MOV	R16,R14
    00D7 2D1F      MOV	R17,R15
    00D8 9189      LD	R24,Y+
    00D9 90F9      LD	R15,Y+
    00DA 90E9      LD	R14,Y+
    00DB 9508      RET
pop_gset2:
    00DC E0E2      LDI	R30,2
    00DD 940C00EB  JMP	pop
push_gset5:
    00DF 92FA      ST	R15,-Y
    00E0 92EA      ST	R14,-Y
push_gset4:
    00E1 92DA      ST	R13,-Y
    00E2 92CA      ST	R12,-Y
push_gset3:
    00E3 92BA      ST	R11,-Y
    00E4 92AA      ST	R10,-Y
push_gset2:
    00E5 937A      ST	R23,-Y
    00E6 936A      ST	R22,-Y
push_gset1:
    00E7 935A      ST	R21,-Y
    00E8 934A      ST	R20,-Y
    00E9 9508      RET
pop_gset1:
    00EA E0E1      LDI	R30,1
pop:
    00EB 9149      LD	R20,Y+
    00EC 9159      LD	R21,Y+
    00ED FDE0      SBRC	R30,0
    00EE 9508      RET
    00EF 9169      LD	R22,Y+
    00F0 9179      LD	R23,Y+
    00F1 FDE1      SBRC	R30,1
    00F2 9508      RET
    00F3 90A9      LD	R10,Y+
    00F4 90B9      LD	R11,Y+
    00F5 FDE2      SBRC	R30,2
    00F6 9508      RET
    00F7 90C9      LD	R12,Y+
    00F8 90D9      LD	R13,Y+
    00F9 FDE3      SBRC	R30,3
    00FA 9508      RET
    00FB 90E9      LD	R14,Y+
    00FC 90F9      LD	R15,Y+
    00FD 9508      RET

⌨️ 快捷键说明

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