📄 pcf8563.lis
字号:
007C ; for(;num>0;num--)
007C 08C0 xjmp L23
007E L20:
007E .dbline 95
007E .dbline 96
007E FB01 movw R30,R22
0080 0081 ldd R16,z+0
0082 0E940000 xcall _i2cwt
0086 .dbline 97
0086 6F5F subi R22,255 ; offset = 1
0088 7F4F sbci R23,255
008A .dbline 98
008A 0000 nop
008C .dbline 99
008C L21:
008C .dbline 94
008C 4A95 dec R20
008E L23:
008E .dbline 94
008E 2224 clr R2
0090 2416 cp R2,R20
0092 A8F3 brlo L20
0094 .dbline 100
0094 ; {
0094 ; i2cwt(*p);
0094 ; p++;
0094 ; _NOP();
0094 ; }
0094 ; }
0094 03C0 xjmp L19
0096 L18:
0096 .dbline 101
0096 ; else syserr=ERR_SLAW;
0096 81E0 ldi R24,1
0098 80930000 sts _syserr,R24
009C L19:
009C .dbline 102
009C ; i2cstop();
009C 0E940000 xcall _i2cstop
00A0 .dbline -2
00A0 L17:
00A0 0E940000 xcall pop_gset4
00A4 .dbline 0 ; func end
00A4 0895 ret
00A6 .dbsym r t 12 c
00A6 .dbsym r num 20 c
00A6 .dbsym r p 22 pc
00A6 .dbsym r add 10 i
00A6 .dbend
00A6 .dbfunc e PCF8536_rd _PCF8536_rd fV
00A6 ; t -> R12
00A6 ; num -> R20
00A6 ; p -> R22,R23
00A6 ; add -> R10,R11
.even
00A6 _PCF8536_rd::
00A6 0E940000 xcall push_gset4
00AA B901 movw R22,R18
00AC 5801 movw R10,R16
00AE 4885 ldd R20,y+8
00B0 .dbline -1
00B0 .dbline 117
00B0 ; }
00B0 ; /*************************************************************************
00B0 ; ** 函数名称: PCF8536_rd(unsigned int add,unsigned char *p,unsigned char num)
00B0 ; ** 功能描述: 读PCF8563
00B0 ; ** 输 入: unsigned int add :高八位为器件地址,低八位为内部寄存器地址
00B0 ; unsigned char *p :读出的数据存放地址的起始地址
00B0 ; unsigned char num :读出数据的个数
00B0 ; ** 输出 :
00B0 ; ** 全局变量:
00B0 ; ** 调用模块:
00B0 ; ** 说明:
00B0 ; ** 注意:
00B0 ; **************************************************************************/
00B0 ; void PCF8536_rd(unsigned int add,unsigned char *p,unsigned char num)
00B0 ; {
00B0 .dbline 119
00B0 ; unsigned char t;
00B0 ; t=add>>8;
00B0 6501 movw R12,R10
00B2 CD2C mov R12,R13
00B4 DD24 clr R13
00B6 .dbline 120
00B6 ; t<<=1;
00B6 CC0C lsl R12
00B8 .dbline 121
00B8 ; i2cstart();
00B8 0E940000 xcall _i2cstart
00BC .dbline 122
00BC ; if(i2cwt(W_ADD_COM+t)==SLAW)
00BC 0C2D mov R16,R12
00BE 0E55 subi R16,94 ; addi 162
00C0 0E940000 xcall _i2cwt
00C4 0831 cpi R16,24
00C6 21F4 brne L25
00C8 .dbline 123
00C8 ; {
00C8 .dbline 124
00C8 ; i2cwt(add);
00C8 0A2D mov R16,R10
00CA 0E940000 xcall _i2cwt
00CE .dbline 125
00CE ; }
00CE 03C0 xjmp L26
00D0 L25:
00D0 .dbline 126
00D0 ; else syserr=ERR_SLAW;
00D0 81E0 ldi R24,1
00D2 80930000 sts _syserr,R24
00D6 L26:
00D6 .dbline 128
00D6 ;
00D6 ; i2cstart();
00D6 0E940000 xcall _i2cstart
00DA .dbline 129
00DA ; if(i2cwt(R_ADD_COM+t)==SLAW)
00DA 0C2D mov R16,R12
00DC 0D55 subi R16,93 ; addi 163
00DE 0E940000 xcall _i2cwt
00E2 0831 cpi R16,24
00E4 21F4 brne L27
00E6 .dbline 130
00E6 ; {
00E6 .dbline 131
00E6 ; i2cwt(add);
00E6 0A2D mov R16,R10
00E8 0E940000 xcall _i2cwt
00EC .dbline 132
00EC ; }
00EC 0BC0 xjmp L32
00EE L27:
00EE .dbline 133
00EE ; else syserr=ERR_SLAW;
00EE 81E0 ldi R24,1
00F0 80930000 sts _syserr,R24
00F4 .dbline 135
00F4 ;
00F4 ; for(;num>0;num--)
00F4 07C0 xjmp L32
00F6 L29:
00F6 .dbline 136
00F6 .dbline 137
00F6 0E940000 xcall _i2crd
00FA FB01 movw R30,R22
00FC 0083 std z+0,R16
00FE .dbline 138
00FE 6F5F subi R22,255 ; offset = 1
0100 7F4F sbci R23,255
0102 .dbline 139
0102 L30:
0102 .dbline 135
0102 4A95 dec R20
0104 L32:
0104 .dbline 135
0104 2224 clr R2
0106 2416 cp R2,R20
0108 B0F3 brlo L29
010A .dbline -2
010A L24:
010A 0E940000 xcall pop_gset4
010E .dbline 0 ; func end
010E 0895 ret
0110 .dbsym r t 12 c
0110 .dbsym r num 20 c
0110 .dbsym r p 22 pc
0110 .dbsym r add 10 i
0110 .dbend
0110 .dbfunc e PCF8563_init _PCF8563_init fV
.even
0110 _PCF8563_init::
0110 .dbline -1
0110 .dbline 152
0110 ; {
0110 ; *p=i2crd();
0110 ; p++;
0110 ; }
0110 ; }
0110 ; /*************************************************************************
0110 ; ** 函数名称: PCF8563_init(void)
0110 ; ** 功能描述: PCF8563初始化
0110 ; ** 输 入:
0110 ; ** 输出 :
0110 ; ** 全局变量:
0110 ; ** 调用模块:
0110 ; ** 说明:
0110 ; ** 注意:
0110 ; **************************************************************************/
0110 ; void PCF8563_init(void)
0110 ; {
0110 .dbline 153
0110 ; clear(write_buff,8);
0110 28E0 ldi R18,8
0112 00E0 ldi R16,<_write_buff
0114 10E0 ldi R17,>_write_buff
0116 74DF xcall _clear
0118 .dbline 154
0118 ; clear(read_buff,8);
0118 28E0 ldi R18,8
011A 00E0 ldi R16,<_read_buff
011C 10E0 ldi R17,>_read_buff
011E 70DF xcall _clear
0120 .dbline 156
0120 ;
0120 ; PCF8536_wt(0x00,0x20);//写寄存器1,停止计时
0120 20E2 ldi R18,32
0122 0027 clr R16
0124 1127 clr R17
0126 77DF xcall _PCF8536_wt
0128 .dbline 158
0128 ; //PCF8536_wt_p(0x02,time,7);//设定时间
0128 ; PCF8536_wt(0x00,0x00);//写寄存器1,开始计时
0128 2227 clr R18
012A 0027 clr R16
012C 1127 clr R17
012E 73DF xcall _PCF8536_wt
0130 .dbline -2
0130 L33:
0130 .dbline 0 ; func end
0130 0895 ret
0132 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0000 _syserr::
0000 .blkb 1
0001 .dbsym e syserr _syserr c
0001 _week_tmp::
0001 .blkb 2
0003 .dbsym e week_tmp _week_tmp pc
0003 _read_buff::
0003 .blkb 8
000B .dbsym e read_buff _read_buff A[8:8]c
000B _write_buff::
000B .blkb 8
0013 .dbsym e write_buff _write_buff A[8:8]c
.area data(ram, con, rel)
0029 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0029 L8:
0029 .blkb 10
.area idata
0029 53617475726461792000 .byte 'S,'a,'t,'u,'r,'d,'a,'y,32,0
.area data(ram, con, rel)
0033 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0033 L7:
0033 .blkb 10
.area idata
0033 20467269646179202000 .byte 32,'F,'r,'i,'d,'a,'y,32,32,0
.area data(ram, con, rel)
003D .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
003D L6:
003D .blkb 10
.area idata
003D 54687572736461792000 .byte 'T,'h,'u,'r,'s,'d,'a,'y,32,0
.area data(ram, con, rel)
0047 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0047 L5:
0047 .blkb 10
.area idata
0047 5765646E657364617900 .byte 'W,'e,'d,'n,'e,'s,'d,'a,'y,0
.area data(ram, con, rel)
0051 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0051 L4:
0051 .blkb 10
.area idata
0051 20547565736461792000 .byte 32,'T,'u,'e,'s,'d,'a,'y,32,0
.area data(ram, con, rel)
005B .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
005B L3:
005B .blkb 10
.area idata
005B 20204D6F6E6461792000 .byte 32,32,'M,'o,'n,'d,'a,'y,32,0
.area data(ram, con, rel)
0065 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
0065 L2:
0065 .blkb 10
.area idata
0065 202053756E6461792000 .byte 32,32,'S,'u,'n,'d,'a,'y,32,0
.area data(ram, con, rel)
006F .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\PCF8563_USART\source\lib\PCF8563.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -