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

📄 flash2.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 4 页
字号:
    01F4 1620      CP	R2,R16
    01F5 0631      CPC	R3,R17
    01F6 F384      BLT	0x01E7
    01F7 940E02CC  CALL	pop_gset1
    01F9 9508      RET
FILE: E:\MYSTUD~1\微雪电子\微雪电子CD1\开发板试验器\SD系列\M16SD\教程\内核及主板相关试验\LED发~1\Flash2\Flash2.c
(0001) /*********************************************************************
(0002) 	微 雪 电 子   WaveShare   http://www.waveShare.net	
(0003) 
(0004) 功能目的:   建立LED闪烁示例
(0005) 
(0006) 目标系统:   基于AVR单片机
(0007) 
(0008) 应用软件:   ICCAVR                                               
(0009) 
(0010) 版    本:   Version 1.0
(0011) 
(0012) 圆版时间:   2005-03-01
(0013) 
(0014) 开发人员:   SEE
(0015) 
(0016) 说    明:   若用于商业用途,请保留此段文字或注明代码来源 
(0017) 
(0018) 	深 圳 微 雪 电 子 保 留 所 有 的 版 权
(0019) *********************************************************************/
(0020) 
(0021) /*01010101010101010101010101010101010101010101010101010101010101010101
(0022) ----------------------------------------------------------------------
(0023) 版本更新记录:
(0024) 
(0025) ----------------------------------------------------------------------
(0026) 程序功能: 详见教程文档
(0027) 接入模块: 详见教程文档
(0028) 接口说明: 详见教程文档
(0029) 
(0030) ----------------------------------------------------------------------
(0031) 注意事项: 详见教程文档及M16SD说明书
(0032) 		
(0033) ----------------------------------------------------------------------
(0034) 10101010101010101010101010101010101010101010101010101010101010101010*/
(0035) 
(0036) #include <iom16v.h>
(0037) #include "D:\ICC_H\CmmICC.H"
(0038) 
(0039) #define LED_DDR  DDRD
(0040) #define LED_PORT PORTD
(0041) 
(0042) /*--------------------------------------------------------------------
(0043) 函数名称:
(0044) 函数功能:
(0045) 注意事项:
(0046) 提示说明:
(0047) 输    入:
(0048) 返    回:
(0049) --------------------------------------------------------------------*/
(0050) void main(void)
(0051) {
(0052) 	sint8 i,j;
(0053) 	uint8 k,temp=0;
_main:
  i                    --> R22
  temp                 --> R20
  k                    --> R10
  j                    --> R12
    01FA 2744      CLR	R20
(0054) 	LED_DDR=0XFF;
    01FB EF8F      LDI	R24,0xFF
    01FC BB81      OUT	0x11,R24
    01FD C015      RJMP	0x0213
(0055) 
(0056) 	while(1)
(0057) 	{				
(0058) 		for(i=7;i>=0;i--)
    01FE E067      LDI	R22,7
    01FF C011      RJMP	0x0211
(0059) 		{
(0060) 		    k=0x01;
    0200 24AA      CLR	R10
    0201 94A3      INC	R10
(0061) 			for(j=i;j>=0;j--)
    0202 2EC6      MOV	R12,R22
    0203 C008      RJMP	0x020C
(0062) 			{
(0063) 			 LED_PORT = temp|k;
    0204 2E24      MOV	R2,R20
    0205 282A      OR	R2,R10
    0206 BA22      OUT	0x12,R2
(0064) 			 delay50ms(5);
    0207 E005      LDI	R16,5
    0208 E010      LDI	R17,0
    0209 DFDA      RCALL	_delay50ms
(0065) 			 k<<=1;		
    020A 0CAA      LSL	R10
    020B 94CA      DEC	R12
    020C 2D8C      MOV	R24,R12
    020D 3080      CPI	R24,0
    020E F7AC      BGE	0x0204
(0066) 			}
(0067) 			 temp = LED_PORT;
FILE: <library>
    020F B342      IN	R20,0x12
    0210 956A      DEC	R22
    0211 3060      CPI	R22,0
    0212 F76C      BGE	0x0200
    0213 CFEA      RJMP	0x01FE
    0214 9508      RET
push_arg4:
    0215 933A      ST	R19,-Y
    0216 932A      ST	R18,-Y
push_arg2:
    0217 931A      ST	R17,-Y
    0218 930A      ST	R16,-Y
    0219 9508      RET
div32u:
    021A 94E8      BCLR	6
    021B C001      RJMP	0x021D
mod32u:
    021C 9468      BSET	6
    021D D02F      RCALL	long_div_prolog
    021E 24CC      CLR	R12
    021F C008      RJMP	0x0228
div32s:
    0220 94E8      BCLR	6
    0221 C001      RJMP	0x0223
mod32s:
    0222 9468      BSET	6
    0223 D029      RCALL	long_div_prolog
    0224 FD37      SBRC	R19,7
    0225 D053      RCALL	neg_R16_R19
    0226 FDB7      SBRC	R27,7
    0227 D05A      RCALL	neg_R24_R27
    0228 2477      CLR	R7
    0229 2488      CLR	R8
    022A 2499      CLR	R9
    022B 24AA      CLR	R10
    022C 24BB      CLR	R11
    022D D041      RCALL	tst_R16_R19
    022E F0C1      BEQ	0x0247
    022F D044      RCALL	tst_R24_R27
    0230 F0B1      BEQ	0x0247
    0231 E2E8      LDI	R30,0x28
    0232 0F00      LSL	R16
    0233 1F11      ROL	R17
    0234 1F22      ROL	R18
    0235 1F33      ROL	R19
    0236 1C77      ROL	R7
    0237 1C88      ROL	R8
    0238 1C99      ROL	R9
    0239 1CAA      ROL	R10
    023A 1CBB      ROL	R11
    023B 1688      CP	R8,R24
    023C 0699      CPC	R9,R25
    023D 06AA      CPC	R10,R26
    023E 06BB      CPC	R11,R27
    023F F028      BCS	0x0245
    0240 1A88      SUB	R8,R24
    0241 0A99      SBC	R9,R25
    0242 0AAA      SBC	R10,R26
    0243 0ABB      SBC	R11,R27
    0244 9503      INC	R16
    0245 95EA      DEC	R30
    0246 F759      BNE	0x0232
    0247 F426      BRTC	0x024C
    0248 2D08      MOV	R16,R8
    0249 2D19      MOV	R17,R9
    024A 2D2A      MOV	R18,R10
    024B 2D3B      MOV	R19,R11
    024C C013      RJMP	long_div_epilog
long_div_prolog:
    024D 927A      ST	R7,-Y
    024E 928A      ST	R8,-Y
    024F 929A      ST	R9,-Y
    0250 92AA      ST	R10,-Y
    0251 92BA      ST	R11,-Y
    0252 92CA      ST	R12,-Y
    0253 93EA      ST	R30,-Y
    0254 938A      ST	R24,-Y
    0255 939A      ST	R25,-Y
    0256 93AA      ST	R26,-Y
    0257 93BA      ST	R27,-Y
    0258 858B      LDD	R24,Y+11
    0259 859C      LDD	R25,Y+12
    025A 85AD      LDD	R26,Y+13
    025B 85BE      LDD	R27,Y+14
    025C 2EC3      MOV	R12,R19
    025D F00E      BRTS	0x025F
    025E 26CB      EOR	R12,R27
    025F 9508      RET
long_div_epilog:
    0260 FCC7      SBRC	R12,7
    0261 D017      RCALL	neg_R16_R19
    0262 91B9      LD	R27,Y+
    0263 91A9      LD	R26,Y+
    0264 9199      LD	R25,Y+
    0265 9189      LD	R24,Y+
    0266 91E9      LD	R30,Y+
    0267 90C9      LD	R12,Y+
    0268 90B9      LD	R11,Y+
    0269 90A9      LD	R10,Y+
    026A 9099      LD	R9,Y+
    026B 9089      LD	R8,Y+
    026C 9079      LD	R7,Y+
    026D 9624      ADIW	R28,4
    026E 9508      RET
tst_R16_R19:
    026F 2FE0      MOV	R30,R16
    0270 2BE1      OR	R30,R17
    0271 2BE2      OR	R30,R18
    0272 2BE3      OR	R30,R19
    0273 9508      RET
tst_R24_R27:
    0274 2FE8      MOV	R30,R24
    0275 2BE9      OR	R30,R25
    0276 2BEA      OR	R30,R26
    0277 2BEB      OR	R30,R27
    0278 9508      RET
neg_R16_R19:
    0279 9500      COM	R16
    027A 9510      COM	R17
    027B 9520      COM	R18
    027C 9530      COM	R19
    027D 5F0F      SUBI	R16,0xFF
    027E 4F1F      SBCI	R17,0xFF
    027F 4F2F      SBCI	R18,0xFF
    0280 4F3F      SBCI	R19,0xFF
    0281 9508      RET
neg_R24_R27:
    0282 9580      COM	R24
    0283 9590      COM	R25
    0284 95A0      COM	R26
    0285 95B0      COM	R27
    0286 5F8F      SUBI	R24,0xFF
    0287 4F9F      SBCI	R25,0xFF
    0288 4FAF      SBCI	R26,0xFF
    0289 4FBF      SBCI	R27,0xFF
    028A 9508      RET
empy32s:
empy32u:
    028B 940E02E0  CALL	long_prolog
    028D 927F      PUSH	R7
    028E 940E02F9  CALL	tstzero1
    0290 F139      BEQ	0x02B8
    0291 2477      CLR	R7
    0292 940E02FF  CALL	tstzero2
    0294 F419      BNE	0x0298
    0295 018C      MOVW	R16,R24
    0296 019D      MOVW	R18,R26
    0297 C020      RJMP	0x02B8
    0298 9F08      MUL	R16,R24
    0299 2CB0      MOV	R11,R0
    029A 2CA1      MOV	R10,R1
    029B 9F28      MUL	R18,R24
    029C 2C90      MOV	R9,R0
    029D 2C81      MOV	R8,R1
    029E 9F18      MUL	R17,R24
    029F 0CA0      ADD	R10,R0
    02A0 1C91      ADC	R9,R1
    02A1 1C87      ADC	R8,R7
    02A2 9F09      MUL	R16,R25
    02A3 0CA0      ADD	R10,R0
    02A4 1C91      ADC	R9,R1
    02A5 1C87      ADC	R8,R7
    02A6 9F19      MUL	R17,R25
    02A7 0C90      ADD	R9,R0
    02A8 1C81      ADC	R8,R1
    02A9 9F0A      MUL	R16,R26
    02AA 0C90      ADD	R9,R0
    02AB 1C81      ADC	R8,R1
    02AC 9F38      MUL	R19,R24
    02AD 0C80      ADD	R8,R0
    02AE 9F29      MUL	R18,R25
    02AF 0C80      ADD	R8,R0
    02B0 9F1A      MUL	R17,R26
    02B1 0C80      ADD	R8,R0
    02B2 9F0B      MUL	R16,R27
    02B3 0C80      ADD	R8,R0
    02B4 2D0B      MOV	R16,R11
    02B5 2D1A      MOV	R17,R10
    02B6 2D29      MOV	R18,R9
    02B7 2D38      MOV	R19,R8
    02B8 907F      POP	R7
    02B9 940C02EE  JMP	long_epilog
pop_gset2:
    02BB E0E2      LDI	R30,2
    02BC 940C02CD  JMP	pop
pop_gset4:
    02BE E0E8      LDI	R30,0x8
    02BF 940C02CD  JMP	pop
push_gset5:
    02C1 92FA      ST	R15,-Y
    02C2 92EA      ST	R14,-Y
push_gset4:
    02C3 92DA      ST	R13,-Y
    02C4 92CA      ST	R12,-Y
push_gset3:
    02C5 92BA      ST	R11,-Y
    02C6 92AA      ST	R10,-Y
push_gset2:
    02C7 937A      ST	R23,-Y
    02C8 936A      ST	R22,-Y
push_gset1:
    02C9 935A      ST	R21,-Y
    02CA 934A      ST	R20,-Y
    02CB 9508      RET
pop_gset1:
    02CC E0E1      LDI	R30,1
pop:
    02CD 9149      LD	R20,Y+
    02CE 9159      LD	R21,Y+
    02CF FDE0      SBRC	R30,0
    02D0 9508      RET
    02D1 9169      LD	R22,Y+
    02D2 9179      LD	R23,Y+
    02D3 FDE1      SBRC	R30,1
    02D4 9508      RET
    02D5 90A9      LD	R10,Y+
    02D6 90B9      LD	R11,Y+
    02D7 FDE2      SBRC	R30,2
    02D8 9508      RET
    02D9 90C9      LD	R12,Y+
    02DA 90D9      LD	R13,Y+
    02DB FDE3      SBRC	R30,3
    02DC 9508      RET
    02DD 90E9      LD	R14,Y+
    02DE 90F9      LD	R15,Y+
    02DF 9508      RET
long_prolog:
    02E0 928A      ST	R8,-Y
    02E1 929A      ST	R9,-Y
    02E2 92AA      ST	R10,-Y
    02E3 92BA      ST	R11,-Y
    02E4 93EA      ST	R30,-Y
    02E5 938A      ST	R24,-Y
    02E6 939A      ST	R25,-Y
    02E7 93AA      ST	R26,-Y
    02E8 93BA      ST	R27,-Y
    02E9 8589      LDD	R24,Y+9
    02EA 859A      LDD	R25,Y+10
    02EB 85AB      LDD	R26,Y+11
    02EC 85BC      LDD	R27,Y+12
    02ED 9508      RET
long_epilog:
    02EE 91B9      LD	R27,Y+
    02EF 91A9      LD	R26,Y+
    02F0 9199      LD	R25,Y+
    02F1 9189      LD	R24,Y+
    02F2 91E9      LD	R30,Y+
    02F3 90B9      LD	R11,Y+
    02F4 90A9      LD	R10,Y+
    02F5 9099      LD	R9,Y+
    02F6 9089      LD	R8,Y+
    02F7 9624      ADIW	R28,4
    02F8 9508      RET
tstzero1:
    02F9 27EE      CLR	R30
    02FA 2BE0      OR	R30,R16
    02FB 2BE1      OR	R30,R17
    02FC 2BE2      OR	R30,R18
    02FD 2BE3      OR	R30,R19
    02FE 9508      RET
tstzero2:
    02FF 27EE      CLR	R30
    0300 2BE8      OR	R30,R24
    0301 2BE9      OR	R30,R25
    0302 2BEA      OR	R30,R26
    0303 2BEB      OR	R30,R27
    0304 9508      RET

⌨️ 快捷键说明

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