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

📄 main.lis

📁 ds1302事实时钟+12864液晶显示 4094
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
                        .area data(ram, con, rel)
 0000                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0000           _charindex::
 0000                   .blkb 2
                        .area idata
 0000 3031              .byte 48,49
                        .area data(ram, con, rel)
 0002                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0002                   .blkb 2
                        .area idata
 0002 3233              .byte 50,51
                        .area data(ram, con, rel)
 0004                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0004                   .blkb 2
                        .area idata
 0004 3435              .byte 52,53
                        .area data(ram, con, rel)
 0006                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0006                   .blkb 2
                        .area idata
 0006 3637              .byte 54,55
                        .area data(ram, con, rel)
 0008                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0008                   .blkb 2
                        .area idata
 0008 3839              .byte 56,57
                        .area data(ram, con, rel)
 000A                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 000A                   .blkb 1
                        .area idata
 000A 3A                .byte 58
                        .area data(ram, con, rel)
 000B                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 000B                   .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
 000B                   .dbsym e charindex _charindex A[11:11]c
 000B           _mid::
 000B                   .blkb 1
                        .area idata
 000B 00                .byte 0
                        .area data(ram, con, rel)
 000C                   .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
 000C                   .blkb 9
                        .area idata
 000C 000000000000000000        .byte 0,0,0,0,0,0,0,0,0
                        .area data(ram, con, rel)
 0015                   .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
 0015                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0015                   .dbsym e mid _mid A[10:10]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\AVR实验\ds1302+12864时钟\main.c
 0000                   .dbfunc e jisuan _jisuan fV
 0000           ;              d -> R20
 0000           ;              e -> R22
 0000           ;         b_data -> R16
                        .even
 0000           _jisuan::
 0000 4A93              st -y,R20
 0002 6A93              st -y,R22
 0004                   .dbline -1
 0004                   .dbline 15
 0004           ; #include <iom8515v.h>
 0004           ; #include "ds1302.h"
 0004           ; #include "jhd12864.h"
 0004           ; #include "d4094.h"
 0004           ; #include "charindex.h"
 0004           ; 
 0004           ; 
 0004           ; 
 0004           ; uint gewei,shiwei;
 0004           ; uint sec,min,hour,year,month,day,date;
 0004           ; uchar mid[10]={0};
 0004           ; 
 0004           ; 
 0004           ; void jisuan(uchar b_data)
 0004           ; {
 0004                   .dbline 17
 0004           ;    uchar e,d;
 0004           ;    e=b_data;
 0004 602F              mov R22,R16
 0006                   .dbline 18
 0006           ;    d=e;
 0006 462F              mov R20,R22
 0008                   .dbline 19
 0008           ;    e=e&0x0f;
 0008 6F70              andi R22,15
 000A                   .dbline 20
 000A           ;    d=d>>4;
 000A 842F              mov R24,R20
 000C 8295              swap R24
 000E 8F70              andi R24,#0x0F
 0010 482F              mov R20,R24
 0012                   .dbline 21
 0012           ;    gewei=(e&0x01)+((e>>1)&0x01)*2+((e>>2)&0x01)*4+((e>>3)&0x01)*8;
 0012 862F              mov R24,R22
 0014 9927              clr R25
 0016 9595              asr R25
 0018 8795              ror R24
 001A 8170              andi R24,1
 001C 9070              andi R25,0
 001E 1C01              movw R2,R24
 0020 220C              lsl R2
 0022 331C              rol R3
 0024 862F              mov R24,R22
 0026 9927              clr R25
 0028 8170              andi R24,1
 002A 9070              andi R25,0
 002C 2C01              movw R4,R24
 002E 420C              add R4,R2
 0030 531C              adc R5,R3
 0032 862F              mov R24,R22
 0034 9927              clr R25
 0036 9595              asr R25
 0038 8795              ror R24
 003A 9595              asr R25
 003C 8795              ror R24
 003E 8170              andi R24,1
 0040 9070              andi R25,0
 0042 880F              lsl R24
 0044 991F              rol R25
 0046 880F              lsl R24
 0048 991F              rol R25
 004A 480E              add R4,R24
 004C 591E              adc R5,R25
 004E 862F              mov R24,R22
 0050 9927              clr R25
 0052 9595              asr R25
 0054 8795              ror R24
 0056 9595              asr R25
 0058 8795              ror R24
 005A 9595              asr R25
 005C 8795              ror R24
 005E 8170              andi R24,1
 0060 9070              andi R25,0
 0062 880F              lsl R24
 0064 991F              rol R25
 0066 880F              lsl R24
 0068 991F              rol R25
 006A 880F              lsl R24
 006C 991F              rol R25
 006E 480E              add R4,R24
 0070 591E              adc R5,R25
 0072 50921100          sts _gewei+1,R5
 0076 40921000          sts _gewei,R4
 007A                   .dbline 22
 007A           ;    shiwei=(d&0x01)+((d>>1)&0x01)*2+((d>>2)&0x01)*4+((d>>3)&0x01)*8; 
 007A 842F              mov R24,R20
 007C 9927              clr R25
 007E 9595              asr R25
 0080 8795              ror R24
 0082 8170              andi R24,1
 0084 9070              andi R25,0
 0086 1C01              movw R2,R24
 0088 220C              lsl R2
 008A 331C              rol R3
 008C 842F              mov R24,R20
 008E 9927              clr R25
 0090 8170              andi R24,1
 0092 9070              andi R25,0
 0094 2C01              movw R4,R24
 0096 420C              add R4,R2
 0098 531C              adc R5,R3
 009A 842F              mov R24,R20
 009C 9927              clr R25
 009E 9595              asr R25
 00A0 8795              ror R24
 00A2 9595              asr R25
 00A4 8795              ror R24
 00A6 8170              andi R24,1
 00A8 9070              andi R25,0
 00AA 880F              lsl R24
 00AC 991F              rol R25
 00AE 880F              lsl R24
 00B0 991F              rol R25
 00B2 480E              add R4,R24
 00B4 591E              adc R5,R25
 00B6 842F              mov R24,R20
 00B8 9927              clr R25
 00BA 9595              asr R25
 00BC 8795              ror R24
 00BE 9595              asr R25
 00C0 8795              ror R24
 00C2 9595              asr R25
 00C4 8795              ror R24
 00C6 8170              andi R24,1
 00C8 9070              andi R25,0
 00CA 880F              lsl R24
 00CC 991F              rol R25
 00CE 880F              lsl R24
 00D0 991F              rol R25
 00D2 880F              lsl R24
 00D4 991F              rol R25
 00D6 480E              add R4,R24
 00D8 591E              adc R5,R25
 00DA 50920F00          sts _shiwei+1,R5
 00DE 40920E00          sts _shiwei,R4
 00E2                   .dbline -2
 00E2           L1:
 00E2                   .dbline 0 ; func end
 00E2 6991              ld R22,y+
 00E4 4991              ld R20,y+
 00E6 0895              ret
 00E8                   .dbsym r d 20 c
 00E8                   .dbsym r e 22 c
 00E8                   .dbsym r b_data 16 c
 00E8                   .dbend
 00E8                   .dbfunc e main _main fV
 00E8           ;            num -> R20
                        .even
 00E8           _main::
 00E8 2497              sbiw R28,4
 00EA                   .dbline -1
 00EA                   .dbline 29
 00EA           ; 
 00EA           ;    }
 00EA           ; 
 00EA           ;     
 00EA           ;    
 00EA           ; void main()
 00EA           ; {
 00EA                   .dbline 31
 00EA           ; 
 00EA           ;    uchar num=0x01; 
 00EA 41E0              ldi R20,1
 00EC                   .dbline 33
 00EC           ;  
 00EC           ;    DDRC=0xFF;
 00EC 8FEF              ldi R24,255
 00EE 84BB              out 0x14,R24
 00F0                   .dbline 34
 00F0           ;    PORTC=0xFF;
 00F0 85BB              out 0x15,R24
 00F2                   .dbline 36
 00F2           ; 
 00F2           ;    LCD_Init();
 00F2 00D0              rcall _LCD_Init
 00F4                   .dbline 37
 00F4           ;    delay_1ms(50);
 00F4 02E3              ldi R16,50
 00F6 10E0              ldi R17,0
 00F8 00D0              rcall _delay_1ms
 00FA                   .dbline 38
 00FA           ;    LCD_Init();                                //初始化两边是关键,否则液晶上电重起将不能显示
 00FA 00D0              rcall _LCD_Init
 00FC                   .dbline 40
 00FC           ;       
 00FC           ;   WriteSec(0x50);
 00FC 00E5              ldi R16,80
 00FE 10E0              ldi R17,0
 0100 00D0              rcall _WriteSec
 0102                   .dbline 41
 0102           ;   WriteMin(0x59);
 0102 09E5              ldi R16,89
 0104 10E0              ldi R17,0
 0106 00D0              rcall _WriteMin
 0108                   .dbline 42
 0108           ;   WriteHour(0x23);
 0108 03E2              ldi R16,35
 010A 10E0              ldi R17,0
 010C 00D0              rcall _WriteHour
 010E                   .dbline 43
 010E           ;   WriteYear(0x99);
 010E 09E9              ldi R16,153
 0110 10E0              ldi R17,0
 0112 00D0              rcall _WriteYear
 0114                   .dbline 44
 0114           ;   WriteMonth(0x12);
 0114 02E1              ldi R16,18
 0116 10E0              ldi R17,0
 0118 00D0              rcall _WriteMonth
 011A                   .dbline 45
 011A           ;   WriteDate(0x31);
 011A 01E3              ldi R16,49
 011C 10E0              ldi R17,0
 011E 00D0              rcall _WriteDate
 0120                   .dbline 47
 0120           ;   
 0120           ;   WriteDay(0x07);
 0120 07E0              ldi R16,7
 0122 10E0              ldi R17,0
 0124 00D0              rcall _WriteDay
 0126                   .dbline 49
 0126           ;   
 0126           ;   Char_Set_XY(1,0,"time");
 0126 80E0              ldi R24,<L3
 0128 90E0              ldi R25,>L3
 012A 9983              std y+1,R25
 012C 8883              std y+0,R24
 012E 2227              clr R18
 0130 3327              clr R19
 0132 01E0              ldi R16,1
 0134 10E0              ldi R17,0
 0136 00D0              rcall _Char_Set_XY
 0138                   .dbline 50
 0138           ;   Char_Set_XY(1,1,"date");
 0138 80E0              ldi R24,<L4
 013A 90E0              ldi R25,>L4
 013C 9983              std y+1,R25
 013E 8883              std y+0,R24
 0140 21E0              ldi R18,1
 0142 30E0              ldi R19,0
 0144 01E0              ldi R16,1
 0146 10E0              ldi R17,0
 0148 00D0              rcall _Char_Set_XY
 014A                   .dbline 51
 014A           ;   Char_Set_XY(1,2,"week");
 014A 80E0              ldi R24,<L5
 014C 90E0              ldi R25,>L5
 014E 9983              std y+1,R25
 0150 8883              std y+0,R24
 0152 22E0              ldi R18,2
 0154 30E0              ldi R19,0
 0156 01E0              ldi R16,1
 0158 10E0              ldi R17,0
 015A 00D0              rcall _Char_Set_XY
 015C                   .dbline 54
 015C           ;   
 015C           ;  
 015C           ;   Char_Set_XY_BYTE(6,0,charindex[10],2);
 015C 82E0              ldi R24,2
 015E 90E0              ldi R25,0
 0160 9B83              std y+3,R25
 0162 8A83              std y+2,R24
 0164 20900A00          lds R2,_charindex+10
 0168 3324              clr R3
 016A 3982              std y+1,R3
 016C 2882              std y+0,R2
 016E 2227              clr R18
 0170 3327              clr R19
 0172 06E0              ldi R16,6
 0174 10E0              ldi R17,0
 0176 00D0              rcall _Char_Set_XY_BYTE
 0178                   .dbline 55
 0178           ;   Char_Set_XY_BYTE(5,0,charindex[10],1);
 0178 81E0              ldi R24,1
 017A 90E0              ldi R25,0

⌨️ 快捷键说明

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