📄 test.lis
字号:
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 + -