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

📄 pcf8563.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0025) 		圆版时间:   2005-03-25
(0026) ----------------------------------------------------------------------
(0027) 接入模块: PCF8563
(0028) 接口说明: 见程序
(0029) ----------------------------------------------------------------------
(0030) 注意事项:
(0031) 		* 
(0032) ----------------------------------------------------------------------
(0033) 10101010101010101010101010101010101010101010101010101010101010101010*/
(0034) 
(0035) #include <iom16v.h>
(0036) 
(0037) #define WR_DADR		0xA2
(0038) #define RD_DADR		0xA3
(0039) #include "D:\ICC_H\PCF8563.H"
(0040) 
(0041) #define DISP_DDR	DDRA
(0042) #define DISP_PORT	PORTA
(0043) 
(0044) /*--------------------------------------------------------------------
(0045) 函数全称:
(0046) 函数功能:
(0047) 注意事项:
(0048) 提示说明:
(0049) 输    入:
(0050) 返    回:
(0051) --------------------------------------------------------------------*/
(0052) void errDisp()	  	   	//错误显示
(0053) {
(0054)  	DISP_PORT = 0XAA;
_errDisp:
    02BD EA8A      LDI	R24,0xAA
    02BE BB8B      OUT	0x1B,R24
(0055) 	delay50ms(2);
    02BF E002      LDI	R16,2
    02C0 E010      LDI	R17,0
    02C1 DF24      RCALL	_delay50ms
(0056) 	DISP_PORT = 0X00;
    02C2 2422      CLR	R2
    02C3 BA2B      OUT	0x1B,R2
(0057) 	delay50ms(2);
    02C4 E002      LDI	R16,2
    02C5 E010      LDI	R17,0
    02C6 DF1F      RCALL	_delay50ms
(0058)  	DISP_PORT = 0X55;
    02C7 E585      LDI	R24,0x55
    02C8 BB8B      OUT	0x1B,R24
(0059) 	delay50ms(2);
    02C9 E002      LDI	R16,2
    02CA E010      LDI	R17,0
    02CB DF1A      RCALL	_delay50ms
(0060) 	DISP_PORT = 0X00;
    02CC 2422      CLR	R2
    02CD BA2B      OUT	0x1B,R2
(0061) 	delay50ms(2);
    02CE E002      LDI	R16,2
    02CF E010      LDI	R17,0
(0062) }
    02D0 CF15      RJMP	_delay50ms
(0063) /*--------------------------------------------------------------------
(0064) 函数全称:
(0065) 函数功能:
(0066) 注意事项:
(0067) 提示说明:假设系统时钟为16M,则TWI波特率=CLK/(16+2*(TWBR)*4)=400K
(0068) 输    入:
(0069) 返    回:
(0070) --------------------------------------------------------------------*/
(0071) void twi_init()	 	 	//TWI(I2C)初始化
(0072) {
(0073) 	TWBR = 0X03;		//设置TWI波特率  
_twi_init:
    02D1 E083      LDI	R24,3
    02D2 B980      OUT	0x00,R24
(0074) 	TWSR &= 0XFC;		//设置TWI预分频 为 1
    02D3 B181      IN	R24,0x01
    02D4 7F8C      ANDI	R24,0xFC
    02D5 B981      OUT	0x01,R24
(0075) }
    02D6 9508      RET
_main:
  time                 --> Y+1
    02D7 9724      SBIW	R28,4
