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

📄 eeprom.lst

📁 EPPROM应用,测试程序,AVR内核,供初学者参考
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0157) 	for(i=0;i<tim1;i++)
      FE 24AA      CLR	R10
      FF C003      RJMP	0x0103
(0158) 	{
(0159) 	    delay(50);
     100 E302      LDI	R16,0x32
     101 DFF2      RCALL	_delay
     102 94A3      INC	R10
     103 14AC      CP	R10,R12
     104 F3D8      BCS	0x0100
     105 90C9      LD	R12,Y+
     106 90A9      LD	R10,Y+
     107 9508      RET
_delays:
  tim2                 --> R12
  j                    --> R10
  time1                --> R10
     108 92AA      ST	R10,-Y
     109 92CA      ST	R12,-Y
     10A 2EA0      MOV	R10,R16
(0160) 	}
(0161) }
(0162) void delays(u08 time1)
(0163) {
(0164)     u08 tim2,j;
(0165) 	tim2=time1;
     10B 2CCA      MOV	R12,R10
(0166) 	for(j=0;j<tim2;j++)
     10C 24AA      CLR	R10
     10D C003      RJMP	0x0111
(0167) 	{
(0168) 	    delayms(250);
     10E EF0A      LDI	R16,0xFA
     10F DFEA      RCALL	_delayms
     110 94A3      INC	R10
     111 14AC      CP	R10,R12
     112 F3D8      BCS	0x010E
     113 90C9      LD	R12,Y+
     114 90A9      LD	R10,Y+
     115 9508      RET
_Icp_time0:
     116 922A      ST	R2,-Y
     117 923A      ST	R3,-Y
     118 938A      ST	R24,-Y
     119 B62F      IN	R2,0x3F
     11A 922A      ST	R2,-Y
(0169) 	}
(0170) }
(0171) void Icp_time0(void)
(0172) {
(0173)     SREG=0x00;
     11B 2422      CLR	R2
     11C BE2F      OUT	0x3F,R2
(0174)     TIFR0=0x01;
     11D E081      LDI	R24,1
     11E BB85      OUT	0x15,R24
(0175) 	data_temp2=data_temp1;
     11F 9020 0102 LDS	R2,data_temp1
     121 9030 0103 LDS	R3,data_temp1+1
     123 9230 0101 STS	data_temp2+1,R3
     125 9220 0100 STS	data_temp2,R2
(0176) 	data_temp1=0x0000;
     127 2422      CLR	R2
     128 2433      CLR	R3
     129 9230 0103 STS	data_temp1+1,R3
     12B 9220 0102 STS	data_temp1,R2
(0177) 	TCNT0=0xc0;
     12D EC80      LDI	R24,0xC0
     12E BD86      OUT	0x26,R24
(0178) 	SREG|=0x80;
     12F 9478      BSET	7
     130 9029      LD	R2,Y+
     131 BE2F      OUT	0x3F,R2
     132 9189      LD	R24,Y+
     133 9039      LD	R3,Y+
     134 9029      LD	R2,Y+
     135 9518      RETI
_Int0:
     136 938A      ST	R24,-Y
     137 939A      ST	R25,-Y
     138 B78F      IN	R24,0x3F
     139 938A      ST	R24,-Y
(0179) }
(0180) void Int0(void)
(0181) {
(0182)     //SREG=0x00;
(0183)     data_temp1++;	
     13A 9180 0102 LDS	R24,data_temp1
     13C 9190 0103 LDS	R25,data_temp1+1
     13E 9601      ADIW	R24,1
     13F 9390 0103 STS	data_temp1+1,R25
     141 9380 0102 STS	data_temp1,R24
     143 9189      LD	R24,Y+
     144 BF8F      OUT	0x3F,R24
     145 9199      LD	R25,Y+
     146 9189      LD	R24,Y+
     147 9518      RETI
_sendData:
  hbit                 --> R10
  k                    --> R20
  cbit                 --> R22
     148 D0BE      RCALL	push_xgsetF00C
     149 2F60      MOV	R22,R16
(0184) 	//SREG|=0x80;
(0185) }
(0186) void sendData(u08 cbit)
(0187) {
(0188)     u08 k;
(0189) 	u08 hbit;
(0190) 	//hbit=0x01;
(0191) 	PORTC=0x02;
     14A E082      LDI	R24,2
     14B B988      OUT	0x08,R24
(0192) 	delay(180);
     14C EB04      LDI	R16,0xB4
     14D DFA6      RCALL	_delay
(0193) 	PORTC=0x00;
     14E 2422      CLR	R2
     14F B828      OUT	0x08,R2
(0194) 	delay(15);
     150 E00F      LDI	R16,0xF
     151 DFA2      RCALL	_delay
(0195) 	//delay(26);
(0196) 	//PORTB=0x08;
(0197) 	//buz(cbit);
(0198) 	for(k=0;k<8;k++)
     152 2744      CLR	R20
     153 C018      RJMP	0x016C
(0199) 	{
(0200) 	   hbit=(cbit&0x80);
     154 2F86      MOV	R24,R22
     155 7880      ANDI	R24,0x80
     156 2EA8      MOV	R10,R24
(0201) 	   if(hbit)
     157 2388      TST	R24
     158 F049      BEQ	0x0162
(0202) 	   {  
(0203) 	      PORTC=0x02;
     159 E082      LDI	R24,2
     15A B988      OUT	0x08,R24
(0204) 	      delay(16);
     15B E100      LDI	R16,0x10
     15C DF97      RCALL	_delay
(0205) 		  PORTC=0x00;
     15D 2422      CLR	R2
     15E B828      OUT	0x08,R2
(0206) 		  delay(50);
     15F E302      LDI	R16,0x32
     160 DF93      RCALL	_delay
(0207) 		  //PORTB=0x00;
(0208) 	   }
     161 C008      RJMP	0x016A
(0209) 	   else
(0210) 	   {
(0211) 	      PORTC=0x02;
     162 E082      LDI	R24,2
     163 B988      OUT	0x08,R24
(0212) 	      delay(50);
     164 E302      LDI	R16,0x32
     165 DF8E      RCALL	_delay
(0213) 		  PORTC=0x00;
     166 2422      CLR	R2
     167 B828      OUT	0x08,R2
(0214) 		  delay(16);
     168 E100      LDI	R16,0x10
     169 DF8A      RCALL	_delay
(0215) 		  //PORTB=0x00;
(0216) 	   }
(0217) 	   cbit<<=1;
FILE: <library>
     16A 0F66      LSL	R22
     16B 9543      INC	R20
     16C 3048      CPI	R20,0x8
     16D F330      BCS	0x0154
     16E C09F      RJMP	pop_xgsetF00C
div32u:
     16F 94E8      BCLR	6
     170 C001      RJMP	0x0172
mod32u:
     171 9468      BSET	6
     172 D02F      RCALL	long_div_prolog
     173 24CC      CLR	R12
     174 C008      RJMP	0x017D
div32s:
     175 94E8      BCLR	6
     176 C001      RJMP	0x0178
mod32s:
     177 9468      BSET	6
     178 D029      RCALL	long_div_prolog
     179 FD37      SBRC	R19,7
     17A D09A      RCALL	neg32
     17B FDB7      SBRC	R27,7
     17C D051      RCALL	neg_R24_R27
     17D 2477      CLR	R7
     17E 2488      CLR	R8
     17F 2499      CLR	R9
     180 24AA      CLR	R10
     181 24BB      CLR	R11
     182 D041      RCALL	tst_R16_R19
     183 F0C1      BEQ	0x019C
     184 D044      RCALL	tst_R24_R27
     185 F0B1      BEQ	0x019C
     186 E2E8      LDI	R30,0x28
     187 0F00      LSL	R16
     188 1F11      ROL	R17
     189 1F22      ROL	R18
     18A 1F33      ROL	R19
     18B 1C77      ROL	R7
     18C 1C88      ROL	R8
     18D 1C99      ROL	R9
     18E 1CAA      ROL	R10
     18F 1CBB      ROL	R11
     190 1688      CP	R8,R24
     191 0699      CPC	R9,R25
     192 06AA      CPC	R10,R26
     193 06BB      CPC	R11,R27
     194 F028      BCS	0x019A
     195 1A88      SUB	R8,R24
     196 0A99      SBC	R9,R25
     197 0AAA      SBC	R10,R26
     198 0ABB      SBC	R11,R27
     199 9503      INC	R16
     19A 95EA      DEC	R30
     19B F759      BNE	0x0187
     19C F426      BRTC	0x01A1
     19D 2D08      MOV	R16,R8
     19E 2D19      MOV	R17,R9
     19F 2D2A      MOV	R18,R10
     1A0 2D3B      MOV	R19,R11
     1A1 C013      RJMP	long_div_epilog
long_div_prolog:
     1A2 927A      ST	R7,-Y
     1A3 928A      ST	R8,-Y
     1A4 929A      ST	R9,-Y
     1A5 92AA      ST	R10,-Y
     1A6 92BA      ST	R11,-Y
     1A7 92CA      ST	R12,-Y
     1A8 93EA      ST	R30,-Y
     1A9 938A      ST	R24,-Y
     1AA 939A      ST	R25,-Y
     1AB 93AA      ST	R26,-Y
     1AC 93BA      ST	R27,-Y
     1AD 858B      LDD	R24,Y+11
     1AE 859C      LDD	R25,Y+12
     1AF 85AD      LDD	R26,Y+13
     1B0 85BE      LDD	R27,Y+14
     1B1 2EC3      MOV	R12,R19
     1B2 F00E      BRTS	0x01B4
     1B3 26CB      EOR	R12,R27
     1B4 9508      RET
long_div_epilog:
     1B5 FCC7      SBRC	R12,7
     1B6 D05E      RCALL	neg32
     1B7 91B9      LD	R27,Y+
     1B8 91A9      LD	R26,Y+
     1B9 9199      LD	R25,Y+
     1BA 9189      LD	R24,Y+
     1BB 91E9      LD	R30,Y+
     1BC 90C9      LD	R12,Y+
     1BD 90B9      LD	R11,Y+
     1BE 90A9      LD	R10,Y+
     1BF 9099      LD	R9,Y+
     1C0 9089      LD	R8,Y+
     1C1 9079      LD	R7,Y+
     1C2 9624      ADIW	R28,4
     1C3 9508      RET
tst_R16_R19:
     1C4 2FE0      MOV	R30,R16
     1C5 2BE1      OR	R30,R17
     1C6 2BE2      OR	R30,R18
     1C7 2BE3      OR	R30,R19
     1C8 9508      RET
tst_R24_R27:
     1C9 2FE8      MOV	R30,R24
     1CA 2BE9      OR	R30,R25
     1CB 2BEA      OR	R30,R26
     1CC 2BEB      OR	R30,R27
     1CD 9508      RET
neg_R24_R27:
     1CE 9580      COM	R24
     1CF 9590      COM	R25
     1D0 95A0      COM	R26
     1D1 95B0      COM	R27
     1D2 5F8F      SUBI	R24,0xFF
     1D3 4F9F      SBCI	R25,0xFF
     1D4 4FAF      SBCI	R26,0xFF
     1D5 4FBF      SBCI	R27,0xFF
     1D6 9508      RET
empy32u:
empy32s:
     1D7 D046      RCALL	long_prolog
     1D8 927A      ST	R7,-Y
     1D9 D05D      RCALL	tstzero1
     1DA F151      BEQ	0x0205
     1DB 2477      CLR	R7
     1DC D060      RCALL	tstzero2
     1DD F419      BNE	0x01E1
     1DE 018C      MOVW	R16,R24
     1DF 019D      MOVW	R18,R26
     1E0 C024      RJMP	0x0205
     1E1 920A      ST	R0,-Y
     1E2 921A      ST	R1,-Y
     1E3 9F08      MUL	R16,R24
     1E4 2CB0      MOV	R11,R0
     1E5 2CA1      MOV	R10,R1
     1E6 9F28      MUL	R18,R24
     1E7 2C90      MOV	R9,R0
     1E8 2C81      MOV	R8,R1
     1E9 9F18      MUL	R17,R24
     1EA 0CA0      ADD	R10,R0
     1EB 1C91      ADC	R9,R1
     1EC 1C87      ADC	R8,R7
     1ED 9F09      MUL	R16,R25
     1EE 0CA0      ADD	R10,R0
     1EF 1C91      ADC	R9,R1
     1F0 1C87      ADC	R8,R7
     1F1 9F19      MUL	R17,R25
     1F2 0C90      ADD	R9,R0
     1F3 1C81      ADC	R8,R1
     1F4 9F0A      MUL	R16,R26
     1F5 0C90      ADD	R9,R0
     1F6 1C81      ADC	R8,R1
     1F7 9F38      MUL	R19,R24
     1F8 0C80      ADD	R8,R0
     1F9 9F29      MUL	R18,R25
     1FA 0C80      ADD	R8,R0
     1FB 9F1A      MUL	R17,R26
     1FC 0C80      ADD	R8,R0
     1FD 9F0B      MUL	R16,R27
     1FE 0C80      ADD	R8,R0
     1FF 9019      LD	R1,Y+
     200 9009      LD	R0,Y+
     201 2D0B      MOV	R16,R11
     202 2D1A      MOV	R17,R10
     203 2D29      MOV	R18,R9
     204 2D38      MOV	R19,R8
     205 9079      LD	R7,Y+
     206 C025      RJMP	long_epilog
push_xgsetF00C:
     207 937A      ST	R23,-Y
     208 936A      ST	R22,-Y
     209 935A      ST	R21,-Y
     20A 934A      ST	R20,-Y
     20B 92BA      ST	R11,-Y
     20C 92AA      ST	R10,-Y
     20D 9508      RET
pop_xgsetF00C:
     20E 90A9      LD	R10,Y+
     20F 90B9      LD	R11,Y+
     210 9149      LD	R20,Y+
     211 9159      LD	R21,Y+
     212 9169      LD	R22,Y+
     213 9179      LD	R23,Y+
     214 9508      RET
neg32:
     215 9500      COM	R16
     216 9510      COM	R17
     217 9520      COM	R18
     218 9530      COM	R19
     219 5F0F      SUBI	R16,0xFF
     21A 4F1F      SBCI	R17,0xFF
     21B 4F2F      SBCI	R18,0xFF
     21C 4F3F      SBCI	R19,0xFF
     21D 9508      RET
long_prolog:
     21E 928A      ST	R8,-Y
     21F 929A      ST	R9,-Y
     220 92AA      ST	R10,-Y
     221 92BA      ST	R11,-Y
     222 93EA      ST	R30,-Y
     223 938A      ST	R24,-Y
     224 939A      ST	R25,-Y
     225 93AA      ST	R26,-Y
     226 93BA      ST	R27,-Y
     227 8589      LDD	R24,Y+9
     228 859A      LDD	R25,Y+10
     229 85AB      LDD	R26,Y+11
     22A 85BC      LDD	R27,Y+12
     22B 9508      RET
long_epilog:
     22C 91B9      LD	R27,Y+
     22D 91A9      LD	R26,Y+
     22E 9199      LD	R25,Y+
     22F 9189      LD	R24,Y+
     230 91E9      LD	R30,Y+
     231 90B9      LD	R11,Y+
     232 90A9      LD	R10,Y+
     233 9099      LD	R9,Y+
     234 9089      LD	R8,Y+
     235 9624      ADIW	R28,4
     236 9508      RET
tstzero1:
     237 27EE      CLR	R30
     238 2BE0      OR	R30,R16
     239 2BE1      OR	R30,R17
     23A 2BE2      OR	R30,R18
     23B 2BE3      OR	R30,R19
     23C 9508      RET
tstzero2:
     23D 27EE      CLR	R30
     23E 2BE8      OR	R30,R24
     23F 2BE9      OR	R30,R25
     240 2BEA      OR	R30,R26
     241 2BEB      OR	R30,R27
     242 9508      RET

⌨️ 快捷键说明

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