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

📄 led.lst

📁 avr单片机与flash存储器通信程序,调试通过,希望对大家有所帮助.
💻 LST
字号:
__start:
__text_start:
    0019 E5CF      LDI	R28,0x5F
    001A E0D2      LDI	R29,2
    001B BFCD      OUT	0x3D,R28
    001C BFDE      OUT	0x3E,R29
    001D 51C0      SUBI	R28,0x10
    001E 40D0      SBCI	R29,0
    001F EA0A      LDI	R16,0xAA
    0020 8308      STD	Y+0,R16
    0021 2400      CLR	R0
    0022 E6E0      LDI	R30,0x60
    0023 E0F0      LDI	R31,0
    0024 E010      LDI	R17,0
    0025 36E0      CPI	R30,0x60
    0026 07F1      CPC	R31,R17
    0027 F011      BEQ	0x002A
    0028 9201      ST	R0,Z+
    0029 CFFB      RJMP	0x0025
    002A 8300      STD	Z+0,R16
    002B E3E2      LDI	R30,0x32
    002C E0F0      LDI	R31,0
    002D E6A0      LDI	R26,0x60
    002E E0B0      LDI	R27,0
    002F E010      LDI	R17,0
    0030 33E2      CPI	R30,0x32
    0031 07F1      CPC	R31,R17
    0032 F021      BEQ	0x0037
    0033 95C8      LPM
    0034 9631      ADIW	R30,1
    0035 920D      ST	R0,X+
    0036 CFF9      RJMP	0x0030
    0037 D018      RCALL	_main
_exit:
    0038 CFFF      RJMP	_exit
FILE: C:\ATMega8515\LED\init.c
(0001) //ICC-AVR application builder : 2006-4-27 12:39:24
(0002) // Target : M8515
(0003) // Crystal: 11.0592Mhz
(0004) 
(0005) #include <iom8515v.h>
(0006) #include <macros.h>
(0007) 
(0008) void port_init(void)
(0009) {
(0010)  PORTA = 0x00;
_port_init:
    0039 2422      CLR	R2
    003A BA2B      OUT	0x1B,R2
(0011)  DDRA  = 0xFF;
    003B EF8F      LDI	R24,0xFF
    003C BB8A      OUT	0x1A,R24
(0012)  PORTB = 0x00;
    003D BA28      OUT	0x18,R2
(0013)  DDRB  = 0x00;
    003E BA27      OUT	0x17,R2
(0014)  PORTC = 0x00;
    003F BA25      OUT	0x15,R2
(0015)  DDRC  = 0x20;
    0040 E280      LDI	R24,0x20
    0041 BB84      OUT	0x14,R24
(0016)  PORTD = 0x00;
    0042 BA22      OUT	0x12,R2
(0017)  DDRD  = 0x00; 
    0043 BA21      OUT	0x11,R2
(0018)  PORTE = 0x00;
    0044 B827      OUT	0x07,R2
(0019)  DDRE  = 0x00; 
    0045 B826      OUT	0x06,R2
    0046 9508      RET
(0020) }
(0021) 
(0022) //call this routine to initialize all peripherals
(0023) void init_devices(void)
(0024) {
(0025)  //stop errant interrupts until set up
(0026)  CLI(); //disable all interrupts
_init_devices:
    0047 94F8      BCLR	7
(0027)  port_init();
    0048 DFF0      RCALL	_port_init
(0028) 
(0029)  MCUCR = 0x00;
    0049 2422      CLR	R2
    004A BE25      OUT	0x35,R2
(0030)  EMCUCR = 0x00;
    004B BE26      OUT	0x36,R2
(0031)  GICR = 0x00;
    004C BE2B      OUT	0x3B,R2
(0032)  TIMSK = 0x00;
    004D BE29      OUT	0x39,R2
(0033)  SEI(); //re-enable interrupts
    004E 9478      BSET	7
    004F 9508      RET
FILE: C:\ATMega8515\LED\main.c
(0001) #include <iom8515v.h>
(0002) #include"ForATmega8515.h"
(0003) 
(0004) 
(0005) void delay(uint ticks);
(0006) 
(0007) void main()
(0008) {
(0009)  uchar leddata=1;
_main:
  leddata              --> R20
    0050 E041      LDI	R20,1
(0010)  init_devices();
    0051 DFF5      RCALL	_init_devices
(0011)  PORTC&=~LED; //开LED显示
    0052 98AD      CBI	0x15,5
    0053 C00A      RJMP	0x005E
(0012)  while(1)
(0013)  {
(0014)   PORTA=~leddata;//输出数据
    0054 2E24      MOV	R2,R20
    0055 9420      COM	R2
    0056 BA2B      OUT	0x1B,R2
(0015)   leddata<<=1;   //LED左移一位
    0057 0F44      LSL	R20
(0016)   delay(5000);   //延时
    0058 E808      LDI	R16,0x88
    0059 E113      LDI	R17,0x13
    005A D005      RCALL	_delay
(0017)   if(leddata==0)leddata=1;
    005B 2344      TST	R20
    005C F409      BNE	0x005E
    005D E041      LDI	R20,1
    005E CFF5      RJMP	0x0054
    005F 9508      RET
_delay:
  i                    --> R20
  ticks                --> R16
    0060 D015      RCALL	push_gset1
(0018)  }
(0019) }
(0020) 
(0021) 
(0022) void delay(uint ticks)
(0023) {
(0024)  uchar i;
(0025)  for(;ticks!=0;ticks--)for(i=200;i!=0;i--);
FILE: <library>
    0061 C007      RJMP	0x0069
    0062 EC48      LDI	R20,0xC8
    0063 C001      RJMP	0x0065
    0064 954A      DEC	R20
    0065 2344      TST	R20
    0066 F7E9      BNE	0x0064
    0067 5001      SUBI	R16,1
    0068 4010      SBCI	R17,0
    0069 3000      CPI	R16,0
    006A 0701      CPC	R16,R17
    006B F7B1      BNE	0x0062
    006C D00C      RCALL	pop_gset1
    006D 9508      RET
push_gset5:
    006E 92FA      ST	R15,-Y
    006F 92EA      ST	R14,-Y
push_gset4:
    0070 92DA      ST	R13,-Y
    0071 92CA      ST	R12,-Y
push_gset3:
    0072 92BA      ST	R11,-Y
    0073 92AA      ST	R10,-Y
push_gset2:
    0074 937A      ST	R23,-Y
    0075 936A      ST	R22,-Y
push_gset1:
    0076 935A      ST	R21,-Y
    0077 934A      ST	R20,-Y
    0078 9508      RET
pop_gset1:
    0079 E0E1      LDI	R30,1
pop:
    007A 9149      LD	R20,Y+
    007B 9159      LD	R21,Y+
    007C FDE0      SBRC	R30,0
    007D 9508      RET
    007E 9169      LD	R22,Y+
    007F 9179      LD	R23,Y+
    0080 FDE1      SBRC	R30,1
    0081 9508      RET
    0082 90A9      LD	R10,Y+
    0083 90B9      LD	R11,Y+
    0084 FDE2      SBRC	R30,2
    0085 9508      RET
    0086 90C9      LD	R12,Y+
    0087 90D9      LD	R13,Y+
    0088 FDE3      SBRC	R30,3
    0089 9508      RET
    008A 90E9      LD	R14,Y+
    008B 90F9      LD	R15,Y+
    008C 9508      RET

⌨️ 快捷键说明

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