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

📄 mega8.lst

📁 AVR 初学者
💻 LST
字号:
__start:
__text_start:
    0013 E5CF      LDI	R28,0x5F
    0014 E0D4      LDI	R29,4
    0015 BFCD      OUT	0x3D,R28
    0016 BFDE      OUT	0x3E,R29
    0017 51C0      SUBI	R28,0x10
    0018 40D0      SBCI	R29,0
    0019 EA0A      LDI	R16,0xAA
    001A 8308      STD	Y+0,R16
    001B 2400      CLR	R0
    001C E6E0      LDI	R30,0x60
    001D E0F0      LDI	R31,0
    001E E010      LDI	R17,0
    001F 36E0      CPI	R30,0x60
    0020 07F1      CPC	R31,R17
    0021 F011      BEQ	0x0024
    0022 9201      ST	R0,Z+
    0023 CFFB      RJMP	0x001F
    0024 8300      STD	Z+0,R16
    0025 E2E6      LDI	R30,0x26
    0026 E0F0      LDI	R31,0
    0027 E6A0      LDI	R26,0x60
    0028 E0B0      LDI	R27,0
    0029 E010      LDI	R17,0
    002A 32E6      CPI	R30,0x26
    002B 07F1      CPC	R31,R17
    002C F021      BEQ	0x0031
    002D 95C8      LPM
    002E 9631      ADIW	R30,1
    002F 920D      ST	R0,X+
    0030 CFF9      RJMP	0x002A
    0031 D012      RCALL	_main
_exit:
    0032 CFFF      RJMP	_exit
FILE: E:\单片机\单片机程序\AVR程序\闪烁灯\mega8.c
(0001) //ICC-AVR application builder : 2008-8-1 19:01:17
(0002) // Target : M8
(0003) // Crystal: 16.000Mhz
(0004) 
(0005) #include <iom8v.h>
(0006) #include <macros.h>
(0007) 
(0008) void port_init(void)
(0009) {
(0010)  PORTB = 0x00;
_port_init:
    0033 2422      CLR	R2
    0034 BA28      OUT	0x18,R2
(0011)  DDRB  = 0x00;
    0035 BA27      OUT	0x17,R2
(0012)  PORTC = 0x00; //m103 output only
    0036 BA25      OUT	0x15,R2
(0013)  DDRC  = 0x7F;
    0037 E78F      LDI	R24,0x7F
    0038 BB84      OUT	0x14,R24
(0014)  PORTD = 0x00;
    0039 BA22      OUT	0x12,R2
(0015)  DDRD  = 0x00;
    003A BA21      OUT	0x11,R2
    003B 9508      RET
(0016) }
(0017) 
(0018) //call this routine to initialize all peripherals
(0019) void init_devices(void)
(0020) {
(0021)  //stop errant interrupts until set up
(0022)  CLI(); //disable all interrupts
_init_devices:
    003C 94F8      BCLR	7
(0023)  port_init();
    003D DFF5      RCALL	_port_init
(0024) 
(0025)  MCUCR = 0x00;
    003E 2422      CLR	R2
    003F BE25      OUT	0x35,R2
(0026)  GICR  = 0x00;
    0040 BE2B      OUT	0x3B,R2
(0027)  TIMSK = 0x00; //timer interrupt sources
    0041 BE29      OUT	0x39,R2
(0028)  SEI(); //re-enable interrupts
    0042 9478      BSET	7
    0043 9508      RET
(0029)  //all peripherals are now initialized
(0030) }
(0031) 
(0032) void main()
(0033) {
(0034)   unsigned int i,j,K;
(0035)   init_devices();
_main:
  K                    --> Y+1
  i                    --> R20
  j                    --> R22
    0044 DFF7      RCALL	_init_devices
(0036)   PORTC = 0X2A;
    0045 E28A      LDI	R24,0x2A
    0046 BB85      OUT	0x15,R24
    0047 C015      RJMP	0x005D
(0037)   while(1)
(0038)   {
(0039)     for(i=0;i<500;i++)
    0048 2744      CLR	R20
    0049 2755      CLR	R21
    004A C00B      RJMP	0x0056
(0040)   	  for(j=0;j<300;j++);
    004B 2766      CLR	R22
    004C 2777      CLR	R23
    004D C002      RJMP	0x0050
    004E 5F6F      SUBI	R22,0xFF
    004F 4F7F      SBCI	R23,0xFF
    0050 326C      CPI	R22,0x2C
    0051 E0E1      LDI	R30,1
    0052 077E      CPC	R23,R30
    0053 F3D0      BCS	0x004E
    0054 5F4F      SUBI	R20,0xFF
    0055 4F5F      SBCI	R21,0xFF
    0056 3F44      CPI	R20,0xF4
    0057 E0E1      LDI	R30,1
    0058 075E      CPC	R21,R30
    0059 F388      BCS	0x004B
(0041)     PORTC = ~PORTC;
FILE: <library>
    005A B225      IN	R2,0x15
    005B 9420      COM	R2
    005C BA25      OUT	0x15,R2
    005D CFEA      RJMP	0x0048
    005E 9508      RET

⌨️ 快捷键说明

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