(0076) /*--------------------------------------------------------------------
(0077) 函数全称:
(0078) 函数功能:
(0079) 注意事项:
(0080) 提示说明:
(0081) 输    入:
(0082) 返    回:
(0083) --------------------------------------------------------------------*/
(0084) void main()
(0085) {
(0086) 	uint8 time[3]={0,1,2};
    02D8 E584      LDI	R24,0x54
    02D9 E090      LDI	R25,0
    02DA 01FE      MOVW	R30,R28
    02DB 9631      ADIW	R30,1
    02DC E003      LDI	R16,3
    02DD E010      LDI	R17,0
    02DE 93FA      ST	R31,-Y
    02DF 93EA      ST	R30,-Y
    02E0 939A      ST	R25,-Y
    02E1 938A      ST	R24,-Y
    02E2 940E0406  CALL	asgncblk
(0087) 	
(0088) 	DISP_DDR = 0XFF;
    02E4 EF8F      LDI	R24,0xFF
    02E5 BB8A      OUT	0x1A,R24
(0089) 	twi_init();	
    02E6 DFEA      RCALL	_twi_init
(0090) 	PCF8563_init();	
    02E7 DFCF      RCALL	_PCF8563_init
(0091) 	PCF8563_setTime(9,32,16);
    02E8 E180      LDI	R24,0x10
    02E9 8388      STD	Y+0,R24
    02EA E220      LDI	R18,0x20
    02EB E009      LDI	R16,0x9
    02EC DF91      RCALL	_PCF8563_setTime
    02ED C006      RJMP	0x02F4
(0092) 	
(0093) 	while(1)
(0094) 	{	
(0095) 		PCF8563_getTime(time);
    02EE 018E      MOVW	R16,R28
    02EF 5F0F      SUBI	R16,0xFF
    02F0 4F1F      SBCI	R17,0xFF
    02F1 DF35      RCALL	_PCF8563_getTime
(0096) 		DISP_PORT = time[0];
    02F2 8029      LDD	R2,Y+1
    02F3 BA2B      OUT	0x1B,R2
    02F4 CFF9      RJMP	0x02EE
(0097) 	}
(0098) }
FILE: <library>
    02F5 9624      ADIW	R28,4
    02F6 9508      RET
push_arg4:
    02F7 933A      ST	R19,-Y
    02F8 932A      ST	R18,-Y
push_arg2:
    02F9 931A      ST	R17,-Y
    02FA 930A      ST	R16,-Y
    02FB 9508      RET
div32u:
    02FC 94E8      BCLR	6
    02FD C001      RJMP	0x02FF
mod32u:
    02FE 9468      BSET	6
    02FF D02F      RCALL	long_div_prolog
    0300 24CC      CLR	R12
    0301 C008      RJMP	0x030A
div32s:
    0302 94E8      BCLR	6
    0303 C001      RJMP	0x0305
mod32s:
    0304 9468      BSET	6
    0305 D029      RCALL	long_div_prolog
    0306 FD37      SBRC	R19,7
    0307 D053      RCALL	neg_R16_R19
    0308 FDB7      SBRC	R27,7
    0309 D05A      RCALL	neg_R24_R27
    030A 2477      CLR	R7
    030B 2488      CLR	R8
    030C 2499      CLR	R9
    030D 24AA      CLR	R10
    030E 24BB      CLR	R11
    030F D041      RCALL	tst_R16_R19
    0310 F0C1      BEQ	0x0329
    0311 D044      RCALL	tst_R24_R27
    0312 F0B1      BEQ	0x0329
    0313 E2E8      LDI	R30,0x28
    0314 0F00      LSL	R16
    0315 1F11      ROL	R17
    0316 1F22      ROL	R18
    0317 1F33      ROL	R19
    0318 1C77      ROL	R7
    0319 1C88      ROL	R8
    031A 1C99      ROL	R9
    031B 1CAA      ROL	R10
    031C 1CBB      ROL	R11
    031D 1688      CP	R8,R24
    031E 0699      CPC	R9,R25
    031F 06AA      CPC	R10,R26
    0320 06BB      CPC	R11,R27
    0321 F028      BCS	0x0327
    0322 1A88      SUB	R8,R24
    0323 0A99      SBC	R9,R25
    0324 0AAA      SBC	R10,R26
    0325 0ABB      SBC	R11,R27
    0326 9503      INC	R16
    0327 95EA      DEC	R30
    0328 F759      BNE	0x0314
    0329 F426      BRTC	0x032E
    032A 2D08      MOV	R16,R8
    032B 2D19      MOV	R17,R9
    032C 2D2A      MOV	R18,R10
    032D 2D3B      MOV	R19,R11
    032E C013      RJMP	long_div_epilog
