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

📄 flash.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 4 页
字号:
(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) 	uint8 i,j;
(0053) 	LED_DDR=0XFF;
_main:
  j                    --> R20
  i                    --> R22
    01FA EF8F      LDI	R24,0xFF
    01FB BB81      OUT	0x11,R24
    01FC C025      RJMP	0x0222
(0054) 	while(1)
(0055) 	{
(0056) 		for(i=0;i<4;i++)
    01FD 2766      CLR	R22
    01FE C00B      RJMP	0x020A
(0057) 		{
(0058) 			LED_PORT^=0xFF;
    01FF EF8F      LDI	R24,0xFF
    0200 E090      LDI	R25,0
    0201 B222      IN	R2,0x12
    0202 2433      CLR	R3
    0203 2628      EOR	R2,R24
    0204 2639      EOR	R3,R25
    0205 BA22      OUT	0x12,R2
(0059) 			delay50ms(10);
    0206 E00A      LDI	R16,0xA
    0207 E010      LDI	R17,0
    0208 DFDB      RCALL	_delay50ms
    0209 9563      INC	R22
    020A 3064      CPI	R22,4
    020B F398      BCS	0x01FF
(0060) 		}
(0061) 		j=0x01;
    020C E041      LDI	R20,1
(0062) 		for(i=0;i<8;i++)
    020D 2766      CLR	R22
    020E C006      RJMP	0x0215
(0063) 		{
(0064) 			j<<=1;
    020F 0F44      LSL	R20
(0065) 			LED_PORT=j;
    0210 BB42      OUT	0x12,R20
(0066) 			delay50ms(10);
    0211 E00A      LDI	R16,0xA
    0212 E010      LDI	R17,0
    0213 DFD0      RCALL	_delay50ms
    0214 9563      INC	R22
    0215 3068      CPI	R22,0x8
    0216 F3C0      BCS	0x020F
(0067) 		}
(0068) 		j=0x80;
    0217 E840      LDI	R20,0x80
(0069) 		for(i=0;i<8;i++)
    0218 2766      CLR	R22
    0219 C006      RJMP	0x0220
(0070) 		{
(0071) 			j>>=1;
    021A 9546      LSR	R20
(0072) 			LED_PORT=j;
    021B BB42      OUT	0x12,R20
(0073) 			delay50ms(10);
FILE: <library>
    021C E00A      LDI	R16,0xA
    021D E010      LDI	R17,0
    021E DFC5      RCALL	_delay50ms
    021F 9563      INC	R22
    0220 3068      CPI	R22,0x8
    0221 F3C0      BCS	0x021A
    0222 CFDA      RJMP	0x01FD
    0223 9508      RET
push_arg4:
    0224 933A      ST	R19,-Y
    0225 932A      ST	R18,-Y
push_arg2:
    0226 931A      ST	R17,-Y
    0227 930A      ST	R16,-Y
    0228 9508      RET
div32u:
    0229 94E8      BCLR	6
    022A C001      RJMP	0x022C
mod32u:
    022B 9468      BSET	6
    022C D02F      RCALL	long_div_prolog
    022D 24CC      CLR	R12
    022E C008      RJMP	0x0237
div32s:
    022F 94E8      BCLR	6
    0230 C001      RJMP	0x0232
mod32s:
    0231 9468      BSET	6
    0232 D029      RCALL	long_div_prolog
    0233 FD37      SBRC	R19,7
    0234 D053      RCALL	neg_R16_R19
    0235 FDB7      SBRC	R27,7
    0236 D05A      RCALL	neg_R24_R27
    0237 2477      CLR	R7
    0238 2488      CLR	R8
    0239 2499      CLR	R9
    023A 24AA      CLR	R10
    023B 24BB      CLR	R11
    023C D041      RCALL	tst_R16_R19
    023D F0C1      BEQ	0x0256
    023E D044      RCALL	tst_R24_R27
    023F F0B1      BEQ	0x0256
    0240 E2E8      LDI	R30,0x28
    0241 0F00      LSL	R16
    0242 1F11      ROL	R17
    0243 1F22      ROL	R18
    0244 1F33      ROL	R19
    0245 1C77      ROL	R7
    0246 1C88      ROL	R8
    0247 1C99      ROL	R9
    0248 1CAA      ROL	R10
    0249 1CBB      ROL	R11
    024A 1688      CP	R8,R24
    024B 0699      CPC	R9,R25
    024C 06AA      CPC	R10,R26
    024D 06BB      CPC	R11,R27
    024E F028      BCS	0x0254
    024F 1A88      SUB	R8,R24
    0250 0A99      SBC	R9,R25
    0251 0AAA      SBC	R10,R26
    0252 0ABB      SBC	R11,R27
    0253 9503      INC	R16
    0254 95EA      DEC	R30
    0255 F759      BNE	0x0241
    0256 F426      BRTC	0x025B
    0257 2D08      MOV	R16,R8
    0258 2D19      MOV	R17,R9
    0259 2D2A      MOV	R18,R10
    025A 2D3B      MOV	R19,R11
    025B C013      RJMP	long_div_epilog
long_div_prolog:
    025C 927A      ST	R7,-Y
    025D 928A      ST	R8,-Y
    025E 929A      ST	R9,-Y
    025F 92AA      ST	R10,-Y
    0260 92BA      ST	R11,-Y
    0261 92CA      ST	R12,-Y
    0262 93EA      ST	R30,-Y
    0263 938A      ST	R24,-Y
    0264 939A      ST	R25,-Y
    0265 93AA      ST	R26,-Y
    0266 93BA      ST	R27,-Y
    0267 858B      LDD	R24,Y+11
    0268 859C      LDD	R25,Y+12
    0269 85AD      LDD	R26,Y+13
    026A 85BE      LDD	R27,Y+14
    026B 2EC3      MOV	R12,R19
    026C F00E      BRTS	0x026E
    026D 26CB      EOR	R12,R27
    026E 9508      RET
long_div_epilog:
    026F FCC7      SBRC	R12,7
    0270 D017      RCALL	neg_R16_R19
    0271 91B9      LD	R27,Y+
    0272 91A9      LD	R26,Y+
    0273 9199      LD	R25,Y+
    0274 9189      LD	R24,Y+
    0275 91E9      LD	R30,Y+
    0276 90C9      LD	R12,Y+
    0277 90B9      LD	R11,Y+
    0278 90A9      LD	R10,Y+
    0279 9099      LD	R9,Y+
    027A 9089      LD	R8,Y+
    027B 9079      LD	R7,Y+
    027C 9624      ADIW	R28,4
    027D 9508      RET
tst_R16_R19:
    027E 2FE0      MOV	R30,R16
    027F 2BE1      OR	R30,R17
    0280 2BE2      OR	R30,R18
    0281 2BE3      OR	R30,R19
    0282 9508      RET
tst_R24_R27:
    0283 2FE8      MOV	R30,R24
    0284 2BE9      OR	R30,R25
    0285 2BEA      OR	R30,R26
    0286 2BEB      OR	R30,R27
    0287 9508      RET
neg_R16_R19:
    0288 9500      COM	R16
    0289 9510      COM	R17
    028A 9520      COM	R18
    028B 9530      COM	R19
    028C 5F0F      SUBI	R16,0xFF
    028D 4F1F      SBCI	R17,0xFF
    028E 4F2F      SBCI	R18,0xFF
    028F 4F3F      SBCI	R19,0xFF
    0290 9508      RET
neg_R24_R27:
    0291 9580      COM	R24
    0292 9590      COM	R25
    0293 95A0      COM	R26
    0294 95B0      COM	R27
    0295 5F8F      SUBI	R24,0xFF
    0296 4F9F      SBCI	R25,0xFF
    0297 4FAF      SBCI	R26,0xFF
    0298 4FBF      SBCI	R27,0xFF
    0299 9508      RET
empy32s:
empy32u:
    029A 940E02EF  CALL	long_prolog
    029C 927F      PUSH	R7
    029D 940E0308  CALL	tstzero1
    029F F139      BEQ	0x02C7
    02A0 2477      CLR	R7
    02A1 940E030E  CALL	tstzero2
    02A3 F419      BNE	0x02A7
    02A4 018C      MOVW	R16,R24
    02A5 019D      MOVW	R18,R26
    02A6 C020      RJMP	0x02C7
    02A7 9F08      MUL	R16,R24
    02A8 2CB0      MOV	R11,R0
    02A9 2CA1      MOV	R10,R1
    02AA 9F28      MUL	R18,R24
    02AB 2C90      MOV	R9,R0
    02AC 2C81      MOV	R8,R1
    02AD 9F18      MUL	R17,R24
    02AE 0CA0      ADD	R10,R0
    02AF 1C91      ADC	R9,R1
    02B0 1C87      ADC	R8,R7
    02B1 9F09      MUL	R16,R25
    02B2 0CA0      ADD	R10,R0
    02B3 1C91      ADC	R9,R1
    02B4 1C87      ADC	R8,R7
    02B5 9F19      MUL	R17,R25
    02B6 0C90      ADD	R9,R0
    02B7 1C81      ADC	R8,R1
    02B8 9F0A      MUL	R16,R26
    02B9 0C90      ADD	R9,R0
    02BA 1C81      ADC	R8,R1
    02BB 9F38      MUL	R19,R24
    02BC 0C80      ADD	R8,R0
    02BD 9F29      MUL	R18,R25
    02BE 0C80      ADD	R8,R0
    02BF 9F1A      MUL	R17,R26
    02C0 0C80      ADD	R8,R0
    02C1 9F0B      MUL	R16,R27
    02C2 0C80      ADD	R8,R0
    02C3 2D0B      MOV	R16,R11
    02C4 2D1A      MOV	R17,R10
    02C5 2D29      MOV	R18,R9
    02C6 2D38      MOV	R19,R8
    02C7 907F      POP	R7
    02C8 940C02FD  JMP	long_epilog
pop_gset2:
    02CA E0E2      LDI	R30,2
    02CB 940C02DC  JMP	pop
pop_gset4:
    02CD E0E8      LDI	R30,0x8
    02CE 940C02DC  JMP	pop
push_gset5:
    02D0 92FA      ST	R15,-Y
    02D1 92EA      ST	R14,-Y
push_gset4:
    02D2 92DA      ST	R13,-Y
    02D3 92CA      ST	R12,-Y
push_gset3:
    02D4 92BA      ST	R11,-Y
    02D5 92AA      ST	R10,-Y
push_gset2:
    02D6 937A      ST	R23,-Y
    02D7 936A      ST	R22,-Y
push_gset1:
    02D8 935A      ST	R21,-Y
    02D9 934A      ST	R20,-Y
    02DA 9508      RET
pop_gset1:
    02DB E0E1      LDI	R30,1
pop:
    02DC 9149      LD	R20,Y+
    02DD 9159      LD	R21,Y+
    02DE FDE0      SBRC	R30,0
    02DF 9508      RET
    02E0 9169      LD	R22,Y+
    02E1 9179      LD	R23,Y+
    02E2 FDE1      SBRC	R30,1
    02E3 9508      RET
    02E4 90A9      LD	R10,Y+
    02E5 90B9      LD	R11,Y+
    02E6 FDE2      SBRC	R30,2
    02E7 9508      RET
    02E8 90C9      LD	R12,Y+
    02E9 90D9      LD	R13,Y+
    02EA FDE3      SBRC	R30,3
    02EB 9508      RET
    02EC 90E9      LD	R14,Y+
    02ED 90F9      LD	R15,Y+
    02EE 9508      RET
long_prolog:
    02EF 928A      ST	R8,-Y
    02F0 929A      ST	R9,-Y
    02F1 92AA      ST	R10,-Y
    02F2 92BA      ST	R11,-Y
    02F3 93EA      ST	R30,-Y
    02F4 938A      ST	R24,-Y
    02F5 939A      ST	R25,-Y
    02F6 93AA      ST	R26,-Y
    02F7 93BA      ST	R27,-Y
    02F8 8589      LDD	R24,Y+9
    02F9 859A      LDD	R25,Y+10
    02FA 85AB      LDD	R26,Y+11
    02FB 85BC      LDD	R27,Y+12
    02FC 9508      RET
long_epilog:
    02FD 91B9      LD	R27,Y+
    02FE 91A9      LD	R26,Y+
    02FF 9199      LD	R25,Y+
    0300 9189      LD	R24,Y+
    0301 91E9      LD	R30,Y+
    0302 90B9      LD	R11,Y+
    0303 90A9      LD	R10,Y+
    0304 9099      LD	R9,Y+
    0305 9089      LD	R8,Y+
    0306 9624      ADIW	R28,4
    0307 9508      RET
tstzero1:
    0308 27EE      CLR	R30
    0309 2BE0      OR	R30,R16
    030A 2BE1      OR	R30,R17
    030B 2BE2      OR	R30,R18
    030C 2BE3      OR	R30,R19
    030D 9508      RET
tstzero2:
    030E 27EE      CLR	R30
    030F 2BE8      OR	R30,R24
    0310 2BE9      OR	R30,R25
    0311 2BEA      OR	R30,R26
    0312 2BEB      OR	R30,R27
    0313 9508      RET

⌨️ 快捷键说明

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