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

📄 wdt.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 4 页
字号:
    01DB 4010      SBCI	R17,0
    01DC 2422      CLR	R2
    01DD 2433      CLR	R3
    01DE 1620      CP	R2,R16
    01DF 0631      CPC	R3,R17
    01E0 F3A4      BLT	0x01D5
(0102)             ;
(0103) }
    01E1 940E02BA  CALL	pop_gset1
    01E3 9508      RET
_delay50ms:
  i                    --> R20
  t                    --> R16
    01E4 940E02B7  CALL	push_gset1
(0104) /*--------------------------------------------------------------------
(0105) 函数全称:50ms 延时
(0106) 函数功能:当然是 50ms延时 啦
(0107) 注意事项:基于7.3728M晶振,稍微有点误差
(0108) 提示说明:调用delay50ms(20),得到1s延时 
(0109) 输    入:
(0110) 返    回:无
(0111) --------------------------------------------------------------------*/
(0112) void delay50ms(sint16 t)
(0113) {
(0114) 	uint16 i; 
(0115) 	for(;t>0;t--)
    01E6 C00B      RJMP	0x01F2
(0116) 		for(i=0;i<52642;i++)
    01E7 2744      CLR	R20
    01E8 2755      CLR	R21
    01E9 C002      RJMP	0x01EC
    01EA 5F4F      SUBI	R20,0xFF
    01EB 4F5F      SBCI	R21,0xFF
    01EC 3A42      CPI	R20,0xA2
    01ED ECED      LDI	R30,0xCD
    01EE 075E      CPC	R21,R30
    01EF F3D0      BCS	0x01EA
    01F0 5001      SUBI	R16,1
    01F1 4010      SBCI	R17,0
    01F2 2422      CLR	R2
    01F3 2433      CLR	R3
    01F4 1620      CP	R2,R16
    01F5 0631      CPC	R3,R17
    01F6 F384      BLT	0x01E7
(0117) 			;								 
(0118) }
    01F7 940E02BA  CALL	pop_gset1
    01F9 9508      RET
FILE: E:\ProductPro\M16SD\ICCAVR\WDT\WDT\WDT.C
(0001) #include <iom16v.h>
(0002) #include "D:\ICC_H\CmmICC.H"
(0003) 
(0004) #define DISP_DDR	DDRD
(0005) #define DISP_PORT	PORTD
(0006) 
(0007) void wdt_init(void)
(0008) {
(0009) 	asm("wdr");			//clr wdt
_wdt_init:
    01FA 95A8      WDR
(0010) 	WDTCR=0x0F;			//enable wdt,clk = 2048,2.1S
    01FB E08F      LDI	R24,0xF
    01FC BD81      OUT	0x21,R24
(0011) } 
    01FD 9508      RET
(0012) 
(0013) void main(void) 
(0014) {
(0015) 	uint8 i;
(0016) 	DISP_DDR = 0XFF;
_main:
  i                    --> Y+1
    01FE EF8F      LDI	R24,0xFF
    01FF BB81      OUT	0x11,R24
(0017) 	wdt_init();
    0200 DFF9      RCALL	_wdt_init
    0201 C007      RJMP	0x0209
(0018) 
(0019) 	while(1)
(0020) 	{
(0021) 		PORTD++;
    0202 B382      IN	R24,0x12
    0203 5F8F      SUBI	R24,0xFF
    0204 BB82      OUT	0x12,R24
(0022) 		asm("wdr");	   //喂狗,去除此句将导致MCU复位
    0205 95A8      WDR
(0023) 		delay50ms(20);	
    0206 E104      LDI	R16,0x14
    0207 E010      LDI	R17,0
    0208 DFDB      RCALL	_delay50ms
    0209 CFF8      RJMP	0x0202
(0024) 	} 			
(0025) }
FILE: <library>
    020A 9508      RET
push_arg4:
    020B 933A      ST	R19,-Y
    020C 932A      ST	R18,-Y
push_arg2:
    020D 931A      ST	R17,-Y
    020E 930A      ST	R16,-Y
    020F 9508      RET
div32u:
    0210 94E8      BCLR	6
    0211 C001      RJMP	0x0213
mod32u:
    0212 9468      BSET	6
    0213 D02F      RCALL	long_div_prolog
    0214 24CC      CLR	R12
    0215 C008      RJMP	0x021E
div32s:
    0216 94E8      BCLR	6
    0217 C001      RJMP	0x0219
