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

📄 test.lis

📁 max144源代码
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 01E4                   .dbline 143
 01E4           ;   fuhao='-';
 01E4 6DE2              ldi R22,45
 01E6                   .dbline 144
 01E6           ;   dat=0-dat;
 01E6 2224              clr R2
 01E8 3324              clr R3
 01EA 241A              sub R2,R20
 01EC 350A              sbc R3,R21
 01EE A101              movw R20,R2
 01F0                   .dbline 145
 01F0           ;  }
 01F0 01C0              xjmp L38
 01F2           L37:
 01F2                   .dbline 147
 01F2           ;  else
 01F2           ;   fuhao=' ';
 01F2 60E2              ldi R22,32
 01F4           L38:
 01F4                   .dbline 148
 01F4           ;  data[0]=fuhao;
 01F4 6883              std y+0,R22
 01F6                   .dbline 149
 01F6           ;  data[1]=dat/1000+0x30; dat%=1000;
 01F6 28EE              ldi R18,1000
 01F8 33E0              ldi R19,3
 01FA 8A01              movw R16,R20
 01FC 0E940000          xcall div16s
 0200 C801              movw R24,R16
 0202 C096              adiw R24,48
 0204 8983              std y+1,R24
 0206                   .dbline 149
 0206 28EE              ldi R18,1000
 0208 33E0              ldi R19,3
 020A 8A01              movw R16,R20
 020C 0E940000          xcall mod16s
 0210 A801              movw R20,R16
 0212                   .dbline 150
 0212           ;  data[2]=dat/100+0x30;  dat%=100;
 0212 24E6              ldi R18,100
 0214 30E0              ldi R19,0
 0216 0E940000          xcall div16s
 021A C801              movw R24,R16
 021C C096              adiw R24,48
 021E 8A83              std y+2,R24
 0220                   .dbline 150
 0220 24E6              ldi R18,100
 0222 30E0              ldi R19,0
 0224 8A01              movw R16,R20
 0226 0E940000          xcall mod16s
 022A A801              movw R20,R16
 022C                   .dbline 151
 022C           ;  data[3]=dat/10+0x30; 
 022C 2AE0              ldi R18,10
 022E 30E0              ldi R19,0
 0230 0E940000          xcall div16s
 0234 C801              movw R24,R16
 0236 C096              adiw R24,48
 0238 8B83              std y+3,R24
 023A                   .dbline 152
 023A           ;  data[4]=dat%10+0x30; 
 023A 2AE0              ldi R18,10
 023C 30E0              ldi R19,0
 023E 8A01              movw R16,R20
 0240 0E940000          xcall mod16s
 0244 C801              movw R24,R16
 0246 C096              adiw R24,48
 0248 8C83              std y+4,R24
 024A                   .dbline 154
 024A           ;  
 024A           ;  LCD_set_xy(X,Y);
 024A 2C2D              mov R18,R12
 024C 0A2D              mov R16,R10
 024E 21DF              xcall _LCD_set_xy
 0250                   .dbline 155
 0250           ;  for(i=0;i<5;i++)
 0250 4427              clr R20
 0252 0BC0              xjmp L46
 0254           L43:
 0254                   .dbline 156
 0254           ;   LCD_write_char(0,data[i]);
 0254 CE01              movw R24,R28
 0256 E42F              mov R30,R20
 0258 FF27              clr R31
 025A E80F              add R30,R24
 025C F91F              adc R31,R25
 025E 2081              ldd R18,z+0
 0260 3327              clr R19
 0262 0027              clr R16
 0264 1127              clr R17
 0266 2DDF              xcall _LCD_write_char
 0268           L44:
 0268                   .dbline 155
 0268 4395              inc R20
 026A           L46:
 026A                   .dbline 155
 026A 4530              cpi R20,5
 026C 98F3              brlo L43
 026E           X9:
 026E                   .dbline -2
 026E           L36:
 026E                   .dbline 0 ; func end
 026E 2596              adiw R28,5
 0270 0C940000          xjmp pop_xgsetF03C
 0274                   .dbsym r fuhao 22 c
 0274                   .dbsym l data 0 A[5:5]c
 0274                   .dbsym r i 20 c
 0274                   .dbsym r dat 20 I
 0274                   .dbsym r Y 12 c
 0274                   .dbsym r X 10 c
 0274                   .dbend
 0274                   .dbfile D:\iccavr\mega16\11\max144\max144.h
 0274                   .dbfunc e max144_read _max144_read fV
 0274           ;            adc -> y+0
 0274           ;       adc_temp -> R10,R11
 0274           ;           temp -> R12
                        .even
 0274           _max144_read::
 0274 0E940000          xcall push_xgsetF03C
 0278 2497              sbiw R28,4
 027A                   .dbline -1
 027A                   .dbline 14
 027A           ; //**********ADC口线定义**********//
 027A           ; #define  adc_cs    PA2 
 027A           ; #define  adc_sdat  PA1
 027A           ; #define  adc_sclk  PA0
 027A           ; #define  adc_port  PORTA
 027A           ; #define  adc_ddr   DDRA
 027A           ; #define  adc_pin   PINA
 027A           ; 
 027A           ; unsigned int adc_out1,adc_out0;
 027A           ; unsigned int adcttemp[2][15];
 027A           ; unsigned int adcfirst[2];
 027A           ; 
 027A           ; void max144_read(void)
 027A           ; {
 027A                   .dbline 16
 027A           ;   unsigned char temp;
 027A           ;   unsigned int adc_temp=0;
 027A AA24              clr R10
 027C BB24              clr R11
 027E                   .dbline 20
 027E           ;   unsigned long adc;
 027E           ;   
 027E           ;   /*********max144模拟SPI口线设置**********/
 027E           ;   adc_port|=BIT(adc_cs)|BIT(adc_sdat)|BIT(adc_sclk);
 027E 8BB3              in R24,0x1b
 0280 8760              ori R24,7
 0282 8BBB              out 0x1b,R24
 0284                   .dbline 21
 0284           ;   adc_ddr|=BIT(adc_cs)|BIT(adc_sclk);
 0284 8AB3              in R24,0x1a
 0286 8560              ori R24,5
 0288 8ABB              out 0x1a,R24
 028A                   .dbline 22
 028A           ;   adc_ddr&=~BIT(adc_sdat);
 028A D198              cbi 0x1a,1
 028C                   .dbline 24
 028C           ; 
 028C           ;   adc_port|=BIT(adc_cs);
 028C DA9A              sbi 0x1b,2
 028E                   .dbline 25
 028E           ;   adc_port|=BIT(adc_sclk);
 028E D89A              sbi 0x1b,0
 0290                   .dbline 26
 0290           ;   adc_port&=~BIT(adc_cs);
 0290 DA98              cbi 0x1b,2
 0292                   .dbline 27
 0292           ;   asm("nop");asm("nop");asm("nop");asm("nop");
 0292 0000              nop
 0294                   .dbline 27
 0294 0000              nop
 0296                   .dbline 27
 0296 0000              nop
 0298                   .dbline 27
 0298 0000              nop
 029A                   .dbline 28
 029A           ;   adc_port&=~BIT(adc_sclk);
 029A D898              cbi 0x1b,0
 029C 05C0              xjmp L49
 029E           L48:
 029E                   .dbline 30
 029E           ;   while(1) 
 029E           ;   { 
 029E                   .dbline 31
 029E           ;     if((adc_pin&BIT(adc_sdat))==BIT(adc_sdat)) 
 029E 89B3              in R24,0x19
 02A0 8270              andi R24,2
 02A2 8230              cpi R24,2
 02A4 09F4              brne L51
 02A6           X10:
 02A6                   .dbline 32
 02A6           ;       break; 
 02A6 01C0              xjmp L50
 02A8           L51:
 02A8                   .dbline 33
 02A8           ;    }
 02A8           L49:
 02A8                   .dbline 29
 02A8 FACF              xjmp L48
 02AA           L50:
 02AA                   .dbline 34
 02AA           ;   temp=16; while(temp--)
 02AA 80E1              ldi R24,16
 02AC C82E              mov R12,R24
 02AE 0BC0              xjmp L54
 02B0           L53:
 02B0                   .dbline 35
 02B0           ;   {
 02B0                   .dbline 36
 02B0           ;      adc_port|=BIT(adc_sclk); 
 02B0 D89A              sbi 0x1b,0
 02B2                   .dbline 37
 02B2           ;      if((adc_pin&BIT(adc_sdat))==BIT(adc_sdat)) 
 02B2 89B3              in R24,0x19
 02B4 8270              andi R24,2
 02B6 8230              cpi R24,2
 02B8 19F4              brne L56
 02BA           X11:
 02BA                   .dbline 38
 02BA           ;        adc_temp++; 
 02BA C501              movw R24,R10
 02BC 0196              adiw R24,1
 02BE 5C01              movw R10,R24
 02C0           L56:
 02C0                   .dbline 39
 02C0           ;      adc_temp=adc_temp<<1;   
 02C0 AA0C              lsl R10
 02C2 BB1C              rol R11
 02C4                   .dbline 40
 02C4           ;      adc_port&=~BIT(adc_sclk);
 02C4 D898              cbi 0x1b,0
 02C6                   .dbline 41
 02C6           ;   }
 02C6           L54:
 02C6                   .dbline 34
 02C6 2C2C              mov R2,R12
 02C8 3324              clr R3
 02CA 822D              mov R24,R2
 02CC 8150              subi R24,1
 02CE C82E              mov R12,R24
 02D0 2220              tst R2
 02D2 71F7              brne L53
 02D4           X12:
 02D4                   .dbline 42
 02D4           ;   adc_port|=BIT(adc_cs);
 02D4 DA9A              sbi 0x1b,2
 02D6                   .dbline 44
 02D6           ; 
 02D6           ;   if((adc_temp&0x2000)==0x2000)
 02D6 C501              movw R24,R10
 02D8 8070              andi R24,0
 02DA 9072              andi R25,32
 02DC 8030              cpi R24,0
 02DE A0E2              ldi R26,32
 02E0 9A07              cpc R25,R26
 02E2 09F0              breq X16
 02E4 67C0              xjmp L58
 02E6           X16:
 02E6           X13:
 02E6                   .dbline 45
 02E6           ;   {
 02E6                   .dbline 46
 02E6           ;     adcfirst[0]=(adc_temp>>1)&0xfff;
 02E6 C501              movw R24,R10
 02E8 9695              lsr R25
 02EA 8795              ror R24
 02EC 9F70              andi R25,15
 02EE 90930100          sts _adcfirst+1,R25
 02F2 80930000          sts _adcfirst,R24
 02F6                   .dbline 47
 02F6           ;       adc_temp&=0x1ffc;
 02F6 C501              movw R24,R10
 02F8 8C7F              andi R24,252
 02FA 9F71              andi R25,31
 02FC 5C01              movw R10,R24
 02FE                   .dbline 48
 02FE           ;       adc=adc_temp;
 02FE 1C01              movw R2,R24
 0300 4424              clr R4
 0302 5524              clr R5
 0304 2882              std y+0,R2
 0306 3982              std y+1,R3
 0308 4A82              std y+2,R4
 030A 5B82              std y+3,R5
 030C                   .dbline 49
 030C           ;       adcttemp[0][14]=adc_temp;
 030C B0922100          sts _adcttemp+28+1,R11
 0310 A0922000          sts _adcttemp+28,R10
 0314                   .dbline 50
 0314           ;     for(temp=0;temp<14;temp++) 
 0314 CC24              clr R12
 0316 2AC0              xjmp L64
 0318           L61:
 0318                   .dbline 51
 0318           ;       {
 0318                   .dbline 52
 0318           ;         adcttemp[0][temp]=adcttemp[0][temp+1];
 0318 80E0              ldi R24,<_adcttemp
 031A 90E0              ldi R25,>_adcttemp
 031C EC2D              mov R30,R12
 031E FF27              clr R31
 0320 3196              adiw R30,1
 0322 EE0F              lsl R30
 0324 FF1F              rol R31
 0326 E80F              add R30,R24
 0328 F91F              adc R31,R25
 032A 2080              ldd R2,z+0
 032C 3180              ldd R3,z+1
 032E EC2D              mov R30,R12
 0330 FF27              clr R31
 0332 EE0F              lsl R30
 0334 FF1F              rol R31
 0336 E80F              add R30,R24
 0338 F91F              adc R31,R25
 033A 3182              std z+1,R3
 033C 2082              std z+0,R2
 033E                   .dbline 53
 033E           ;       adc+=adcttemp[0][temp];
 033E EC2D              mov R30,R12

⌨️ 快捷键说明

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