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

📄 main.lis

📁 有遥控的温度计,用dS1302做时钟芯片
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 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 + -