mod32s:
    0218 9468      BSET	6
    0219 D029      RCALL	long_div_prolog
    021A FD37      SBRC	R19,7
    021B D053      RCALL	neg_R16_R19
    021C FDB7      SBRC	R27,7
    021D D05A      RCALL	neg_R24_R27
    021E 2477      CLR	R7
    021F 2488      CLR	R8
    0220 2499      CLR	R9
    0221 24AA      CLR	R10
    0222 24BB      CLR	R11
    0223 D041      RCALL	tst_R16_R19
    0224 F0C1      BEQ	0x023D
    0225 D044      RCALL	tst_R24_R27
    0226 F0B1      BEQ	0x023D
    0227 E2E8      LDI	R30,0x28
    0228 0F00      LSL	R16
    0229 1F11      ROL	R17
    022A 1F22      ROL	R18
    022B 1F33      ROL	R19
    022C 1C77      ROL	R7
    022D 1C88      ROL	R8
    022E 1C99      ROL	R9
    022F 1CAA      ROL	R10
    0230 1CBB      ROL	R11
    0231 1688      CP	R8,R24
    0232 0699      CPC	R9,R25
    0233 06AA      CPC	R10,R26
    0234 06BB      CPC	R11,R27
    0235 F028      BCS	0x023B
    0236 1A88      SUB	R8,R24
    0237 0A99      SBC	R9,R25
    0238 0AAA      SBC	R10,R26
    0239 0ABB      SBC	R11,R27
    023A 9503      INC	R16
    023B 95EA      DEC	R30
    023C F759      BNE	0x0228
    023D F426      BRTC	0x0242
    023E 2D08      MOV	R16,R8
    023F 2D19      MOV	R17,R9
    0240 2D2A      MOV	R18,R10
    0241 2D3B      MOV	R19,R11
    0242 C013      RJMP	long_div_epilog
long_div_prolog:
    0243 927A      ST	R7,-Y
    0244 928A      ST	R8,-Y
    0245 929A      ST	R9,-Y
    0246 92AA      ST	R10,-Y
    0247 92BA      ST	R11,-Y
    0248 92CA      ST	R12,-Y
    0249 93EA      ST	R30,-Y
    024A 938A      ST	R24,-Y
    024B 939A      ST	R25,-Y
    024C 93AA      ST	R26,-Y
    024D 93BA      ST	R27,-Y
    024E 858B      LDD	R24,Y+11
    024F 859C      LDD	R25,Y+12
    0250 85AD      LDD	R26,Y+13
    0251 85BE      LDD	R27,Y+14
    0252 2EC3      MOV	R12,R19
    0253 F00E      BRTS	0x0255
    0254 26CB      EOR	R12,R27
    0255 9508      RET
long_div_epilog:
    0256 FCC7      SBRC	R12,7
    0257 D017      RCALL	neg_R16_R19
    0258 91B9      LD	R27,Y+
    0259 91A9      LD	R26,Y+
    025A 9199      LD	R25,Y+
    025B 9189      LD	R24,Y+
    025C 91E9      LD	R30,Y+
    025D 90C9      LD	R12,Y+
    025E 90B9      LD	R11,Y+
    025F 90A9      LD	R10,Y+
    0260 9099      LD	R9,Y+
    0261 9089      LD	R8,Y+
    0262 9079      LD	R7,Y+
    0263 9624      ADIW	R28,4
    0264 9508      RET
tst_R16_R19:
    0265 2FE0      MOV	R30,R16
    0266 2BE1      OR	R30,R17
    0267 2BE2      OR	R30,R18
    0268 2BE3      OR	R30,R19
    0269 9508      RET
tst_R24_R27:
    026A 2FE8      MOV	R30,R24
    026B 2BE9      OR	R30,R25
    026C 2BEA      OR	R30,R26
    026D 2BEB      OR	R30,R27
    026E 9508      RET
neg_R16_R19:
    026F 9500      COM	R16
    0270 9510      COM	R17
    0271 9520      COM	R18
    0272 9530      COM	R19
    0273 5F0F      SUBI	R16,0xFF
    0274 4F1F      SBCI	R17,0xFF
    0275 4F2F      SBCI	R18,0xFF
    0276 4F3F      SBCI	R19,0xFF
    0277 9508      RET
neg_R24_R27:
    0278 9580      COM	R24
    0279 9590      COM	R25
    027A 95A0      COM	R26
    027B 95B0      COM	R27
    027C 5F8F      SUBI	R24,0xFF
    027D 4F9F      SBCI	R25,0xFF
    027E 4FAF      SBCI	R26,0xFF
    027F 4FBF      SBCI	R27,0xFF
    0280 9508      RET
empy32u:
empy32s:
    0281 940E02DA  CALL	long_prolog
    0283 927F      PUSH	R7
    0284 940E02F3  CALL	tstzero1
    0286 F139      BEQ	0x02AE
    0287 2477      CLR	R7
    0288 940E02F9  CALL	tstzero2
    028A F419      BNE	0x028E
    028B 018C      MOVW	R16,R24
    028C 019D      MOVW	R18,R26
    028D C020      RJMP	0x02AE
    028E 9F08      MUL	R16,R24
    028F 2CB0      MOV	R11,R0
    0290 2CA1      MOV	R10,R1
    0291 9F28      MUL	R18,R24
    0292 2C90      MOV	R9,R0
    0293 2C81      MOV	R8,R1
    0294 9F18      MUL	R17,R24
    0295 0CA0      ADD	R10,R0
    0296 1C91      ADC	R9,R1
    0297 1C87      ADC	R8,R7
    0298 9F09      MUL	R16,R25
    0299 0CA0      ADD	R10,R0
    029A 1C91      ADC	R9,R1
    029B 1C87      ADC	R8,R7
    029C 9F19      MUL	R17,R25
    029D 0C90      ADD	R9,R0
    029E 1C81      ADC	R8,R1
    029F 9F0A      MUL	R16,R26
    02A0 0C90      ADD	R9,R0
    02A1 1C81      ADC	R8,R1
    02A2 9F38      MUL	R19,R24
    02A3 0C80      ADD	R8,R0
    02A4 9F29      MUL	R18,R25
    02A5 0C80      ADD	R8,R0
    02A6 9F1A      MUL	R17,R26
    02A7 0C80      ADD	R8,R0
    02A8 9F0B      MUL	R16,R27
    02A9 0C80      ADD	R8,R0
    02AA 2D0B      MOV	R16,R11
    02AB 2D1A      MOV	R17,R10
    02AC 2D29      MOV	R18,R9
    02AD 2D38      MOV	R19,R8
    02AE 907F      POP	R7
    02AF 940C02E8  JMP	long_epilog
pop_gset2:
    02B1 E0E2      LDI	R30,2
    02B2 940C02BB  JMP	pop
pop_gset4:
    02B4 E0E8      LDI	R30,0x8
    02B5 940C02BB  JMP	pop
push_gset1:
    02B7 935A      ST	R21,-Y
    02B8 934A      ST	R20,-Y
    02B9 9508      RET
pop_gset1:
    02BA E0E1      LDI	R30,1
pop:
    02BB 9149      LD	R20,Y+
    02BC 9159      LD	R21,Y+
    02BD FDE0      SBRC	R30,0
    02BE 9508      RET
    02BF 9169      LD	R22,Y+
    02C0 9179      LD	R23,Y+
    02C1 FDE1      SBRC	R30,1
    02C2 9508      RET
    02C3 90A9      LD	R10,Y+
    02C4 90B9      LD	R11,Y+
    02C5 FDE2      SBRC	R30,2
    02C6 9508      RET
    02C7 90C9      LD	R12,Y+
    02C8 90D9      LD	R13,Y+
    02C9 FDE3      SBRC	R30,3
    02CA 9508      RET
    02CB 90E9      LD	R14,Y+
    02CC 90F9      LD	R15,Y+
    02CD 9508      RET
push_gset2:
    02CE 937A      ST	R23,-Y
    02CF 936A      ST	R22,-Y
    02D0 940C02B7  JMP	push_gset1
push_gset3:
    02D2 92BA      ST	R11,-Y
    02D3 92AA      ST	R10,-Y
    02D4 940C02CE  JMP	push_gset2
push_gset4:
    02D6 92DA      ST	R13,-Y
    02D7 92CA      ST	R12,-Y
    02D8 940C02D2  JMP	push_gset3
long_prolog:
    02DA 928A      ST	R8,-Y
    02DB 929A      ST	R9,-Y
    02DC 92AA      ST	R10,-Y
    02DD 92BA      ST	R11,-Y
    02DE 93EA      ST	R30,-Y
    02DF 938A      ST	R24,-Y
    02E0 939A      ST	R25,-Y
    02E1 93AA      ST	R26,-Y
    02E2 93BA      ST	R27,-Y
    02E3 8589      LDD	R24,Y+9
    02E4 859A      LDD	R25,Y+10
    02E5 85AB      LDD	R26,Y+11
    02E6 85BC      LDD	R27,Y+12
    02E7 9508      RET
long_epilog:
    02E8 91B9      LD	R27,Y+
    02E9 91A9      LD	R26,Y+
    02EA 9199      LD	R25,Y+
    02EB 9189      LD	R24,Y+
    02EC 91E9      LD	R30,Y+
    02ED 90B9      LD	R11,Y+
    02EE 90A9      LD	R10,Y+
    02EF 9099      LD	R9,Y+
    02F0 9089      LD	R8,Y+
    02F1 9624      ADIW	R28,4
    02F2 9508      RET
tstzero1:
    02F3 27EE      CLR	R30
    02F4 2BE0      OR	R30,R16
    02F5 2BE1      OR	R30,R17
    02F6 2BE2      OR	R30,R18
    02F7 2BE3      OR	R30,R19
    02F8 9508      RET
tstzero2:
    02F9 27EE      CLR	R30
    02FA 2BE8      OR	R30,R24
    02FB 2BE9      OR	R30,R25
    02FC 2BEA      OR	R30,R26
    02FD 2BEB      OR	R30,R27
    02FE 9508      RET

⌨️ 快捷键说明

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