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

📄 adc.lst

📁 adc检测串口反馈到PC上,数据不断发送
💻 LST
📖 第 1 页 / 共 2 页
字号:
    0187 8311      STD	Z+1,R17
    0188 8300      STD	Z+0,R16
(0042) 		temp=temp/10;
    0189 E02A      LDI	R18,0xA
    018A E030      LDI	R19,0
    018B 0186      MOVW	R16,R12
    018C 940E0206  CALL	div16u
    018E 0168      MOVW	R12,R16
    018F 94A3      INC	R10
    0190 2D8A      MOV	R24,R10
    0191 3083      CPI	R24,3
    0192 F340      BCS	0x017B
    0193 940E02C7  CALL	pop_gset4
    0195 9508      RET
_adc_isr:
  temp                 --> R16
    0196 922A      ST	R2,-Y
    0197 923A      ST	R3,-Y
    0198 930A      ST	R16,-Y
    0199 931A      ST	R17,-Y
    019A 93EA      ST	R30,-Y
    019B B62F      IN	R2,0x3F
    019C 922A      ST	R2,-Y
(0043) 	}
(0044)   	}
(0045) 	
(0046) /*      AD转换程序     */
(0047) #pragma interrupt_handler adc_isr:15
(0048) void adc_isr(void)
(0049)    {
(0050)     unsigned int temp=0;
    019D 2700      CLR	R16
    019E 2711      CLR	R17
    019F C002      RJMP	0x01A2
(0051) 	while(temp<6)
(0052) 	    temp++;
    01A0 5F0F      SUBI	R16,0xFF
    01A1 4F1F      SBCI	R17,0xFF
    01A2 3006      CPI	R16,6
    01A3 E0E0      LDI	R30,0
    01A4 071E      CPC	R17,R30
    01A5 F3D0      BCS	0x01A0
(0053) 	ad_con=ADC;    
    01A6 B024      IN	R2,0x04
    01A7 B035      IN	R3,0x05
    01A8 92300077  STS	ad_con+1,R3
    01AA 92200076  STS	ad_con,R2
(0054)    	ADCSR|=(1<<ADSC);//启动转换
    01AC 9A36      SBI	0x06,6
    01AD 9029      LD	R2,Y+
    01AE BE2F      OUT	0x3F,R2
    01AF 91E9      LD	R30,Y+
    01B0 9119      LD	R17,Y+
    01B1 9109      LD	R16,Y+
    01B2 9039      LD	R3,Y+
    01B3 9029      LD	R2,Y+
    01B4 9518      RETI
(0055) 	} 
(0056) //将AD转换结果转换成电压数值
(0057) void main(void)
(0058) {
(0059) unsigned char i;
(0060)  port_init();
_main:
  i                    --> R20
    01B5 DF6A      RCALL	_port_init
(0061)  WDT_ON();
    01B6 DEA7      RCALL	_WDT_ON
(0062)  USART_InitM1681(9600);
    01B7 E800      LDI	R16,0x80
    01B8 E215      LDI	R17,0x25
    01B9 DF19      RCALL	_USART_InitM1681
(0063)  Red_LedON;Green_LedON;
    01BA 98DD      CBI	0x1B,5
    01BB 98DC      CBI	0x1B,4
(0064) 	delay_nms(500);        //延时1秒
    01BC EF04      LDI	R16,0xF4
    01BD E011      LDI	R17,1
    01BE DEB9      RCALL	_delay_nms
(0065) 	Red_LedOFF; Green_LedOFF;
    01BF 9ADD      SBI	0x1B,5
    01C0 9ADC      SBI	0x1B,4
(0066)     USART_Transmit8(2);
    01C1 E002      LDI	R16,2
    01C2 DF42      RCALL	_USART_Transmit8
(0067)     USART_Transmit8(0x0d); //发送一个回车
    01C3 E00D      LDI	R16,0xD
    01C4 DF40      RCALL	_USART_Transmit8
(0068)     USART_Transmit8(0x0a); //发送一个换行
    01C5 E00A      LDI	R16,0xA
    01C6 DF3E      RCALL	_USART_Transmit8
(0069) 
(0070)  MCUCSR=0;
    01C7 2422      CLR	R2
    01C8 BE24      OUT	0x34,R2
(0071)  //ADMUX=0x00;//0通道
(0072)  ADMUX=0x03;//3
    01C9 E083      LDI	R24,3
    01CA B987      OUT	0x07,R24
(0073)  // ADMUX=0x06;//6
(0074)  ADCSR=(1<<ADEN)|(1<<ADSC)|(1<<ADIF)|(1<<ADIE)|0x06;
    01CB ED8E      LDI	R24,0xDE
    01CC B986      OUT	0x06,R24
(0075)  SEI();
    01CD 9478      BSET	7
(0076) 
(0077)  i=0;
    01CE 2744      CLR	R20
(0078)  USART_Transmit_2();//发个Hello
    01CF DF3B      RCALL	_USART_Transmit_2
    01D0 C031      RJMP	0x0202
(0079)  while(1)
(0080)     {
(0081)      if((i==127)|(i==0))
    01D1 374F      CPI	R20,0x7F
    01D2 F421      BNE	0x01D7
    01D3 E081      LDI	R24,1
    01D4 E090      LDI	R25,0
    01D5 015C      MOVW	R10,R24
    01D6 C002      RJMP	0x01D9
    01D7 24AA      CLR	R10
    01D8 24BB      CLR	R11
    01D9 2344      TST	R20
    01DA F419      BNE	0x01DE
    01DB E061      LDI	R22,1
    01DC E070      LDI	R23,0
    01DD C002      RJMP	0x01E0
    01DE 2766      CLR	R22
    01DF 2777      CLR	R23
    01E0 0115      MOVW	R2,R10
    01E1 2A26      OR	R2,R22
    01E2 2A37      OR	R3,R23
    01E3 2022      TST	R2
    01E4 F411      BNE	0x01E7
    01E5 2033      TST	R3
    01E6 F029      BEQ	0x01EC
(0082) 	     adctovol(ad_con);//降低AD结果刷新速率
    01E7 91000076  LDS	R16,ad_con
    01E9 91100077  LDS	R17,ad_con+1
    01EB DF75      RCALL	_adctovol
(0083) 	display();			  //使末位闪烁不太明显
    01EC DF3F      RCALL	_display
(0084) 	Red_D1glint;delay_nms(500);//红绿灯交替亮灭
    01ED B229      IN	R2,0x19
    01EE 2433      CLR	R3
    01EF FC25      SBRC	R2,5
    01F0 C002      RJMP	0x01F3
    01F1 9ADD      SBI	0x1B,5
    01F2 C001      RJMP	0x01F4
    01F3 98DD      CBI	0x1B,5
    01F4 EF04      LDI	R16,0xF4
    01F5 E011      LDI	R17,1
    01F6 DE81      RCALL	_delay_nms
(0085) 	Green_D1glint;delay_nms(500);
    01F7 B229      IN	R2,0x19
    01F8 2433      CLR	R3
    01F9 FC24      SBRC	R2,4
    01FA C002      RJMP	0x01FD
    01FB 9ADC      SBI	0x1B,4
    01FC C001      RJMP	0x01FE
    01FD 98DC      CBI	0x1B,4
    01FE EF04      LDI	R16,0xF4
    01FF E011      LDI	R17,1
    0200 DE77      RCALL	_delay_nms
(0086) 	i++; 
FILE: <library>
    0201 9543      INC	R20
    0202 CFCE      RJMP	0x01D1
    0203 9508      RET
mod16u:
    0204 9468      BSET	6
    0205 C001      RJMP	xdiv16u
div16u:
    0206 94E8      BCLR	6
xdiv16u:
    0207 92EA      ST	R14,-Y
    0208 92FA      ST	R15,-Y
    0209 938A      ST	R24,-Y
    020A 24EE      CLR	R14
    020B 24FF      CLR	R15
    020C E180      LDI	R24,0x10
    020D 0F00      LSL	R16
    020E 1F11      ROL	R17
    020F 1CEE      ROL	R14
    0210 1CFF      ROL	R15
    0211 16E2      CP	R14,R18
    0212 06F3      CPC	R15,R19
    0213 F018      BCS	0x0217
    0214 1AE2      SUB	R14,R18
    0215 0AF3      SBC	R15,R19
    0216 9503      INC	R16
    0217 958A      DEC	R24
    0218 F7A1      BNE	0x020D
    0219 F416      BRTC	0x021C
    021A 2D0E      MOV	R16,R14
    021B 2D1F      MOV	R17,R15
    021C 9189      LD	R24,Y+
    021D 90F9      LD	R15,Y+
    021E 90E9      LD	R14,Y+
    021F 9508      RET
div32u:
    0220 94E8      BCLR	6
    0221 C001      RJMP	0x0223
mod32u:
    0222 9468      BSET	6
    0223 D02F      RCALL	long_div_prolog
    0224 24CC      CLR	R12
    0225 C008      RJMP	0x022E
div32s:
    0226 94E8      BCLR	6
    0227 C001      RJMP	0x0229
mod32s:
    0228 9468      BSET	6
    0229 D029      RCALL	long_div_prolog
    022A FD37      SBRC	R19,7
    022B D053      RCALL	neg_R16_R19
    022C FDB7      SBRC	R27,7
    022D D05A      RCALL	neg_R24_R27
    022E 2477      CLR	R7
    022F 2488      CLR	R8
    0230 2499      CLR	R9
    0231 24AA      CLR	R10
    0232 24BB      CLR	R11
    0233 D041      RCALL	tst_R16_R19
    0234 F0C1      BEQ	0x024D
    0235 D044      RCALL	tst_R24_R27
    0236 F0B1      BEQ	0x024D
    0237 E2E8      LDI	R30,0x28
    0238 0F00      LSL	R16
    0239 1F11      ROL	R17
    023A 1F22      ROL	R18
    023B 1F33      ROL	R19
    023C 1C77      ROL	R7
    023D 1C88      ROL	R8
    023E 1C99      ROL	R9
    023F 1CAA      ROL	R10
    0240 1CBB      ROL	R11
    0241 1688      CP	R8,R24
    0242 0699      CPC	R9,R25
    0243 06AA      CPC	R10,R26
    0244 06BB      CPC	R11,R27
    0245 F028      BCS	0x024B
    0246 1A88      SUB	R8,R24
    0247 0A99      SBC	R9,R25
    0248 0AAA      SBC	R10,R26
    0249 0ABB      SBC	R11,R27
    024A 9503      INC	R16
    024B 95EA      DEC	R30
    024C F759      BNE	0x0238
    024D F426      BRTC	0x0252
    024E 2D08      MOV	R16,R8
    024F 2D19      MOV	R17,R9
    0250 2D2A      MOV	R18,R10
    0251 2D3B      MOV	R19,R11
    0252 C013      RJMP	long_div_epilog
long_div_prolog:
    0253 927A      ST	R7,-Y
    0254 928A      ST	R8,-Y
    0255 929A      ST	R9,-Y
    0256 92AA      ST	R10,-Y
    0257 92BA      ST	R11,-Y
    0258 92CA      ST	R12,-Y
    0259 93EA      ST	R30,-Y
    025A 938A      ST	R24,-Y
    025B 939A      ST	R25,-Y
    025C 93AA      ST	R26,-Y
    025D 93BA      ST	R27,-Y
    025E 858B      LDD	R24,Y+11
    025F 859C      LDD	R25,Y+12
    0260 85AD      LDD	R26,Y+13
    0261 85BE      LDD	R27,Y+14
    0262 2EC3      MOV	R12,R19
    0263 F00E      BRTS	0x0265
    0264 26CB      EOR	R12,R27
    0265 9508      RET
long_div_epilog:
    0266 FCC7      SBRC	R12,7
    0267 D017      RCALL	neg_R16_R19
    0268 91B9      LD	R27,Y+
    0269 91A9      LD	R26,Y+
    026A 9199      LD	R25,Y+
    026B 9189      LD	R24,Y+
    026C 91E9      LD	R30,Y+
    026D 90C9      LD	R12,Y+
    026E 90B9      LD	R11,Y+
    026F 90A9      LD	R10,Y+
    0270 9099      LD	R9,Y+
    0271 9089      LD	R8,Y+
    0272 9079      LD	R7,Y+
    0273 9624      ADIW	R28,4
    0274 9508      RET
tst_R16_R19:
    0275 2FE0      MOV	R30,R16
    0276 2BE1      OR	R30,R17
    0277 2BE2      OR	R30,R18
    0278 2BE3      OR	R30,R19
    0279 9508      RET
tst_R24_R27:
    027A 2FE8      MOV	R30,R24
    027B 2BE9      OR	R30,R25
    027C 2BEA      OR	R30,R26
    027D 2BEB      OR	R30,R27
    027E 9508      RET
neg_R16_R19:
    027F 9500      COM	R16
    0280 9510      COM	R17
    0281 9520      COM	R18
    0282 9530      COM	R19
    0283 5F0F      SUBI	R16,0xFF
    0284 4F1F      SBCI	R17,0xFF
    0285 4F2F      SBCI	R18,0xFF
    0286 4F3F      SBCI	R19,0xFF
    0287 9508      RET
neg_R24_R27:
    0288 9580      COM	R24
    0289 9590      COM	R25
    028A 95A0      COM	R26
    028B 95B0      COM	R27
    028C 5F8F      SUBI	R24,0xFF
    028D 4F9F      SBCI	R25,0xFF
    028E 4FAF      SBCI	R26,0xFF
    028F 4FBF      SBCI	R27,0xFF
    0290 9508      RET
empy32s:
empy32u:
    0291 940E02E9  CALL	long_prolog
    0293 927F      PUSH	R7
    0294 940E0302  CALL	tstzero1
    0296 F139      BEQ	0x02BE
    0297 2477      CLR	R7
    0298 940E0308  CALL	tstzero2
    029A F419      BNE	0x029E
    029B 018C      MOVW	R16,R24
    029C 019D      MOVW	R18,R26
    029D C020      RJMP	0x02BE
    029E 9F08      MUL	R16,R24
    029F 2CB0      MOV	R11,R0
    02A0 2CA1      MOV	R10,R1
    02A1 9F28      MUL	R18,R24
    02A2 2C90      MOV	R9,R0
    02A3 2C81      MOV	R8,R1
    02A4 9F18      MUL	R17,R24
    02A5 0CA0      ADD	R10,R0
    02A6 1C91      ADC	R9,R1
    02A7 1C87      ADC	R8,R7
    02A8 9F09      MUL	R16,R25
    02A9 0CA0      ADD	R10,R0
    02AA 1C91      ADC	R9,R1
    02AB 1C87      ADC	R8,R7
    02AC 9F19      MUL	R17,R25
    02AD 0C90      ADD	R9,R0
    02AE 1C81      ADC	R8,R1
    02AF 9F0A      MUL	R16,R26
    02B0 0C90      ADD	R9,R0
    02B1 1C81      ADC	R8,R1
    02B2 9F38      MUL	R19,R24
    02B3 0C80      ADD	R8,R0
    02B4 9F29      MUL	R18,R25
    02B5 0C80      ADD	R8,R0
    02B6 9F1A      MUL	R17,R26
    02B7 0C80      ADD	R8,R0
    02B8 9F0B      MUL	R16,R27
    02B9 0C80      ADD	R8,R0
    02BA 2D0B      MOV	R16,R11
    02BB 2D1A      MOV	R17,R10
    02BC 2D29      MOV	R18,R9
    02BD 2D38      MOV	R19,R8
    02BE 907F      POP	R7
    02BF 940C02F7  JMP	long_epilog
pop_gset2:
    02C1 E0E2      LDI	R30,2
    02C2 940C02D6  JMP	pop
pop_gset3:
    02C4 E0E4      LDI	R30,4
    02C5 940C02D6  JMP	pop
pop_gset4:
    02C7 E0E8      LDI	R30,0x8
    02C8 940C02D6  JMP	pop
push_gset5:
    02CA 92FA      ST	R15,-Y
    02CB 92EA      ST	R14,-Y
push_gset4:
    02CC 92DA      ST	R13,-Y
    02CD 92CA      ST	R12,-Y
push_gset3:
    02CE 92BA      ST	R11,-Y
    02CF 92AA      ST	R10,-Y
push_gset2:
    02D0 937A      ST	R23,-Y
    02D1 936A      ST	R22,-Y
push_gset1:
    02D2 935A      ST	R21,-Y
    02D3 934A      ST	R20,-Y
    02D4 9508      RET
pop_gset1:
    02D5 E0E1      LDI	R30,1
pop:
    02D6 9149      LD	R20,Y+
    02D7 9159      LD	R21,Y+
    02D8 FDE0      SBRC	R30,0
    02D9 9508      RET
    02DA 9169      LD	R22,Y+
    02DB 9179      LD	R23,Y+
    02DC FDE1      SBRC	R30,1
    02DD 9508      RET
    02DE 90A9      LD	R10,Y+
    02DF 90B9      LD	R11,Y+
    02E0 FDE2      SBRC	R30,2
    02E1 9508      RET
    02E2 90C9      LD	R12,Y+
    02E3 90D9      LD	R13,Y+
    02E4 FDE3      SBRC	R30,3
    02E5 9508      RET
    02E6 90E9      LD	R14,Y+
    02E7 90F9      LD	R15,Y+
    02E8 9508      RET
long_prolog:
    02E9 928A      ST	R8,-Y
    02EA 929A      ST	R9,-Y
    02EB 92AA      ST	R10,-Y
    02EC 92BA      ST	R11,-Y
    02ED 93EA      ST	R30,-Y
    02EE 938A      ST	R24,-Y
    02EF 939A      ST	R25,-Y
    02F0 93AA      ST	R26,-Y
    02F1 93BA      ST	R27,-Y
    02F2 8589      LDD	R24,Y+9
    02F3 859A      LDD	R25,Y+10
    02F4 85AB      LDD	R26,Y+11
    02F5 85BC      LDD	R27,Y+12
    02F6 9508      RET
long_epilog:
    02F7 91B9      LD	R27,Y+
    02F8 91A9      LD	R26,Y+
    02F9 9199      LD	R25,Y+
    02FA 9189      LD	R24,Y+
    02FB 91E9      LD	R30,Y+
    02FC 90B9      LD	R11,Y+
    02FD 90A9      LD	R10,Y+
    02FE 9099      LD	R9,Y+
    02FF 9089      LD	R8,Y+
    0300 9624      ADIW	R28,4
    0301 9508      RET
tstzero1:
    0302 27EE      CLR	R30
    0303 2BE0      OR	R30,R16
    0304 2BE1      OR	R30,R17
    0305 2BE2      OR	R30,R18
    0306 2BE3      OR	R30,R19
    0307 9508      RET
tstzero2:
    0308 27EE      CLR	R30
    0309 2BE8      OR	R30,R24
    030A 2BE9      OR	R30,R25
    030B 2BEA      OR	R30,R26
    030C 2BEB      OR	R30,R27
    030D 9508      RET
lsr32:
    030E 920F      PUSH	R0
    030F 9009      LD	R0,Y+
    0310 2000      TST	R0
    0311 F031      BEQ	0x0318
    0312 9536      LSR	R19
    0313 9527      ROR	R18
    0314 9517      ROR	R17
    0315 9507      ROR	R16
    0316 940A      DEC	R0
    0317 CFF8      RJMP	0x0310
    0318 900F      POP	R0
    0319 9508      RET

⌨️ 快捷键说明

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