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

📄 7135_finish.lst

📁 ad7135的avr16的源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0210) 	 {    
(0211) 	 	  PORTB|=(1<<0);
    013E 9AC0      SBI	0x18,0
(0212) 		  SEI();
    013F 9478      BSET	7
(0213) 	 }
    0140 C002      RJMP	0x0143
(0214) 	 else
(0215) 	 {    
(0216) 	 	  PORTB&=~(1<<0);
    0141 98C0      CBI	0x18,0
(0217) 		  CLI();
    0142 94F8      BCLR	7
(0218) 	 }
    0143 9109      LD	R16,Y+
    0144 BF0F      OUT	0x3F,R16
    0145 9109      LD	R16,Y+
    0146 9518      RETI
_DATA_DISPLAY:
  temp                 --> Y+0
  i                    --> R20
  data                 --> R20
    0147 940E024F  CALL	push_gset1
    0149 01A8      MOVW	R20,R16
    014A 9724      SBIW	R28,4
(0219) }
(0220) //***************************************************** 
(0221) //函数名称:void USART_INIT(void) 
(0222) //函数功能:8M,波特率9600
(0223) //注意事项:
(0224) //*****************************************************
(0225) void DATA_DISPLAY(unsigned int data)
(0226) {	 
(0227) 	 unsigned char temp[4],i;
(0228) 	 temp[0]=data/1000;
    014B EE28      LDI	R18,0xE8
    014C E033      LDI	R19,3
    014D 018A      MOVW	R16,R20
    014E 940E0189  CALL	div16u
    0150 8308      STD	Y+0,R16
(0229) 	 temp[1]=(data/100)%10;
    0151 E624      LDI	R18,0x64
    0152 E030      LDI	R19,0
    0153 018A      MOVW	R16,R20
    0154 940E0189  CALL	div16u
    0156 E02A      LDI	R18,0xA
    0157 E030      LDI	R19,0
    0158 940E0187  CALL	mod16u
    015A 8309      STD	Y+1,R16
(0230) 	 temp[2]=(data/10)%10;
    015B E02A      LDI	R18,0xA
    015C E030      LDI	R19,0
    015D 018A      MOVW	R16,R20
    015E 940E0189  CALL	div16u
    0160 E02A      LDI	R18,0xA
    0161 E030      LDI	R19,0
    0162 940E0187  CALL	mod16u
    0164 830A      STD	Y+2,R16
(0231) 	 temp[3]=data%10;
    0165 E02A      LDI	R18,0xA
    0166 E030      LDI	R19,0
    0167 018A      MOVW	R16,R20
    0168 940E0187  CALL	mod16u
    016A 830B      STD	Y+3,R16
(0232) 	 for(i=0;i<4;i++)
    016B 2744      CLR	R20
    016C C00B      RJMP	0x0178
(0233) 	 {
(0234) 	      USART_TX(temp[i]);
    016D 01CE      MOVW	R24,R28
    016E 2FE4      MOV	R30,R20
    016F 27FF      CLR	R31
    0170 0FE8      ADD	R30,R24
    0171 1FF9      ADC	R31,R25
    0172 8100      LDD	R16,Z+0
    0173 DFB8      RCALL	_USART_TX
(0235) 		  DELAY_NMS(1);
    0174 E001      LDI	R16,1
    0175 E010      LDI	R17,0
    0176 DEDF      RCALL	_DELAY_NMS
    0177 9543      INC	R20
    0178 3044      CPI	R20,4
    0179 F398      BCS	0x016D
    017A 9624      ADIW	R28,4
    017B 940E0252  CALL	pop_gset1
    017D 9508      RET
(0236) 	 }
(0237) } 
(0238) //********************************************************** 
(0239) //主函数
(0240) //**********************************************************
(0241) void main(void)
(0242) {	 
(0243) 	 CLI();
_main:
    017E 94F8      BCLR	7
(0244) 	 PORT_INIT();
    017F DEE3      RCALL	_PORT_INIT
(0245) 	 T0_125K();
    0180 DEEA      RCALL	_T0_125K
(0246) 	 INT0_INIT();
    0181 DEF4      RCALL	_INT0_INIT
(0247) 	 T2_INIT();
    0182 DF86      RCALL	_T2_INIT
(0248) 	 USART_INIT();
    0183 DF9F      RCALL	_USART_INIT
(0249) 	 SEI();
    0184 9478      BSET	7
(0250) 	 //PORTB|=(1<<0);//先不 进行ad采样,等待上位机命令
(0251) 	 while(1)
FILE: <library>
    0185 CFFF      RJMP	0x0185
    0186 9508      RET
mod16u:
    0187 9468      BSET	6
    0188 C001      RJMP	xdiv16u
div16u:
    0189 94E8      BCLR	6
xdiv16u:
    018A 92EA      ST	R14,-Y
    018B 92FA      ST	R15,-Y
    018C 938A      ST	R24,-Y
    018D 24EE      CLR	R14
    018E 24FF      CLR	R15
    018F E180      LDI	R24,0x10
    0190 0F00      LSL	R16
    0191 1F11      ROL	R17
    0192 1CEE      ROL	R14
    0193 1CFF      ROL	R15
    0194 16E2      CP	R14,R18
    0195 06F3      CPC	R15,R19
    0196 F018      BCS	0x019A
    0197 1AE2      SUB	R14,R18
    0198 0AF3      SBC	R15,R19
    0199 9503      INC	R16
    019A 958A      DEC	R24
    019B F7A1      BNE	0x0190
    019C F416      BRTC	0x019F
    019D 2D0E      MOV	R16,R14
    019E 2D1F      MOV	R17,R15
    019F 9189      LD	R24,Y+
    01A0 90F9      LD	R15,Y+
    01A1 90E9      LD	R14,Y+
    01A2 9508      RET
div32u:
    01A3 94E8      BCLR	6
    01A4 C001      RJMP	0x01A6
mod32u:
    01A5 9468      BSET	6
    01A6 D02F      RCALL	long_div_prolog
    01A7 24CC      CLR	R12
    01A8 C008      RJMP	0x01B1
div32s:
    01A9 94E8      BCLR	6
    01AA C001      RJMP	0x01AC
mod32s:
    01AB 9468      BSET	6
    01AC D029      RCALL	long_div_prolog
    01AD FD37      SBRC	R19,7
    01AE D053      RCALL	neg_R16_R19
    01AF FDB7      SBRC	R27,7
    01B0 D05A      RCALL	neg_R24_R27
    01B1 2477      CLR	R7
    01B2 2488      CLR	R8
    01B3 2499      CLR	R9
    01B4 24AA      CLR	R10
    01B5 24BB      CLR	R11
    01B6 D041      RCALL	tst_R16_R19
    01B7 F0C1      BEQ	0x01D0
    01B8 D044      RCALL	tst_R24_R27
    01B9 F0B1      BEQ	0x01D0
    01BA E2E8      LDI	R30,0x28
    01BB 0F00      LSL	R16
    01BC 1F11      ROL	R17
    01BD 1F22      ROL	R18
    01BE 1F33      ROL	R19
    01BF 1C77      ROL	R7
    01C0 1C88      ROL	R8
    01C1 1C99      ROL	R9
    01C2 1CAA      ROL	R10
    01C3 1CBB      ROL	R11
    01C4 1688      CP	R8,R24
    01C5 0699      CPC	R9,R25
    01C6 06AA      CPC	R10,R26
    01C7 06BB      CPC	R11,R27
    01C8 F028      BCS	0x01CE
    01C9 1A88      SUB	R8,R24
    01CA 0A99      SBC	R9,R25
    01CB 0AAA      SBC	R10,R26
    01CC 0ABB      SBC	R11,R27
    01CD 9503      INC	R16
    01CE 95EA      DEC	R30
    01CF F759      BNE	0x01BB
    01D0 F426      BRTC	0x01D5
    01D1 2D08      MOV	R16,R8
    01D2 2D19      MOV	R17,R9
    01D3 2D2A      MOV	R18,R10
    01D4 2D3B      MOV	R19,R11
    01D5 C013      RJMP	long_div_epilog
long_div_prolog:
    01D6 927A      ST	R7,-Y
    01D7 928A      ST	R8,-Y
    01D8 929A      ST	R9,-Y
    01D9 92AA      ST	R10,-Y
    01DA 92BA      ST	R11,-Y
    01DB 92CA      ST	R12,-Y
    01DC 93EA      ST	R30,-Y
    01DD 938A      ST	R24,-Y
    01DE 939A      ST	R25,-Y
    01DF 93AA      ST	R26,-Y
    01E0 93BA      ST	R27,-Y
    01E1 858B      LDD	R24,Y+11
    01E2 859C      LDD	R25,Y+12
    01E3 85AD      LDD	R26,Y+13
    01E4 85BE      LDD	R27,Y+14
    01E5 2EC3      MOV	R12,R19
    01E6 F00E      BRTS	0x01E8
    01E7 26CB      EOR	R12,R27
    01E8 9508      RET
long_div_epilog:
    01E9 FCC7      SBRC	R12,7
    01EA D017      RCALL	neg_R16_R19
    01EB 91B9      LD	R27,Y+
    01EC 91A9      LD	R26,Y+
    01ED 9199      LD	R25,Y+
    01EE 9189      LD	R24,Y+
    01EF 91E9      LD	R30,Y+
    01F0 90C9      LD	R12,Y+
    01F1 90B9      LD	R11,Y+
    01F2 90A9      LD	R10,Y+
    01F3 9099      LD	R9,Y+
    01F4 9089      LD	R8,Y+
    01F5 9079      LD	R7,Y+
    01F6 9624      ADIW	R28,4
    01F7 9508      RET
tst_R16_R19:
    01F8 2FE0      MOV	R30,R16
    01F9 2BE1      OR	R30,R17
    01FA 2BE2      OR	R30,R18
    01FB 2BE3      OR	R30,R19
    01FC 9508      RET
tst_R24_R27:
    01FD 2FE8      MOV	R30,R24
    01FE 2BE9      OR	R30,R25
    01FF 2BEA      OR	R30,R26
    0200 2BEB      OR	R30,R27
    0201 9508      RET
neg_R16_R19:
    0202 9500      COM	R16
    0203 9510      COM	R17
    0204 9520      COM	R18
    0205 9530      COM	R19
    0206 5F0F      SUBI	R16,0xFF
    0207 4F1F      SBCI	R17,0xFF
    0208 4F2F      SBCI	R18,0xFF
    0209 4F3F      SBCI	R19,0xFF
    020A 9508      RET
neg_R24_R27:
    020B 9580      COM	R24
    020C 9590      COM	R25
    020D 95A0      COM	R26
    020E 95B0      COM	R27
    020F 5F8F      SUBI	R24,0xFF
    0210 4F9F      SBCI	R25,0xFF
    0211 4FAF      SBCI	R26,0xFF
    0212 4FBF      SBCI	R27,0xFF
    0213 9508      RET
empy32u:
empy32s:
    0214 940E0266  CALL	long_prolog
    0216 927F      PUSH	R7
    0217 940E027F  CALL	tstzero1
    0219 F139      BEQ	0x0241
    021A 2477      CLR	R7
    021B 940E0285  CALL	tstzero2
    021D F419      BNE	0x0221
    021E 018C      MOVW	R16,R24
    021F 019D      MOVW	R18,R26
    0220 C020      RJMP	0x0241
    0221 9F08      MUL	R16,R24
    0222 2CB0      MOV	R11,R0
    0223 2CA1      MOV	R10,R1
    0224 9F28      MUL	R18,R24
    0225 2C90      MOV	R9,R0
    0226 2C81      MOV	R8,R1
    0227 9F18      MUL	R17,R24
    0228 0CA0      ADD	R10,R0
    0229 1C91      ADC	R9,R1
    022A 1C87      ADC	R8,R7
    022B 9F09      MUL	R16,R25
    022C 0CA0      ADD	R10,R0
    022D 1C91      ADC	R9,R1
    022E 1C87      ADC	R8,R7
    022F 9F19      MUL	R17,R25
    0230 0C90      ADD	R9,R0
    0231 1C81      ADC	R8,R1
    0232 9F0A      MUL	R16,R26
    0233 0C90      ADD	R9,R0
    0234 1C81      ADC	R8,R1
    0235 9F38      MUL	R19,R24
    0236 0C80      ADD	R8,R0
    0237 9F29      MUL	R18,R25
    0238 0C80      ADD	R8,R0
    0239 9F1A      MUL	R17,R26
    023A 0C80      ADD	R8,R0
    023B 9F0B      MUL	R16,R27
    023C 0C80      ADD	R8,R0
    023D 2D0B      MOV	R16,R11
    023E 2D1A      MOV	R17,R10
    023F 2D29      MOV	R18,R9
    0240 2D38      MOV	R19,R8
    0241 907F      POP	R7
    0242 940C0274  JMP	long_epilog
pop_gset2:
    0244 E0E2      LDI	R30,2
    0245 940C0253  JMP	pop
push_gset5:
    0247 92FA      ST	R15,-Y
    0248 92EA      ST	R14,-Y
push_gset4:
    0249 92DA      ST	R13,-Y
    024A 92CA      ST	R12,-Y
push_gset3:
    024B 92BA      ST	R11,-Y
    024C 92AA      ST	R10,-Y
push_gset2:
    024D 937A      ST	R23,-Y
    024E 936A      ST	R22,-Y
push_gset1:
    024F 935A      ST	R21,-Y
    0250 934A      ST	R20,-Y
    0251 9508      RET
pop_gset1:
    0252 E0E1      LDI	R30,1
pop:
    0253 9149      LD	R20,Y+
    0254 9159      LD	R21,Y+
    0255 FDE0      SBRC	R30,0
    0256 9508      RET
    0257 9169      LD	R22,Y+
    0258 9179      LD	R23,Y+
    0259 FDE1      SBRC	R30,1
    025A 9508      RET
    025B 90A9      LD	R10,Y+
    025C 90B9      LD	R11,Y+
    025D FDE2      SBRC	R30,2
    025E 9508      RET
    025F 90C9      LD	R12,Y+
    0260 90D9      LD	R13,Y+
    0261 FDE3      SBRC	R30,3
    0262 9508      RET
    0263 90E9      LD	R14,Y+
    0264 90F9      LD	R15,Y+
    0265 9508      RET
long_prolog:
    0266 928A      ST	R8,-Y
    0267 929A      ST	R9,-Y
    0268 92AA      ST	R10,-Y
    0269 92BA      ST	R11,-Y
    026A 93EA      ST	R30,-Y
    026B 938A      ST	R24,-Y
    026C 939A      ST	R25,-Y
    026D 93AA      ST	R26,-Y
    026E 93BA      ST	R27,-Y
    026F 8589      LDD	R24,Y+9
    0270 859A      LDD	R25,Y+10
    0271 85AB      LDD	R26,Y+11
    0272 85BC      LDD	R27,Y+12
    0273 9508      RET
long_epilog:
    0274 91B9      LD	R27,Y+
    0275 91A9      LD	R26,Y+
    0276 9199      LD	R25,Y+
    0277 9189      LD	R24,Y+
    0278 91E9      LD	R30,Y+
    0279 90B9      LD	R11,Y+
    027A 90A9      LD	R10,Y+
    027B 9099      LD	R9,Y+
    027C 9089      LD	R8,Y+
    027D 9624      ADIW	R28,4
    027E 9508      RET
tstzero1:
    027F 27EE      CLR	R30
    0280 2BE0      OR	R30,R16
    0281 2BE1      OR	R30,R17
    0282 2BE2      OR	R30,R18
    0283 2BE3      OR	R30,R19
    0284 9508      RET
tstzero2:
    0285 27EE      CLR	R30
    0286 2BE8      OR	R30,R24
    0287 2BE9      OR	R30,R25
    0288 2BEA      OR	R30,R26
    0289 2BEB      OR	R30,R27
    028A 9508      RET
push_lset:
    028B 93FA      ST	R31,-Y
    028C 93EA      ST	R30,-Y
    028D 93BA      ST	R27,-Y
    028E 93AA      ST	R26,-Y
    028F 939A      ST	R25,-Y
    0290 938A      ST	R24,-Y
    0291 933A      ST	R19,-Y
    0292 932A      ST	R18,-Y
    0293 931A      ST	R17,-Y
    0294 930A      ST	R16,-Y
    0295 929A      ST	R9,-Y
    0296 928A      ST	R8,-Y
    0297 927A      ST	R7,-Y
    0298 926A      ST	R6,-Y
    0299 925A      ST	R5,-Y
    029A 924A      ST	R4,-Y
    029B 923A      ST	R3,-Y
    029C 922A      ST	R2,-Y
    029D 921A      ST	R1,-Y
    029E 920A      ST	R0,-Y
    029F B60F      IN	R0,0x3F
    02A0 920A      ST	R0,-Y
    02A1 9508      RET
pop_lset:
    02A2 9009      LD	R0,Y+
    02A3 BE0F      OUT	0x3F,R0
    02A4 9009      LD	R0,Y+
    02A5 9019      LD	R1,Y+
    02A6 9029      LD	R2,Y+
    02A7 9039      LD	R3,Y+
    02A8 9049      LD	R4,Y+
    02A9 9059      LD	R5,Y+
    02AA 9069      LD	R6,Y+
    02AB 9079      LD	R7,Y+
    02AC 9089      LD	R8,Y+
    02AD 9099      LD	R9,Y+
    02AE 9109      LD	R16,Y+
    02AF 9119      LD	R17,Y+
    02B0 9129      LD	R18,Y+
    02B1 9139      LD	R19,Y+
    02B2 9189      LD	R24,Y+
    02B3 9199      LD	R25,Y+
    02B4 91A9      LD	R26,Y+
    02B5 91B9      LD	R27,Y+
    02B6 91E9      LD	R30,Y+
    02B7 91F9      LD	R31,Y+
    02B8 9508      RET
lsr32:
    02B9 920F      PUSH	R0
    02BA 9009      LD	R0,Y+
    02BB 2000      TST	R0
    02BC F031      BEQ	0x02C3
    02BD 9536      LSR	R19
    02BE 9527      ROR	R18
    02BF 9517      ROR	R17
    02C0 9507      ROR	R16
    02C1 940A      DEC	R0
    02C2 CFF8      RJMP	0x02BB
    02C3 900F      POP	R0
    02C4 9508      RET

⌨️ 快捷键说明

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