📄 wnl.lst
字号:
01C1 01F8 MOVW R30,R16
01C2 EA84 LDI R24,0xA4
01C3 E090 LDI R25,0
01C4 0FE8 ADD R30,R24
01C5 1FF9 ADC R31,R25
01C6 9024 LPM R2,0(Z)
01C7 2433 CLR R3
01C8 823B STD Y+3,R3
01C9 822A STD Y+2,R2
01CA 2422 CLR R2
01CB 8239 STD Y+1,R3
01CC 8228 STD Y+0,R2
01CD E02A LDI R18,0xA
01CE E030 LDI R19,0
01CF EF09 LDI R16,0xF9
01D0 E010 LDI R17,0
01D1 DEE0 RCALL _write_ASCII
(0124) write_ASCII(0xf9,11,0,table[second%10]);//秒钟地位
01D2 E02A LDI R18,0xA
01D3 E030 LDI R19,0
01D4 91000100 LDS R16,second
01D6 2711 CLR R17
01D7 940E0624 CALL mod16s
01D9 01F8 MOVW R30,R16
01DA EA84 LDI R24,0xA4
01DB E090 LDI R25,0
01DC 0FE8 ADD R30,R24
01DD 1FF9 ADC R31,R25
01DE 9024 LPM R2,0(Z)
01DF 2433 CLR R3
01E0 823B STD Y+3,R3
01E1 822A STD Y+2,R2
01E2 2422 CLR R2
01E3 8239 STD Y+1,R3
01E4 8228 STD Y+0,R2
01E5 E02B LDI R18,0xB
01E6 E030 LDI R19,0
01E7 EF09 LDI R16,0xF9
01E8 E010 LDI R17,0
01E9 DEC8 RCALL _write_ASCII
01EA 9624 ADIW R28,4
01EB 9508 RET
_day_display:
01EC 9724 SBIW R28,4
(0125) }
(0126) /**********************************************/
(0127) /* LCD显示星期年月日*/
(0128) /**********************************************/
(0129) void day_display(void)
(0130) {
(0131) write_hazi(7,0,biao1[7],biao2[7]);//星
01ED E9EF LDI R30,0x9F
01EE E0F0 LDI R31,0
01EF 9024 LPM R2,0(Z)
01F0 2433 CLR R3
01F1 823B STD Y+3,R3
01F2 822A STD Y+2,R2
01F3 E9E3 LDI R30,0x93
01F4 E0F0 LDI R31,0
01F5 9024 LPM R2,0(Z)
01F6 2433 CLR R3
01F7 8239 STD Y+1,R3
01F8 8228 STD Y+0,R2
01F9 2722 CLR R18
01FA 2733 CLR R19
01FB E007 LDI R16,7
01FC E010 LDI R17,0
01FD DEC5 RCALL _write_hazi
(0132) write_hazi(8,0,biao1[8],biao2[8]);//期
01FE EAE0 LDI R30,0xA0
01FF E0F0 LDI R31,0
0200 9024 LPM R2,0(Z)
0201 2433 CLR R3
0202 823B STD Y+3,R3
0203 822A STD Y+2,R2
0204 E9E4 LDI R30,0x94
0205 E0F0 LDI R31,0
0206 9024 LPM R2,0(Z)
0207 2433 CLR R3
0208 8239 STD Y+1,R3
0209 8228 STD Y+0,R2
020A 2722 CLR R18
020B 2733 CLR R19
020C E008 LDI R16,0x8
020D E010 LDI R17,0
020E DEB4 RCALL _write_hazi
(0133) write_hazi(4,1,biao1[9],biao2[9]);//年
020F EAE1 LDI R30,0xA1
0210 E0F0 LDI R31,0
0211 9024 LPM R2,0(Z)
0212 2433 CLR R3
0213 823B STD Y+3,R3
0214 822A STD Y+2,R2
0215 E9E5 LDI R30,0x95
0216 E0F0 LDI R31,0
0217 9024 LPM R2,0(Z)
0218 2433 CLR R3
0219 8239 STD Y+1,R3
021A 8228 STD Y+0,R2
021B E021 LDI R18,1
021C E030 LDI R19,0
021D E004 LDI R16,4
021E E010 LDI R17,0
021F DEA3 RCALL _write_hazi
(0134) write_hazi(6,1,biao1[10],biao2[10]);//月
0220 EAE2 LDI R30,0xA2
0221 E0F0 LDI R31,0
0222 9024 LPM R2,0(Z)
0223 2433 CLR R3
0224 823B STD Y+3,R3
0225 822A STD Y+2,R2
0226 E9E6 LDI R30,0x96
0227 E0F0 LDI R31,0
0228 9024 LPM R2,0(Z)
0229 2433 CLR R3
022A 8239 STD Y+1,R3
022B 8228 STD Y+0,R2
022C E021 LDI R18,1
022D E030 LDI R19,0
022E E006 LDI R16,6
022F E010 LDI R17,0
0230 DE92 RCALL _write_hazi
(0135) write_hazi(8,1,biao1[11],biao2[11]);//日
0231 EAE3 LDI R30,0xA3
0232 E0F0 LDI R31,0
0233 9024 LPM R2,0(Z)
0234 2433 CLR R3
0235 823B STD Y+3,R3
0236 822A STD Y+2,R2
0237 E9E7 LDI R30,0x97
0238 E0F0 LDI R31,0
0239 9024 LPM R2,0(Z)
023A 2433 CLR R3
023B 8239 STD Y+1,R3
023C 8228 STD Y+0,R2
023D E021 LDI R18,1
023E E030 LDI R19,0
023F E008 LDI R16,0x8
0240 E010 LDI R17,0
0241 DE81 RCALL _write_hazi
(0136) write_hazi(9,0,biao1[day-1],biao2[day-1]);//一,二,三,四,五,六,日
0242 E987 LDI R24,0x97
0243 E090 LDI R25,0
0244 91E00103 LDS R30,day
0246 27FF CLR R31
0247 0FE8 ADD R30,R24
0248 1FF9 ADC R31,R25
0249 9024 LPM R2,0(Z)
024A 2433 CLR R3
024B 823B STD Y+3,R3
024C 822A STD Y+2,R2
024D E88B LDI R24,0x8B
024E E090 LDI R25,0
024F 91E00103 LDS R30,day
0251 27FF CLR R31
0252 0FE8 ADD R30,R24
0253 1FF9 ADC R31,R25
0254 9024 LPM R2,0(Z)
0255 2433 CLR R3
0256 8239 STD Y+1,R3
0257 8228 STD Y+0,R2
0258 2722 CLR R18
0259 2733 CLR R19
025A E009 LDI R16,0x9
025B E010 LDI R17,0
025C DE66 RCALL _write_hazi
(0137) write_ASCII(0xf9,4,16,table[year/1000]);//年第四位
025D EE28 LDI R18,0xE8
025E E033 LDI R19,3
025F 91000106 LDS R16,year
0261 91100107 LDS R17,year+1
0263 940E0644 CALL div16u
0265 01F8 MOVW R30,R16
0266 EA84 LDI R24,0xA4
0267 E090 LDI R25,0
0268 0FE8 ADD R30,R24
0269 1FF9 ADC R31,R25
026A 9024 LPM R2,0(Z)
026B 2433 CLR R3
026C 823B STD Y+3,R3
026D 822A STD Y+2,R2
026E E180 LDI R24,0x10
026F E090 LDI R25,0
0270 8399 STD Y+1,R25
0271 8388 STD Y+0,R24
0272 E024 LDI R18,4
0273 E030 LDI R19,0
0274 EF09 LDI R16,0xF9
0275 E010 LDI R17,0
0276 DE3B RCALL _write_ASCII
(0138) write_ASCII(0xf9,5,16,table[year%1000/100]);//年第三位
0277 EE28 LDI R18,0xE8
0278 E033 LDI R19,3
0279 91000106 LDS R16,year
027B 91100107 LDS R17,year+1
027D 940E0642 CALL mod16u
027F E624 LDI R18,0x64
0280 E030 LDI R19,0
0281 940E0644 CALL div16u
0283 01F8 MOVW R30,R16
0284 EA84 LDI R24,0xA4
0285 E090 LDI R25,0
0286 0FE8 ADD R30,R24
0287 1FF9 ADC R31,R25
0288 9024 LPM R2,0(Z)
0289 2433 CLR R3
028A 823B STD Y+3,R3
028B 822A STD Y+2,R2
028C E180 LDI R24,0x10
028D E090 LDI R25,0
028E 8399 STD Y+1,R25
028F 8388 STD Y+0,R24
0290 E025 LDI R18,5
0291 E030 LDI R19,0
0292 EF09 LDI R16,0xF9
0293 E010 LDI R17,0
0294 DE1D RCALL _write_ASCII
(0139) write_ASCII(0xf9,6,16,table[year%1000%100/10]);//年第二位
0295 EE28 LDI R18,0xE8
0296 E033 LDI R19,3
0297 91000106 LDS R16,year
0299 91100107 LDS R17,year+1
029B 940E0642 CALL mod16u
029D E624 LDI R18,0x64
029E E030 LDI R19,0
029F 940E0642 CALL mod16u
02A1 E02A LDI R18,0xA
02A2 E030 LDI R19,0
02A3 940E0644 CALL div16u
02A5 01F8 MOVW R30,R16
02A6 EA84 LDI R24,0xA4
02A7 E090 LDI R25,0
02A8 0FE8 ADD R30,R24
02A9 1FF9 ADC R31,R25
02AA 9024 LPM R2,0(Z)
02AB 2433 CLR R3
02AC 823B STD Y+3,R3
02AD 822A STD Y+2,R2
02AE E180 LDI R24,0x10
02AF E090 LDI R25,0
02B0 8399 STD Y+1,R25
02B1 8388 STD Y+0,R24
02B2 E026 LDI R18,6
02B3 E030 LDI R19,0
02B4 EF09 LDI R16,0xF9
02B5 E010 LDI R17,0
02B6 DDFB RCALL _write_ASCII
(0140) write_ASCII(0xf9,7,16,table[year%1000%100%10]);//年第一位
02B7 EE28 LDI R18,0xE8
02B8 E033 LDI R19,3
02B9 91000106 LDS R16,year
02BB 91100107 LDS R17,year+1
02BD 940E0642 CALL mod16u
02BF E624 LDI R18,0x64
02C0 E030 LDI R19,0
02C1 940E0642 CALL mod16u
02C3 E02A LDI R18,0xA
02C4 E030 LDI R19,0
02C5 940E0642 CALL mod16u
02C7 01F8 MOVW R30,R16
02C8 EA84 LDI R24,0xA4
02C9 E090 LDI R25,0
02CA 0FE8 ADD R30,R24
02CB 1FF9 ADC R31,R25
02CC 9024 LPM R2,0(Z)
02CD 2433 CLR R3
02CE 823B STD Y+3,R3
02CF 822A STD Y+2,R2
02D0 E180 LDI R24,0x10
02D1 E090 LDI R25,0
02D2 8399 STD Y+1,R25
02D3 8388 STD Y+0,R24
02D4 E027 LDI R18,7
02D5 E030 LDI R19,0
02D6 EF09 LDI R16,0xF9
02D7 E010 LDI R17,0
02D8 DDD9 RCALL _write_ASCII
(0141) write_ASCII(0xf9,10,16,table[month/10]);//月份高位
02D9 E02A LDI R18,0xA
02DA E030 LDI R19,0
02DB 91000105 LDS R16,month
02DD 2711 CLR R17
02DE 940E0628 CALL div16s
02E0 01F8 MOVW R30,R16
02E1 EA84 LDI R24,0xA4
02E2 E090 LDI R25,0
02E3 0FE8 ADD R30,R24
02E4 1FF9 ADC R31,R25
02E5 9024 LPM R2,0(Z)
02E6 2433 CLR R3
02E7 823B STD Y+3,R3
02E8 822A STD Y+2,R2
02E9 E180 LDI R24,0x10
02EA E090 LDI R25,0
02EB 8399 STD Y+1,R25
02EC 8388 STD Y+0,R24
02ED E02A LDI R18,0xA
02EE E030 LDI R19,0
02EF EF09 LDI R16,0xF9
02F0 E010 LDI R17,0
02F1 DDC0 RCALL _write_ASCII
(0142) write_ASCII(0xf9,11,16,table[month%10]);//月份低位
02F2 E02A LDI R18,0xA
02F3 E030 LDI R19,0
02F4 91000105 LDS R16,month
02F6 2711 CLR R17
02F7 940E0624 CALL mod16s
02F9 01F8 MOVW R30,R16
02FA EA84 LDI R24,0xA4
02FB E090 LDI R25,0
02FC 0FE8 ADD R30,R24
02FD 1FF9 ADC R31,R25
02FE 9024 LPM R2,0(Z)
02FF 2433 CLR R3
0300 823B STD Y+3,R3
0301 822A STD Y+2,R2
0302 E180 LDI R24,0x10
0303 E090 LDI R25,0
0304 8399 STD Y+1,R25
0305 8388 STD Y+0,R24
0306 E02B LDI R18,0xB
0307 E030 LDI R19,0
0308 EF09 LDI R16,0xF9
0309 E010 LDI R17,0
030A DDA7 RCALL _write_ASCII
(0143) write_ASCII(0xf9,14,16,table[days/10]);//日期高位
030B E02A LDI R18,0xA
030C E030 LDI R19,0
030D 91000104 LDS R16,days
030F 2711 CLR R17
0310 940E0628 CALL div16s
0312 01F8 MOVW R30,R16
0313 EA84 LDI R24,0xA4
0314 E090 LDI R25,0
0315 0FE8 ADD R30,R24
0316 1FF9 ADC R31,R25
0317 9024 LPM R2,0(Z)
0318 2433 CLR R3
0319 823B STD Y+3,R3
031A 822A STD Y+2,R2
031B E180 LDI R24,0x10
031C E090 LDI R25,0
031D 8399 STD Y+1,R25
031E 8388 STD Y+0,R24
031F E02E LDI R18,0xE
0320 E030 LDI R19,0
0321 EF09 LDI R16,0xF9
0322 E010 LDI R17,0
0323 DD8E RCALL _write_ASCII
(0144) write_ASCII(0xf9,15,16,table[days%10]);//日期低位
0324 E02A LDI R18,0xA
0325 E030 LDI R19,0
0326 91000104 LDS R16,days
0328 2711 CLR R17
0329 940E0624 CALL mod16s
032B 01F8 MOVW R30,R16
032C EA84 LDI R24,0xA4
032D E090 LDI R25,0
032E 0FE8 ADD R30,R24
032F 1FF9 ADC R31,R25
0330 9024 LPM R2,0(Z)
0331 2433 CLR R3
0332 823B STD Y+3,R3
0333 822A STD Y+2,R2
0334 E180 LDI R24,0x10
0335 E090 LDI R25,0
0336 8399 STD Y+1,R25
0337 8388 STD Y+0,R24
0338 E02F LDI R18,0xF
0339 E030 LDI R19,0
033A EF09 LDI R16,0xF9
033B E010 LDI R17,0
033C DD75 RCALL _write_ASCII
033D 9624 ADIW R28,4
033E 9508 RET
_get_days:
tian --> R20
yue --> R20
033F 940E067C CALL push_gset1
0341 2F40 MOV R20,R16
(0145) }
(0146) /**********************************************/
(0147) /* 确定天数*/
(0148) /**********************************************/
(0149) unsigned char get_days(unsigned char yue)
(0150) {
(0151) unsigned char tian;
(0152) switch(yue)
0342 2755 CLR R21
0343 3041 CPI R20,1
0344 E0E0 LDI R30,0
0345 075E CPC R21,R30
0346 F169 BEQ 0x0374
0347 3042 CPI R20,2
0348 E0E0 LDI R30,0
0349 075E CPC R21,R30
034A F169 BEQ 0x0378
034B 3043 CPI R20,3
034C E0E0 LDI R30,0
034D 075E CPC R21,R30
034E F129 BEQ 0x0374
034F 3044 CPI R20,4
0350 E0E0 LDI R30,0
0351 075E CPC R21,R30
0352 F119 BEQ 0x0376
0353 3045 CPI R20,5
0354 E0E0 LDI R30,0
0355 075E CPC R21,R30
0356 F0E9 BEQ 0x0374
0357 3046 CPI R20,6
0358 E0E0 LDI R30,0
0359 075E CPC R21,R30
035A F0D9 BEQ 0x0376
035B 3047 CPI R20,7
035C E0E0 LDI R30,0
035D 075E CPC R21,R30
035E F0A9 BEQ 0x0374
035F 3048 CPI R20,0x8
0360 E0E0 LDI R30,0
0361 075E CPC R21,R30
0362 F089 BEQ 0x0374
0363 3049 CPI R20,0x9
0364 E0E0 LDI R30,0
0365 075E CPC R21,R30
0366 F079 BEQ 0x0376
0367 304A CPI R20,0xA
0368 E0E0 LDI R30,0
0369 075E CPC R21,R30
036A F049 BEQ 0x0374
036B 304B CPI R20,0xB
036C E0E0 LDI R30,0
036D 075E CPC R21,R30
036E F039 BEQ 0x0376
036F 304C CPI R20,0xC
0370 E0E0 LDI R30,0
0371 075E CPC R21,R30
0372 F009 BEQ 0x0374
0373 C026 RJMP 0x039A
(0153) {
(0154) case 1:
(0155) case 3:
(0156) case 5:
(0157) case 7:
(0158) case 8:
(0159) case 10:
(0160) case 12:tian=31;break;
0374 E14F LDI R20,0x1F
0375 C024 RJMP 0x039A
(0161) case 4:
(0162) case 6:
(0163) case 9:
(0164) case 11:tian=30;break;
0376 E14E LDI R20,0x1E
0377 C022 RJMP 0x039A
(0165) case 2: if((year%4==0&&year%100!=0)||(year%400==0))tian=29;else tian=28;break;
0378 91800106 LDS R24,year
037A 91900107 LDS R25,year+1
037C 7083 ANDI R24,3
037D 7090 ANDI R25,0
037E 3080 CPI R24,0
037F 0789 CPC R24,R25
0380 F459 BNE 0x038C
0381 E624 LDI R18,0x64
0382 E030 LDI R19,0
0383 91000106 LDS R16,year
0385 91100107 LDS R17,year+1
0387 940E0642 CALL mod16u
0389 3000 CPI R16,0
038A 0701 CPC R16,R17
038B F459 BNE 0x0397
038C E920 LDI R18,0x90
038D E031 LDI R19,1
038E 91000106 LDS R16,year
0390 91100107 LDS R17,year+1
0392 940E0642 CALL mod16u
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -