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

📄 atmega16_8led.lst

📁 AVR单片机来驱动8位数码管
💻 LST
📖 第 1 页 / 共 2 页
字号:
    0110 DFE8      RCALL	_out_595
(0087)   delay_nms (2);
    0111 E002      LDI	R16,2
    0112 E010      LDI	R17,0
    0113 DF6B      RCALL	_delay_nms
    0114 9543      INC	R20
    0115 3044      CPI	R20,4
    0116 F348      BCS	0x0100
    0117 940E021D  CALL	pop_gset1
    0119 9508      RET
_display_off:
  i                    --> R20
    011A 940E021A  CALL	push_gset1
(0088)  }
(0089) }
(0090) 
(0091) void display_off ()
(0092) {
(0093)  uchar i;
(0094)  for (i=0;i<4;i++)
    011C 2744      CLR	R20
    011D C015      RJMP	0x0133
(0095)  {
(0096)   write_595 (seg[i]);
    011E E685      LDI	R24,0x65
    011F E090      LDI	R25,0
    0120 2FE4      MOV	R30,R20
    0121 27FF      CLR	R31
    0122 0FE8      ADD	R30,R24
    0123 1FF9      ADC	R31,R25
    0124 9104      LPM	R16,0(Z)
    0125 DFC0      RCALL	_write_595
(0097)   write_595 (off[i]);
    0126 E68E      LDI	R24,0x6E
    0127 E090      LDI	R25,0
    0128 2FE4      MOV	R30,R20
    0129 27FF      CLR	R31
    012A 0FE8      ADD	R30,R24
    012B 1FF9      ADC	R31,R25
    012C 9104      LPM	R16,0(Z)
    012D DFB8      RCALL	_write_595
(0098)   out_595 ();
    012E DFCA      RCALL	_out_595
(0099)   delay_nms (2);
    012F E002      LDI	R16,2
    0130 E010      LDI	R17,0
    0131 DF4D      RCALL	_delay_nms
    0132 9543      INC	R20
    0133 3044      CPI	R20,4
    0134 F348      BCS	0x011E
    0135 940E021D  CALL	pop_gset1
    0137 9508      RET
_display_on:
  i                    --> R20
    0138 940E021A  CALL	push_gset1
(0100)  }
(0101) }
(0102) 
(0103) void display_on ()
(0104) {
(0105)  uchar i;
(0106)  for (i=0;i<4;i++)
    013A 2744      CLR	R20
    013B C015      RJMP	0x0151
(0107)  {
(0108)   write_595 (seg[i]);
    013C E685      LDI	R24,0x65
    013D E090      LDI	R25,0
    013E 2FE4      MOV	R30,R20
    013F 27FF      CLR	R31
    0140 0FE8      ADD	R30,R24
    0141 1FF9      ADC	R31,R25
    0142 9104      LPM	R16,0(Z)
    0143 DFA2      RCALL	_write_595
(0109)   write_595 (on[i]);
    0144 E786      LDI	R24,0x76
    0145 E090      LDI	R25,0
    0146 2FE4      MOV	R30,R20
    0147 27FF      CLR	R31
    0148 0FE8      ADD	R30,R24
    0149 1FF9      ADC	R31,R25
    014A 9104      LPM	R16,0(Z)
    014B DF9A      RCALL	_write_595
(0110)   out_595 ();
    014C DFAC      RCALL	_out_595
(0111)   delay_nms (2);
    014D E002      LDI	R16,2
    014E E010      LDI	R17,0
    014F DF2F      RCALL	_delay_nms
    0150 9543      INC	R20
    0151 3044      CPI	R20,4
    0152 F348      BCS	0x013C
    0153 940E021D  CALL	pop_gset1
    0155 9508      RET
(0112)  }
(0113) }
(0114) 
(0115) void main ()
(0116) {
(0117)  init_devices();
_main:
    0156 DF3C      RCALL	_init_devices
(0118)  number=0;
    0157 2422      CLR	R2
    0158 2433      CLR	R3
    0159 92300069  STS	number+1,R3
    015B 92200068  STS	number,R2
    015D C036      RJMP	0x0194
(0119)  while (1)
(0120)  {
(0121)   number++;
    015E 91800068  LDS	R24,number
    0160 91900069  LDS	R25,number+1
    0162 9601      ADIW	R24,1
    0163 93900069  STS	number+1,R25
    0165 93800068  STS	number,R24
(0122)   BINtoBCD(number);
    0167 011C      MOVW	R2,R24
    0168 2444      CLR	R4
    0169 2455      CLR	R5
    016A 0181      MOVW	R16,R2
    016B 0192      MOVW	R18,R4
    016C DF2E      RCALL	_BINtoBCD
(0123)   for (i=0;i<125;i++) 
    016D 2422      CLR	R2
    016E 2433      CLR	R3
    016F 9230006B  STS	i+1,R3
    0171 9220006A  STS	i,R2
    0173 C00A      RJMP	0x017E
(0124)   display ();
    0174 DF87      RCALL	_display
    0175 9180006A  LDS	R24,i
    0177 9190006B  LDS	R25,i+1
    0179 9601      ADIW	R24,1
    017A 9390006B  STS	i+1,R25
    017C 9380006A  STS	i,R24
    017E 9180006A  LDS	R24,i
    0180 9190006B  LDS	R25,i+1
    0182 378D      CPI	R24,0x7D
    0183 E0E0      LDI	R30,0
    0184 079E      CPC	R25,R30
    0185 F370      BCS	0x0174
(0125)   if (number>=9999) number=0;
FILE: <library>
    0186 91800068  LDS	R24,number
    0188 91900069  LDS	R25,number+1
    018A 308F      CPI	R24,0xF
    018B E2E7      LDI	R30,0x27
    018C 079E      CPC	R25,R30
    018D F030      BCS	0x0194
    018E 2422      CLR	R2
    018F 2433      CLR	R3
    0190 92300069  STS	number+1,R3
    0192 92200068  STS	number,R2
    0194 CFC9      RJMP	0x015E
    0195 9508      RET
push_arg4:
    0196 933A      ST	R19,-Y
    0197 932A      ST	R18,-Y
push_arg2:
    0198 931A      ST	R17,-Y
    0199 930A      ST	R16,-Y
    019A 9508      RET
div32u:
    019B 94E8      BCLR	6
    019C C001      RJMP	0x019E
mod32u:
    019D 9468      BSET	6
    019E D02F      RCALL	long_div_prolog
    019F 24CC      CLR	R12
    01A0 C008      RJMP	0x01A9
div32s:
    01A1 94E8      BCLR	6
    01A2 C001      RJMP	0x01A4
mod32s:
    01A3 9468      BSET	6
    01A4 D029      RCALL	long_div_prolog
    01A5 FD37      SBRC	R19,7
    01A6 D053      RCALL	neg_R16_R19
    01A7 FDB7      SBRC	R27,7
    01A8 D05A      RCALL	neg_R24_R27
    01A9 2477      CLR	R7
    01AA 2488      CLR	R8
    01AB 2499      CLR	R9
    01AC 24AA      CLR	R10
    01AD 24BB      CLR	R11
    01AE D041      RCALL	tst_R16_R19
    01AF F0C1      BEQ	0x01C8
    01B0 D044      RCALL	tst_R24_R27
    01B1 F0B1      BEQ	0x01C8
    01B2 E2E8      LDI	R30,0x28
    01B3 0F00      LSL	R16
    01B4 1F11      ROL	R17
    01B5 1F22      ROL	R18
    01B6 1F33      ROL	R19
    01B7 1C77      ROL	R7
    01B8 1C88      ROL	R8
    01B9 1C99      ROL	R9
    01BA 1CAA      ROL	R10
    01BB 1CBB      ROL	R11
    01BC 1688      CP	R8,R24
    01BD 0699      CPC	R9,R25
    01BE 06AA      CPC	R10,R26
    01BF 06BB      CPC	R11,R27
    01C0 F028      BCS	0x01C6
    01C1 1A88      SUB	R8,R24
    01C2 0A99      SBC	R9,R25
    01C3 0AAA      SBC	R10,R26
    01C4 0ABB      SBC	R11,R27
    01C5 9503      INC	R16
    01C6 95EA      DEC	R30
    01C7 F759      BNE	0x01B3
    01C8 F426      BRTC	0x01CD
    01C9 2D08      MOV	R16,R8
    01CA 2D19      MOV	R17,R9
    01CB 2D2A      MOV	R18,R10
    01CC 2D3B      MOV	R19,R11
    01CD C013      RJMP	long_div_epilog
long_div_prolog:
    01CE 927A      ST	R7,-Y
    01CF 928A      ST	R8,-Y
    01D0 929A      ST	R9,-Y
    01D1 92AA      ST	R10,-Y
    01D2 92BA      ST	R11,-Y
    01D3 92CA      ST	R12,-Y
    01D4 93EA      ST	R30,-Y
    01D5 938A      ST	R24,-Y
    01D6 939A      ST	R25,-Y
    01D7 93AA      ST	R26,-Y
    01D8 93BA      ST	R27,-Y
    01D9 858B      LDD	R24,Y+11
    01DA 859C      LDD	R25,Y+12
    01DB 85AD      LDD	R26,Y+13
    01DC 85BE      LDD	R27,Y+14
    01DD 2EC3      MOV	R12,R19
    01DE F00E      BRTS	0x01E0
    01DF 26CB      EOR	R12,R27
    01E0 9508      RET
long_div_epilog:
    01E1 FCC7      SBRC	R12,7
    01E2 D017      RCALL	neg_R16_R19
    01E3 91B9      LD	R27,Y+
    01E4 91A9      LD	R26,Y+
    01E5 9199      LD	R25,Y+
    01E6 9189      LD	R24,Y+
    01E7 91E9      LD	R30,Y+
    01E8 90C9      LD	R12,Y+
    01E9 90B9      LD	R11,Y+
    01EA 90A9      LD	R10,Y+
    01EB 9099      LD	R9,Y+
    01EC 9089      LD	R8,Y+
    01ED 9079      LD	R7,Y+
    01EE 9624      ADIW	R28,4
    01EF 9508      RET
tst_R16_R19:
    01F0 2FE0      MOV	R30,R16
    01F1 2BE1      OR	R30,R17
    01F2 2BE2      OR	R30,R18
    01F3 2BE3      OR	R30,R19
    01F4 9508      RET
tst_R24_R27:
    01F5 2FE8      MOV	R30,R24
    01F6 2BE9      OR	R30,R25
    01F7 2BEA      OR	R30,R26
    01F8 2BEB      OR	R30,R27
    01F9 9508      RET
neg_R16_R19:
    01FA 9500      COM	R16
    01FB 9510      COM	R17
    01FC 9520      COM	R18
    01FD 9530      COM	R19
    01FE 5F0F      SUBI	R16,0xFF
    01FF 4F1F      SBCI	R17,0xFF
    0200 4F2F      SBCI	R18,0xFF
    0201 4F3F      SBCI	R19,0xFF
    0202 9508      RET
neg_R24_R27:
    0203 9580      COM	R24
    0204 9590      COM	R25
    0205 95A0      COM	R26
    0206 95B0      COM	R27
    0207 5F8F      SUBI	R24,0xFF
    0208 4F9F      SBCI	R25,0xFF
    0209 4FAF      SBCI	R26,0xFF
    020A 4FBF      SBCI	R27,0xFF
    020B 9508      RET
pop_gset2:
    020C E0E2      LDI	R30,2
    020D 940C021E  JMP	pop
pop_gset4:
    020F E0E8      LDI	R30,0x8
    0210 940C021E  JMP	pop
push_gset5:
    0212 92FA      ST	R15,-Y
    0213 92EA      ST	R14,-Y
push_gset4:
    0214 92DA      ST	R13,-Y
    0215 92CA      ST	R12,-Y
push_gset3:
    0216 92BA      ST	R11,-Y
    0217 92AA      ST	R10,-Y
push_gset2:
    0218 937A      ST	R23,-Y
    0219 936A      ST	R22,-Y
push_gset1:
    021A 935A      ST	R21,-Y
    021B 934A      ST	R20,-Y
    021C 9508      RET
pop_gset1:
    021D E0E1      LDI	R30,1
pop:
    021E 9149      LD	R20,Y+
    021F 9159      LD	R21,Y+
    0220 FDE0      SBRC	R30,0
    0221 9508      RET
    0222 9169      LD	R22,Y+
    0223 9179      LD	R23,Y+
    0224 FDE1      SBRC	R30,1
    0225 9508      RET
    0226 90A9      LD	R10,Y+
    0227 90B9      LD	R11,Y+
    0228 FDE2      SBRC	R30,2
    0229 9508      RET
    022A 90C9      LD	R12,Y+
    022B 90D9      LD	R13,Y+
    022C FDE3      SBRC	R30,3
    022D 9508      RET
    022E 90E9      LD	R14,Y+
    022F 90F9      LD	R15,Y+
    0230 9508      RET

⌨️ 快捷键说明

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