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

📄 zhongduanshanshuo.lst

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LST
字号:
__text_start:
__start:
      2B E5CF      LDI	R28,0x5F
      2C E0D4      LDI	R29,4
      2D BFCD      OUT	0x3D,R28
      2E BFDE      OUT	0x3E,R29
      2F 51C0      SUBI	R28,0x10
      30 40D0      SBCI	R29,0
      31 EA0A      LDI	R16,0xAA
      32 8308      STD	Y+0,R16
      33 2400      CLR	R0
      34 E6E1      LDI	R30,0x61
      35 E0F0      LDI	R31,0
      36 E010      LDI	R17,0
      37 36E1      CPI	R30,0x61
      38 07F1      CPC	R31,R17
      39 F011      BEQ	0x003C
      3A 9201      ST	R0,Z+
      3B CFFB      RJMP	0x0037
      3C 8300      STD	Z+0,R16
      3D E5E4      LDI	R30,0x54
      3E E0F0      LDI	R31,0
      3F E6A0      LDI	R26,0x60
      40 E0B0      LDI	R27,0
      41 E010      LDI	R17,0
      42 E000      LDI	R16,0
      43 BF0B      OUT	0x3B,R16
      44 35E5      CPI	R30,0x55
      45 07F1      CPC	R31,R17
      46 F021      BEQ	0x004B
      47 95C8      LPM
      48 9631      ADIW	R30,1
      49 920D      ST	R0,X+
      4A CFF9      RJMP	0x0044
      4B 940E 0069 CALL	_main
_exit:
      4D CFFF      RJMP	_exit
_miao:
      4E 922A      ST	R2,-Y
      4F 938A      ST	R24,-Y
      50 939A      ST	R25,-Y
      51 B62F      IN	R2,0x3F
      52 922A      ST	R2,-Y
FILE: G:\学习\avr\天祥电子AVR视频教程\chengxu\zhongduanshanshuo\zhongduanshanshuo.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define  uchar unsigned char
(0004) #define  uint  unsigned int
(0005) uchar num=0;
(0006) #pragma interrupt_handler miao:9
(0007) 
(0008) void miao()
(0009) {
(0010)     if(num==60)
      53 9180 0060 LDS	R24,num
      55 338C      CPI	R24,0x3C
      56 F419      BNE	0x005A
(0011) 	   num=0;
      57 2422      CLR	R2
      58 9220 0060 STS	num,R2
(0012) 	  num++;  
      5A 9180 0060 LDS	R24,num
      5C 5F8F      SUBI	R24,0xFF
      5D 9380 0060 STS	num,R24
(0013) 	TCNT1H=0XC2;
      5F EC82      LDI	R24,0xC2
      60 BD8D      OUT	0x2D,R24
(0014) 	TCNT1L=0XF6;  
      61 EF86      LDI	R24,0xF6
      62 BD8C      OUT	0x2C,R24
      63 9029      LD	R2,Y+
      64 BE2F      OUT	0x3F,R2
      65 9199      LD	R25,Y+
      66 9189      LD	R24,Y+
      67 9029      LD	R2,Y+
      68 9518      RETI
(0015) }
(0016) void main()
(0017) {
(0018) 	DDRA|=BIT(0);//中断时使用的管脚
_main:
      69 9AD0      SBI	0x1A,0
(0019) 	TCCR1B=0X04;//T/C1控制寄存器B
      6A E084      LDI	R24,4
      6B BD8E      OUT	0x2E,R24
(0020) 	TCNT1H=0XC2;//计数寄存器(高位)
      6C EC82      LDI	R24,0xC2
      6D BD8D      OUT	0x2D,R24
(0021) 	TCNT1L=0XF6;//计数寄存器(低位)
      6E EF86      LDI	R24,0xF6
      6F BD8C      OUT	0x2C,R24
(0022) 	TIMSK|=BIT(2);//T/C1中断屏蔽寄存器
      70 B789      IN	R24,0x39
      71 6084      ORI	R24,4
      72 BF89      OUT	0x39,R24
(0023) 	SREG|=BIT(7);//总中断
      73 9478      BSET	7
      74 C00A      RJMP	0x007F
(0024) 	
(0025) 	while(1)
(0026) 	{
(0027) 		if(num%2==0)PORTA|=BIT(0);
      75 E012      LDI	R17,2
      76 9100 0060 LDS	R16,num
      78 940E 0081 CALL	mod8u
      7A 2300      TST	R16
      7B F411      BNE	0x007E
      7C 9AD8      SBI	0x1B,0
      7D C001      RJMP	0x007F
(0028) 		else PORTA&=~BIT(0);
FILE: <library>
      7E 98D8      CBI	0x1B,0
      7F CFF5      RJMP	0x0075
      80 9508      RET
mod8u:
      81 9468      BSET	6
      82 C001      RJMP	xdiv8u
div8u:
      83 94E8      BCLR	6
xdiv8u:
      84 932A      ST	R18,-Y
      85 92FA      ST	R15,-Y
      86 92EA      ST	R14,-Y
      87 24FF      CLR	R15
      88 24EE      CLR	R14
      89 E120      LDI	R18,0x10
      8A 0F00      LSL	R16
      8B 1CFF      ROL	R15
      8C 1CEE      ROL	R14
      8D 16E1      CP	R14,R17
      8E F010      BCS	0x0091
      8F 1AE1      SUB	R14,R17
      90 9503      INC	R16
      91 952A      DEC	R18
      92 F7B9      BNE	0x008A
      93 F40E      BRTC	0x0095
      94 2D0E      MOV	R16,R14
      95 90E9      LD	R14,Y+
      96 90F9      LD	R15,Y+
      97 9129      LD	R18,Y+
      98 9508      RET

⌨️ 快捷键说明

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