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

📄 test_7135.lst

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

⌨️ 快捷键说明

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