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

📄 zong.lst

📁 ad7135的avr16的源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  data                 --> R20
    015B 940E0269  CALL	push_gset1
    015D 01A8      MOVW	R20,R16
    015E 9724      SBIW	R28,4
(0195) 
(0196) 
(0197) 
(0198) 
(0199) 
(0200) 
(0201) 
(0202) 
(0203) 
(0204) 
(0205) 
(0206) 
(0207) 
(0208) 
(0209) 
(0210) 
(0211)  //external interupt on INT0
(0212) }
(0213) 
(0214) void data_display(unsigned int data)
(0215) {	 
(0216) 	 unsigned char temp[4],i;
(0217) 	 temp[0]=data/1000;
    015F EE28      LDI	R18,0xE8
    0160 E033      LDI	R19,3
    0161 018A      MOVW	R16,R20
    0162 940E01A3  CALL	div16u
    0164 8308      STD	Y+0,R16
(0218) 	 temp[1]=(data/100)%10;
    0165 E624      LDI	R18,0x64
    0166 E030      LDI	R19,0
    0167 018A      MOVW	R16,R20
    0168 940E01A3  CALL	div16u
    016A E02A      LDI	R18,0xA
    016B E030      LDI	R19,0
    016C 940E01A1  CALL	mod16u
    016E 8309      STD	Y+1,R16
(0219) 	 temp[2]=(data/10)%10;
    016F E02A      LDI	R18,0xA
    0170 E030      LDI	R19,0
    0171 018A      MOVW	R16,R20
    0172 940E01A3  CALL	div16u
    0174 E02A      LDI	R18,0xA
    0175 E030      LDI	R19,0
    0176 940E01A1  CALL	mod16u
    0178 830A      STD	Y+2,R16
(0220) 	 temp[3]=data%10;
    0179 E02A      LDI	R18,0xA
    017A E030      LDI	R19,0
    017B 018A      MOVW	R16,R20
    017C 940E01A1  CALL	mod16u
    017E 830B      STD	Y+3,R16
(0221) 	 for(i=0;i<4;i++)
    017F 2744      CLR	R20
    0180 C00B      RJMP	0x018C
(0222) 	 {
(0223) 	      usart_tx(temp[i]);
    0181 01CE      MOVW	R24,R28
    0182 2FE4      MOV	R30,R20
    0183 27FF      CLR	R31
    0184 0FE8      ADD	R30,R24
    0185 1FF9      ADC	R31,R25
    0186 8100      LDD	R16,Z+0
    0187 DF2B      RCALL	_usart_tx
(0224) 		  delay_nms(1);
    0188 E001      LDI	R16,1
    0189 E010      LDI	R17,0
    018A DECB      RCALL	_delay_nms
    018B 9543      INC	R20
    018C 3044      CPI	R20,4
    018D F398      BCS	0x0181
    018E 9624      ADIW	R28,4
    018F 940E026C  CALL	pop_gset1
    0191 9508      RET
(0225) 	 }
(0226) } 
(0227) 
(0228) //call this routine to initialize all peripherals
(0229) void init_devices(void)
(0230) {
(0231)  //stop errant interrupts until set up
(0232)  CLI(); //disable all interrupts
_init_devices:
    0192 94F8      BCLR	7
(0233)  port_init();
    0193 DECF      RCALL	_port_init
(0234)  //uart0_init();
(0235)  timer0_125Kinit();
    0194 DEDA      RCALL	_timer0_125Kinit
(0236)  timer2_250init();
    0195 DEE4      RCALL	_timer2_250init
(0237)  uart0_init();
    0196 DF11      RCALL	_uart0_init
(0238)  timer1_init();
    0197 DEED      RCALL	_timer1_init
(0239)  int0_init();
    0198 DEF6      RCALL	_int0_init
(0240) 
(0241)  //MCUCR = 0x03;
(0242)  //GICR  = 0x40;
(0243)  //TIMSK = 0x00; //timer interrupt sources
(0244)  SEI(); //re-enable interrupts
    0199 9478      BSET	7
    019A 9508      RET
(0245)  //all peripherals are now initialized
(0246) }
(0247) 
(0248) void main(void)
(0249) {	 
(0250) 	 CLI();
_main:
    019B 94F8      BCLR	7
(0251) 	 port_init();
    019C DEC6      RCALL	_port_init
(0252) 	 init_devices();
    019D DFF4      RCALL	_init_devices
(0253) 	 //T0_250K();
(0254) 	 //INT0_INIT();
(0255) 	 //T1_INIT();
(0256) 	 SEI();
    019E 9478      BSET	7
(0257) 	 //PORTB|=(1<<0);//开始进行ad采样,只采一次
(0258) 	 while(1)
FILE: <library>
    019F CFFF      RJMP	0x019F
    01A0 9508      RET
mod16u:
    01A1 9468      BSET	6
    01A2 C001      RJMP	xdiv16u
div16u:
    01A3 94E8      BCLR	6
xdiv16u:
    01A4 92EA      ST	R14,-Y
    01A5 92FA      ST	R15,-Y
    01A6 938A      ST	R24,-Y
    01A7 24EE      CLR	R14
    01A8 24FF      CLR	R15
    01A9 E180      LDI	R24,0x10
    01AA 0F00      LSL	R16
    01AB 1F11      ROL	R17
    01AC 1CEE      ROL	R14
    01AD 1CFF      ROL	R15
    01AE 16E2      CP	R14,R18
    01AF 06F3      CPC	R15,R19
    01B0 F018      BCS	0x01B4
    01B1 1AE2      SUB	R14,R18
    01B2 0AF3      SBC	R15,R19
    01B3 9503      INC	R16
    01B4 958A      DEC	R24
    01B5 F7A1      BNE	0x01AA
    01B6 F416      BRTC	0x01B9
    01B7 2D0E      MOV	R16,R14
    01B8 2D1F      MOV	R17,R15
    01B9 9189      LD	R24,Y+
    01BA 90F9      LD	R15,Y+
    01BB 90E9      LD	R14,Y+
    01BC 9508      RET
div32u:
    01BD 94E8      BCLR	6
    01BE C001      RJMP	0x01C0
mod32u:
    01BF 9468      BSET	6
    01C0 D02F      RCALL	long_div_prolog
    01C1 24CC      CLR	R12
    01C2 C008      RJMP	0x01CB
div32s:
    01C3 94E8      BCLR	6
    01C4 C001      RJMP	0x01C6
mod32s:
    01C5 9468      BSET	6
    01C6 D029      RCALL	long_div_prolog
    01C7 FD37      SBRC	R19,7
    01C8 D053      RCALL	neg_R16_R19
    01C9 FDB7      SBRC	R27,7
    01CA D05A      RCALL	neg_R24_R27
    01CB 2477      CLR	R7
    01CC 2488      CLR	R8
    01CD 2499      CLR	R9
    01CE 24AA      CLR	R10
    01CF 24BB      CLR	R11
    01D0 D041      RCALL	tst_R16_R19
    01D1 F0C1      BEQ	0x01EA
    01D2 D044      RCALL	tst_R24_R27
    01D3 F0B1      BEQ	0x01EA
    01D4 E2E8      LDI	R30,0x28
    01D5 0F00      LSL	R16
    01D6 1F11      ROL	R17
    01D7 1F22      ROL	R18
    01D8 1F33      ROL	R19
    01D9 1C77      ROL	R7
    01DA 1C88      ROL	R8
    01DB 1C99      ROL	R9
    01DC 1CAA      ROL	R10
    01DD 1CBB      ROL	R11
    01DE 1688      CP	R8,R24
    01DF 0699      CPC	R9,R25
    01E0 06AA      CPC	R10,R26
    01E1 06BB      CPC	R11,R27
    01E2 F028      BCS	0x01E8
    01E3 1A88      SUB	R8,R24
    01E4 0A99      SBC	R9,R25
    01E5 0AAA      SBC	R10,R26
    01E6 0ABB      SBC	R11,R27
    01E7 9503      INC	R16
    01E8 95EA      DEC	R30
    01E9 F759      BNE	0x01D5
    01EA F426      BRTC	0x01EF
    01EB 2D08      MOV	R16,R8
    01EC 2D19      MOV	R17,R9
    01ED 2D2A      MOV	R18,R10
    01EE 2D3B      MOV	R19,R11
    01EF C013      RJMP	long_div_epilog
long_div_prolog:
    01F0 927A      ST	R7,-Y
    01F1 928A      ST	R8,-Y
    01F2 929A      ST	R9,-Y
    01F3 92AA      ST	R10,-Y
    01F4 92BA      ST	R11,-Y
    01F5 92CA      ST	R12,-Y
    01F6 93EA      ST	R30,-Y
    01F7 938A      ST	R24,-Y
    01F8 939A      ST	R25,-Y
    01F9 93AA      ST	R26,-Y
    01FA 93BA      ST	R27,-Y
    01FB 858B      LDD	R24,Y+11
    01FC 859C      LDD	R25,Y+12
    01FD 85AD      LDD	R26,Y+13
    01FE 85BE      LDD	R27,Y+14
    01FF 2EC3      MOV	R12,R19
    0200 F00E      BRTS	0x0202
    0201 26CB      EOR	R12,R27
    0202 9508      RET
long_div_epilog:
    0203 FCC7      SBRC	R12,7
    0204 D017      RCALL	neg_R16_R19
    0205 91B9      LD	R27,Y+
    0206 91A9      LD	R26,Y+
    0207 9199      LD	R25,Y+
    0208 9189      LD	R24,Y+
    0209 91E9      LD	R30,Y+
    020A 90C9      LD	R12,Y+
    020B 90B9      LD	R11,Y+
    020C 90A9      LD	R10,Y+
    020D 9099      LD	R9,Y+
    020E 9089      LD	R8,Y+
    020F 9079      LD	R7,Y+
    0210 9624      ADIW	R28,4
    0211 9508      RET
tst_R16_R19:
    0212 2FE0      MOV	R30,R16
    0213 2BE1      OR	R30,R17
    0214 2BE2      OR	R30,R18
    0215 2BE3      OR	R30,R19
    0216 9508      RET
tst_R24_R27:
    0217 2FE8      MOV	R30,R24
    0218 2BE9      OR	R30,R25
    0219 2BEA      OR	R30,R26
    021A 2BEB      OR	R30,R27
    021B 9508      RET
neg_R16_R19:
    021C 9500      COM	R16
    021D 9510      COM	R17
    021E 9520      COM	R18
    021F 9530      COM	R19
    0220 5F0F      SUBI	R16,0xFF
    0221 4F1F      SBCI	R17,0xFF
    0222 4F2F      SBCI	R18,0xFF
    0223 4F3F      SBCI	R19,0xFF
    0224 9508      RET
neg_R24_R27:
    0225 9580      COM	R24
    0226 9590      COM	R25
    0227 95A0      COM	R26
    0228 95B0      COM	R27
    0229 5F8F      SUBI	R24,0xFF
    022A 4F9F      SBCI	R25,0xFF
    022B 4FAF      SBCI	R26,0xFF
    022C 4FBF      SBCI	R27,0xFF
    022D 9508      RET
empy32u:
empy32s:
    022E 940E0280  CALL	long_prolog
    0230 927F      PUSH	R7
    0231 940E0299  CALL	tstzero1
    0233 F139      BEQ	0x025B
    0234 2477      CLR	R7
    0235 940E029F  CALL	tstzero2
    0237 F419      BNE	0x023B
    0238 018C      MOVW	R16,R24
    0239 019D      MOVW	R18,R26
    023A C020      RJMP	0x025B
    023B 9F08      MUL	R16,R24
    023C 2CB0      MOV	R11,R0
    023D 2CA1      MOV	R10,R1
    023E 9F28      MUL	R18,R24
    023F 2C90      MOV	R9,R0
    0240 2C81      MOV	R8,R1
    0241 9F18      MUL	R17,R24
    0242 0CA0      ADD	R10,R0
    0243 1C91      ADC	R9,R1
    0244 1C87      ADC	R8,R7
    0245 9F09      MUL	R16,R25
    0246 0CA0      ADD	R10,R0
    0247 1C91      ADC	R9,R1
    0248 1C87      ADC	R8,R7
    0249 9F19      MUL	R17,R25
    024A 0C90      ADD	R9,R0
    024B 1C81      ADC	R8,R1
    024C 9F0A      MUL	R16,R26
    024D 0C90      ADD	R9,R0
    024E 1C81      ADC	R8,R1
    024F 9F38      MUL	R19,R24
    0250 0C80      ADD	R8,R0
    0251 9F29      MUL	R18,R25
    0252 0C80      ADD	R8,R0
    0253 9F1A      MUL	R17,R26
    0254 0C80      ADD	R8,R0
    0255 9F0B      MUL	R16,R27
    0256 0C80      ADD	R8,R0
    0257 2D0B      MOV	R16,R11
    0258 2D1A      MOV	R17,R10
    0259 2D29      MOV	R18,R9
    025A 2D38      MOV	R19,R8
    025B 907F      POP	R7
    025C 940C028E  JMP	long_epilog
pop_gset2:
    025E E0E2      LDI	R30,2
    025F 940C026D  JMP	pop
push_gset5:
    0261 92FA      ST	R15,-Y
    0262 92EA      ST	R14,-Y
push_gset4:
    0263 92DA      ST	R13,-Y
    0264 92CA      ST	R12,-Y
push_gset3:
    0265 92BA      ST	R11,-Y
    0266 92AA      ST	R10,-Y
push_gset2:
    0267 937A      ST	R23,-Y
    0268 936A      ST	R22,-Y
push_gset1:
    0269 935A      ST	R21,-Y
    026A 934A      ST	R20,-Y
    026B 9508      RET
pop_gset1:
    026C E0E1      LDI	R30,1
pop:
    026D 9149      LD	R20,Y+
    026E 9159      LD	R21,Y+
    026F FDE0      SBRC	R30,0
    0270 9508      RET
    0271 9169      LD	R22,Y+
    0272 9179      LD	R23,Y+
    0273 FDE1      SBRC	R30,1
    0274 9508      RET
    0275 90A9      LD	R10,Y+
    0276 90B9      LD	R11,Y+
    0277 FDE2      SBRC	R30,2
    0278 9508      RET
    0279 90C9      LD	R12,Y+
    027A 90D9      LD	R13,Y+
    027B FDE3      SBRC	R30,3
    027C 9508      RET
    027D 90E9      LD	R14,Y+
    027E 90F9      LD	R15,Y+
    027F 9508      RET
long_prolog:
    0280 928A      ST	R8,-Y
    0281 929A      ST	R9,-Y
    0282 92AA      ST	R10,-Y
    0283 92BA      ST	R11,-Y
    0284 93EA      ST	R30,-Y
    0285 938A      ST	R24,-Y
    0286 939A      ST	R25,-Y
    0287 93AA      ST	R26,-Y
    0288 93BA      ST	R27,-Y
    0289 8589      LDD	R24,Y+9
    028A 859A      LDD	R25,Y+10
    028B 85AB      LDD	R26,Y+11
    028C 85BC      LDD	R27,Y+12
    028D 9508      RET
long_epilog:
    028E 91B9      LD	R27,Y+
    028F 91A9      LD	R26,Y+
    0290 9199      LD	R25,Y+
    0291 9189      LD	R24,Y+
    0292 91E9      LD	R30,Y+
    0293 90B9      LD	R11,Y+
    0294 90A9      LD	R10,Y+
    0295 9099      LD	R9,Y+
    0296 9089      LD	R8,Y+
    0297 9624      ADIW	R28,4
    0298 9508      RET
tstzero1:
    0299 27EE      CLR	R30
    029A 2BE0      OR	R30,R16
    029B 2BE1      OR	R30,R17
    029C 2BE2      OR	R30,R18
    029D 2BE3      OR	R30,R19
    029E 9508      RET
tstzero2:
    029F 27EE      CLR	R30
    02A0 2BE8      OR	R30,R24
    02A1 2BE9      OR	R30,R25
    02A2 2BEA      OR	R30,R26
    02A3 2BEB      OR	R30,R27
    02A4 9508      RET
push_lset:
    02A5 93FA      ST	R31,-Y
    02A6 93EA      ST	R30,-Y
    02A7 93BA      ST	R27,-Y
    02A8 93AA      ST	R26,-Y
    02A9 939A      ST	R25,-Y
    02AA 938A      ST	R24,-Y
    02AB 933A      ST	R19,-Y
    02AC 932A      ST	R18,-Y
    02AD 931A      ST	R17,-Y
    02AE 930A      ST	R16,-Y
    02AF 929A      ST	R9,-Y
    02B0 928A      ST	R8,-Y
    02B1 927A      ST	R7,-Y
    02B2 926A      ST	R6,-Y
    02B3 925A      ST	R5,-Y
    02B4 924A      ST	R4,-Y
    02B5 923A      ST	R3,-Y
    02B6 922A      ST	R2,-Y
    02B7 921A      ST	R1,-Y
    02B8 920A      ST	R0,-Y
    02B9 B60F      IN	R0,0x3F
    02BA 920A      ST	R0,-Y
    02BB 9508      RET
pop_lset:
    02BC 9009      LD	R0,Y+
    02BD BE0F      OUT	0x3F,R0
    02BE 9009      LD	R0,Y+
    02BF 9019      LD	R1,Y+
    02C0 9029      LD	R2,Y+
    02C1 9039      LD	R3,Y+
    02C2 9049      LD	R4,Y+
    02C3 9059      LD	R5,Y+
    02C4 9069      LD	R6,Y+
    02C5 9079      LD	R7,Y+
    02C6 9089      LD	R8,Y+
    02C7 9099      LD	R9,Y+
    02C8 9109      LD	R16,Y+
    02C9 9119      LD	R17,Y+
    02CA 9129      LD	R18,Y+
    02CB 9139      LD	R19,Y+
    02CC 9189      LD	R24,Y+
    02CD 9199      LD	R25,Y+
    02CE 91A9      LD	R26,Y+
    02CF 91B9      LD	R27,Y+
    02D0 91E9      LD	R30,Y+
    02D1 91F9      LD	R31,Y+
    02D2 9508      RET
lsr32:
    02D3 920F      PUSH	R0
    02D4 9009      LD	R0,Y+
    02D5 2000      TST	R0
    02D6 F031      BEQ	0x02DD
    02D7 9536      LSR	R19
    02D8 9527      ROR	R18
    02D9 9517      ROR	R17
    02DA 9507      ROR	R16
    02DB 940A      DEC	R0
    02DC CFF8      RJMP	0x02D5
    02DD 900F      POP	R0
    02DE 9508      RET

⌨️ 快捷键说明

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