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

📄 温度测量.lis

📁 电机的不同转动轻快
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0176           ;         DDRA|=0x01;
 0176 D09A              sbi 0x1a,0
 0178                   .dbline 127
 0178           ;         for (j=0;j<=7;j++)
 0178 AA24              clr R10
 017A 1BC0              xjmp L35
 017C           L32:
 017C                   .dbline 128
 017C           ;    { 
 017C                   .dbline 129
 017C           ;     i=wdata&0x01;
 017C 642F              mov R22,R20
 017E 6170              andi R22,1
 0180                   .dbline 130
 0180           ;       if(i==0x01)
 0180 6130              cpi R22,1
 0182 59F4              brne L36
 0184           X7:
 0184                   .dbline 131
 0184           ;         {
 0184                   .dbline 132
 0184           ;         PORTA&=0xfe;
 0184 8BB3              in R24,0x1b
 0186 8E7F              andi R24,254
 0188 8BBB              out 0x1b,R24
 018A                   .dbline 133
 018A           ;         delay_18B20(10);
 018A 0AE0              ldi R16,10
 018C 10E0              ldi R17,0
 018E A8DF              xcall _delay_18B20
 0190                   .dbline 134
 0190           ;         PORTA|=0x01;
 0190 D89A              sbi 0x1b,0
 0192                   .dbline 135
 0192           ;          delay_18B20(100);
 0192 04E6              ldi R16,100
 0194 10E0              ldi R17,0
 0196 A4DF              xcall _delay_18B20
 0198                   .dbline 136
 0198           ;    }
 0198 0AC0              xjmp L37
 019A           L36:
 019A                   .dbline 138
 019A           ;    else
 019A           ;    {
 019A                   .dbline 139
 019A           ;      PORTA&=0xfe;
 019A 8BB3              in R24,0x1b
 019C 8E7F              andi R24,254
 019E 8BBB              out 0x1b,R24
 01A0                   .dbline 140
 01A0           ;      delay_18B20(100);
 01A0 04E6              ldi R16,100
 01A2 10E0              ldi R17,0
 01A4 9DDF              xcall _delay_18B20
 01A6                   .dbline 141
 01A6           ;         PORTA|=0x01;
 01A6 D89A              sbi 0x1b,0
 01A8                   .dbline 142
 01A8           ;         delay_18B20(10);
 01A8 0AE0              ldi R16,10
 01AA 10E0              ldi R17,0
 01AC 99DF              xcall _delay_18B20
 01AE                   .dbline 143
 01AE           ;    }
 01AE           L37:
 01AE                   .dbline 144
 01AE           ;    wdata=wdata>>1;
 01AE 4695              lsr R20
 01B0                   .dbline 145
 01B0           ; }
 01B0           L33:
 01B0                   .dbline 127
 01B0 A394              inc R10
 01B2           L35:
 01B2                   .dbline 127
 01B2 87E0              ldi R24,7
 01B4 8A15              cp R24,R10
 01B6 10F7              brsh L32
 01B8           X8:
 01B8                   .dbline -2
 01B8           L31:
 01B8                   .dbline 0 ; func end
 01B8 0C940000          xjmp pop_xgsetF00C
 01BC                   .dbsym r i 22 c
 01BC                   .dbsym r j 10 c
 01BC                   .dbsym r wdata 20 c
 01BC                   .dbend
 01BC                   .dbfunc e ds1820disp _ds1820disp fV
 01BC           ;        flagdat -> R20
                        .even
 01BC           _ds1820disp::
 01BC 4A93              st -y,R20
 01BE                   .dbline -1
 01BE                   .dbline 150
 01BE           ;  } 
 01BE           ; 
 01BE           ; /******************************************************************/  
 01BE           ;        void ds1820disp()//温度值显示
 01BE           ;      { 
 01BE                   .dbline 152
 01BE           ;      uchar flagdat;
 01BE           ;        DDRB|=0xFF;      
 01BE 87B3              in R24,0x17
 01C0 8F6F              ori R24,255
 01C2 87BB              out 0x17,R24
 01C4                   .dbline 153
 01C4           ;      DDRC|=(1<<3)|(1<<4)|(1<<5);
 01C4 84B3              in R24,0x14
 01C6 8863              ori R24,56
 01C8 84BB              out 0x14,R24
 01CA                   .dbline 154
 01CA           ;      adata[0]=tvalue/1000+0x30;//百位数
 01CA 28EE              ldi R18,1000
 01CC 33E0              ldi R19,3
 01CE 00910100          lds R16,_tvalue
 01D2 10910200          lds R17,_tvalue+1
 01D6 0E940000          xcall div16u
 01DA C801              movw R24,R16
 01DC C096              adiw R24,48
 01DE 80930400          sts _adata,R24
 01E2                   .dbline 155
 01E2           ;      adata[1]=tvalue%1000/100+0x30;//十位数
 01E2 28EE              ldi R18,1000
 01E4 33E0              ldi R19,3
 01E6 00910100          lds R16,_tvalue
 01EA 10910200          lds R17,_tvalue+1
 01EE 0E940000          xcall mod16u
 01F2 24E6              ldi R18,100
 01F4 30E0              ldi R19,0
 01F6 0E940000          xcall div16u
 01FA C801              movw R24,R16
 01FC C096              adiw R24,48
 01FE 80930500          sts _adata+1,R24
 0202                   .dbline 156
 0202           ;      adata[2]=tvalue%100/10+0x30;//个位数
 0202 24E6              ldi R18,100
 0204 30E0              ldi R19,0
 0206 00910100          lds R16,_tvalue
 020A 10910200          lds R17,_tvalue+1
 020E 0E940000          xcall mod16u
 0212 2AE0              ldi R18,10
 0214 30E0              ldi R19,0
 0216 0E940000          xcall div16u
 021A C801              movw R24,R16
 021C C096              adiw R24,48
 021E 80930600          sts _adata+2,R24
 0222                   .dbline 157
 0222           ;      adata[3]=tvalue%10+0x30;//小数位
 0222 2AE0              ldi R18,10
 0224 30E0              ldi R19,0
 0226 00910100          lds R16,_tvalue
 022A 10910200          lds R17,_tvalue+1
 022E 0E940000          xcall mod16u
 0232 C801              movw R24,R16
 0234 C096              adiw R24,48
 0236 80930700          sts _adata+3,R24
 023A                   .dbline 158
 023A           ;      if(tflag==0)
 023A 20900000          lds R2,_tflag
 023E 2220              tst R2
 0240 11F4              brne L42
 0242           X9:
 0242                   .dbline 159
 0242           ;      flagdat=0x20;//正温度不显示符号
 0242 40E2              ldi R20,32
 0244 01C0              xjmp L43
 0246           L42:
 0246                   .dbline 161
 0246           ;      else
 0246           ;        flagdat=0x2d;//负温度显示负号:-
 0246 4DE2              ldi R20,45
 0248           L43:
 0248                   .dbline 162
 0248           ;      if(adata[0]==0x30)
 0248 80910400          lds R24,_adata
 024C 8033              cpi R24,48
 024E 51F4              brne L44
 0250           X10:
 0250                   .dbline 163
 0250           ;         {
 0250                   .dbline 164
 0250           ;       adata[0]=0x20;//如果百位为0,不显示
 0250 80E2              ldi R24,32
 0252 80930400          sts _adata,R24
 0256                   .dbline 165
 0256           ;       if(adata[1]==0x30)
 0256 80910500          lds R24,_adata+1
 025A 8033              cpi R24,48
 025C 19F4              brne L46
 025E           X11:
 025E                   .dbline 166
 025E           ;         {
 025E                   .dbline 167
 025E           ;      adata[1]=0x20;//如果百位为0,十位为0也不显示
 025E 80E2              ldi R24,32
 0260 80930500          sts _adata+1,R24
 0264                   .dbline 168
 0264           ;         }
 0264           L46:
 0264                   .dbline 169
 0264           ;         }
 0264           L44:
 0264                   .dbline 170
 0264           ;     if(n==0)
 0264 20900300          lds R2,_n
 0268 2220              tst R2
 026A 31F4              brne L50
 026C           X12:
 026C                   .dbline 171
 026C           ;    {
 026C                   .dbline 172
 026C           ;     wr_com(0x80);
 026C 00E8              ldi R16,128
 026E DCDE              xcall _wr_com
 0270                   .dbline 173
 0270           ;     display(str1);
 0270 00E0              ldi R16,<_str1
 0272 10E0              ldi R17,>_str1
 0274 22DF              xcall _display
 0276                   .dbline 174
 0276           ;    }
 0276 1DC0              xjmp L51
 0278           L50:
 0278                   .dbline 175
 0278           ;     else if(n==1)
 0278 80910300          lds R24,_n
 027C 8130              cpi R24,1
 027E 31F4              brne L52
 0280           X13:
 0280                   .dbline 176
 0280           ;     {
 0280                   .dbline 177
 0280           ;    wr_com(0x80);
 0280 00E8              ldi R16,128
 0282 D2DE              xcall _wr_com
 0284                   .dbline 178
 0284           ;    display(str2);
 0284 00E0              ldi R16,<_str2
 0286 10E0              ldi R17,>_str2
 0288 18DF              xcall _display
 028A                   .dbline 179
 028A           ;     }
 028A 13C0              xjmp L53
 028C           L52:
 028C                   .dbline 180
 028C           ;       else if(n==2)
 028C 80910300          lds R24,_n
 0290 8230              cpi R24,2
 0292 31F4              brne L54
 0294           X14:
 0294                   .dbline 181
 0294           ;       {
 0294                   .dbline 182
 0294           ;    wr_com(0x80);
 0294 00E8              ldi R16,128
 0296 C8DE              xcall _wr_com
 0298                   .dbline 183
 0298           ;    display(str3);
 0298 00E0              ldi R16,<_str3
 029A 10E0              ldi R17,>_str3
 029C 0EDF              xcall _display
 029E                   .dbline 184
 029E           ;     }
 029E 09C0              xjmp L55
 02A0           L54:
 02A0                   .dbline 185
 02A0           ;       else if(n==3)
 02A0 80910300          lds R24,_n
 02A4 8330              cpi R24,3
 02A6 29F4              brne L56
 02A8           X15:
 02A8                   .dbline 186
 02A8           ;       {
 02A8                   .dbline 187
 02A8           ;    wr_com(0x80);
 02A8 00E8              ldi R16,128
 02AA BEDE              xcall _wr_com
 02AC                   .dbline 188
 02AC           ;    display(str4);
 02AC 00E0              ldi R16,<_str4
 02AE 10E0              ldi R17,>_str4
 02B0 04DF              xcall _display
 02B2                   .dbline 189
 02B2           ;     }
 02B2           L56:
 02B2           L55:
 02B2           L53:
 02B2           L51:
 02B2                   .dbline 190
 02B2           ;     wr_com(0xc0);
 02B2 00EC              ldi R16,192
 02B4 B9DE              xcall _wr_com
 02B6                   .dbline 191
 02B6           ;     wr_dat(flagdat);//显示符号位
 02B6 042F              mov R16,R20
 02B8 CADE              xcall _wr_dat
 02BA                   .dbline 192
 02BA           ;     wr_com(0xc1);
 02BA 01EC              ldi R16,193
 02BC B5DE              xcall _wr_com
 02BE                   .dbline 193
 02BE           ;     wr_dat(adata[0]);//显示百位
 02BE 00910400          lds R16,_adata
 02C2 C5DE              xcall _wr_dat
 02C4                   .dbline 194
 02C4           ;     wr_com(0xc2);
 02C4 02EC              ldi R16,194
 02C6 B0DE              xcall _wr_com
 02C8                   .dbline 195
 02C8           ;     wr_dat(adata[1]);//显示十位 
 02C8 00910500          lds R16,_adata+1
 02CC C0DE              xcall _wr_dat

⌨️ 快捷键说明

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