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

📄 ds1302.lis

📁 DS1302
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 009E                   .dbline 110
 009E A99A              sbi 0x15,1
 00A0                   .dbline 111
 00A0 A998              cbi 0x15,1
 00A2                   .dbline 112
 00A2           L16:
 00A2                   .dbline 102
 00A2 A394              inc R10
 00A4           L18:
 00A4                   .dbline 102
 00A4 8A2D              mov R24,R10
 00A6 8830              cpi R24,8
 00A8 78F3              brlo L15
 00AA                   .dbline 113
 00AA           ;               if(WriteTime[i]==0x39)
 00AA           ;                   {WriteTime[i]=0x3f;
 00AA           ;                       } 
 00AA           ;                       if(WriteTime[i]==0x49)
 00AA           ;                       {WriteTime[i]=0x4f;
 00AA           ;                               } 
 00AA A298              cbi 0x14,2
 00AC                   .dbline 115
 00AC           ;                       if(WriteTime[i]==0x59)
 00AC           ;                       {WriteTime[i]=0x00;
 00AC AA24              clr R10
 00AE 14C0              rjmp L24
 00B0           L21:
 00B0                   .dbline 116
 00B0           ;                               } 
 00B0                   .dbline 117
 00B0           ;                       else
 00B0 43B3              in R20,0x13
 00B2 4470              andi R20,4
 00B4                   .dbline 118
 00B4           ;                       WriteTime[i]=WriteTime[i]+1;
 00B4 4430              cpi R20,4
 00B6 29F4              brne L25
 00B8                   .dbline 119
 00B8           ;                  }
 00B8 01E0              ldi R16,1
 00BA 1A2D              mov R17,R10
 00BC 00D0              rcall lsl8
 00BE 602B              or R22,R16
 00C0 06C0              rjmp L26
 00C2           L25:
 00C2                   .dbline 121
 00C2           ; //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
 00C2           ; // 设置分钟,秒 减法程序
 00C2 01E0              ldi R16,1
 00C4 1A2D              mov R17,R10
 00C6 00D0              rcall lsl8
 00C8 202E              mov R2,R16
 00CA 2094              com R2
 00CC 6221              and R22,R2
 00CE           L26:
 00CE                   .dbline 122
 00CE 0000              nop
 00D0                   .dbline 123
 00D0 0000              nop
 00D2                   .dbline 124
 00D2 A99A              sbi 0x15,1
 00D4                   .dbline 125
 00D4 A998              cbi 0x15,1
 00D6                   .dbline 126
 00D6           L22:
 00D6                   .dbline 115
 00D6 A394              inc R10
 00D8           L24:
 00D8                   .dbline 115
 00D8 8A2D              mov R24,R10
 00DA 8830              cpi R24,8
 00DC 48F3              brlo L21
 00DE                   .dbline 127
 00DE           ; //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
 00DE           ; void SubForSET(int i)           
 00DE           ;              {    
 00DE           ;               if(WriteTime[i]==0x00)
 00DE           ;                       { WriteTime[i]=0x5a;
 00DE           ;                         }
 00DE A29A              sbi 0x14,2
 00E0                   .dbline 128
 00E0           ;                       if(WriteTime[i]==0x10)
 00E0 A998              cbi 0x15,1
 00E2                   .dbline 129
 00E2           ;                   {WriteTime[i]=0x0a;
 00E2 A898              cbi 0x15,0
 00E4                   .dbline 130
 00E4           ;                       } 
 00E4 062F              mov R16,R22
 00E6                   .dbline -2
 00E6           L14:
 00E6 00D0              rcall pop_gset3
 00E8                   .dbline 0 ; func end
 00E8 0895              ret
 00EA                   .dbsym r k 20 c
 00EA                   .dbsym r temp 22 c
 00EA                   .dbsym r i 10 c
 00EA                   .dbsym r addr 20 c
 00EA                   .dbend
 00EA                   .dbfunc e DataFenli _DataFenli fV
                        .even
 00EA           _DataFenli::
 00EA                   .dbline -1
 00EA                   .dbline 134
 00EA           ;                       if(WriteTime[i]==0x20)
 00EA           ;                        {WriteTime[i]=0x1a;
 00EA           ;                       } 
 00EA           ;               if(WriteTime[i]==0x30)
 00EA                   .dbline 135
 00EA           ;                   {WriteTime[i]=0x2a;
 00EA 80911900          lds R24,_second
 00EE 8F70              andi R24,15
 00F0 80931200          sts _secondtl,R24
 00F4                   .dbline 136
 00F4           ;                       } 
 00F4 80911900          lds R24,_second
 00F8 8295              swap R24
 00FA 8F70              andi R24,#0x0F
 00FC 80931100          sts _secondth,R24
 0100                   .dbline 138
 0100           ;                       if(WriteTime[i]==0x40)
 0100           ;                       {WriteTime[i]=0x3a;
 0100 80911800          lds R24,_minute
 0104 8F70              andi R24,15
 0106 80931000          sts _minutetl,R24
 010A                   .dbline 139
 010A           ;                               } 
 010A 80911800          lds R24,_minute
 010E 8295              swap R24
 0110 8F70              andi R24,#0x0F
 0112 80930F00          sts _minuteth,R24
 0116                   .dbline 141
 0116           ;                       if(WriteTime[i]==0x50)
 0116           ;                       {WriteTime[i]=0x49;
 0116 80911700          lds R24,_hour
 011A 8F70              andi R24,15
 011C 80930E00          sts _hourtl,R24
 0120                   .dbline 142
 0120           ;                               } 
 0120 80911700          lds R24,_hour
 0124 8295              swap R24
 0126 8F70              andi R24,#0x0F
 0128 80930D00          sts _hourth,R24
 012C                   .dbline 144
 012C           ;                       else
 012C           ;                       WriteTime[i]=WriteTime[i]-1;
 012C 80911600          lds R24,_date
 0130 8F70              andi R24,15
 0132 80930C00          sts _datetl,R24
 0136                   .dbline 145
 0136           ;                  }               
 0136 80911600          lds R24,_date
 013A 8295              swap R24
 013C 8F70              andi R24,#0x0F
 013E 80930B00          sts _dateth,R24
 0142                   .dbline 147
 0142           ; 
 0142           ; /*cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc*/
 0142 80911400          lds R24,_month
 0146 8F70              andi R24,15
 0148 80930A00          sts _monthtl,R24
 014C                   .dbline 148
 014C           ; //设置小时加减法子程序
 014C 80911400          lds R24,_month
 0150 8295              swap R24
 0152 8F70              andi R24,#0x0F
 0154 80930900          sts _monthth,R24
 0158                   .dbline 150
 0158           ; //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
 0158           ; //加法
 0158 80911300          lds R24,_year
 015C 8F70              andi R24,15
 015E 80930800          sts _yeartl,R24
 0162                   .dbline 151
 0162           ; void PlusHour(int i)
 0162 80911300          lds R24,_year
 0166 8295              swap R24
 0168 8F70              andi R24,#0x0F
 016A 80930700          sts _yearth,R24
 016E                   .dbline -2
 016E           L27:
 016E                   .dbline 0 ; func end
 016E 0895              ret
 0170                   .dbend
 0170                   .dbfunc e DS1302_ReadTime _DS1302_ReadTime fV
                        .even
 0170           _DS1302_ReadTime::
 0170                   .dbline -1
 0170                   .dbline 157
 0170           ; {
 0170           ;            if(WriteTime[i]==0x09)
 0170           ;                       { WriteTime[i]=0x0f;
 0170           ;                         }
 0170           ;                       if(WriteTime[i]==0x19)
 0170           ;                   {WriteTime[i]=0x1f;
 0170                   .dbline 158
 0170           ;                       } 
 0170 01E8              ldi R16,129
 0172 7CDF              rcall _DS1302_Read
 0174 00931900          sts _second,R16
 0178                   .dbline 159
 0178           ;                       if(WriteTime[i]==0x23)
 0178 03E8              ldi R16,131
 017A 78DF              rcall _DS1302_Read
 017C 00931800          sts _minute,R16
 0180                   .dbline 160
 0180           ;                        {WriteTime[i]=0x00;
 0180 05E8              ldi R16,133
 0182 74DF              rcall _DS1302_Read
 0184 00931700          sts _hour,R16
 0188                   .dbline 161
 0188           ;                       } 
 0188 07E8              ldi R16,135
 018A 70DF              rcall _DS1302_Read
 018C 00931600          sts _date,R16
 0190                   .dbline 162
 0190           ;                       else
 0190 09E8              ldi R16,137
 0192 6CDF              rcall _DS1302_Read
 0194 00931400          sts _month,R16
 0198                   .dbline 163
 0198           ;                       WriteTime[i]=WriteTime[i]+1;
 0198 0DE8              ldi R16,141
 019A 68DF              rcall _DS1302_Read
 019C 00931300          sts _year,R16
 01A0                   .dbline 170
 01A0           ; }
 01A0           ; //减法
 01A0           ; void SubHour(int i)
 01A0           ; {          
 01A0           ;             if(WriteTime[i]==0x00)
 01A0           ;                       { WriteTime[i]=0x24;
 01A0           ;                         }
 01A0 A4DF              rcall _DataFenli
 01A2                   .dbline -2
 01A2           L28:
 01A2                   .dbline 0 ; func end
 01A2 0895              ret
 01A4                   .dbend
 01A4                   .dbfunc e DS1302_WriteTime _DS1302_WriteTime fV
 01A4           ;           time -> R20,R21
 01A4           ;            ddr -> R22,R23
                        .even
 01A4           _DS1302_WriteTime::
 01A4 00D0              rcall push_gset2
 01A6                   .dbline -1
 01A6                   .dbline 176
 01A6           ;                       if(WriteTime[i]==0x10)
 01A6           ;                   {WriteTime[i]=0x0a;
 01A6           ;                       } 
 01A6           ;                       if(WriteTime[i]==0x20)
 01A6           ;                        {WriteTime[i]=0x19;
 01A6           ;                       }
 01A6                   .dbline 177
 01A6           ;                       else
 01A6 60E0              ldi R22,<_WriteAddress
 01A8 70E0              ldi R23,>_WriteAddress
 01AA                   .dbline 178
 01AA           ;                       WriteTime[i]=WriteTime[i]-1;
 01AA 40E0              ldi R20,<_WriteTime
 01AC 50E0              ldi R21,>_WriteTime
 01AE 09C0              rjmp L31
 01B0           L30:
 01B0                   .dbline 180
 01B0                   .dbline 181
 01B0 FA01              movw R30,R20
 01B2 2081              ldd R18,z+0
 01B4 FB01              movw R30,R22
 01B6 0081              ldd R16,z+0
 01B8 4FDF              rcall _DS1302_WriteT
 01BA                   .dbline 182
 01BA 6F5F              subi R22,255  ; offset = 1
 01BC 7F4F              sbci R23,255
 01BE                   .dbline 183
 01BE 4F5F              subi R20,255  ; offset = 1
 01C0 5F4F              sbci R21,255
 01C2                   .dbline 184
 01C2           L31:
 01C2                   .dbline 179
 01C2           ; }
 01C2 FB01              movw R30,R22
 01C4 2080              ldd R2,z+0
 01C6 2220              tst R2
 01C8 99F7              brne L30
 01CA                   .dbline -2
 01CA           L29:
 01CA 00D0              rcall pop_gset2
 01CC                   .dbline 0 ; func end
 01CC 0895              ret
 01CE                   .dbsym r time 20 pc
 01CE                   .dbsym r ddr 22 pc
 01CE                   .dbend
 01CE                   .dbfile E:\biyesheji\SUCCES~1\SENDSE~1\SETPFI~2\程序/DELAY.C
 01CE                   .dbfunc e delay_1us _delay_1us fV
                        .even
 01CE           _delay_1us::
 01CE                   .dbline -1
 01CE                   .dbline 5
 01CE                   .dbline 6
 01CE 0000              nop
 01D0                   .dbline -2
 01D0           L33:
 01D0                   .dbline 0 ; func end
 01D0 0895              ret
 01D2                   .dbend
 01D2                   .dbfunc e delay_nus _delay_nus fV
 01D2           ;              i -> R20,R21
 01D2           ;              n -> R22,R23
                        .even
 01D2           _delay_nus::
 01D2 00D0              rcall push_gset2
 01D4 B801              movw R22,R16
 01D6                   .dbline -1
 01D6                   .dbline 10
 01D6                   .dbline 11
 01D6 4427              clr R20
 01D8 5527              clr R21
 01DA                   .dbline 12
 01DA 03C0              rjmp L38
 01DC           L35:
 01DC                   .dbline 13
 01DC F8DF              rcall _delay_1us
 01DE           L36:
 01DE                   .dbline 12
 01DE 4F5F              subi R20,255  ; offset = 1
 01E0 5F4F              sbci R21,255
 01E2           L38:
 01E2                   .dbline 12
 01E2 4617              cp R20,R22
 01E4 5707              cpc R21,R23
 01E6 D0F3              brlo L35
 01E8                   .dbline -2

⌨️ 快捷键说明

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