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

📄 1820.lis

📁 基于ATMEGA16的温度传感器原代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02F4 407F              andi R20,240
 02F6                   .dbline 83
 02F6 08EF              ldi R16,248
 02F8 D0DF              xcall _lcd_out
 02FA                   .dbline 84
 02FA 042F              mov R16,R20
 02FC CEDF              xcall _lcd_out
 02FE                   .dbline 85
 02FE 462F              mov R20,R22
 0300 4F70              andi R20,15
 0302                   .dbline 86
 0302 842F              mov R24,R20
 0304 8F70              andi R24,#0x0F
 0306 8295              swap R24
 0308 482F              mov R20,R24
 030A                   .dbline 87
 030A 082F              mov R16,R24
 030C C6DF              xcall _lcd_out
 030E                   .dbline -2
 030E           L75:
 030E 0E940000          xcall pop_gset2
 0312                   .dbline 0 ; func end
 0312 0895              ret
 0314                   .dbsym r s 20 c
 0314                   .dbsym r dat 22 c
 0314                   .dbend
 0314                   .dbfunc e lcd_control _lcd_control fV
                        .even
 0314           _lcd_control::
 0314                   .dbline -1
 0314                   .dbline 91
 0314                   .dbline 92
 0314 00E3              ldi R16,48
 0316 EADF              xcall _WR_control
 0318                   .dbline 93
 0318 0CE0              ldi R16,12
 031A E8DF              xcall _WR_control
 031C                   .dbline -2
 031C           L76:
 031C                   .dbline 0 ; func end
 031C 0895              ret
 031E                   .dbend
 031E                   .dbfunc e lcd_clear _lcd_clear fV
 031E           ;              i -> R20,R21
                        .even
 031E           _lcd_clear::
 031E 0E940000          xcall push_gset1
 0322                   .dbline -1
 0322                   .dbline 97
 0322                   .dbline 99
 0322 01E0              ldi R16,1
 0324 E3DF              xcall _WR_control
 0326                   .dbline 100
 0326 4427              clr R20
 0328 5527              clr R21
 032A           L78:
 032A                   .dbline 101
 032A                   .dbline 102
 032A 0000              nop
 032C                   .dbline 103
 032C 0000              nop
 032E                   .dbline 104
 032E           L79:
 032E                   .dbline 100
 032E 4F5F              subi R20,255  ; offset = 1
 0330 5F4F              sbci R21,255
 0332                   .dbline 100
 0332 4838              cpi R20,136
 0334 E3E1              ldi R30,19
 0336 5E07              cpc R21,R30
 0338 C4F3              brlt L78
 033A                   .dbline -2
 033A           L77:
 033A 0E940000          xcall pop_gset1
 033E                   .dbline 0 ; func end
 033E 0895              ret
 0340                   .dbsym r i 20 I
 0340                   .dbend
 0340                   .dbfunc e LCD_address _LCD_address fV
 0340           ;        address -> R20
 0340           ;              y -> R22
 0340           ;              x -> R20
                        .even
 0340           _LCD_address::
 0340 0E940000          xcall push_gset2
 0344 622F              mov R22,R18
 0346 402F              mov R20,R16
 0348                   .dbline -1
 0348                   .dbline 113
 0348                   .dbline 115
 0348 5527              clr R21
 034A 4030              cpi R20,0
 034C 4507              cpc R20,R21
 034E 69F0              breq L86
 0350           X13:
 0350 4130              cpi R20,1
 0352 E0E0              ldi R30,0
 0354 5E07              cpc R21,R30
 0356 61F0              breq L87
 0358 4230              cpi R20,2
 035A E0E0              ldi R30,0
 035C 5E07              cpc R21,R30
 035E 59F0              breq L88
 0360 4330              cpi R20,3
 0362 E0E0              ldi R30,0
 0364 5E07              cpc R21,R30
 0366 51F0              breq L89
 0368 0CC0              xjmp L83
 036A           X14:
 036A                   .dbline 116
 036A           L86:
 036A                   .dbline 118
 036A 462F              mov R20,R22
 036C 4058              subi R20,128    ; addi 128
 036E                   .dbline 119
 036E 0BC0              xjmp L84
 0370           L87:
 0370                   .dbline 121
 0370 462F              mov R20,R22
 0372 4057              subi R20,112    ; addi 144
 0374                   .dbline 122
 0374 08C0              xjmp L84
 0376           L88:
 0376                   .dbline 124
 0376 462F              mov R20,R22
 0378 4857              subi R20,120    ; addi 136
 037A                   .dbline 125
 037A 05C0              xjmp L84
 037C           L89:
 037C                   .dbline 127
 037C 462F              mov R20,R22
 037E 4856              subi R20,104    ; addi 152
 0380                   .dbline 128
 0380 02C0              xjmp L84
 0382           L83:
 0382                   .dbline 129
 0382 462F              mov R20,R22
 0384 4058              subi R20,128    ; addi 128
 0386                   .dbline 130
 0386           L84:
 0386                   .dbline 131
 0386 042F              mov R16,R20
 0388 B1DF              xcall _WR_control
 038A                   .dbline -2
 038A           L82:
 038A 0E940000          xcall pop_gset2
 038E                   .dbline 0 ; func end
 038E 0895              ret
 0390                   .dbsym r address 20 c
 0390                   .dbsym r y 22 c
 0390                   .dbsym r x 20 c
 0390                   .dbend
 0390                   .dbfunc e LCD_Write_string _LCD_Write_string fV
 0390           ;              s -> R20,R21
 0390           ;              Y -> R10
 0390           ;              X -> R22
                        .even
 0390           _LCD_Write_string::
 0390 0E940000          xcall push_gset3
 0394 A22E              mov R10,R18
 0396 602F              mov R22,R16
 0398 4E81              ldd R20,y+6
 039A 5F81              ldd R21,y+7
 039C                   .dbline -1
 039C                   .dbline 142
 039C                   .dbline 144
 039C 2A2D              mov R18,R10
 039E 062F              mov R16,R22
 03A0 CFDF              xcall _LCD_address
 03A2 05C0              xjmp L92
 03A4           L91:
 03A4                   .dbline 146
 03A4                   .dbline 147
 03A4 FA01              movw R30,R20
 03A6 0081              ldd R16,z+0
 03A8 8DDF              xcall _WR_dat
 03AA                   .dbline 148
 03AA 4F5F              subi R20,255  ; offset = 1
 03AC 5F4F              sbci R21,255
 03AE                   .dbline 149
 03AE           L92:
 03AE                   .dbline 145
 03AE FA01              movw R30,R20
 03B0 2080              ldd R2,z+0
 03B2 2220              tst R2
 03B4 B9F7              brne L91
 03B6                   .dbline -2
 03B6           L90:
 03B6 0E940000          xcall pop_gset3
 03BA                   .dbline 0 ; func end
 03BA 0895              ret
 03BC                   .dbsym r s 20 pc
 03BC                   .dbsym r Y 10 c
 03BC                   .dbsym r X 22 c
 03BC                   .dbend
 03BC                   .dbfunc e BCD_ASCII _BCD_ASCII fc
 03BC           ;            bcd -> R16
                        .even
 03BC           _BCD_ASCII::
 03BC                   .dbline -1
 03BC                   .dbline 161
 03BC                   .dbline 162
 03BC 0F70              andi R16,15
 03BE                   .dbline 163
 03BE 89E0              ldi R24,9
 03C0 8017              cp R24,R16
 03C2 10F4              brsh L95
 03C4                   .dbline 164
 03C4 095C              subi R16,201    ; addi 55
 03C6 01C0              xjmp L96
 03C8           L95:
 03C8                   .dbline 166
 03C8 005D              subi R16,208    ; addi 48
 03CA           L96:
 03CA                   .dbline 167
 03CA                   .dbline -2
 03CA           L94:
 03CA                   .dbline 0 ; func end
 03CA 0895              ret
 03CC                   .dbsym r bcd 16 c
 03CC                   .dbend
 03CC                   .dbfunc e LCD_writeasc _LCD_writeasc fV
 03CC           ;           data -> y+4
 03CC           ;              y -> R22
 03CC           ;              x -> R20
                        .even
 03CC           _LCD_writeasc::
 03CC 0E940000          xcall push_gset2
 03D0 622F              mov R22,R18
 03D2 402F              mov R20,R16
 03D4                   .dbline -1
 03D4                   .dbline 172
 03D4                   .dbline 173
 03D4 262F              mov R18,R22
 03D6 042F              mov R16,R20
 03D8 B3DF              xcall _LCD_address
 03DA                   .dbline 174
 03DA 0C81              ldd R16,y+4
 03DC 73DF              xcall _WR_dat
 03DE                   .dbline -2
 03DE           L97:
 03DE 0E940000          xcall pop_gset2
 03E2                   .dbline 0 ; func end
 03E2 0895              ret
 03E4                   .dbsym l data 4 c
 03E4                   .dbsym r y 22 c
 03E4                   .dbsym r x 20 c
 03E4                   .dbend
 03E4                   .dbfunc e Lcd_INT _Lcd_INT fV
                        .even
 03E4           _Lcd_INT::
 03E4                   .dbline -1
 03E4                   .dbline 178
 03E4                   .dbline 181
 03E4 97DF              xcall _lcd_control
 03E6                   .dbline -2
 03E6           L98:
 03E6                   .dbline 0 ; func end
 03E6 0895              ret
 03E8                   .dbend
 03E8                   .dbfunc e lcd_writechar _lcd_writechar fV
 03E8           ;         number -> y+4
 03E8           ;              Y -> R22
 03E8           ;              X -> R20
                        .even
 03E8           _lcd_writechar::
 03E8 0E940000          xcall push_gset2
 03EC 622F              mov R22,R18
 03EE 402F              mov R20,R16
 03F0                   .dbline -1
 03F0                   .dbline 185
 03F0                   .dbline 186
 03F0 262F              mov R18,R22
 03F2 042F              mov R16,R20
 03F4 A5DF              xcall _LCD_address
 03F6                   .dbline 187
 03F6 0C81              ldd R16,y+4
 03F8 0295              swap R16
 03FA 0F70              andi R16,#0x0F
 03FC DFDF              xcall _BCD_ASCII
 03FE 62DF              xcall _WR_dat
 0400                   .dbline 188
 0400 0C81              ldd R16,y+4
 0402 DCDF              xcall _BCD_ASCII
 0404 5FDF              xcall _WR_dat
 0406                   .dbline -2
 0406           L99:
 0406 0E940000          xcall pop_gset2
 040A                   .dbline 0 ; func end
 040A 0895              ret
 040C                   .dbsym l number 4 c
 040C                   .dbsym r Y 22 c
 040C                   .dbsym r X 20 c
 040C                   .dbend
 040C                   .dbfunc e lcd_write2 _lcd_write2 fV
 040C           ;         number -> y+4
 040C           ;              Y -> R22
 040C           ;              X -> R20
                        .even
 040C           _lcd_write2::
 040C 0E940000          xcall push_gset2
 0410 622F              mov R22,R18
 0412 402F              mov R20,R16
 0414                   .dbline -1
 0414                   .dbline 192
 0414                   .dbline 193
 0414 262F              mov R18,R22
 0416 042F              mov R16,R20
 0418 93DF              xcall _LCD_address
 041A                   .dbline 197
 041A 0C81              ldd R16,y+4
 041C 1D81              ldd R17,y+5
 041E CEDF              xcall _BCD_ASCII
 0420 51DF              xcall _WR_dat
 0422                   .dbline -2
 0422           L100:
 0422 0E940000          xcall pop_gset2
 0426                   .dbline 0 ; func end
 0426 0895              ret
 0428                   .dbsym l number 4 i
 0428                   .dbsym r Y 22 c
 0428                   .dbsym r X 20 c
 0428                   .dbend
 0428                   .dbfunc e show_time _show_time fV
 0428           ;           temp -> R20
 0428           ;           time -> R22,R23
                        .even
 0428           _show_time::
 0428 0E940000          xcall push_gset2
 042C B801              movw R22,R16
 042E 2197              sbiw R28,1
 0430                   .dbline -1
 0430                   .dbline 200
 0430                   .dbline 203
 0430 2CE3              ldi R18,60
 0432 30E0              ldi R19,0
 0434 8B01              movw R16,R22
 0436 0E940000          xcall div16u
 043A 402F              mov R20,R16
 043C                   .dbline 204
 043C 1AE0              ldi R17,10

⌨️ 快捷键说明

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