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

📄 example1.lst

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LST
字号:
__start:
__text_start:
      2A E5CF      LDI	R28,0x5F
      2B E0D4      LDI	R29,4
      2C BFCD      OUT	0x3D,R28
      2D BFDE      OUT	0x3E,R29
      2E 51C0      SUBI	R28,0x10
      2F 40D0      SBCI	R29,0
      30 EA0A      LDI	R16,0xAA
      31 8308      STD	Y+0,R16
      32 2400      CLR	R0
      33 E6E0      LDI	R30,0x60
      34 E0F0      LDI	R31,0
      35 E010      LDI	R17,0
      36 36E0      CPI	R30,0x60
      37 07F1      CPC	R31,R17
      38 F011      BEQ	0x003B
      39 9201      ST	R0,Z+
      3A CFFB      RJMP	0x0036
      3B 8300      STD	Z+0,R16
      3C E5E4      LDI	R30,0x54
      3D E0F0      LDI	R31,0
      3E E6A0      LDI	R26,0x60
      3F E0B0      LDI	R27,0
      40 E010      LDI	R17,0
      41 E000      LDI	R16,0
      42 BF0B      OUT	0x3B,R16
      43 35E4      CPI	R30,0x54
      44 07F1      CPC	R31,R17
      45 F021      BEQ	0x004A
      46 95C8      LPM
      47 9631      ADIW	R30,1
      48 920D      ST	R0,X+
      49 CFF9      RJMP	0x0043
      4A 940E 0063 CALL	_main
_exit:
      4C CFFF      RJMP	_exit
FILE: G:\学习\avr\天祥电子AVR视频教程\chengxu\example\example1.c
(0001) #include <iom16v.h>
(0002) 
(0003) void delay_1ms(void)
(0004) {
(0005)    unsigned char i;
(0006)    for(i=0;i<5000;i++);
_delay_1ms:
  i                    --> R16
      4D 2700      CLR	R16
      4E C001      RJMP	0x0050
      4F 9503      INC	R16
      50 3808      CPI	R16,0x88
      51 F3E8      BCS	0x004F
      52 9508      RET
_delay_ms:
  i                    --> R10
  time                 --> R12
      53 92AA      ST	R10,-Y
      54 92CA      ST	R12,-Y
      55 2EC0      MOV	R12,R16
(0007) }
(0008) void delay_ms(unsigned char time)
(0009) {
(0010)    unsigned char i;
(0011)    for(i=0;i<time;i++)
      56 24AA      CLR	R10
      57 C002      RJMP	0x005A
(0012)       {
(0013) 	     delay_1ms();
      58 DFF4      RCALL	_delay_1ms
      59 94A3      INC	R10
      5A 14AC      CP	R10,R12
      5B F3E0      BCS	0x0058
      5C 90C9      LD	R12,Y+
      5D 90A9      LD	R10,Y+
      5E 9508      RET
(0014) 	  }
(0015) }
(0016) 
(0017) void mcuInit(void)
(0018) {
(0019)    DDRA  = 0xFF;
_mcuInit:
      5F EF8F      LDI	R24,0xFF
      60 BB8A      OUT	0x1A,R24
(0020)    PORTA = 0xFF;   
      61 BB8B      OUT	0x1B,R24
      62 9508      RET
(0021) }
(0022) /*led交替点亮/熄灭*/
(0023) void main(void)
(0024) {
(0025)    mcuInit();
_main:
      63 DFFB      RCALL	_mcuInit
      64 C008      RJMP	0x006D
(0026)    while(1)
(0027)       {
(0028) 	     PORTA = 0X00;  //点亮led
      65 2422      CLR	R2
      66 BA2B      OUT	0x1B,R2
(0029) 		 delay_ms(1000); //点亮2秒钟
      67 EE08      LDI	R16,0xE8
      68 DFEA      RCALL	_delay_ms
(0030) 		 PORTA = 0XFF;  //关闭led
      69 EF8F      LDI	R24,0xFF
      6A BB8B      OUT	0x1B,R24
(0031) 		 delay_ms(1000); //关闭2秒钟
FILE: <library>
      6B EE08      LDI	R16,0xE8
      6C DFE6      RCALL	_delay_ms
      6D CFF7      RJMP	0x0065
      6E 9508      RET

⌨️ 快捷键说明

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