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

📄 lesson3_1.lst

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LST
字号:
__text_start:
__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 0062 CALL	_main
_exit:
      4C CFFF      RJMP	_exit
_delay:
  i                    --> R20
  j                    --> R22
  ms                   --> R16
      4D 940E 0085 CALL	push_xgsetF000
FILE: C:\iccv7avr\examples.avr\chengxu\lesson3_1\lesson3_1.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define  uchar unsigned char
(0004) #define  uint  unsigned int
(0005) void delay(uint ms)
(0006) {
(0007)     uint i,j;
(0008) 	for(i=0;i<ms;i++)
      4F 2744      CLR	R20
      50 2755      CLR	R21
      51 C00B      RJMP	0x005D
(0009) 	   {
(0010) 	   for(j=0;j<1141;j++);
      52 2766      CLR	R22
      53 2777      CLR	R23
      54 C002      RJMP	0x0057
      55 5F6F      SUBI	R22,0xFF
      56 4F7F      SBCI	R23,0xFF
      57 3765      CPI	R22,0x75
      58 E0E4      LDI	R30,4
      59 077E      CPC	R23,R30
      5A F3D0      BCS	0x0055
      5B 5F4F      SUBI	R20,0xFF
      5C 4F5F      SBCI	R21,0xFF
      5D 1740      CP	R20,R16
      5E 0751      CPC	R21,R17
      5F F390      BCS	0x0052
      60 940C 008A JMP	pop_xgsetF000
(0011)        }
(0012) }
(0013) void main()
(0014) {
(0015)    uchar k;
(0016)    DDRA|=BIT(2);
_main:
  k                    --> R20
      62 9AD2      SBI	0x1A,2
(0017)    PORTA|=BIT(2);
      63 9ADA      SBI	0x1B,2
(0018)    
(0019)    DDRB=0XFF;
      64 EF8F      LDI	R24,0xFF
      65 BB87      OUT	0x17,R24
(0020)    PORTB=0XFF;
      66 BB88      OUT	0x18,R24
      67 C01B      RJMP	0x0083
(0021)    while(1)
(0022)    {
(0023)    for(k=0;k<8;k++)
      68 2744      CLR	R20
      69 C017      RJMP	0x0081
(0024)    { 
(0025)    PORTB&=~BIT(k);
      6A E001      LDI	R16,1
      6B 2F14      MOV	R17,R20
      6C 940E 008F CALL	lsl8
      6E 2E20      MOV	R2,R16
      6F 9420      COM	R2
      70 B238      IN	R3,0x18
      71 2032      AND	R3,R2
      72 BA38      OUT	0x18,R3
(0026)    delay(500);
      73 EF04      LDI	R16,0xF4
      74 E011      LDI	R17,1
      75 DFD7      RCALL	_delay
(0027)    
(0028)    PORTB|=BIT(k);
      76 E001      LDI	R16,1
      77 2F14      MOV	R17,R20
      78 940E 008F CALL	lsl8
      7A B228      IN	R2,0x18
      7B 2A20      OR	R2,R16
      7C BA28      OUT	0x18,R2
(0029)    delay(500);
FILE: <library>
      7D EF04      LDI	R16,0xF4
      7E E011      LDI	R17,1
      7F DFCD      RCALL	_delay
      80 9543      INC	R20
      81 3048      CPI	R20,0x8
      82 F338      BCS	0x006A
      83 CFE4      RJMP	0x0068
      84 9508      RET
push_xgsetF000:
      85 937A      ST	R23,-Y
      86 936A      ST	R22,-Y
      87 935A      ST	R21,-Y
      88 934A      ST	R20,-Y
      89 9508      RET
pop_xgsetF000:
      8A 9149      LD	R20,Y+
      8B 9159      LD	R21,Y+
      8C 9169      LD	R22,Y+
      8D 9179      LD	R23,Y+
      8E 9508      RET
lsl8:
      8F 2311      TST	R17
      90 F019      BEQ	0x0094
      91 0F00      LSL	R16
      92 951A      DEC	R17
      93 CFFB      RJMP	lsl8
      94 9508      RET

⌨️ 快捷键说明

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