📄 2.lis
字号:
067C .dbline 197
067C ; hour=0;
067C 20920200 sts _hour,R2
0680 .dbline 198
0680 ; day=day+1;
0680 80910300 lds R24,_day
0684 8F5F subi R24,255 ; addi 1
0686 80930300 sts _day,R24
068A .dbline 199
068A ; if(day>7)
068A 87E0 ldi R24,7
068C 20900300 lds R2,_day
0690 8215 cp R24,R2
0692 18F4 brsh L68
0694 .dbline 200
0694 ; day=1;
0694 81E0 ldi R24,1
0696 80930300 sts _day,R24
069A L68:
069A .dbline 201
069A ; days=days+1;
069A 80910400 lds R24,_days
069E 8F5F subi R24,255 ; addi 1
06A0 80930400 sts _days,R24
06A4 .dbline 202
06A4 ; if(days>get_days(month))
06A4 00910500 lds R16,_month
06A8 64DF xcall _get_days
06AA 20900400 lds R2,_days
06AE 0215 cp R16,R2
06B0 C8F4 brsh L70
06B2 .dbline 203
06B2 ; {
06B2 .dbline 204
06B2 ; days=1;
06B2 81E0 ldi R24,1
06B4 80930400 sts _days,R24
06B8 .dbline 205
06B8 ; month=month+1;
06B8 80910500 lds R24,_month
06BC 8F5F subi R24,255 ; addi 1
06BE 80930500 sts _month,R24
06C2 .dbline 206
06C2 ; if(month>12)
06C2 8CE0 ldi R24,12
06C4 20900500 lds R2,_month
06C8 8215 cp R24,R2
06CA 60F4 brsh L72
06CC .dbline 207
06CC ; {
06CC .dbline 208
06CC ; month=1;
06CC 81E0 ldi R24,1
06CE 80930500 sts _month,R24
06D2 .dbline 209
06D2 ; year=year+1;
06D2 80910600 lds R24,_year
06D6 90910700 lds R25,_year+1
06DA 0196 adiw R24,1
06DC 90930700 sts _year+1,R25
06E0 80930600 sts _year,R24
06E4 .dbline 210
06E4 ; }
06E4 L72:
06E4 .dbline 211
06E4 ; }
06E4 L70:
06E4 .dbline 213
06E4 ;
06E4 ; }
06E4 L66:
06E4 .dbline 214
06E4 ; }
06E4 L64:
06E4 .dbline 215
06E4 ; }
06E4 L62:
06E4 .dbline 216
06E4 46DD xcall _time_display
06E6 .dbline 217
06E6 20900800 lds R2,_flag
06EA 2220 tst R2
06EC 09F4 brne L74
06EE .dbline 218
06EE .dbline 219
06EE EEDD xcall _day_display
06F0 .dbline 220
06F0 L74:
06F0 .dbline -2
06F0 L61:
06F0 0E940000 xcall pop_lset
06F4 .dbline 0 ; func end
06F4 1895 reti
06F6 .dbend
06F6 .dbfunc e lcd_time _lcd_time fV
.even
06F6 _lcd_time::
06F6 2497 sbiw R28,4
06F8 .dbline -1
06F8 .dbline 226
06F8 ; time_display();//显示小时,分钟
06F8 ; if(flag==0) //与最后面相照应 //如果没有标志位就不能起缓冲作用,边化快
06F8 ; {
06F8 ; day_display();//显示年月日
06F8 ; }
06F8 ; }
06F8 ; /**********************************************/
06F8 ; /*写显示*/
06F8 ; /**********************************************/
06F8 ; void lcd_time(void)
06F8 ; {
06F8 .dbline 227
06F8 ; write_ASCII(0xf9,4,0,table[lcd_buff[0]]);//小时高位
06F8 80E0 ldi R24,<_table
06FA 90E0 ldi R25,>_table
06FC E0910900 lds R30,_lcd_buff
0700 FF27 clr R31
0702 E80F add R30,R24
0704 F91F adc R31,R25
0706 2490 lpm R2,Z
0708 3324 clr R3
070A 3B82 std y+3,R3
070C 2A82 std y+2,R2
070E 2224 clr R2
0710 3982 std y+1,R3
0712 2882 std y+0,R2
0714 24E0 ldi R18,4
0716 30E0 ldi R19,0
0718 09EF ldi R16,249
071A 10E0 ldi R17,0
071C 9DDC xcall _write_ASCII
071E .dbline 228
071E ; write_ASCII(0xf9,5,0,table[lcd_buff[1]]);//小时地位
071E 80E0 ldi R24,<_table
0720 90E0 ldi R25,>_table
0722 E0910A00 lds R30,_lcd_buff+1
0726 FF27 clr R31
0728 E80F add R30,R24
072A F91F adc R31,R25
072C 2490 lpm R2,Z
072E 3324 clr R3
0730 3B82 std y+3,R3
0732 2A82 std y+2,R2
0734 2224 clr R2
0736 3982 std y+1,R3
0738 2882 std y+0,R2
073A 25E0 ldi R18,5
073C 30E0 ldi R19,0
073E 09EF ldi R16,249
0740 10E0 ldi R17,0
0742 8ADC xcall _write_ASCII
0744 .dbline 229
0744 ; write_ASCII(0xf9,6,0,58); //:
0744 8AE3 ldi R24,58
0746 90E0 ldi R25,0
0748 9B83 std y+3,R25
074A 8A83 std y+2,R24
074C 2224 clr R2
074E 3324 clr R3
0750 3982 std y+1,R3
0752 2882 std y+0,R2
0754 26E0 ldi R18,6
0756 30E0 ldi R19,0
0758 09EF ldi R16,249
075A 10E0 ldi R17,0
075C 7DDC xcall _write_ASCII
075E .dbline 230
075E ; write_ASCII(0xf9,7,0,table[lcd_buff[2]]);//分钟高位
075E 80E0 ldi R24,<_table
0760 90E0 ldi R25,>_table
0762 E0910B00 lds R30,_lcd_buff+2
0766 FF27 clr R31
0768 E80F add R30,R24
076A F91F adc R31,R25
076C 2490 lpm R2,Z
076E 3324 clr R3
0770 3B82 std y+3,R3
0772 2A82 std y+2,R2
0774 2224 clr R2
0776 3982 std y+1,R3
0778 2882 std y+0,R2
077A 27E0 ldi R18,7
077C 30E0 ldi R19,0
077E 09EF ldi R16,249
0780 10E0 ldi R17,0
0782 6ADC xcall _write_ASCII
0784 .dbline 231
0784 ; write_ASCII(0xf9,8,0,table[lcd_buff[3]]); //分钟地位
0784 80E0 ldi R24,<_table
0786 90E0 ldi R25,>_table
0788 E0910C00 lds R30,_lcd_buff+3
078C FF27 clr R31
078E E80F add R30,R24
0790 F91F adc R31,R25
0792 2490 lpm R2,Z
0794 3324 clr R3
0796 3B82 std y+3,R3
0798 2A82 std y+2,R2
079A 2224 clr R2
079C 3982 std y+1,R3
079E 2882 std y+0,R2
07A0 28E0 ldi R18,8
07A2 30E0 ldi R19,0
07A4 09EF ldi R16,249
07A6 10E0 ldi R17,0
07A8 57DC xcall _write_ASCII
07AA .dbline 232
07AA ; write_ASCII(0xf9,10,0,48);// 0
07AA 80E3 ldi R24,48
07AC 90E0 ldi R25,0
07AE 9B83 std y+3,R25
07B0 8A83 std y+2,R24
07B2 2224 clr R2
07B4 3324 clr R3
07B6 3982 std y+1,R3
07B8 2882 std y+0,R2
07BA 2AE0 ldi R18,10
07BC 30E0 ldi R19,0
07BE 09EF ldi R16,249
07C0 10E0 ldi R17,0
07C2 4ADC xcall _write_ASCII
07C4 .dbline 233
07C4 ; write_ASCII(0xf9,11,0,48);//0
07C4 80E3 ldi R24,48
07C6 90E0 ldi R25,0
07C8 9B83 std y+3,R25
07CA 8A83 std y+2,R24
07CC 2224 clr R2
07CE 3324 clr R3
07D0 3982 std y+1,R3
07D2 2882 std y+0,R2
07D4 2BE0 ldi R18,11
07D6 30E0 ldi R19,0
07D8 09EF ldi R16,249
07DA 10E0 ldi R17,0
07DC 3DDC xcall _write_ASCII
07DE .dbline -2
07DE L76:
07DE 2496 adiw R28,4
07E0 .dbline 0 ; func end
07E0 0895 ret
07E2 .dbend
07E2 .dbfunc e lcd_time1 _lcd_time1 fV
.even
07E2 _lcd_time1::
07E2 2497 sbiw R28,4
07E4 .dbline -1
07E4 .dbline 236
07E4 ; }
07E4 ; void lcd_time1(void)
07E4 ; {
07E4 .dbline 237
07E4 ; write_hazi(9,0,biao1[lcd_buff1[8]-1],biao2[lcd_buff1[8]-1]);//一,二,三,四,五,六,日
07E4 80E0 ldi R24,<_biao2-1
07E6 90E0 ldi R25,>_biao2-1
07E8 E0911500 lds R30,_lcd_buff1+8
07EC FF27 clr R31
07EE E80F add R30,R24
07F0 F91F adc R31,R25
07F2 2490 lpm R2,Z
07F4 3324 clr R3
07F6 3B82 std y+3,R3
07F8 2A82 std y+2,R2
07FA 80E0 ldi R24,<_biao1-1
07FC 90E0 ldi R25,>_biao1-1
07FE E0911500 lds R30,_lcd_buff1+8
0802 FF27 clr R31
0804 E80F add R30,R24
0806 F91F adc R31,R25
0808 2490 lpm R2,Z
080A 3324 clr R3
080C 3982 std y+1,R3
080E 2882 std y+0,R2
0810 2227 clr R18
0812 3327 clr R19
0814 09E0 ldi R16,9
0816 10E0 ldi R17,0
0818 30DC xcall _write_hazi
081A .dbline 238
081A ; write_ASCII(0xf9,4,16,table[lcd_buff1[0]]);//年第四位
081A 80E0 ldi R24,<_table
081C 90E0 ldi R25,>_table
081E E0910D00 lds R30,_lcd_buff1
0822 FF27 clr R31
0824 E80F add R30,R24
0826 F91F adc R31,R25
0828 2490 lpm R2,Z
082A 3324 clr R3
082C 3B82 std y+3,R3
082E 2A82 std y+2,R2
0830 80E1 ldi R24,16
0832 90E0 ldi R25,0
0834 9983 std y+1,R25
0836 8883 std y+0,R24
0838 24E0 ldi R18,4
083A 30E0 ldi R19,0
083C 09EF ldi R16,249
083E 10E0 ldi R17,0
0840 0BDC xcall _write_ASCII
0842 .dbline 239
0842 ; write_ASCII(0xf9,5,16,table[lcd_buff1[1]]);//年第三位
0842 80E0 ldi R24,<_table
0844 90E0 ldi R25,>_table
0846 E0910E00 lds R30,_lcd_buff1+1
084A FF27 clr R31
084C E80F add R30,R24
084E F91F adc R31,R25
0850 2490 lpm R2,Z
0852 3324 clr R3
0854 3B82 std y+3,R3
0856 2A82 std y+2,R2
0858 80E1 ldi R24,16
085A 90E0 ldi R25,0
085C 9983 std y+1,R25
085E 8883 std y+0,R24
0860 25E0 ldi R18,5
0862 30E0 ldi R19,0
0864 09EF ldi R16,249
0866 10E0 ldi R17,0
0868 F7DB xcall _write_ASCII
086A .dbline 240
086A ; write_ASCII(0xf9,6,16,table[lcd_buff1[2]]);//年第二位
086A 80E0 ldi R24,<_table
086C 90E0 ldi R25,>_table
086E E0910F00 lds R30,_lcd_buff1+2
0872 FF27 clr R31
0874 E80F add R30,R24
0876 F91F adc R31,R25
0878 2490 lpm R2,Z
087A 3324 clr R3
087C 3B82 std y+3,R3
087E 2A82 std y+2,R2
0880 80E1 ldi R24,16
0882 90E0 ldi R25,0
0884 9983 std y+1,R25
0886 8883 std y+0,R24
0888 26E0 ldi R18,6
08
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -