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

📄 ac8-3.lst

📁 AVR学习资料
💻 LST
字号:
__start:
__text_start:
    002F E5CF      LDI	R28,0x5F
    0030 E0D4      LDI	R29,4
    0031 BFCD      OUT	0x3D,R28
    0032 BFDE      OUT	0x3E,R29
    0033 51C0      SUBI	R28,0x10
    0034 40D0      SBCI	R29,0
    0035 EA0A      LDI	R16,0xAA
    0036 8308      STD	Y+0,R16
    0037 2400      CLR	R0
    0038 E6E0      LDI	R30,0x60
    0039 E0F0      LDI	R31,0
    003A E010      LDI	R17,0
    003B 36E2      CPI	R30,0x62
    003C 07F1      CPC	R31,R17
    003D F011      BEQ	0x0040
    003E 9201      ST	R0,Z+
    003F CFFB      RJMP	0x003B
    0040 8300      STD	Z+0,R16
    0041 E5EE      LDI	R30,0x5E
    0042 E0F0      LDI	R31,0
    0043 E6A0      LDI	R26,0x60
    0044 E0B0      LDI	R27,0
    0045 E010      LDI	R17,0
    0046 35EE      CPI	R30,0x5E
    0047 07F1      CPC	R31,R17
    0048 F021      BEQ	0x004D
    0049 95C8      LPM
    004A 9631      ADIW	R30,1
    004B 920D      ST	R0,X+
    004C CFF9      RJMP	0x0046
    004D 940E0066  CALL	_main
_exit:
    004F CFFF      RJMP	_exit
_delay_ms:
  i                    --> R20
  j                    --> R22
  k                    --> R16
    0050 940E00B7  CALL	push_gset2