long_div_prolog:
    032F 927A      ST	R7,-Y
    0330 928A      ST	R8,-Y
    0331 929A      ST	R9,-Y
    0332 92AA      ST	R10,-Y
    0333 92BA      ST	R11,-Y
    0334 92CA      ST	R12,-Y
    0335 93EA      ST	R30,-Y
    0336 938A      ST	R24,-Y
    0337 939A      ST	R25,-Y
    0338 93AA      ST	R26,-Y
    0339 93BA      ST	R27,-Y
    033A 858B      LDD	R24,Y+11
    033B 859C      LDD	R25,Y+12
    033C 85AD      LDD	R26,Y+13
    033D 85BE      LDD	R27,Y+14
    033E 2EC3      MOV	R12,R19
    033F F00E      BRTS	0x0341
    0340 26CB      EOR	R12,R27
    0341 9508      RET
long_div_epilog:
    0342 FCC7      SBRC	R12,7
    0343 D017      RCALL	neg_R16_R19
    0344 91B9      LD	R27,Y+
    0345 91A9      LD	R26,Y+
    0346 9199      LD	R25,Y+
    0347 9189      LD	R24,Y+
    0348 91E9      LD	R30,Y+
    0349 90C9      LD	R12,Y+
    034A 90B9      LD	R11,Y+
    034B 90A9      LD	R10,Y+
    034C 9099      LD	R9,Y+
    034D 9089      LD	R8,Y+
    034E 9079      LD	R7,Y+
    034F 9624      ADIW	R28,4
    0350 9508      RET
tst_R16_R19:
    0351 2FE0      MOV	R30,R16
    0352 2BE1      OR	R30,R17
    0353 2BE2      OR	R30,R18
    0354 2BE3      OR	R30,R19
    0355 9508      RET
tst_R24_R27:
    0356 2FE8      MOV	R30,R24
    0357 2BE9      OR	R30,R25
    0358 2BEA      OR	R30,R26
    0359 2BEB      OR	R30,R27
    035A 9508      RET
neg_R16_R19:
    035B 9500      COM	R16
    035C 9510      COM	R17
    035D 9520      COM	R18
    035E 9530      COM	R19
    035F 5F0F      SUBI	R16,0xFF
    0360 4F1F      SBCI	R17,0xFF
    0361 4F2F      SBCI	R18,0xFF
    0362 4F3F      SBCI	R19,0xFF
    0363 9508      RET
neg_R24_R27:
    0364 9580      COM	R24
    0365 9590      COM	R25
    0366 95A0      COM	R26
    0367 95B0      COM	R27
    0368 5F8F      SUBI	R24,0xFF
    0369 4F9F      SBCI	R25,0xFF
    036A 4FAF      SBCI	R26,0xFF
    036B 4FBF      SBCI	R27,0xFF
    036C 9508      RET
mod8u:
    036D 9468      BSET	6
    036E C001      RJMP	xdiv8u
div8u:
    036F 94E8      BCLR	6
xdiv8u:
    0370 932A      ST	R18,-Y
    0371 92FA      ST	R15,-Y
    0372 92EA      ST	R14,-Y
    0373 24FF      CLR	R15
    0374 24EE      CLR	R14
    0375 E120      LDI	R18,0x10
    0376 0F00      LSL	R16
    0377 1CFF      ROL	R15
    0378 1CEE      ROL	R14
    0379 16E1      CP	R14,R17
    037A F010      BCS	0x037D
    037B 1AE1      SUB	R14,R17
    037C 9503      INC	R16
    037D 952A      DEC	R18
    037E F7B9      BNE	0x0376
    037F F40E      BRTC	0x0381
    0380 2D0E      MOV	R16,R14
    0381 90E9      LD	R14,Y+
    0382 90F9      LD	R15,Y+
    0383 9129      LD	R18,Y+
    0384 9508      RET
