📄 main.lis
字号:
04AA 8887 std y+8,R24
04AC .dbline 200
04AC ; th=(s>>4);
04AC 8F81 ldd R24,y+7
04AE 8295 swap R24
04B0 8F70 andi R24,#0x0F
04B2 8987 std y+9,R24
04B4 .dbline 201
04B4 ; LCD_write_char(th+48);
04B4 082F mov R16,R24
04B6 005D subi R16,208 ; addi 48
04B8 00D0 rcall _LCD_write_char
04BA .dbline 202
04BA ; LCD_write_char(tl+48);
04BA 0885 ldd R16,y+8
04BC 005D subi R16,208 ; addi 48
04BE 00D0 rcall _LCD_write_char
04C0 .dbline 203
04C0 ; LCD_write_char(':');
04C0 0AE3 ldi R16,58
04C2 00D0 rcall _LCD_write_char
04C4 .dbline 205
04C4 ; //sec
04C4 ; s=read_data(0x81);
04C4 01E8 ldi R16,129
04C6 00D0 rcall _read_data
04C8 0F83 std y+7,R16
04CA .dbline 206
04CA ; tl=s&0x0f;
04CA 802F mov R24,R16
04CC 8F70 andi R24,15
04CE 8887 std y+8,R24
04D0 .dbline 207
04D0 ; th=(s>>4);
04D0 8F81 ldd R24,y+7
04D2 8295 swap R24
04D4 8F70 andi R24,#0x0F
04D6 8987 std y+9,R24
04D8 .dbline 208
04D8 ; LCD_write_char(th+48);
04D8 082F mov R16,R24
04DA 005D subi R16,208 ; addi 48
04DC 00D0 rcall _LCD_write_char
04DE .dbline 209
04DE ; LCD_write_char(tl+48);
04DE 0885 ldd R16,y+8
04E0 005D subi R16,208 ; addi 48
04E2 00D0 rcall _LCD_write_char
04E4 .dbline 211
04E4 ; //date
04E4 ; s=read_data(0x8b);
04E4 0BE8 ldi R16,139
04E6 00D0 rcall _read_data
04E8 0F83 std y+7,R16
04EA .dbline 212
04EA ; tl=s&0x0f;
04EA 802F mov R24,R16
04EC 8F70 andi R24,15
04EE 8887 std y+8,R24
04F0 .dbline 213
04F0 ; switch(tl)
04F0 282E mov R2,R24
04F2 3324 clr R3
04F4 3C86 std y+12,R3
04F6 2B86 std y+11,R2
04F8 822D mov R24,R2
04FA 932D mov R25,R3
04FC 8130 cpi R24,1
04FE E0E0 ldi R30,0
0500 9E07 cpc R25,R30
0502 C9F0 breq L106
0504 8230 cpi R24,2
0506 E0E0 ldi R30,0
0508 9E07 cpc R25,R30
050A E9F0 breq L108
050C 8330 cpi R24,3
050E E0E0 ldi R30,0
0510 9E07 cpc R25,R30
0512 09F1 breq L110
0514 8430 cpi R24,4
0516 E0E0 ldi R30,0
0518 9E07 cpc R25,R30
051A 29F1 breq L112
051C 8530 cpi R24,5
051E E0E0 ldi R30,0
0520 9E07 cpc R25,R30
0522 49F1 breq L114
0524 8630 cpi R24,6
0526 E0E0 ldi R30,0
0528 9E07 cpc R25,R30
052A 69F1 breq L116
052C 8730 cpi R24,7
052E E0E0 ldi R30,0
0530 9E07 cpc R25,R30
0532 89F1 breq L118
0534 37C0 rjmp L103
0536 X34:
0536 .dbline 214
0536 ; {
0536 L106:
0536 .dbline 215
0536 ; case 1:LCD_write_string(0,1,"monday");break;
0536 80E0 ldi R24,<L107
0538 90E0 ldi R25,>L107
053A 9983 std y+1,R25
053C 8883 std y+0,R24
053E 21E0 ldi R18,1
0540 0027 clr R16
0542 00D0 rcall _LCD_write_string
0544 .dbline 215
0544 2FC0 rjmp L104
0546 L108:
0546 .dbline 216
0546 ; case 2:LCD_write_string(0,1,"tuesday");break;
0546 80E0 ldi R24,<L109
0548 90E0 ldi R25,>L109
054A 9983 std y+1,R25
054C 8883 std y+0,R24
054E 21E0 ldi R18,1
0550 0027 clr R16
0552 00D0 rcall _LCD_write_string
0554 .dbline 216
0554 27C0 rjmp L104
0556 L110:
0556 .dbline 217
0556 ; case 3:LCD_write_string(0,1,"wednesday");break;
0556 80E0 ldi R24,<L111
0558 90E0 ldi R25,>L111
055A 9983 std y+1,R25
055C 8883 std y+0,R24
055E 21E0 ldi R18,1
0560 0027 clr R16
0562 00D0 rcall _LCD_write_string
0564 .dbline 217
0564 1FC0 rjmp L104
0566 L112:
0566 .dbline 218
0566 ; case 4:LCD_write_string(0,1,"thursday");break;
0566 80E0 ldi R24,<L113
0568 90E0 ldi R25,>L113
056A 9983 std y+1,R25
056C 8883 std y+0,R24
056E 21E0 ldi R18,1
0570 0027 clr R16
0572 00D0 rcall _LCD_write_string
0574 .dbline 218
0574 17C0 rjmp L104
0576 L114:
0576 .dbline 219
0576 ; case 5:LCD_write_string(0,1,"friday");break;
0576 80E0 ldi R24,<L115
0578 90E0 ldi R25,>L115
057A 9983 std y+1,R25
057C 8883 std y+0,R24
057E 21E0 ldi R18,1
0580 0027 clr R16
0582 00D0 rcall _LCD_write_string
0584 .dbline 219
0584 0FC0 rjmp L104
0586 L116:
0586 .dbline 220
0586 ; case 6:LCD_write_string(0,1,"saturday");break;
0586 80E0 ldi R24,<L117
0588 90E0 ldi R25,>L117
058A 9983 std y+1,R25
058C 8883 std y+0,R24
058E 21E0 ldi R18,1
0590 0027 clr R16
0592 00D0 rcall _LCD_write_string
0594 .dbline 220
0594 07C0 rjmp L104
0596 L118:
0596 .dbline 221
0596 ; case 7:LCD_write_string(0,1,"sunday");break;
0596 80E0 ldi R24,<L119
0598 90E0 ldi R25,>L119
059A 9983 std y+1,R25
059C 8883 std y+0,R24
059E 21E0 ldi R18,1
05A0 0027 clr R16
05A2 00D0 rcall _LCD_write_string
05A4 .dbline 221
05A4 L103:
05A4 L104:
05A4 .dbline 224
05A4 ; }
05A4 ; //18b20
05A4 ; a=init_1820(); //复位18b20
05A4 00D0 rcall _init_1820
05A6 0A87 std y+10,R16
05A8 .dbline 225
05A8 ; write_1820(0xCC); // SKIP THE ROM
05A8 0CEC ldi R16,204
05AA 00D0 rcall _write_1820
05AC .dbline 226
05AC ; write_1820(0x44); //启动温度转换
05AC 04E4 ldi R16,68
05AE 00D0 rcall _write_1820
05B0 .dbline 227
05B0 ; for(i=0;i<200;i++) //每次转换需要延时200ms以上
05B0 6627 clr R22
05B2 03C0 rjmp L123
05B4 L120:
05B4 .dbline 228
05B4 08EC ldi R16,200
05B6 00D0 rcall _delay
05B8 L121:
05B8 .dbline 227
05B8 6395 inc R22
05BA L123:
05BA .dbline 227
05BA 683C cpi R22,200
05BC D8F3 brlo L120
05BE .dbline 229
05BE 00D0 rcall _init_1820
05C0 0A87 std y+10,R16
05C2 .dbline 230
05C2 0CEC ldi R16,204
05C4 00D0 rcall _write_1820
05C6 .dbline 231
05C6 0EEB ldi R16,190
05C8 00D0 rcall _write_1820
05CA .dbline 232
05CA 00D0 rcall _read_1820
05CC 402F mov R20,R16
05CE .dbline 233
05CE 00D0 rcall _read_1820
05D0 E02E mov R14,R16
05D2 .dbline 234
05D2 A42E mov R10,R20
05D4 .dbline 235
05D4 8A2D mov R24,R10
05D6 8F70 andi R24,15
05D8 A82E mov R10,R24
05DA .dbline 236
05DA 842F mov R24,R20
05DC 8295 swap R24
05DE 8F70 andi R24,#0x0F
05E0 482F mov R20,R24
05E2 .dbline 237
05E2 8E2D mov R24,R14
05E4 8F70 andi R24,#0x0F
05E6 8295 swap R24
05E8 E82E mov R14,R24
05EA .dbline 238
05EA C42E mov R12,R20
05EC C82A or R12,R24
05EE .dbline 239
05EE 1AE0 ldi R17,10
05F0 0C2D mov R16,R12
05F2 00D0 rcall div8u
05F4 00930200 sts _temh_d,R16
05F8 .dbline 240
05F8 2A2D mov R18,R10
05FA 3327 clr R19
05FC 06E0 ldi R16,6
05FE 10E0 ldi R17,0
0600 00D0 rcall mpy16s
0602 2AE0 ldi R18,10
0604 30E0 ldi R19,0
0606 00D0 rcall div16s
0608 00930000 sts _temm_d,R16
060C .dbline 241
060C 1AE0 ldi R17,10
060E 0C2D mov R16,R12
0610 00D0 rcall mod8u
0612 00930100 sts _teml_d,R16
0616 .dbline 242
0616 08EC ldi R16,200
0618 00D0 rcall _delay
061A .dbline 243
061A 21E0 ldi R18,1
061C 0AE0 ldi R16,10
061E 00D0 rcall _LCD_set_xy
0620 .dbline 244
0620 00910200 lds R16,_temh_d
0624 005D subi R16,208 ; addi 48
0626 00D0 rcall _LCD_write_char
0628 .dbline 245
0628 21E0 ldi R18,1
062A 0BE0 ldi R16,11
062C 00D0 rcall _LCD_set_xy
062E .dbline 246
062E 00910100 lds R16,_teml_d
0632 005D subi R16,208 ; addi 48
0634 00D0 rcall _LCD_write_char
0636 .dbline 247
0636 21E0 ldi R18,1
0638 0CE0 ldi R16,12
063A 00D0 rcall _LCD_set_xy
063C .dbline 248
063C 0EE2 ldi R16,46
063E 00D0 rcall _LCD_write_char
0640 .dbline 249
0640 21E0 ldi R18,1
0642 0DE0 ldi R16,13
0644 00D0 rcall _LCD_set_xy
0646 .dbline 250
0646 00910000 lds R16,_temm_d
064A 005D subi R16,208 ; addi 48
064C 00D0 rcall _LCD_write_char
064E .dbline 251
064E 80E0 ldi R24,<L124
0650 90E0 ldi R25,>L124
0652 9983 std y+1,R25
0654 8883 std y+0,R24
0656 21E0 ldi R18,1
0658 0EE0 ldi R16,14
065A 00D0 rcall _LCD_write_string
065C .dbline 252
065C L101:
065C .dbline 171
065C E6CE rjmp L100
065E X35:
065E .dbline -2
065E L99:
065E 2D96 adiw R28,13
0660 .dbline 0 ; func end
0660 0895 ret
0662 .dbsym l a 10 c
0662 .dbsym r temm 10 c
0662 .dbsym r count 12 c
0662 .dbsym r temh 14 c
0662 .dbsym r teml 20 c
0662 .dbsym l th 9 c
0662 .dbsym l tl 8 c
0662 .dbsym l s 7 c
0662 .dbsym r i 22 c
0662 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\时钟芯片\1302\1302-162\main.c
0000 _temm_d::
0000 .blkb 1
0001 .dbsym e temm_d _temm_d c
0001 _teml_d::
0001 .blkb 1
0002 .dbsym e teml_d _teml_d c
0002 _temh_d::
0002 .blkb 1
0003 .dbsym e temh_d _temh_d c
.area data(ram, con, rel)
0002 .dbfile D:\时钟芯片\1302\1302-162\main.c
0002 L124:
0002 .blkb 3
.area idata
0002 604300 .byte 96,'C,0
.area data(ram, con, rel)
0005 .dbfile D:\时钟芯片\1302\1302-162\main.c
0005 L119:
0005 .blkb 7
.area idata
0005 73756E64617900 .byte 's,'u,'n,'d,'a,'y,0
.area data(ram, con, rel)
000C .dbfile D:\时钟芯片\1302\1302-162\main.c
000C L117:
000C .blkb 9
.area idata
000C 736174757264617900 .byte 's,'a,'t,'u,'r,'d,'a,'y,0
.area data(ram, con, rel)
0015 .dbfile D:\时钟芯片\1302\1302-162\main.c
0015 L115:
0015 .blkb 7
.area idata
0015 66726964617900 .byte 'f,'r,'i,'d,'a,'y,0
.area data(ram, con, rel)
001C .dbfile D:\时钟芯片\1302\1302-162\main.c
001C L113:
001C .blkb 9
.area idata
001C 746875727364617900 .byte 't,'h,'u,'r,'s,'d,'a,'y,0
.area data(ram, con, rel)
0025 .dbfile D:\时钟芯片\1302\1302-162\main.c
0025 L111:
0025 .blkb 10
.area idata
0025 7765646E657364617900 .byte 'w,'e,'d,'n,'e,'s,'d,'a,'y,0
.area data(ram, con, rel)
002F .dbfile D:\时钟芯片\1302\1302-162\main.c
002F L109:
002F .blkb 8
.area idata
002F 7475657364617900 .byte 't,'u,'e,'s,'d,'a,'y,0
.area data(ram, con, rel)
0037 .dbfile D:\时钟芯片\1302\1302-162\main.c
0037 L107:
0037 .blkb 7
.area idata
0037 6D6F6E64617900 .byte 'm,'o,'n,'d,'a,'y,0
.area data(ram, con, rel)
003E .dbfile D:\时钟芯片\1302\1302-162\main.c
003E L53:
003E .blkb 2
.area idata
003E 7300 .byte 's,0
.area data(ram, con, rel)
0040 .dbfile D:\时钟芯片\1302\1302-162\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -