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

📄 biaotoum48.lst

📁 AVR ICC基于AVR单片机的LED显示程序!
💻 LST
📖 第 1 页 / 共 3 页
字号:
(0105)  TIMSK2 = 0x00; //timer 2 interrupt sources
    02D3 92200070  STS	0x70,R2
(0106)  
(0107)  PCMSK0 = 0x00; //pin change mask 0 
    02D5 9220006B  STS	0x6B,R2
(0108)  PCMSK1 = 0x00; //pin change mask 1 
    02D7 9220006C  STS	0x6C,R2
(0109)  PCMSK2 = 0x00; //pin change mask 2
    02D9 9220006D  STS	0x6D,R2
(0110)  PCICR = 0x00; //pin change enable 
    02DB 92200068  STS	0x68,R2
(0111)  PRR = 0x00; //power controller
    02DD 92200064  STS	0x64,R2
(0112)  SEI(); //re-enable interrupts
    02DF 9478      BSET	7
    02E0 9508      RET
(0113)  //all peripherals are now initialized
(0114) }
(0115) 
(0116) 
(0117) 
(0118) void main(void)
(0119) {
(0120) unit n=11100;
_main:
  Zb                   --> Y+1
  ii                   --> R20
  n                    --> R20
  TL                   --> R20
  TH                   --> R20
  Rx                   --> R10
  Counter              --> R22
    02E1 E54C      LDI	R20,0x5C
    02E2 E25B      LDI	R21,0x2B
(0121) uchar ii=0;
    02E3 2744      CLR	R20
(0122) unit Counter,Rx,TH,Zb,TL;
(0123) 
(0124) init_devices();
    02E4 DFE1      RCALL	_init_devices
    02E5 C044      RJMP	0x032A
(0125) 
(0126) //*测量占空比
(0127) while(1)
(0128) {
(0129) PORTB|=0X01;DDRB&=~0X01;
    02E6 9A28      SBI	0x05,0
    02E7 9820      CBI	0x04,0
(0130) Counter=0;Rx=0;     
    02E8 2766      CLR	R22
    02E9 2777      CLR	R23
    02EA 24AA      CLR	R10
    02EB 24BB      CLR	R11
(0131) while(!TestIO);
    02EC B183      IN	R24,0x03
    02ED 7081      ANDI	R24,1
    02EE 3081      CPI	R24,1
    02EF F7E1      BNE	0x02EC
(0132) while(TestIO);
    02F0 B023      IN	R2,0x03
    02F1 2433      CLR	R3
    02F2 FC20      SBRC	R2,0
    02F3 CFFC      RJMP	0x02F0
(0133) 
(0134) TCNT1H = 0x00;  TCNT1L = 0x00; TCCR1B = 0x02;
    02F4 2422      CLR	R2
    02F5 92200085  STS	0x85,R2
    02F7 92200084  STS	0x84,R2
    02F9 E082      LDI	R24,2
    02FA 93800081  STS	0x81,R24
(0135) while(!TestIO);                      //高电平时间
    02FC B183      IN	R24,0x03
    02FD 7081      ANDI	R24,1
    02FE 3081      CPI	R24,1
    02FF F7E1      BNE	0x02FC
(0136) TH=0xffff*Counter+TCNT1;
    0300 EF0F      LDI	R16,0xFF
    0301 EF1F      LDI	R17,0xFF
    0302 019B      MOVW	R18,R22
    0303 D0C5      RCALL	empy16s
    0304 01A8      MOVW	R20,R16
    0305 90200084  LDS	R2,0x84
    0307 90300085  LDS	R3,0x85
    0309 0D42      ADD	R20,R2
    030A 1D53      ADC	R21,R3
(0137) while(TestIO);
    030B B023      IN	R2,0x03
    030C 2433      CLR	R3
    030D FC20      SBRC	R2,0
    030E CFFC      RJMP	0x030B
(0138) while(!TestIO);
    030F B183      IN	R24,0x03
    0310 7081      ANDI	R24,1
    0311 3081      CPI	R24,1
    0312 F7E1      BNE	0x030F
(0139) TCNT1H = 0x00;  TCNT1L = 0x00; TCCR1B = 0x02;
    0313 2422      CLR	R2
    0314 92200085  STS	0x85,R2
    0316 92200084  STS	0x84,R2
    0318 E082      LDI	R24,2
    0319 93800081  STS	0x81,R24
(0140) while(TestIO);                       //di电平时间
    031B B023      IN	R2,0x03
    031C 2433      CLR	R3
    031D FC20      SBRC	R2,0
    031E CFFC      RJMP	0x031B
(0141) TL=0xffff*Counter+TCNT1;
    031F EF0F      LDI	R16,0xFF
    0320 EF1F      LDI	R17,0xFF
    0321 019B      MOVW	R18,R22
    0322 D0A6      RCALL	empy16s
    0323 01A8      MOVW	R20,R16
    0324 90200084  LDS	R2,0x84
    0326 90300085  LDS	R3,0x85
    0328 0D42      ADD	R20,R2
    0329 1D53      ADC	R21,R3
    032A CFBB      RJMP	0x02E6
(0142) }
(0143) 
(0144) /*测量高电平时间
(0145) while(1)
(0146) {
(0147) PORTB|=0X01;
(0148) DDRB&=~0X01;
(0149) Counter=0;     //高电平时间
(0150) while(!TestIO);
(0151) while(TestIO);
(0152) TCNT1H = 0x00;  TCNT1L = 0x00; TCCR1B = 0x02;
(0153) while(!TestIO);
(0154) TCCR1B = 0x00;
(0155) Counter=0xffff*Counter+TCNT1H*0xff+TCNT1L;
(0156) if(Counter<9999)show4(Counter) ; 
(0157) }
(0158) //*测量电压
(0159) while(1)
(0160) {
(0161) dat=0;
(0162) delay1(100);
(0163) dat=cw1(7);
(0164) Rx=dat*(5000/1024);
(0165) show41(Rx,1) ; 
(0166) }
(0167) 
(0168) /*测量温度
(0169) while(1)
(0170) {
(0171) delay(100);
(0172) dat=cw1(5);
(0173) Rx=((1024-dat)*R*100)/dat;
(0174) show4( PT100(Rx)) ;    
(0175) }
(0176) */
(0177) 
(0178) while(1)
(0179) {
(0180) 
(0181) delay(10);
    032B E00A      LDI	R16,0xA
    032C E010      LDI	R17,0
    032D DE48      RCALL	_delay
(0182) show4(PT100(cw1(5)),1);        
FILE: <library>
    032E E005      LDI	R16,5
    032F DF81      RCALL	_cw1
    0330 2722      CLR	R18
    0331 2733      CLR	R19
    0332 DEB9      RCALL	_PT100
    0333 E021      LDI	R18,1
    0334 DE83      RCALL	_show4
    0335 CFF5      RJMP	0x032B
    0336 9508      RET
push_arg4:
    0337 933A      ST	R19,-Y
    0338 932A      ST	R18,-Y
push_arg2:
    0339 931A      ST	R17,-Y
    033A 930A      ST	R16,-Y
    033B 9508      RET
mod16u:
    033C 9468      BSET	6
    033D C001      RJMP	xdiv16u
div16u:
    033E 94E8      BCLR	6
xdiv16u:
    033F 92EA      ST	R14,-Y
    0340 92FA      ST	R15,-Y
    0341 938A      ST	R24,-Y
    0342 24EE      CLR	R14
    0343 24FF      CLR	R15
    0344 E180      LDI	R24,0x10
    0345 0F00      LSL	R16
    0346 1F11      ROL	R17
    0347 1CEE      ROL	R14
    0348 1CFF      ROL	R15
    0349 16E2      CP	R14,R18
    034A 06F3      CPC	R15,R19
    034B F018      BCS	0x034F
    034C 1AE2      SUB	R14,R18
    034D 0AF3      SBC	R15,R19
    034E 9503      INC	R16
    034F 958A      DEC	R24
    0350 F7A1      BNE	0x0345
    0351 F416      BRTC	0x0354
    0352 2D0E      MOV	R16,R14
    0353 2D1F      MOV	R17,R15
    0354 9189      LD	R24,Y+
    0355 90F9      LD	R15,Y+
    0356 90E9      LD	R14,Y+
    0357 9508      RET
div32u:
    0358 94E8      BCLR	6
    0359 C001      RJMP	0x035B
mod32u:
    035A 9468      BSET	6
    035B D02F      RCALL	long_div_prolog
    035C 24CC      CLR	R12
    035D C008      RJMP	0x0366
div32s:
    035E 94E8      BCLR	6
    035F C001      RJMP	0x0361
mod32s:
    0360 9468      BSET	6
    0361 D029      RCALL	long_div_prolog
    0362 FD37      SBRC	R19,7
    0363 D053      RCALL	neg_R16_R19
    0364 FDB7      SBRC	R27,7
    0365 D05A      RCALL	neg_R24_R27
    0366 2477      CLR	R7
    0367 2488      CLR	R8
    0368 2499      CLR	R9
    0369 24AA      CLR	R10
    036A 24BB      CLR	R11
    036B D041      RCALL	tst_R16_R19
    036C F0C1      BEQ	0x0385
    036D D044      RCALL	tst_R24_R27
    036E F0B1      BEQ	0x0385
    036F E2E8      LDI	R30,0x28
    0370 0F00      LSL	R16
    0371 1F11      ROL	R17
    0372 1F22      ROL	R18
    0373 1F33      ROL	R19
    0374 1C77      ROL	R7
    0375 1C88      ROL	R8
    0376 1C99      ROL	R9
    0377 1CAA      ROL	R10
    0378 1CBB      ROL	R11
    0379 1688      CP	R8,R24
    037A 0699      CPC	R9,R25
    037B 06AA      CPC	R10,R26
    037C 06BB      CPC	R11,R27
    037D F028      BCS	0x0383
    037E 1A88      SUB	R8,R24
    037F 0A99      SBC	R9,R25
    0380 0AAA      SBC	R10,R26
    0381 0ABB      SBC	R11,R27
    0382 9503      INC	R16
    0383 95EA      DEC	R30
    0384 F759      BNE	0x0370
    0385 F426      BRTC	0x038A
    0386 2D08      MOV	R16,R8
    0387 2D19      MOV	R17,R9
    0388 2D2A      MOV	R18,R10
    0389 2D3B      MOV	R19,R11
    038A C013      RJMP	long_div_epilog
long_div_prolog:
    038B 927A      ST	R7,-Y
    038C 928A      ST	R8,-Y
    038D 929A      ST	R9,-Y
    038E 92AA      ST	R10,-Y
    038F 92BA      ST	R11,-Y
    0390 92CA      ST	R12,-Y
    0391 93EA      ST	R30,-Y
    0392 938A      ST	R24,-Y
    0393 939A      ST	R25,-Y
    0394 93AA      ST	R26,-Y
    0395 93BA      ST	R27,-Y
    0396 858B      LDD	R24,Y+11
    0397 859C      LDD	R25,Y+12
    0398 85AD      LDD	R26,Y+13
    0399 85BE      LDD	R27,Y+14
    039A 2EC3      MOV	R12,R19
    039B F00E      BRTS	0x039D
    039C 26CB      EOR	R12,R27
    039D 9508      RET
long_div_epilog:
    039E FCC7      SBRC	R12,7
    039F D017      RCALL	neg_R16_R19
    03A0 91B9      LD	R27,Y+
    03A1 91A9      LD	R26,Y+
    03A2 9199      LD	R25,Y+
    03A3 9189      LD	R24,Y+
    03A4 91E9      LD	R30,Y+
    03A5 90C9      LD	R12,Y+
    03A6 90B9      LD	R11,Y+
    03A7 90A9      LD	R10,Y+
    03A8 9099      LD	R9,Y+
    03A9 9089      LD	R8,Y+
    03AA 9079      LD	R7,Y+
    03AB 9624      ADIW	R28,4
    03AC 9508      RET
tst_R16_R19:
    03AD 2FE0      MOV	R30,R16
    03AE 2BE1      OR	R30,R17
    03AF 2BE2      OR	R30,R18
    03B0 2BE3      OR	R30,R19
    03B1 9508      RET
tst_R24_R27:
    03B2 2FE8      MOV	R30,R24
    03B3 2BE9      OR	R30,R25
    03B4 2BEA      OR	R30,R26
    03B5 2BEB      OR	R30,R27
    03B6 9508      RET
neg_R16_R19:
    03B7 9500      COM	R16
    03B8 9510      COM	R17
    03B9 9520      COM	R18
    03BA 9530      COM	R19
    03BB 5F0F      SUBI	R16,0xFF
    03BC 4F1F      SBCI	R17,0xFF
    03BD 4F2F      SBCI	R18,0xFF
    03BE 4F3F      SBCI	R19,0xFF
    03BF 9508      RET
neg_R24_R27:
    03C0 9580      COM	R24
    03C1 9590      COM	R25
    03C2 95A0      COM	R26
    03C3 95B0      COM	R27
    03C4 5F8F      SUBI	R24,0xFF
    03C5 4F9F      SBCI	R25,0xFF
    03C6 4FAF      SBCI	R26,0xFF
    03C7 4FBF      SBCI	R27,0xFF
    03C8 9508      RET
empy16s:
    03C9 920A      ST	R0,-Y
    03CA 921A      ST	R1,-Y
    03CB 938A      ST	R24,-Y
    03CC 939A      ST	R25,-Y
    03CD 9F02      MUL	R16,R18
    03CE 01C0      MOVW	R24,R0
    03CF 9F12      MUL	R17,R18
    03D0 0D90      ADD	R25,R0
    03D1 9F03      MUL	R16,R19
    03D2 0D90      ADD	R25,R0
    03D3 018C      MOVW	R16,R24
    03D4 9199      LD	R25,Y+
    03D5 9189      LD	R24,Y+
    03D6 9019      LD	R1,Y+
    03D7 9009      LD	R0,Y+
    03D8 9508      RET
empy32u:
empy32s:
    03D9 D052      RCALL	long_prolog
    03DA 927F      PUSH	R7
    03DB D069      RCALL	tstzero1
    03DC F131      BEQ	0x0403
    03DD 2477      CLR	R7
    03DE D06C      RCALL	tstzero2
    03DF F419      BNE	0x03E3
    03E0 018C      MOVW	R16,R24
    03E1 019D      MOVW	R18,R26
    03E2 C020      RJMP	0x0403
    03E3 9F08      MUL	R16,R24
    03E4 2CB0      MOV	R11,R0
    03E5 2CA1      MOV	R10,R1
    03E6 9F28      MUL	R18,R24
    03E7 2C90      MOV	R9,R0
    03E8 2C81      MOV	R8,R1
    03E9 9F18      MUL	R17,R24
    03EA 0CA0      ADD	R10,R0
    03EB 1C91      ADC	R9,R1
    03EC 1C87      ADC	R8,R7
    03ED 9F09      MUL	R16,R25
    03EE 0CA0      ADD	R10,R0
    03EF 1C91      ADC	R9,R1
    03F0 1C87      ADC	R8,R7
    03F1 9F19      MUL	R17,R25
    03F2 0C90      ADD	R9,R0
    03F3 1C81      ADC	R8,R1
    03F4 9F0A      MUL	R16,R26
    03F5 0C90      ADD	R9,R0
    03F6 1C81      ADC	R8,R1
    03F7 9F38      MUL	R19,R24
    03F8 0C80      ADD	R8,R0
    03F9 9F29      MUL	R18,R25
    03FA 0C80      ADD	R8,R0
    03FB 9F1A      MUL	R17,R26
    03FC 0C80      ADD	R8,R0
    03FD 9F0B      MUL	R16,R27
    03FE 0C80      ADD	R8,R0
    03FF 2D0B      MOV	R16,R11
    0400 2D1A      MOV	R17,R10
    0401 2D29      MOV	R18,R9
    0402 2D38      MOV	R19,R8
    0403 907F      POP	R7
    0404 C035      RJMP	long_epilog
pop_gset2:
    0405 E0E2      LDI	R30,2
    0406 C012      RJMP	pop
pop_gset3:
    0407 E0E4      LDI	R30,4
    0408 C010      RJMP	pop
pop_gset4:
    0409 E0E8      LDI	R30,0x8
    040A C00E      RJMP	pop
pop_gset5:
    040B 27EE      CLR	R30
    040C C00C      RJMP	pop
push_gset5:
    040D 92FA      ST	R15,-Y
    040E 92EA      ST	R14,-Y
push_gset4:
    040F 92DA      ST	R13,-Y
    0410 92CA      ST	R12,-Y
push_gset3:
    0411 92BA      ST	R11,-Y
    0412 92AA      ST	R10,-Y
push_gset2:
    0413 937A      ST	R23,-Y
    0414 936A      ST	R22,-Y
push_gset1:
    0415 935A      ST	R21,-Y
    0416 934A      ST	R20,-Y
    0417 9508      RET
pop_gset1:
    0418 E0E1      LDI	R30,1
pop:
    0419 9149      LD	R20,Y+
    041A 9159      LD	R21,Y+
    041B FDE0      SBRC	R30,0
    041C 9508      RET
    041D 9169      LD	R22,Y+
    041E 9179      LD	R23,Y+
    041F FDE1      SBRC	R30,1
    0420 9508      RET
    0421 90A9      LD	R10,Y+
    0422 90B9      LD	R11,Y+
    0423 FDE2      SBRC	R30,2
    0424 9508      RET
    0425 90C9      LD	R12,Y+
    0426 90D9      LD	R13,Y+
    0427 FDE3      SBRC	R30,3
    0428 9508      RET
    0429 90E9      LD	R14,Y+
    042A 90F9      LD	R15,Y+
    042B 9508      RET
long_prolog:
    042C 928A      ST	R8,-Y
    042D 929A      ST	R9,-Y
    042E 92AA      ST	R10,-Y
    042F 92BA      ST	R11,-Y
    0430 93EA      ST	R30,-Y
    0431 938A      ST	R24,-Y
    0432 939A      ST	R25,-Y
    0433 93AA      ST	R26,-Y
    0434 93BA      ST	R27,-Y
    0435 8589      LDD	R24,Y+9
    0436 859A      LDD	R25,Y+10
    0437 85AB      LDD	R26,Y+11
    0438 85BC      LDD	R27,Y+12
    0439 9508      RET
long_epilog:
    043A 91B9      LD	R27,Y+
    043B 91A9      LD	R26,Y+
    043C 9199      LD	R25,Y+
    043D 9189      LD	R24,Y+
    043E 91E9      LD	R30,Y+
    043F 90B9      LD	R11,Y+
    0440 90A9      LD	R10,Y+
    0441 9099      LD	R9,Y+
    0442 9089      LD	R8,Y+
    0443 9624      ADIW	R28,4
    0444 9508      RET
tstzero1:
    0445 27EE      CLR	R30
    0446 2BE0      OR	R30,R16
    0447 2BE1      OR	R30,R17
    0448 2BE2      OR	R30,R18
    0449 2BE3      OR	R30,R19
    044A 9508      RET
tstzero2:
    044B 27EE      CLR	R30
    044C 2BE8      OR	R30,R24
    044D 2BE9      OR	R30,R25
    044E 2BEA      OR	R30,R26
    044F 2BEB      OR	R30,R27
    0450 9508      RET

⌨️ 快捷键说明

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