empy32s:
empy32u:
    0385 940E03E1  CALL	long_prolog
    0387 927F      PUSH	R7
    0388 940E03FA  CALL	tstzero1
    038A F139      BEQ	0x03B2
    038B 2477      CLR	R7
    038C 940E0400  CALL	tstzero2
    038E F419      BNE	0x0392
    038F 018C      MOVW	R16,R24
    0390 019D      MOVW	R18,R26
    0391 C020      RJMP	0x03B2
    0392 9F08      MUL	R16,R24
    0393 2CB0      MOV	R11,R0
    0394 2CA1      MOV	R10,R1
    0395 9F28      MUL	R18,R24
    0396 2C90      MOV	R9,R0
    0397 2C81      MOV	R8,R1
    0398 9F18      MUL	R17,R24
    0399 0CA0      ADD	R10,R0
    039A 1C91      ADC	R9,R1
    039B 1C87      ADC	R8,R7
    039C 9F09      MUL	R16,R25
    039D 0CA0      ADD	R10,R0
    039E 1C91      ADC	R9,R1
    039F 1C87      ADC	R8,R7
    03A0 9F19      MUL	R17,R25
    03A1 0C90      ADD	R9,R0
    03A2 1C81      ADC	R8,R1
    03A3 9F0A      MUL	R16,R26
    03A4 0C90      ADD	R9,R0
    03A5 1C81      ADC	R8,R1
    03A6 9F38      MUL	R19,R24
    03A7 0C80      ADD	R8,R0
    03A8 9F29      MUL	R18,R25
    03A9 0C80      ADD	R8,R0
    03AA 9F1A      MUL	R17,R26
    03AB 0C80      ADD	R8,R0
    03AC 9F0B      MUL	R16,R27
    03AD 0C80      ADD	R8,R0
    03AE 2D0B      MOV	R16,R11
    03AF 2D1A      MOV	R17,R10
    03B0 2D29      MOV	R18,R9
    03B1 2D38      MOV	R19,R8
    03B2 907F      POP	R7
    03B3 940C03EF  JMP	long_epilog
pop_gset2:
    03B5 E0E2      LDI	R30,2
    03B6 940C03C2  JMP	pop
pop_gset3:
    03B8 E0E4      LDI	R30,4
    03B9 940C03C2  JMP	pop
pop_gset4:
    03BB E0E8      LDI	R30,0x8
    03BC 940C03C2  JMP	pop
push_gset1:
    03BE 935A      ST	R21,-Y
    03BF 934A      ST	R20,-Y
    03C0 9508      RET
pop_gset1:
    03C1 E0E1      LDI	R30,1
pop:
    03C2 9149      LD	R20,Y+
    03C3 9159      LD	R21,Y+
    03C4 FDE0      SBRC	R30,0
    03C5 9508      RET
    03C6 9169      LD	R22,Y+
    03C7 9179      LD	R23,Y+
    03C8 FDE1      SBRC	R30,1
    03C9 9508      RET
    03CA 90A9      LD	R10,Y+
    03CB 90B9      LD	R11,Y+
    03CC FDE2      SBRC	R30,2
    03CD 9508      RET
    03CE 90C9      LD	R12,Y+
    03CF 90D9      LD	R13,Y+
    03D0 FDE3      SBRC	R30,3
    03D1 9508      RET
    03D2 90E9      LD	R14,Y+
    03D3 90F9      LD	R15,Y+
    03D4 9508      RET
push_gset2:
    03D5 937A      ST	R23,-Y
    03D6 936A      ST	R22,-Y
    03D7 940C03BE  JMP	push_gset1
push_gset3:
    03D9 92BA      ST	R11,-Y
    03DA 92AA      ST	R10,-Y
    03DB 940C03D5  JMP	push_gset2
push_gset4:
    03DD 92DA      ST	R13,-Y
    03DE 92CA      ST	R12,-Y
    03DF 940C03D9  JMP	push_gset3
long_prolog:
    03E1 928A      ST	R8,-Y
    03E2 929A      ST	R9,-Y
    03E3 92AA      ST	R10,-Y
    03E4 92BA

⌨️ 快捷键说明

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