📄 1302.lis
字号:
0098 .dbline 68
0098 ;
0098 ; mClrDS1302RST;
0098 9398 cbi 0x12,3
009A .dbline 69
009A ; wait;
009A 0000 nop
009C 0000 nop
009E .dbline 70
009E ; mClrDS1302SCK;
009E 9298 cbi 0x12,2
00A0 .dbline 71
00A0 ; wait;
00A0 0000 nop
00A2 0000 nop
00A4 .dbline 72
00A4 ; wait;
00A4 0000 nop
00A6 0000 nop
00A8 .dbline 73
00A8 ; mSetDS1302RST;
00A8 939A sbi 0x12,3
00AA .dbline 74
00AA ; wait;
00AA 0000 nop
00AC 0000 nop
00AE .dbline 76
00AE ;
00AE ; for(i=0;i<8;i++)
00AE 6627 clr R22
00B0 13C0 xjmp L18
00B2 L15:
00B2 .dbline 77
00B2 ; {
00B2 .dbline 78
00B2 ; if(reg&BIT(i))
00B2 01E0 ldi R16,1
00B4 162F mov R17,R22
00B6 0E940000 xcall lsl8
00BA 2A2C mov R2,R10
00BC 2022 and R2,R16
00BE 11F0 breq L19
00C0 .dbline 79
00C0 ; mSetDS1302IO;
00C0 949A sbi 0x12,4
00C2 01C0 xjmp L20
00C4 L19:
00C4 .dbline 81
00C4 ; else
00C4 ; mClrDS1302IO;
00C4 9498 cbi 0x12,4
00C6 L20:
00C6 .dbline 82
00C6 0000 nop
00C8 0000 nop
00CA .dbline 83
00CA 929A sbi 0x12,2
00CC .dbline 84
00CC 0000 nop
00CE 0000 nop
00D0 .dbline 85
00D0 9298 cbi 0x12,2
00D2 .dbline 86
00D2 0000 nop
00D4 0000 nop
00D6 .dbline 87
00D6 L16:
00D6 .dbline 76
00D6 6395 inc R22
00D8 L18:
00D8 .dbline 76
00D8 6830 cpi R22,8
00DA 58F3 brlo L15
00DC .dbline 89
00DC ; wait;
00DC ; mSetDS1302SCK;
00DC ; wait;
00DC ; mClrDS1302SCK;
00DC ; wait;
00DC ; }
00DC ;
00DC ; mDS1302IO_In;
00DC 8C98 cbi 0x11,4
00DE .dbline 90
00DE ; wait;
00DE 0000 nop
00E0 0000 nop
00E2 .dbline 91
00E2 ; wait;
00E2 0000 nop
00E4 0000 nop
00E6 .dbline 93
00E6 ;
00E6 ; for(i=0;i<8;i++)
00E6 6627 clr R22
00E8 16C0 xjmp L24
00EA L21:
00EA .dbline 94
00EA ; {
00EA .dbline 95
00EA ; if(mTestDS1302IO)
00EA 849B sbis 0x10,4
00EC 06C0 rjmp L25
00EE .dbline 96
00EE ; data |= BIT(i);
00EE 01E0 ldi R16,1
00F0 162F mov R17,R22
00F2 0E940000 xcall lsl8
00F6 402B or R20,R16
00F8 07C0 xjmp L26
00FA L25:
00FA .dbline 98
00FA ; else
00FA ; data &= ~BIT(i);
00FA 01E0 ldi R16,1
00FC 162F mov R17,R22
00FE 0E940000 xcall lsl8
0102 202E mov R2,R16
0104 2094 com R2
0106 4221 and R20,R2
0108 L26:
0108 .dbline 99
0108 929A sbi 0x12,2
010A .dbline 100
010A 0000 nop
010C 0000 nop
010E .dbline 101
010E 9298 cbi 0x12,2
0110 .dbline 102
0110 0000 nop
0112 0000 nop
0114 .dbline 103
0114 L22:
0114 .dbline 93
0114 6395 inc R22
0116 L24:
0116 .dbline 93
0116 6830 cpi R22,8
0118 40F3 brlo L21
011A .dbline 104
011A ; mSetDS1302SCK;
011A ; wait;
011A ; mClrDS1302SCK;
011A ; wait;
011A ; }
011A ; wait;
011A 0000 nop
011C 0000 nop
011E .dbline 105
011E ; mClrDS1302RST;
011E 9398 cbi 0x12,3
0120 .dbline 106
0120 ; wait;
0120 0000 nop
0122 0000 nop
0124 .dbline 108
0124 ;
0124 ; return(data);
0124 042F mov R16,R20
0126 .dbline -2
0126 L14:
0126 0E940000 xcall pop_gset3
012A .dbline 0 ; func end
012A 0895 ret
012C .dbsym r data 20 c
012C .dbsym r i 22 c
012C .dbsym r reg 10 c
012C .dbend
012C .dbfunc e pDS1302_Init _pDS1302_Init fV
.even
012C _pDS1302_Init::
012C .dbline -1
012C .dbline 112
012C ; }
012C ;
012C ; void pDS1302_Init(void)
012C ; {
012C .dbline 113
012C ; pDS1302_Write(mDS1302_CONTROL_Reg,0x00); //关闭写保护
012C 2227 clr R18
012E 0EE8 ldi R16,142
0130 67DF xcall _pDS1302_Write
0132 .dbline 115
0132 ; //pDS1302_Write(mDS1302_SEC_Reg,0x80); //暂停
0132 ; pDS1302_Write(mDS1302_CHARGER_Reg,0x00); //涓流充电 A9
0132 2227 clr R18
0134 00E9 ldi R16,144
0136 64DF xcall _pDS1302_Write
0138 .dbline 116
0138 ; pDS1302_Write(mDS1302_HOUR_Reg,0x08); //时
0138 28E0 ldi R18,8
013A 04E8 ldi R16,132
013C 61DF xcall _pDS1302_Write
013E .dbline 117
013E ; pDS1302_Write(mDS1302_MIN_Reg,0x34); //分
013E 24E3 ldi R18,52
0140 02E8 ldi R16,130
0142 5EDF xcall _pDS1302_Write
0144 .dbline 118
0144 ; pDS1302_Write(mDS1302_SEC_Reg,0x20); //秒
0144 20E2 ldi R18,32
0146 00E8 ldi R16,128
0148 5BDF xcall _pDS1302_Write
014A .dbline 119
014A ; pDS1302_Write(mDS1302_CONTROL_Reg,0x80); //打开写保护
014A 20E8 ldi R18,128
014C 0EE8 ldi R16,142
014E 58DF xcall _pDS1302_Write
0150 .dbline -2
0150 L27:
0150 .dbline 0 ; func end
0150 0895 ret
0152 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -