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

📄 ajzdsm.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 0072 CALL	_main
_exit:
      4D CFFF      RJMP	_exit
_miao:
      4E 922A      ST	R2,-Y
      4F 930A      ST	R16,-Y
      50 931A      ST	R17,-Y
      51 938A      ST	R24,-Y
      52 939A      ST	R25,-Y
      53 B62F      IN	R2,0x3F
      54 922A      ST	R2,-Y
FILE: G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.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:3
(0007) 
(0008) void miao()
(0009) {
(0010)     if(num==60)
      55 9180 0060 LDS	R24,num
      57 338C      CPI	R24,0x3C
      58 F419      BNE	0x005C
(0011) 	   num=0;
      59 2422      CLR	R2
      5A 9220 0060 STS	num,R2
(0012) 	   num++; 
      5C 9180 0060 LDS	R24,num
      5E 5F8F      SUBI	R24,0xFF
      5F 9380 0060 STS	num,R24
(0013) 	  	if(num%2==0)PORTA|=BIT(0);
      61 E012      LDI	R17,2
      62 2F08      MOV	R16,R24
      63 940E 007D CALL	mod8u
      65 2300      TST	R16
      66 F411      BNE	0x0069
      67 9AD8      SBI	0x1B,0
      68 C001      RJMP	0x006A
(0014) 		else PORTA&=~BIT(0);
      69 98D8      CBI	0x1B,0
      6A 9029      LD	R2,Y+
      6B BE2F      OUT	0x3F,R2
      6C 9199      LD	R25,Y+
      6D 9189      LD	R24,Y+
      6E 9119      LD	R17,Y+
      6F 9109      LD	R16,Y+
      70 9029      LD	R2,Y+
      71 9518      RETI
(0015) 		 
(0016) }
(0017) void main()
(0018) {
(0019)     DDRA|=BIT(0);
_main:
      72 9AD0      SBI	0x1A,0
(0020) 	DDRD|=BIT(3);//外部中断1的触发管脚
      73 9A8B      SBI	0x11,3
(0021) 	PORTD&=~BIT(3);
      74 9893      CBI	0x12,3
(0022) 	GICR|=BIT(7);//T/C1控制寄存器B
      75 B78B      IN	R24,0x3B
      76 6880      ORI	R24,0x80
      77 BF8B      OUT	0x3B,R24
(0023)     MCUCR=0X0C;
      78 E08C      LDI	R24,0xC
      79 BF85      OUT	0x35,R24
(0024) 	SREG|=BIT(7);//总中断
      7A 9478      BSET	7
(0025) 	while(1){;}
FILE: <library>
      7B CFFF      RJMP	0x007B
      7C 9508      RET
mod8u:
      7D 9468      BSET	6
      7E C001      RJMP	xdiv8u
div8u:
      7F 94E8      BCLR	6
xdiv8u:
      80 932A      ST	R18,-Y
      81 92FA      ST	R15,-Y
      82 92EA      ST	R14,-Y
      83 24FF      CLR	R15
      84 24EE      CLR	R14
      85 E120      LDI	R18,0x10
      86 0F00      LSL	R16
      87 1CFF      ROL	R15
      88 1CEE      ROL	R14
      89 16E1      CP	R14,R17
      8A F010      BCS	0x008D
      8B 1AE1      SUB	R14,R17
      8C 9503      INC	R16
      8D 952A      DEC	R18
      8E F7B9      BNE	0x0086
      8F F40E      BRTC	0x0091
      90 2D0E      MOV	R16,R14
      91 90E9      LD	R14,Y+
      92 90F9      LD	R15,Y+
      93 9129      LD	R18,Y+
      94 9508      RET

⌨️ 快捷键说明

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