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

📄 rtc8025.lis

📁 AVR16源代码 ICC编译器
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module Rtc8025.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\avr16\BOOTLoadICC\Rtc8025.c
 0000                   .dbfunc e RTC_Delay _RTC_Delay fV
 0000           ;             MD -> R16,R17
                        .even
 0000           _RTC_Delay::
 0000                   .dbline -1
 0000                   .dbline 12
 0000           ; #include      <iom128v.h>
 0000           ; #include      "Rtc8025.h"
 0000           ; 
 0000           ; //==========================================================
 0000           ; //函  数:void RTC_Delay(unsigned int MD)
 0000           ; //功  能:延时
 0000           ; //入口参数:延时的参数
 0000           ; //出口参数:无
 0000           ; //日  期:2005-07-21   覃道堂  
 0000           ; //==========================================================
 0000           ; void RTC_Delay(unsigned int MD)
 0000           ; {
 0000           L2:
 0000                   .dbline 13
 0000           L3:
 0000                   .dbline 13
 0000           ;       while(MD --);
 0000 1801              movw R2,R16
 0002 0150              subi R16,1
 0004 1040              sbci R17,0
 0006 2220              tst R2
 0008 D9F7              brne L2
 000A 3320              tst R3
 000C C9F7              brne L2
 000E           X0:
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r MD 16 i
 0010                   .dbend
 0010                   .dbfunc e Send_Start _Send_Start fc
                        .even
 0010           _Send_Start::
 0010                   .dbline -1
 0010                   .dbline 23
 0010           ; }
 0010           ; //==========================================================
 0010           ; //函  数:     void Send_Start(void)
 0010           ; //功  能:     发送起始位
 0010           ; //入口参数:   无
 0010           ; //出口参数:  1错误,0正确
 0010           ; //日  期:     2005-07-20      覃道堂
 0010           ; //==========================================================
 0010           ; unsigned char Send_Start(void)
 0010           ; {
 0010                   .dbline 24
 0010           ;       RTCSDA_INPUT;
 0010 81B3              in R24,0x11
 0012 8D7F              andi R24,253
 0014 81BB              out 0x11,R24
 0016                   .dbline 25
 0016           ;       RTC_Delay(1);
 0016 01E0              ldi R16,1
 0018 10E0              ldi R17,0
 001A F2DF              xcall _RTC_Delay
 001C                   .dbline 26
 001C           ;       if((PIND & 0x02) == 0)
 001C 8199              sbic 0x10,1
 001E 02C0              rjmp L6
 0020                   .dbline 27
 0020           ;               return 1;
 0020 01E0              ldi R16,1
 0022 1CC0              xjmp L5
 0024           L6:
 0024                   .dbline 28
 0024           ;       RTCSDA_H;
 0024 919A              sbi 0x12,1
 0026                   .dbline 29
 0026           ;       RTC_Delay(1);
 0026 01E0              ldi R16,1
 0028 10E0              ldi R17,0
 002A EADF              xcall _RTC_Delay
 002C                   .dbline 30
 002C           ;       RTCSDA_OUTPUT;
 002C 899A              sbi 0x11,1
 002E                   .dbline 31
 002E           ;       RTCSCL_L;
 002E 82B3              in R24,0x12
 0030 8E7F              andi R24,254
 0032 82BB              out 0x12,R24
 0034                   .dbline 32
 0034           ;       RTC_Delay(1);
 0034 01E0              ldi R16,1
 0036 10E0              ldi R17,0
 0038 E3DF              xcall _RTC_Delay
 003A                   .dbline 33
 003A           ;       RTCSCL_H;
 003A 909A              sbi 0x12,0
 003C                   .dbline 34
 003C           ;       RTC_Delay(1);
 003C 01E0              ldi R16,1
 003E 10E0              ldi R17,0
 0040 DFDF              xcall _RTC_Delay
 0042                   .dbline 35
 0042           ;       RTCSDA_L;
 0042 82B3              in R24,0x12
 0044 8D7F              andi R24,253
 0046 82BB              out 0x12,R24
 0048                   .dbline 36
 0048           ;       RTC_Delay(1);
 0048 01E0              ldi R16,1
 004A 10E0              ldi R17,0
 004C D9DF              xcall _RTC_Delay
 004E                   .dbline 37
 004E           ;       RTCSCL_L;
 004E 82B3              in R24,0x12
 0050 8E7F              andi R24,254
 0052 82BB              out 0x12,R24
 0054                   .dbline 38
 0054           ;       RTC_Delay(1);
 0054 01E0              ldi R16,1
 0056 10E0              ldi R17,0
 0058 D3DF              xcall _RTC_Delay
 005A                   .dbline 39
 005A           ;       return 0;
 005A 0027              clr R16
 005C                   .dbline -2
 005C           L5:
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbend
 005E                   .dbfunc e Send_Stop _Send_Stop fc
                        .even
 005E           _Send_Stop::
 005E                   .dbline -1
 005E                   .dbline 49
 005E           ; }
 005E           ; //==========================================================
 005E           ; //函  数:     void Send_Stop(void)
 005E           ; //功  能:     发送停止位
 005E           ; //入口参数:   无
 005E           ; //出口参数:  1错误,0正确
 005E           ; //日  期:     2005-07-20      覃道堂
 005E           ; //==========================================================
 005E           ; unsigned char Send_Stop(void)
 005E           ; {
 005E                   .dbline 50
 005E           ;       RTCSDA_INPUT;
 005E 81B3              in R24,0x11
 0060 8D7F              andi R24,253
 0062 81BB              out 0x11,R24
 0064                   .dbline 51
 0064           ;       RTC_Delay(20);
 0064 04E1              ldi R16,20
 0066 10E0              ldi R17,0
 0068 CBDF              xcall _RTC_Delay
 006A                   .dbline 52
 006A           ;       if((PIND & 0x02) == 0)
 006A 8199              sbic 0x10,1
 006C 02C0              rjmp L9
 006E                   .dbline 53
 006E           ;               return 1;
 006E 01E0              ldi R16,1
 0070 19C0              xjmp L8
 0072           L9:
 0072                   .dbline 54
 0072           ;       RTCSDA_L;
 0072 82B3              in R24,0x12
 0074 8D7F              andi R24,253
 0076 82BB              out 0x12,R24
 0078                   .dbline 55
 0078           ;       RTCSDA_OUTPUT;
 0078 899A              sbi 0x11,1
 007A                   .dbline 56
 007A           ;       RTCSCL_L;
 007A 82B3              in R24,0x12
 007C 8E7F              andi R24,254
 007E 82BB              out 0x12,R24
 0080                   .dbline 57
 0080           ;       RTC_Delay(1);
 0080 01E0              ldi R16,1
 0082 10E0              ldi R17,0
 0084 BDDF              xcall _RTC_Delay
 0086                   .dbline 58
 0086           ;       RTCSCL_H;
 0086 909A              sbi 0x12,0
 0088                   .dbline 59
 0088           ;       RTC_Delay(1);
 0088 01E0              ldi R16,1
 008A 10E0              ldi R17,0
 008C B9DF              xcall _RTC_Delay
 008E                   .dbline 60
 008E           ;       RTCSDA_H;
 008E 919A              sbi 0x12,1
 0090                   .dbline 61
 0090           ;       RTC_Delay(1);
 0090 01E0              ldi R16,1
 0092 10E0              ldi R17,0
 0094 B5DF              xcall _RTC_Delay
 0096                   .dbline 62
 0096           ;       RTCSCL_L;
 0096 82B3              in R24,0x12
 0098 8E7F              andi R24,254
 009A 82BB              out 0x12,R24
 009C                   .dbline 63
 009C           ;       RTC_Delay(1);
 009C 01E0              ldi R16,1
 009E 10E0              ldi R17,0
 00A0 AFDF              xcall _RTC_Delay
 00A2                   .dbline 64
 00A2           ;       return 0;
 00A2 0027              clr R16
 00A4                   .dbline -2
 00A4           L8:
 00A4                   .dbline 0 ; func end
 00A4 0895              ret
 00A6                   .dbend
 00A6                   .dbfunc e Receive_ACK _Receive_ACK fc
                        .even
 00A6           _Receive_ACK::
 00A6                   .dbline -1
 00A6                   .dbline 74
 00A6           ; }
 00A6           ; //==========================================================
 00A6           ; //函  数:     unsigned char Receive_ACK()
 00A6           ; //功  能:     接收应答
 00A6           ; //入口参数:   无
 00A6           ; //出口参数:  1错误,0正确
 00A6           ; //日  期:     2005-07-20      覃道堂
 00A6           ; //==========================================================
 00A6           ; unsigned char Receive_ACK(void)
 00A6           ; {
 00A6                   .dbline 75
 00A6           ;       RTCSDA_INPUT;
 00A6 81B3              in R24,0x11
 00A8 8D7F              andi R24,253
 00AA 81BB              out 0x11,R24
 00AC                   .dbline 76
 00AC           ;       RTC_Delay(1);
 00AC 01E0              ldi R16,1
 00AE 10E0              ldi R17,0
 00B0 A7DF              xcall _RTC_Delay
 00B2                   .dbline 77
 00B2           ;       RTCSCL_H;
 00B2 909A              sbi 0x12,0
 00B4                   .dbline 78
 00B4           ;       RTC_Delay(1);
 00B4 01E0              ldi R16,1
 00B6 10E0              ldi R17,0
 00B8 A3DF              xcall _RTC_Delay
 00BA                   .dbline 79
 00BA           ;       if((PIND & 0x02) == 2)
 00BA 80B3              in R24,0x10
 00BC 8270              andi R24,2
 00BE 8230              cpi R24,2
 00C0 11F4              brne L12
 00C2                   .dbline 80
 00C2           ;               return 1;
 00C2 01E0              ldi R16,1
 00C4 07C0              xjmp L11
 00C6           L12:
 00C6                   .dbline 81
 00C6           ;       RTCSCL_L;
 00C6 82B3              in R24,0x12
 00C8 8E7F              andi R24,254
 00CA 82BB              out 0x12,R24
 00CC                   .dbline 82
 00CC           ;       RTC_Delay(1);
 00CC 01E0              ldi R16,1
 00CE 10E0              ldi R17,0
 00D0 97DF              xcall _RTC_Delay
 00D2                   .dbline 83
 00D2           ;       return 0;
 00D2 0027              clr R16
 00D4                   .dbline -2
 00D4           L11:
 00D4                   .dbline 0 ; func end
 00D4 0895              ret
 00D6                   .dbend
 00D6                   .dbfunc e Send_ACK _Send_ACK fc
                        .even
 00D6           _Send_ACK::
 00D6                   .dbline -1
 00D6                   .dbline 93
 00D6           ; }
 00D6           ; //==========================================================
 00D6           ; //函  数:     unsigned char Send_ACK(void)
 00D6           ; //功  能:     发送应答
 00D6           ; //入口参数:   无
 00D6           ; //出口参数:  无
 00D6           ; //日  期:     2005-07-20      覃道堂
 00D6           ; //==========================================================
 00D6           ; unsigned char Send_ACK(void)
 00D6           ; {
 00D6                   .dbline 94
 00D6           ;       RTCSCL_L;
 00D6 82B3              in R24,0x12
 00D8 8E7F              andi R24,254
 00DA 82BB              out 0x12,R24
 00DC                   .dbline 95
 00DC           ;       if(!(PIND & 0x02))
 00DC 8199              sbic 0x10,1
 00DE 02C0              rjmp L15
 00E0                   .dbline 96
 00E0           ;               return 1;       
 00E0 01E0              ldi R16,1
 00E2 12C0              xjmp L14
 00E4           L15:
 00E4                   .dbline 97
 00E4           ;       RTCSDA_L;
 00E4 82B3              in R24,0x12
 00E6 8D7F              andi R24,253
 00E8 82BB              out 0x12,R24
 00EA                   .dbline 98
 00EA           ;       RTCSDA_OUTPUT;
 00EA 899A              sbi 0x11,1
 00EC                   .dbline 99
 00EC           ;       RTC_Delay(1);
 00EC 01E0              ldi R16,1
 00EE 10E0              ldi R17,0

⌨️ 快捷键说明

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