FILE: d:\MYDOCU~1\ac8-3\ac8-3.c
(0001) #include<iom16v.h>		
(0002) #define uchar unsigned char	
(0003) #define uint unsigned int
(0004) 	
(0005) uchar const SEG7[10]={0x3f,0x06,0x5b, 
(0006) 0x4f,0x66,	0x6d,0x7d,0x07,0x7f,0x6f};
(0007) #define ALM_ON  (PORTB=PORTB&0xfe) 
(0008) uchar alm_flag1,alm_flag2;
(0009) //*************************************************
(0010) void delay_ms(uint k) 
(0011) {
(0012) uint i,j;			
(0013)     for(i=0;i<k;i++)
    0052 2744      CLR	R20
    0053 2755      CLR	R21
    0054 C00B      RJMP	0x0060
(0014)     {
(0015)        for(j=0;j<1140;j++)
    0055 2766      CLR	R22
    0056 2777      CLR	R23
    0057 C002      RJMP	0x005A
    0058 5F6F      SUBI	R22,0xFF
    0059 4F7F      SBCI	R23,0xFF
    005A 3764      CPI	R22,0x74
    005B E0E4      LDI	R30,4
    005C 077E      CPC	R23,R30
    005D F3D0      BCS	0x0058
    005E 5F4F      SUBI	R20,0xFF
    005F 4F5F      SBCI	R21,0xFF
    0060 1740      CP	R20,R16
    0061 0751      CPC	R21,R17
    0062 F390      BCS	0x0055
    0063 940E00AE  CALL	pop_gset2
    0065 9508      RET
(0016)        ;
(0017)     }
(0018) }
(0019) //=============================
(0020) void main(void)	
(0021) {				
(0022) DDRA=0xff;		
_main:
    0066 EF8F      LDI	R24,0xFF
    0067 BB8A      OUT	0x1A,R24
(0023) DDRC=0xff;		
    0068 BB84      OUT	0x14,R24
(0024) PORTA=0x00;		
    0069 2422      CLR	R2
    006A BA2B      OUT	0x1B,R2
(0025) PORTC=0xff;		
    006B BB85      OUT	0x15,R24
(0026) PORTB=0xff;		 
    006C BB88      OUT	0x18,R24
(0027) DDRB=0xff;		
    006D BB87      OUT	0x17,R24
(0028) PORTD=0xff;		 
    006E BB82      OUT	0x12,R24
(0029) DDRD  = 0xf3;	
    006F EF83      LDI	R24,0xF3
    0070 BB81      OUT	0x11,R24
(0030) MCUCR = 0x0A; 
    0071 E08A      LDI	R24,0xA
    0072 BF85      OUT	0x35,R24
(0031) GICR  = 0xC0; 
    0073 EC80      LDI	R24,0xC0
    0074 BF8B      OUT	0x3B,R24
(0032) SREG=0x80; 
    0075 E880      LDI	R24,0x80
    0076 BF8F      OUT	0x3F,R24
    0077 C020      RJMP	0x0098
(0033)    while(1)	
(0034)    {			
(0035)      if(alm_flag1==1)
    0078 91800061  LDS	R24,alm_flag1
    007A 3081      CPI	R24,1
    007B F461      BNE	0x0088
(0036)      {PORTA=SEG7[1];
    007C E5E5      LDI	R30,0x55
    007D E0F0      LDI	R31,0
    007E 91E4      LPM	R30,0(Z)
    007F BBEB      OUT	0x1B,R30
(0037)      PORTC=0xfe;
    0080 EF8E      LDI	R24,0xFE
    0081 BB85      OUT	0x15,R24
(0038) 	     ALM_ON;
    0082 B388      IN	R24,0x18
    0083 7F8E      ANDI	R24,0xFE
    0084 BB88      OUT	0x18,R24
(0039)      delay_ms(2000);
    0085 ED00      LDI	R16,0xD0
    0086 E017      LDI	R17,7
    0087 DFC8      RCALL	_delay_ms
(0040)      }				
(0041) 	 	if(alm_flag2==1) 
    0088 91800060  LDS	R24,alm_flag2
    008A 3081      CPI	R24,1
    008B F461      BNE	0x0098
(0042) 	 	{PORTA=SEG7[2]; 
    008C E5E6      LDI	R30,0x56
    008D E0F0      LDI	R31,0
    008E 91E4      LPM	R30,0(Z)
    008F BBEB      OUT	0x1B,R30
(0043)      PORTC=0xfe; 
    0090 EF8E      LDI	R24,0xFE
    0091 BB85      OUT	0x15,R24
(0044) 	 	ALM_ON; 
    0092 B388      IN	R24,0x18
    0093 7F8E      ANDI	R24,0xFE
    0094 BB88      OUT	0x18,R24
(0045)      delay_ms(2000);
    0095 ED00      LDI	R16,0xD0
    0096 E017      LDI	R17,7
    0097 DFB8      RCALL	_delay_ms
    0098 CFDF      RJMP	0x0078
    0099 9508      RET
_int0_isr:
    009A 938A      ST	R24,-Y
    009B B78F      IN	R24,0x3F
    009C 938A      ST	R24,-Y
(0046)      }		
(0047)    } 			
(0048) }				
(0049) //**************************************************
(0050) #pragma interrupt_handler int0_isr:2	
(0051) void int0_isr(void)
(0052) {
(0053)  alm_flag1=1;					
    009D E081      LDI	R24,1
    009E 93800061  STS	alm_flag1,R24
    00A0 9189      LD	R24,Y+
    00A1 BF8F      OUT	0x3F,R24
    00A2 9189      LD	R24,Y+
    00A3 9518      RETI
_int1_isr:
    00A4 938A      ST	R24,-Y
    00A5 B78F      IN	R24,0x3F
    00A6 938A      ST	R24,-Y
(0054) }
(0055) //****************************************
(0056) #pragma interrupt_handler int1_isr:3	
(0057) void int1_isr(void)
(0058) {
(0059) alm_flag2=1;			
FILE: <library>
    00A7 E081      LDI	R24,1
    00A8 93800060  STS	alm_flag2,R24
    00AA 9189      LD	R24,Y+
    00AB BF8F      OUT	0x3F,R24
    00AC 9189      LD	R24,Y+
    00AD 9518      RETI
pop_gset2:
    00AE E0E2      LDI	R30,2
    00AF 940C00BD  JMP	pop
push_gset5:
    00B1 92FA      ST	R15,-Y
    00B2 92EA      ST	R14,-Y
push_gset4:
    00B3 92DA      ST	R13,-Y
    00B4 92CA      ST	R12,-Y
push_gset3:
    00B5 92BA      ST	R11,-Y
    00B6 92AA      ST	R10,-Y
push_gset2:
    00B7 937A      ST	R23,-Y
    00B8 936A      ST	R22,-Y
push_gset1:
    00B9 935A      ST	R21,-Y
    00BA 934A      ST	R20,-Y
    00BB 9508      RET
pop_gset1:
    00BC E0E1      LDI	R30,1
pop:
    00BD 9149      LD	R20,Y+
    00BE 9159      LD	R21,Y+
    00BF FDE0      SBRC	R30,0
    00C0 9508      RET
    00C1 9169      LD	R22,Y+
    00C2 9179      LD	R23,Y+
    00C3 FDE1      SBRC	R30,1
    00C4 9508      RET
    00C5 90A9      LD	R10,Y+
    00C6 90B9      LD	R11,Y+
    00C7 FDE2      SBRC	R30,2
    00C8 9508      RET
    00C9 90C9      LD	R12,Y+
    00CA 90D9      LD	R13,Y+
    00CB FDE3      SBRC	R30,3
    00CC 9508      RET
    00CD 90E9      LD	R14,Y+
    00CE 90F9      LD	R15,Y+
    00CF 9508      RET

⌨️ 快捷键说明

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