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

📄 rtc8025.lis

📁 AVR16源代码 ICC编译器
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00F0 87DF              xcall _RTC_Delay
 00F2                   .dbline 100
 00F2           ;       RTCSCL_H;
 00F2 909A              sbi 0x12,0
 00F4                   .dbline 101
 00F4           ;       RTC_Delay(1);
 00F4 01E0              ldi R16,1
 00F6 10E0              ldi R17,0
 00F8 83DF              xcall _RTC_Delay
 00FA                   .dbline 102
 00FA           ;       RTCSCL_L;
 00FA 82B3              in R24,0x12
 00FC 8E7F              andi R24,254
 00FE 82BB              out 0x12,R24
 0100                   .dbline 103
 0100           ;       RTC_Delay(1);
 0100 01E0              ldi R16,1
 0102 10E0              ldi R17,0
 0104 7DDF              xcall _RTC_Delay
 0106                   .dbline 104
 0106           ;       return 0;
 0106 0027              clr R16
 0108                   .dbline -2
 0108           L14:
 0108                   .dbline 0 ; func end
 0108 0895              ret
 010A                   .dbend
 010A                   .dbfunc e Send_No_ACK _Send_No_ACK fc
                        .even
 010A           _Send_No_ACK::
 010A                   .dbline -1
 010A                   .dbline 115
 010A           ; }
 010A           ; 
 010A           ; //==========================================================
 010A           ; //函  数:     void Send_No_ACK(void)
 010A           ; //功  能:     发送应答
 010A           ; //入口参数:   无
 010A           ; //出口参数:  无
 010A           ; //日  期:     2005-07-20      覃道堂
 010A           ; //==========================================================
 010A           ; unsigned char Send_No_ACK(void)
 010A           ; {
 010A                   .dbline 116
 010A           ;       RTCSCL_L;
 010A 82B3              in R24,0x12
 010C 8E7F              andi R24,254
 010E 82BB              out 0x12,R24
 0110                   .dbline 117
 0110           ;       if(!(PIND & 0x02))
 0110 8199              sbic 0x10,1
 0112 02C0              rjmp L18
 0114                   .dbline 118
 0114           ;               return 1;       
 0114 01E0              ldi R16,1
 0116 13C0              xjmp L17
 0118           L18:
 0118                   .dbline 119
 0118           ;       RTCSDA_OUTPUT;
 0118 899A              sbi 0x11,1
 011A                   .dbline 120
 011A           ;       RTC_Delay(1);
 011A 01E0              ldi R16,1
 011C 10E0              ldi R17,0
 011E 70DF              xcall _RTC_Delay
 0120                   .dbline 121
 0120           ;       RTCSDA_H;
 0120 919A              sbi 0x12,1
 0122                   .dbline 122
 0122           ;       RTC_Delay(1);
 0122 01E0              ldi R16,1
 0124 10E0              ldi R17,0
 0126 6CDF              xcall _RTC_Delay
 0128                   .dbline 123
 0128           ;       RTCSCL_H;
 0128 909A              sbi 0x12,0
 012A                   .dbline 124
 012A           ;       RTC_Delay(1);
 012A 01E0              ldi R16,1
 012C 10E0              ldi R17,0
 012E 68DF              xcall _RTC_Delay
 0130                   .dbline 125
 0130           ;       RTCSCL_L;
 0130 82B3              in R24,0x12
 0132 8E7F              andi R24,254
 0134 82BB              out 0x12,R24
 0136                   .dbline 126
 0136           ;       RTC_Delay(1);
 0136 01E0              ldi R16,1
 0138 10E0              ldi R17,0
 013A 62DF              xcall _RTC_Delay
 013C                   .dbline 127
 013C           ;       return 0;
 013C 0027              clr R16
 013E                   .dbline -2
 013E           L17:
 013E                   .dbline 0 ; func end
 013E 0895              ret
 0140                   .dbend
 0140                   .dbfunc e Read_Byte _Read_Byte fc
 0140           ;              i -> R20
 0140           ;           Byte -> R22
                        .even
 0140           _Read_Byte::
 0140 0E940000          xcall push_gset2
 0144                   .dbline -1
 0144                   .dbline 137
 0144           ; }
 0144           ; //==========================================================
 0144           ; //函  数:     unsigned char Read_Byte(void)
 0144           ; //功  能:     从R8025里读一个Byte
 0144           ; //入口参数:   无
 0144           ; //出口参数:  错误返回1,正确返回读取的值
 0144           ; //日  期:     2005-07-20      覃道堂
 0144           ; //==========================================================
 0144           ; unsigned char Read_Byte(void)
 0144           ; {
 0144                   .dbline 138
 0144           ;       unsigned char i = 8;
 0144 48E0              ldi R20,8
 0146                   .dbline 141
 0146           ;       unsigned char Byte;
 0146           ; 
 0146           ;       RTCSCL_L;
 0146 82B3              in R24,0x12
 0148 8E7F              andi R24,254
 014A 82BB              out 0x12,R24
 014C                   .dbline 142
 014C           ;       RTCSDA_INPUT;
 014C 81B3              in R24,0x11
 014E 8D7F              andi R24,253
 0150 81BB              out 0x11,R24
 0152 0EC0              xjmp L22
 0154           L21:
 0154                   .dbline 144
 0154           ;       while(i --)
 0154           ;       {
 0154                   .dbline 145
 0154           ;               Byte = Byte << 1;
 0154 660F              lsl R22
 0156                   .dbline 146
 0156           ;               RTCSCL_H;
 0156 909A              sbi 0x12,0
 0158                   .dbline 147
 0158           ;               RTC_Delay(1);           
 0158 01E0              ldi R16,1
 015A 10E0              ldi R17,0
 015C 51DF              xcall _RTC_Delay
 015E                   .dbline 148
 015E           ;               if((PIND & 0x02))
 015E 819B              sbis 0x10,1
 0160 01C0              rjmp L24
 0162                   .dbline 149
 0162           ;               {
 0162                   .dbline 150
 0162           ;                       Byte = Byte + 1;
 0162 6395              inc R22
 0164                   .dbline 151
 0164           ;               }
 0164           L24:
 0164                   .dbline 152
 0164 82B3              in R24,0x12
 0166 8E7F              andi R24,254
 0168 82BB              out 0x12,R24
 016A                   .dbline 153
 016A 01E0              ldi R16,1
 016C 10E0              ldi R17,0
 016E 48DF              xcall _RTC_Delay
 0170                   .dbline 154
 0170           L22:
 0170                   .dbline 143
 0170 242E              mov R2,R20
 0172 3324              clr R3
 0174 4150              subi R20,1
 0176 2220              tst R2
 0178 69F7              brne L21
 017A                   .dbline 155
 017A           ;               RTCSCL_L;
 017A           ;               RTC_Delay(1);
 017A           ;       }
 017A           ;       return Byte;
 017A 062F              mov R16,R22
 017C                   .dbline -2
 017C           L20:
 017C 0E940000          xcall pop_gset2
 0180                   .dbline 0 ; func end
 0180 0895              ret
 0182                   .dbsym r i 20 c
 0182                   .dbsym r Byte 22 c
 0182                   .dbend
 0182                   .dbfunc e Write_Byte _Write_Byte fc
 0182           ;              i -> R20
 0182           ;           Data -> R22
                        .even
 0182           _Write_Byte::
 0182 0E940000          xcall push_gset2
 0186 602F              mov R22,R16
 0188                   .dbline -1
 0188                   .dbline 165
 0188           ; }
 0188           ; //==========================================================
 0188           ; //函  数:     void Write_Byte(unsigned char Data)
 0188           ; //功  能:     R8025写一个Byte
 0188           ; //入口参数:   写的数据
 0188           ; //出口参数:  返回1错误,0成功
 0188           ; //日  期:     2005-07-20      覃道堂
 0188           ; //==========================================================
 0188           ; unsigned char Write_Byte(unsigned char Data)
 0188           ; {
 0188                   .dbline 166
 0188           ;       unsigned char i = 8;
 0188 48E0              ldi R20,8
 018A                   .dbline 168
 018A           ;       
 018A           ;       RTCSDA_INPUT;
 018A 81B3              in R24,0x11
 018C 8D7F              andi R24,253
 018E 81BB              out 0x11,R24
 0190                   .dbline 169
 0190           ;       RTC_Delay(1);   
 0190 01E0              ldi R16,1
 0192 10E0              ldi R17,0
 0194 35DF              xcall _RTC_Delay
 0196                   .dbline 170
 0196           ;       if((PIND & 0x02) == 0)
 0196 8199              sbic 0x10,1
 0198 02C0              rjmp L27
 019A                   .dbline 171
 019A           ;               return 1;       
 019A 01E0              ldi R16,1
 019C 1DC0              xjmp L26
 019E           L27:
 019E                   .dbline 172
 019E           ;       RTCSDA_L;
 019E 82B3              in R24,0x12
 01A0 8D7F              andi R24,253
 01A2 82BB              out 0x12,R24
 01A4                   .dbline 173
 01A4           ;       RTCSDA_OUTPUT;  
 01A4 899A              sbi 0x11,1
 01A6 12C0              xjmp L30
 01A8           L29:
 01A8                   .dbline 175
 01A8           ;       while(i --)
 01A8           ;       {
 01A8                   .dbline 176
 01A8           ;               if(Data & 0x80)
 01A8 67FF              sbrs R22,7
 01AA 02C0              rjmp L32
 01AC                   .dbline 177
 01AC           ;                       RTCSDA_H;
 01AC 919A              sbi 0x12,1
 01AE 03C0              xjmp L33
 01B0           L32:
 01B0                   .dbline 179
 01B0           ;               else
 01B0           ;                       RTCSDA_L;
 01B0 82B3              in R24,0x12
 01B2 8D7F              andi R24,253
 01B4 82BB              out 0x12,R24
 01B6           L33:
 01B6                   .dbline 180
 01B6 909A              sbi 0x12,0
 01B8                   .dbline 181
 01B8 01E0              ldi R16,1
 01BA 10E0              ldi R17,0
 01BC 21DF              xcall _RTC_Delay
 01BE                   .dbline 182
 01BE 82B3              in R24,0x12
 01C0 8E7F              andi R24,254
 01C2 82BB              out 0x12,R24
 01C4                   .dbline 183
 01C4 01E0              ldi R16,1
 01C6 10E0              ldi R17,0
 01C8 1BDF              xcall _RTC_Delay
 01CA                   .dbline 184
 01CA 660F              lsl R22
 01CC                   .dbline 185
 01CC           L30:
 01CC                   .dbline 174
 01CC 242E              mov R2,R20
 01CE 3324              clr R3
 01D0 4150              subi R20,1
 01D2 2220              tst R2
 01D4 49F7              brne L29
 01D6                   .dbline 186
 01D6           ;               RTCSCL_H;
 01D6           ;               RTC_Delay(1);                   
 01D6           ;               RTCSCL_L;
 01D6           ;               RTC_Delay(1);           
 01D6           ;               Data = Data << 1;
 01D6           ;       }
 01D6           ;       return 0;
 01D6 0027              clr R16
 01D8                   .dbline -2
 01D8           L26:
 01D8 0E940000          xcall pop_gset2
 01DC                   .dbline 0 ; func end
 01DC 0895              ret
 01DE                   .dbsym r i 20 c
 01DE                   .dbsym r Data 22 c
 01DE                   .dbend
 01DE                   .dbfunc e Read_Time_Data _Read_Time_Data fc
 01DE           ;              i -> R20
 01DE           ;            Len -> R22
 01DE           ;        Address -> R20
 01DE           ;          Frame -> R10,R11
                        .even
 01DE           _Read_Time_Data::
 01DE 0E940000          xcall push_gset3
 01E2 422F              mov R20,R18
 01E4 5801              movw R10,R16
 01E6 6E81              ldd R22,y+6
 01E8                   .dbline -1
 01E8                   .dbline 200
 01E8           ; }
 01E8           ; 
 01E8           ; //==========================================================
 01E8           ; //函  数:     unsigned char Read_Time_Data(unsigned char *Frame,
 01E8           ; //                    unsigned char Address,unsigned char Len)

⌨️ 快捷键说明

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