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

📄 adc0809.lst

📁 基于AVR单片机的ADC0808模数转换程序.
💻 LST
📖 第 1 页 / 共 2 页
字号:
    00EB BA21      OUT	0x11,R2
    00EC 9508      RET
(0017) }
(0018) 
(0019) //call this routine to initialize all peripherals
(0020) void init_devices(void)
(0021) {
(0022)  //stop errant interrupts until set up
(0023)  CLI(); //disable all interrupts
_init_devices:
    00ED 94F8      BCLR	7
(0024)  port_init();
    00EE DFF5      RCALL	_port_init
(0025)  spi_init();
    00EF DFD1      RCALL	_spi_init
(0026)  
(0027)  MCUCR = 0x00;
    00F0 2422      CLR	R2
    00F1 BE25      OUT	0x35,R2
(0028)  GICR  = 0x00;
    00F2 BE2B      OUT	0x3B,R2
(0029)  TIMSK = 0x00; //timer interrupt sources
    00F3 BE29      OUT	0x39,R2
(0030)  SEI(); //re-enable interrupts
    00F4 9478      BSET	7
    00F5 9508      RET
_main:
  su                   --> Y+2
    00F6 9726      SBIW	R28,6
(0031)  //all peripherals are now initialized
(0032) }
(0033) 
(0034) void main(void)
(0035) {
(0036)  unsigned long su;
(0037)  init_devices();
    00F7 DFF5      RCALL	_init_devices
    00F8 C01E      RJMP	0x0117
(0038)  while(1)
(0039)  {
(0040)   su=ADC0909(0);
    00F9 2700      CLR	R16
    00FA DF50      RCALL	_ADC0909
    00FB 0118      MOVW	R2,R16
    00FC 2444      CLR	R4
    00FD FC37      SBRC	R3,7
    00FE 9440      COM	R4
    00FF 2455      CLR	R5
    0100 FC47      SBRC	R4,7
    0101 9450      COM	R5
    0102 01FE      MOVW	R30,R28
    0103 8222      STD	Z+2,R2
    0104 8233      STD	Z+3,R3
    0105 8244      STD	Z+4,R4
    0106 8255      STD	Z+5,R5
(0041)   process(su,data);
    0107 E68A      LDI	R24,0x6A
    0108 E090      LDI	R25,0
    0109 8399      STD	Y+1,R25
    010A 8388      STD	Y+0,R24
    010B 01FE      MOVW	R30,R28
    010C 8102      LDD	R16,Z+2
    010D 8113      LDD	R17,Z+3
    010E 8124      LDD	R18,Z+4
    010F 8135      LDD	R19,Z+5
    0110 DF81      RCALL	_process
(0042)   display(data);
    0111 E60A      LDI	R16,0x6A
    0112 E010      LDI	R17,0
    0113 DFB9      RCALL	_display
(0043)   delayms(100);
FILE: <library>
    0114 E604      LDI	R16,0x64
    0115 E010      LDI	R17,0
    0116 DF23      RCALL	_delayms
    0117 CFE1      RJMP	0x00F9
    0118 9626      ADIW	R28,6
    0119 9508      RET
push_arg4:
    011A 933A      ST	R19,-Y
    011B 932A      ST	R18,-Y
push_arg2:
    011C 931A      ST	R17,-Y
    011D 930A      ST	R16,-Y
    011E 9508      RET
div32u:
    011F 94E8      BCLR	6
    0120 C001      RJMP	0x0122
mod32u:
    0121 9468      BSET	6
    0122 D02F      RCALL	long_div_prolog
    0123 24CC      CLR	R12
    0124 C008      RJMP	0x012D
div32s:
    0125 94E8      BCLR	6
    0126 C001      RJMP	0x0128
mod32s:
    0127 9468      BSET	6
    0128 D029      RCALL	long_div_prolog
    0129 FD37      SBRC	R19,7
    012A D045      RCALL	neg_R16_R19
    012B FDB7      SBRC	R27,7
    012C D04C      RCALL	neg_R24_R27
    012D 2477      CLR	R7
    012E 2488      CLR	R8
    012F 2499      CLR	R9
    0130 24AA      CLR	R10
    0131 24BB      CLR	R11
    0132 D033      RCALL	tst_R16_R19
    0133 F0C1      BEQ	0x014C
    0134 D036      RCALL	tst_R24_R27
    0135 F0B1      BEQ	0x014C
    0136 E2E8      LDI	R30,0x28
    0137 0F00      LSL	R16
    0138 1F11      ROL	R17
    0139 1F22      ROL	R18
    013A 1F33      ROL	R19
    013B 1C77      ROL	R7
    013C 1C88      ROL	R8
    013D 1C99      ROL	R9
    013E 1CAA      ROL	R10
    013F 1CBB      ROL	R11
    0140 1688      CP	R8,R24
    0141 0699      CPC	R9,R25
    0142 06AA      CPC	R10,R26
    0143 06BB      CPC	R11,R27
    0144 F028      BCS	0x014A
    0145 1A88      SUB	R8,R24
    0146 0A99      SBC	R9,R25
    0147 0AAA      SBC	R10,R26
    0148 0ABB      SBC	R11,R27
    0149 9503      INC	R16
    014A 95EA      DEC	R30
    014B F759      BNE	0x0137
    014C F426      BRTC	0x0151
    014D 2D08      MOV	R16,R8
    014E 2D19      MOV	R17,R9
    014F 2D2A      MOV	R18,R10
    0150 2D3B      MOV	R19,R11
    0151 C00C      RJMP	long_div_epilog
long_div_prolog:
    0152 927A      ST	R7,-Y
    0153 D0B9      RCALL	0x020D
    0154 92CA      ST	R12,-Y
    0155 D0A6      RCALL	0x01FC
    0156 858B      LDD	R24,Y+11
    0157 859C      LDD	R25,Y+12
    0158 85AD      LDD	R26,Y+13
    0159 85BE      LDD	R27,Y+14
    015A 2EC3      MOV	R12,R19
    015B F00E      BRTS	0x015D
    015C 26CB      EOR	R12,R27
    015D 9508      RET
long_div_epilog:
    015E FCC7      SBRC	R12,7
    015F D010      RCALL	neg_R16_R19
    0160 D0A1      RCALL	0x0202
    0161 90C9      LD	R12,Y+
    0162 D0A5      RCALL	0x0208
    0163 9079      LD	R7,Y+
    0164 9624      ADIW	R28,4
    0165 9508      RET
tst_R16_R19:
    0166 2FE0      MOV	R30,R16
    0167 2BE1      OR	R30,R17
    0168 2BE2      OR	R30,R18
    0169 2BE3      OR	R30,R19
    016A 9508      RET
tst_R24_R27:
    016B 2FE8      MOV	R30,R24
    016C 2BE9      OR	R30,R25
    016D 2BEA      OR	R30,R26
    016E 2BEB      OR	R30,R27
    016F 9508      RET
neg_R16_R19:
    0170 9500      COM	R16
    0171 9510      COM	R17
    0172 9520      COM	R18
    0173 9530      COM	R19
    0174 5F0F      SUBI	R16,0xFF
    0175 4F1F      SBCI	R17,0xFF
    0176 4F2F      SBCI	R18,0xFF
    0177 4F3F      SBCI	R19,0xFF
    0178 9508      RET
neg_R24_R27:
    0179 9580      COM	R24
    017A 9590      COM	R25
    017B 95A0      COM	R26
    017C 95B0      COM	R27
    017D 5F8F      SUBI	R24,0xFF
    017E 4F9F      SBCI	R25,0xFF
    017F 4FAF      SBCI	R26,0xFF
    0180 4FBF      SBCI	R27,0xFF
    0181 9508      RET
empy32s:
empy32u:
    0182 D04E      RCALL	long_prolog
    0183 927F      PUSH	R7
    0184 D057      RCALL	tstzero1
    0185 F131      BEQ	0x01AC
    0186 2477      CLR	R7
    0187 D05A      RCALL	tstzero2
    0188 F419      BNE	0x018C
    0189 018C      MOVW	R16,R24
    018A 019D      MOVW	R18,R26
    018B C020      RJMP	0x01AC
    018C 9F08      MUL	R16,R24
    018D 2CB0      MOV	R11,R0
    018E 2CA1      MOV	R10,R1
    018F 9F28      MUL	R18,R24
    0190 2C90      MOV	R9,R0
    0191 2C81      MOV	R8,R1
    0192 9F18      MUL	R17,R24
    0193 0CA0      ADD	R10,R0
    0194 1C91      ADC	R9,R1
    0195 1C87      ADC	R8,R7
    0196 9F09      MUL	R16,R25
    0197 0CA0      ADD	R10,R0
    0198 1C91      ADC	R9,R1
    0199 1C87      ADC	R8,R7
    019A 9F19      MUL	R17,R25
    019B 0C90      ADD	R9,R0
    019C 1C81      ADC	R8,R1
    019D 9F0A      MUL	R16,R26
    019E 0C90      ADD	R9,R0
    019F 1C81      ADC	R8,R1
    01A0 9F38      MUL	R19,R24
    01A1 0C80      ADD	R8,R0
    01A2 9F29      MUL	R18,R25
    01A3 0C80      ADD	R8,R0
    01A4 9F1A      MUL	R17,R26
    01A5 0C80      ADD	R8,R0
    01A6 9F0B      MUL	R16,R27
    01A7 0C80      ADD	R8,R0
    01A8 2D0B      MOV	R16,R11
    01A9 2D1A      MOV	R17,R10
    01AA 2D29      MOV	R18,R9
    01AB 2D38      MOV	R19,R8
    01AC 907F      POP	R7
    01AD C02A      RJMP	long_epilog
pop_gset2:
    01AE E0E2      LDI	R30,2
    01AF C00E      RJMP	pop
pop_gset3:
    01B0 E0E4      LDI	R30,4
    01B1 C00C      RJMP	pop
push_gset5:
    01B2 92FA      ST	R15,-Y
    01B3 92EA      ST	R14,-Y
push_gset4:
    01B4 92DA      ST	R13,-Y
    01B5 92CA      ST	R12,-Y
push_gset3:
    01B6 92BA      ST	R11,-Y
    01B7 92AA      ST	R10,-Y
push_gset2:
    01B8 937A      ST	R23,-Y
    01B9 936A      ST	R22,-Y
push_gset1:
    01BA 935A      ST	R21,-Y
    01BB 934A      ST	R20,-Y
    01BC 9508      RET
pop_gset1:
    01BD E0E1      LDI	R30,1
pop:
    01BE 9149      LD	R20,Y+
    01BF 9159      LD	R21,Y+
    01C0 FDE0      SBRC	R30,0
    01C1 9508      RET
    01C2 9169      LD	R22,Y+
    01C3 9179      LD	R23,Y+
    01C4 FDE1      SBRC	R30,1
    01C5 9508      RET
    01C6 90A9      LD	R10,Y+
    01C7 90B9      LD	R11,Y+
    01C8 FDE2      SBRC	R30,2
    01C9 9508      RET
    01CA 90C9      LD	R12,Y+
    01CB 90D9      LD	R13,Y+
    01CC FDE3      SBRC	R30,3
    01CD 9508      RET
    01CE 90E9      LD	R14,Y+
    01CF 90F9      LD	R15,Y+
    01D0 9508      RET
long_prolog:
    01D1 D03B      RCALL	0x020D
    01D2 D029      RCALL	0x01FC
    01D3 8589      LDD	R24,Y+9
    01D4 859A      LDD	R25,Y+10
    01D5 85AB      LDD	R26,Y+11
    01D6 85BC      LDD	R27,Y+12
    01D7 9508      RET
long_epilog:
    01D8 D029      RCALL	0x0202
    01D9 D02E      RCALL	0x0208
    01DA 9624      ADIW	R28,4
    01DB 9508      RET
tstzero1:
    01DC 27EE      CLR	R30
    01DD 2BE0      OR	R30,R16
    01DE 2BE1      OR	R30,R17
    01DF 2BE2      OR	R30,R18
    01E0 2BE3      OR	R30,R19
    01E1 9508      RET
tstzero2:
    01E2 27EE      CLR	R30
    01E3 2BE8      OR	R30,R24
    01E4 2BE9      OR	R30,R25
    01E5 2BEA      OR	R30,R26
    01E6 2BEB      OR	R30,R27
    01E7 9508      RET
<created procedures>:
    01E8 E060      LDI	R22,0
    01E9 E070      LDI	R23,0
    01EA 01FE      MOVW	R30,R28
    01EB 8026      LDD	R2,Z+6
    01EC 8037      LDD	R3,Z+7
    01ED 8440      LDD	R4,Z+8
    01EE 8451      LDD	R5,Z+9
    01EF 937A      ST	R23,-Y
    01F0 936A      ST	R22,-Y
    01F1 935A      ST	R21,-Y
    01F2 934A      ST	R20,-Y
    01F3 0181      MOVW	R16,R2
    01F4 0192      MOVW	R18,R4
    01F5 9508      RET
    01F6 01FE      MOVW	R30,R28
    01F7 8306      STD	Z+6,R16
    01F8 8317      STD	Z+7,R17
    01F9 8720      STD	Z+8,R18
    01FA 8731      STD	Z+9,R19
    01FB 9508      RET
    01FC 93EA      ST	R30,-Y
    01FD 938A      ST	R24,-Y
    01FE 939A      ST	R25,-Y
    01FF 93AA      ST	R26,-Y
    0200 93BA      ST	R27,-Y
    0201 9508      RET
    0202 91B9      LD	R27,Y+
    0203 91A9      LD	R26,Y+
    0204 9199      LD	R25,Y+
    0205 9189      LD	R24,Y+
    0206 91E9      LD	R30,Y+
    0207 9508      RET
    0208 90B9      LD	R11,Y+
    0209 90A9      LD	R10,Y+
    020A 9099      LD	R9,Y+
    020B 9089      LD	R8,Y+
    020C 9508      RET
    020D 928A      ST	R8,-Y
    020E 929A      ST	R9,-Y
    020F 92AA      ST	R10,-Y
    0210 92BA      ST	R11,-Y
    0211 9508      RET

⌨️ 快捷键说明

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