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

📄 rtc.lis

📁 已经上传的YF-320240-3.5寸彩屏(可由单片机控制)的测试程序。主CPU为MEGA128
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0152                   .dbsym r back 14 c
 0152                   .dbsym r front 12 c
 0152                   .dbsym r y 22 c
 0152                   .dbsym r x 20 i
 0152                   .dbend
 0152                   .dbfunc e DisTimeAll _DisTimeAll fV
 0152           ;           temp -> y+7
 0152           ;           back -> y+24
 0152           ;          front -> y+22
 0152           ;              y -> R22
 0152           ;              x -> R20,R21
                        .even
 0152           _DisTimeAll::
 0152 0E940000          xcall push_gset2
 0156 622F              mov R22,R18
 0158 A801              movw R20,R16
 015A 6297              sbiw R28,18
 015C                   .dbline -1
 015C                   .dbline 59
 015C           ;       
 015C           ; }
 015C           ; void DisTimeAll(unsigned int x,unsigned char y,unsigned char front,unsigned char back)
 015C           ; {
 015C                   .dbline 61
 015C           ;     unsigned char temp[11];
 015C           ;       ReadTime();
 015C 51DF              xcall _ReadTime
 015E                   .dbline 62
 015E           ;       temp[0] = (time.year_H >> 4)+0x30;
 015E 80910600          lds R24,_time+6
 0162 8295              swap R24
 0164 8F70              andi R24,#0x0F
 0166 805D              subi R24,208    ; addi 48
 0168 8F83              std y+7,R24
 016A                   .dbline 63
 016A           ;       temp[1] = (time.year_H &0x0f)+0x30;
 016A 80910600          lds R24,_time+6
 016E 8F70              andi R24,15
 0170 805D              subi R24,208    ; addi 48
 0172 8887              std y+8,R24
 0174                   .dbline 64
 0174           ;       temp[2] = (time.year_L >> 4)+0x30;
 0174 80910500          lds R24,_time+5
 0178 8295              swap R24
 017A 8F70              andi R24,#0x0F
 017C 805D              subi R24,208    ; addi 48
 017E 8987              std y+9,R24
 0180                   .dbline 65
 0180           ;       temp[3] = (time.year_L & 0x0f)+0x30;
 0180 80910500          lds R24,_time+5
 0184 8F70              andi R24,15
 0186 805D              subi R24,208    ; addi 48
 0188 8A87              std y+10,R24
 018A                   .dbline 66
 018A           ;       temp[4] = '/';
 018A 8FE2              ldi R24,47
 018C 8B87              std y+11,R24
 018E                   .dbline 67
 018E           ;       temp[5] = (time.month >> 4)+0x30;
 018E 80910400          lds R24,_time+4
 0192 8295              swap R24
 0194 8F70              andi R24,#0x0F
 0196 805D              subi R24,208    ; addi 48
 0198 8C87              std y+12,R24
 019A                   .dbline 68
 019A           ;       temp[6] = (time.month & 0x0f)+0x30;
 019A 80910400          lds R24,_time+4
 019E 8F70              andi R24,15
 01A0 805D              subi R24,208    ; addi 48
 01A2 8D87              std y+13,R24
 01A4                   .dbline 69
 01A4           ;       temp[7] = '/';
 01A4 8FE2              ldi R24,47
 01A6 8E87              std y+14,R24
 01A8                   .dbline 70
 01A8           ;       temp[8] = (time.day >> 4)+0x30;
 01A8 80910300          lds R24,_time+3
 01AC 8295              swap R24
 01AE 8F70              andi R24,#0x0F
 01B0 805D              subi R24,208    ; addi 48
 01B2 8F87              std y+15,R24
 01B4                   .dbline 71
 01B4           ;       temp[9] = (time.day & 0x0f)+0x30;
 01B4 80910300          lds R24,_time+3
 01B8 8F70              andi R24,15
 01BA 805D              subi R24,208    ; addi 48
 01BC 888B              std y+16,R24
 01BE                   .dbline 72
 01BE           ;       temp[10] = 0;
 01BE 2224              clr R2
 01C0 298A              std y+17,R2
 01C2                   .dbline 73
 01C2           ;       Display(x,y,temp,BIG,front,back);
 01C2 088C              ldd R0,y+24
 01C4 0E82              std y+6,R0
 01C6 0E88              ldd R0,y+22
 01C8 0C82              std y+4,R0
 01CA 81E0              ldi R24,1
 01CC 8A83              std y+2,R24
 01CE CE01              movw R24,R28
 01D0 0796              adiw R24,7
 01D2 9983              std y+1,R25
 01D4 8883              std y+0,R24
 01D6 262F              mov R18,R22
 01D8 8A01              movw R16,R20
 01DA 0E940000          xcall _Display
 01DE                   .dbline 75
 01DE           ;       
 01DE           ;       temp[0] = (time.hour >> 4)+0x30;
 01DE 80910200          lds R24,_time+2
 01E2 8295              swap R24
 01E4 8F70              andi R24,#0x0F
 01E6 805D              subi R24,208    ; addi 48
 01E8 8F83              std y+7,R24
 01EA                   .dbline 76
 01EA           ;       temp[1] = (time.hour & 0x0f)+0x30;
 01EA 80910200          lds R24,_time+2
 01EE 8F70              andi R24,15
 01F0 805D              subi R24,208    ; addi 48
 01F2 8887              std y+8,R24
 01F4                   .dbline 77
 01F4           ;       temp[2] = '/';
 01F4 8FE2              ldi R24,47
 01F6 8987              std y+9,R24
 01F8                   .dbline 78
 01F8           ;       temp[3] = (time.minute >> 4)+0x30;
 01F8 80910100          lds R24,_time+1
 01FC 8295              swap R24
 01FE 8F70              andi R24,#0x0F
 0200 805D              subi R24,208    ; addi 48
 0202 8A87              std y+10,R24
 0204                   .dbline 79
 0204           ;       temp[4] = (time.minute & 0x0f)+0x30;
 0204 80910100          lds R24,_time+1
 0208 8F70              andi R24,15
 020A 805D              subi R24,208    ; addi 48
 020C 8B87              std y+11,R24
 020E                   .dbline 80
 020E           ;       temp[5] = '/';
 020E 8FE2              ldi R24,47
 0210 8C87              std y+12,R24
 0212                   .dbline 81
 0212           ;       temp[6] = (time.second >> 4)+0x30;
 0212 80910000          lds R24,_time
 0216 8295              swap R24
 0218 8F70              andi R24,#0x0F
 021A 805D              subi R24,208    ; addi 48
 021C 8D87              std y+13,R24
 021E                   .dbline 82
 021E           ;       temp[7] = (time.second & 0x0f)+0x30;
 021E 80910000          lds R24,_time
 0222 8F70              andi R24,15
 0224 805D              subi R24,208    ; addi 48
 0226 8E87              std y+14,R24
 0228                   .dbline 83
 0228           ;       temp[8] = 0;
 0228 2224              clr R2
 022A 2F86              std y+15,R2
 022C                   .dbline 84
 022C           ;       Display(x+32,y+25,temp,BIG,front,back);
 022C 088C              ldd R0,y+24
 022E 0E82              std y+6,R0
 0230 0E88              ldd R0,y+22
 0232 0C82              std y+4,R0
 0234 81E0              ldi R24,1
 0236 8A83              std y+2,R24
 0238 CE01              movw R24,R28
 023A 0796              adiw R24,7
 023C 9983              std y+1,R25
 023E 8883              std y+0,R24
 0240 262F              mov R18,R22
 0242 275E              subi R18,231    ; addi 25
 0244 8A01              movw R16,R20
 0246 005E              subi R16,224  ; offset = 32
 0248 1F4F              sbci R17,255
 024A 0E940000          xcall _Display
 024E                   .dbline -2
 024E           L16:
 024E 6296              adiw R28,18
 0250 0E940000          xcall pop_gset2
 0254                   .dbline 0 ; func end
 0254 0895              ret
 0256                   .dbsym l temp 7 A[11:11]c
 0256                   .dbsym l back 24 c
 0256                   .dbsym l front 22 c
 0256                   .dbsym r y 22 c
 0256                   .dbsym r x 20 i
 0256                   .dbend
 0256                   .dbfunc e SetTime _SetTime fV
                        .even
 0256           _SetTime::
 0256                   .dbline -1
 0256                   .dbline 88
 0256           ;       
 0256           ; }
 0256           ; void SetTime(void)
 0256           ; {
 0256                   .dbline 89
 0256           ;     REG_B=0xb2;
 0256 82EB              ldi R24,178
 0258 80930BB0          sts 45067,R24
 025C                   .dbline 90
 025C           ;     SECOND = 0; //second
 025C 2224              clr R2
 025E 209200B0          sts 45056,R2
 0262                   .dbline 91
 0262           ;     MINUTE = 0; //minutes
 0262 209202B0          sts 45058,R2
 0266                   .dbline 92
 0266           ;     HOUR = 0;   //hour
 0266 209204B0          sts 45060,R2
 026A                   .dbline 93
 026A           ;     DAY = 0;   //day
 026A 209207B0          sts 45063,R2
 026E                   .dbline 94
 026E           ;     MONTH = 0;  //month
 026E 209208B0          sts 45064,R2
 0272                   .dbline 95
 0272           ;     YEAR = 0;  //year
 0272 209209B0          sts 45065,R2
 0276                   .dbline 96
 0276           ;       REG_E = 0x20;//year high byte
 0276 80E2              ldi R24,32
 0278 80930EB0          sts 45070,R24
 027C                   .dbline 97
 027C           ;     REG_A = 0x20;
 027C 80930AB0          sts 45066,R24
 0280                   .dbline 98
 0280           ;       REG_B = 0x12;
 0280 82E1              ldi R24,18
 0282 80930BB0          sts 45067,R24
 0286                   .dbline -2
 0286           L47:
 0286                   .dbline 0 ; func end
 0286 0895              ret
 0288                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\Relations\sf6_system\measure\LCDtest\rtc.c
 0000           _time::
 0000                   .blkb 7
 0007                   .dbstruct 0 7 Time
 0007                   .dbfield 0 second c
 0007                   .dbfield 1 minute c
 0007                   .dbfield 2 hour c
 0007                   .dbfield 3 day c
 0007                   .dbfield 4 month c
 0007                   .dbfield 5 year_L c
 0007                   .dbfield 6 year_H c
 0007                   .dbend
 0007                   .dbsym e time _time S[Time]

⌨️ 快捷键说明

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