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

📄 ledindicator.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
    00D3 2433      CLR	R3
    00D4 1620      CP	R2,R16
    00D5 0631      CPC	R3,R17
    00D6 F384      BLT	0x00C7
(0117) 			;								 
(0118) }
    00D7 940E01AA  CALL	pop_gset1
    00D9 9508      RET
_main:
  ledCode              --> Y+0
  i                    --> R20
    00DA 9760      SBIW	R28,0x10
FILE: E:\ProductPro\M16SD\ICCAVR\LedIndicator\LedIndicator.C
(0001) /*********************************************************************
(0002) 	微 雪 电 子   WaveShare   http://www.waveShare.net	
(0003) 
(0004) 功能目的:   测试"LedIndicator"模块
(0005) 
(0006) 目标系统:   基于任何AVR单片机
(0007) 
(0008) 应用软件:   ICCAVR                                               
(0009) 
(0010) 版    本:   Version 1.0
(0011) 
(0012) 圆版时间:   2005-03-01
(0013) 
(0014) 开发人员:   SEE
(0015) 
(0016) 说    明:   若用于商业用途,请保留此段文字或注明代码来源 
(0017) 
(0018) 	深 圳 微 雪 电 子 保 留 所 有 的 版 权     
(0019) *********************************************************************/
(0020) 
(0021) /*01010101010101010101010101010101010101010101010101010101010101010101
(0022) ----------------------------------------------------------------------
(0023) 版本更新记录:
(0024) 
(0025) ----------------------------------------------------------------------
(0026) 接入模块: LedBoard
(0027) 接口说明: LedBoard	       M16SmartGuider
(0028) 			 	D0 	 --------     PA0
(0029) 				D1	 --------     PA1
(0030)                         .
(0031) 	                    . 
(0032) 				D7   --------     PA7
(0033) 				L3   --------     PD4
(0034) 				L2   --------     PD5
(0035) 				L1   --------     PD6
(0036) 				L0   --------     PD7
(0037) 				VCC  --------     VCC
(0038) 				GND	 --------     GND	
(0039) 
(0040) ----------------------------------------------------------------------
(0041) 注意事项:
(0042) 		* 
(0043) ----------------------------------------------------------------------
(0044) 10101010101010101010101010101010101010101010101010101010101010101010*/
(0045) 
(0046) #include <iom16v.H>
(0047) #include "E:\ICC_H\CmmICC.H"
(0048) 
(0049) #define LED_BIT_DDR	  DDRB			//数码管 位选
(0050) #define LED_BIT_PORT  PORTB
(0051) #define LED_SEG_DDR	  DDRA 			//数码管 段选
(0052) #define LED_SEG_PORT  PORTA
(0053) 
(0054) /*--------------------------------------------------------------------
(0055) 函数名称:
(0056) 函数功能:
(0057) 注意事项:
(0058) 提示说明:
(0059) 输    入:
(0060) 返    回:
(0061) --------------------------------------------------------------------*/
(0062) void main()
(0063) {
(0064) 	uint8 i;
(0065) 	uint8 ledCode[]={0x88,0xEB,0x92,0xA2,0xE1,0xA4,0x84,0xEA,
    00DB E584      LDI	R24,0x54
    00DC E090      LDI	R25,0
    00DD 01FE      MOVW	R30,R28
    00DE E100      LDI	R16,0x10
    00DF E010      LDI	R17,0
    00E0 93FA      ST	R31,-Y
    00E1 93EA      ST	R30,-Y
    00E2 939A      ST	R25,-Y
    00E3 938A      ST	R24,-Y
    00E4 940E01EF  CALL	asgncblk
(0066) 					 0x80,0xA0,0x40,0x00,0x1C,0x08,0x14,0x54};
(0067) 	LED_BIT_DDR = 0XFF;
    00E6 EF8F      LDI	R24,0xFF
    00E7 BB87      OUT	0x17,R24
(0068) 	LED_BIT_PORT = 0xF0;
    00E8 EF80      LDI	R24,0xF0
    00E9 BB88      OUT	0x18,R24
(0069) 	LED_SEG_DDR = 0XFF;					 
    00EA EF8F      LDI	R24,0xFF
    00EB BB8A      OUT	0x1A,R24
(0070) 	for(i=0;i<=15;i++)	
    00EC 2744      CLR	R20
    00ED C00B      RJMP	0x00F9
(0071) 	{
(0072)  		LED_SEG_PORT = ledCode[i];
    00EE 01CE      MOVW	R24,R28
    00EF 2FE4      MOV	R30,R20
    00F0 27FF      CLR	R31
    00F1 0FE8      ADD	R30,R24
    00F2 1FF9      ADC	R31,R25
    00F3 8020      LDD	R2,Z+0
    00F4 BA2B      OUT	0x1B,R2
(0073) 		delay50ms(10);
    00F5 E00A      LDI	R16,0xA
    00F6 E010      LDI	R17,0
    00F7 DFCC      RCALL	_delay50ms
    00F8 9543      INC	R20
    00F9 E08F      LDI	R24,0xF
    00FA 1784      CP	R24,R20
    00FB F790      BCC	0x00EE
(0074) 	}
(0075) }
FILE: <library>
    00FC 9660      ADIW	R28,0x10
    00FD 9508      RET
push_arg4:
    00FE 933A      ST	R19,-Y
    00FF 932A      ST	R18,-Y
push_arg2:
    0100 931A      ST	R17,-Y
    0101 930A      ST	R16,-Y
    0102 9508      RET
div32u:
    0103 94E8      BCLR	6
    0104 C001      RJMP	0x0106
mod32u:
    0105 9468      BSET	6
    0106 D02F      RCALL	long_div_prolog
    0107 24CC      CLR	R12
    0108 C008      RJMP	0x0111
div32s:
    0109 94E8      BCLR	6
    010A C001      RJMP	0x010C
mod32s:
    010B 9468      BSET	6
    010C D029      RCALL	long_div_prolog
    010D FD37      SBRC	R19,7
    010E D053      RCALL	neg_R16_R19
    010F FDB7      SBRC	R27,7
    0110 D05A      RCALL	neg_R24_R27
    0111 2477      CLR	R7
    0112 2488      CLR	R8
    0113 2499      CLR	R9
    0114 24AA      CLR	R10
    0115 24BB      CLR	R11
    0116 D041      RCALL	tst_R16_R19
    0117 F0C1      BEQ	0x0130
    0118 D044      RCALL	tst_R24_R27
    0119 F0B1      BEQ	0x0130
    011A E2E8      LDI	R30,0x28
    011B 0F00      LSL	R16
    011C 1F11      ROL	R17
    011D 1F22      ROL	R18
    011E 1F33      ROL	R19
    011F 1C77      ROL	R7
    0120 1C88      ROL	R8
    0121 1C99      ROL	R9
    0122 1CAA      ROL	R10
    0123 1CBB      ROL	R11
    0124 1688      CP	R8,R24
    0125 0699      CPC	R9,R25
    0126 06AA      CPC	R10,R26
    0127 06BB      CPC	R11,R27
    0128 F028      BCS	0x012E
    0129 1A88      SUB	R8,R24
    012A 0A99      SBC	R9,R25
    012B 0AAA      SBC	R10,R26
    012C 0ABB      SBC	R11,R27
    012D 9503      INC	R16
    012E 95EA      DEC	R30
    012F F759      BNE	0x011B
    0130 F426      BRTC	0x0135
    0131 2D08      MOV	R16,R8
    0132 2D19      MOV	R17,R9
    0133 2D2A      MOV	R18,R10
    0134 2D3B      MOV	R19,R11
    0135 C013      RJMP	long_div_epilog
long_div_prolog:
    0136 927A      ST	R7,-Y
    0137 928A      ST	R8,-Y
    0138 929A      ST	R9,-Y
    0139 92AA      ST	R10,-Y
    013A 92BA      ST	R11,-Y
    013B 92CA      ST	R12,-Y
    013C 93EA      ST	R30,-Y
    013D 938A      ST	R24,-Y
    013E 939A      ST	R25,-Y
    013F 93AA      ST	R26,-Y
    0140 93BA      ST	R27,-Y
    0141 858B      LDD	R24,Y+11
    0142 859C      LDD	R25,Y+12
    0143 85AD      LDD	R26,Y+13
    0144 85BE      LDD	R27,Y+14
    0145 2EC3      MOV	R12,R19
    0146 F00E      BRTS	0x0148
    0147 26CB      EOR	R12,R27
    0148 9508      RET
long_div_epilog:
    0149 FCC7      SBRC	R12,7
    014A D017      RCALL	neg_R16_R19
    014B 91B9      LD	R27,Y+
    014C 91A9      LD	R26,Y+
    014D 9199      LD	R25,Y+
    014E 9189      LD	R24,Y+
    014F 91E9      LD	R30,Y+
    0150 90C9      LD	R12,Y+
    0151 90B9      LD	R11,Y+
    0152 90A9      LD	R10,Y+
    0153 9099      LD	R9,Y+
    0154 9089      LD	R8,Y+
    0155 9079      LD	R7,Y+
    0156 9624      ADIW	R28,4
    0157 9508      RET
tst_R16_R19:
    0158 2FE0      MOV	R30,R16
    0159 2BE1      OR	R30,R17
    015A 2BE2      OR	R30,R18
    015B 2BE3      OR	R30,R19
    015C 9508      RET
tst_R24_R27:
    015D 2FE8      MOV	R30,R24
    015E 2BE9      OR	R30,R25
    015F 2BEA      OR	R30,R26
    0160 2BEB      OR	R30,R27
    0161 9508      RET
neg_R16_R19:
    0162 9500      COM	R16
    0163 9510      COM	R17
    0164 9520      COM	R18
    0165 9530      COM	R19
    0166 5F0F      SUBI	R16,0xFF
    0167 4F1F      SBCI	R17,0xFF
    0168 4F2F      SBCI	R18,0xFF
    0169 4F3F      SBCI	R19,0xFF
    016A 9508      RET
neg_R24_R27:
    016B 9580      COM	R24
    016C 9590      COM	R25
    016D 95A0      COM	R26
    016E 95B0      COM	R27
    016F 5F8F      SUBI	R24,0xFF
    0170 4F9F      SBCI	R25,0xFF
    0171 4FAF      SBCI	R26,0xFF
    0172 4FBF      SBCI	R27,0xFF
    0173 9508      RET
empy32s:
empy32u:
    0174 940E01CA  CALL	long_prolog
    0176 927F      PUSH	R7
    0177 940E01E3  CALL	tstzero1
    0179 F139      BEQ	0x01A1
    017A 2477      CLR	R7
    017B 940E01E9  CALL	tstzero2
    017D F419      BNE	0x0181
    017E 018C      MOVW	R16,R24
    017F 019D      MOVW	R18,R26
    0180 C020      RJMP	0x01A1
    0181 9F08      MUL	R16,R24
    0182 2CB0      MOV	R11,R0
    0183 2CA1      MOV	R10,R1
    0184 9F28      MUL	R18,R24
    0185 2C90      MOV	R9,R0
    0186 2C81      MOV	R8,R1
    0187 9F18      MUL	R17,R24
    0188 0CA0      ADD	R10,R0
    0189 1C91      ADC	R9,R1
    018A 1C87      ADC	R8,R7
    018B 9F09      MUL	R16,R25
    018C 0CA0      ADD	R10,R0
    018D 1C91      ADC	R9,R1
    018E 1C87      ADC	R8,R7
    018F 9F19      MUL	R17,R25
    0190 0C90      ADD	R9,R0
    0191 1C81      ADC	R8,R1
    0192 9F0A      MUL	R16,R26
    0193 0C90      ADD	R9,R0
    0194 1C81      ADC	R8,R1
    0195 9F38      MUL	R19,R24
    0196 0C80      ADD	R8,R0
    0197 9F29      MUL	R18,R25
    0198 0C80      ADD	R8,R0
    0199 9F1A      MUL	R17,R26
    019A 0C80      ADD	R8,R0
    019B 9F0B      MUL	R16,R27
    019C 0C80      ADD	R8,R0
    019D 2D0B      MOV	R16,R11
    019E 2D1A      MOV	R17,R10
    019F 2D29      MOV	R18,R9
    01A0 2D38      MOV	R19,R8
    01A1 907F      POP	R7
    01A2 940C01D8  JMP	long_epilog
pop_gset4:
    01A4 E0E8      LDI	R30,0x8
    01A5 940C01AB  JMP	pop
push_gset1:
    01A7 935A      ST	R21,-Y
    01A8 934A      ST	R20,-Y
    01A9 9508      RET
pop_gset1:
    01AA E0E1      LDI	R30,1
pop:
    01AB 9149      LD	R20,Y+
    01AC 9159      LD	R21,Y+
    01AD FDE0      SBRC	R30,0
    01AE 9508      RET
    01AF 9169      LD	R22,Y+
    01B0 9179      LD	R23,Y+
    01B1 FDE1      SBRC	R30,1
    01B2 9508      RET
    01B3 90A9      LD	R10,Y+
    01B4 90B9      LD	R11,Y+
    01B5 FDE2      SBRC	R30,2
    01B6 9508      RET
    01B7 90C9      LD	R12,Y+
    01B8 90D9      LD	R13,Y+
    01B9 FDE3      SBRC	R30,3
    01BA 9508      RET
    01BB 90E9      LD	R14,Y+
    01BC 90F9      LD	R15,Y+
    01BD 9508      RET
push_gset2:
    01BE 937A      ST	R23,-Y
    01BF 936A      ST	R22,-Y
    01C0 940C01A7  JMP	push_gset1
push_gset3:
    01C2 92BA      ST	R11,-Y
    01C3 92AA      ST	R10,-Y
    01C4 940C01BE  JMP	push_gset2
push_gset4:
    01C6 92DA      ST	R13,-Y
    01C7 92CA      ST	R12,-Y
    01C8 940C01C2  JMP	push_gset3
long_prolog:
    01CA 928A      ST	R8,-Y
    01CB 929A      ST	R9,-Y
    01CC 92AA      ST	R10,-Y
    01CD 92BA      ST	R11,-Y
    01CE 93EA      ST	R30,-Y
    01CF 938A      ST	R24,-Y
    01D0 939A      ST	R25,-Y
    01D1 93AA      ST	R26,-Y
    01D2 93BA      ST	R27,-Y
    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 91B9      LD	R27,Y+
    01D9 91A9      LD	R26,Y+
    01DA 9199      LD	R25,Y+
    01DB 9189      LD	R24,Y+
    01DC 91E9      LD	R30,Y+
    01DD 90B9      LD	R11,Y+
    01DE 90A9      LD	R10,Y+
    01DF 9099      LD	R9,Y+
    01E0 9089      LD	R8,Y+
    01E1 9624      ADIW	R28,4
    01E2 9508      RET
tstzero1:
    01E3 27EE      CLR	R30
    01E4 2BE0      OR	R30,R16
    01E5 2BE1      OR	R30,R17
    01E6 2BE2      OR	R30,R18
    01E7 2BE3      OR	R30,R19
    01E8 9508      RET
tstzero2:
    01E9 27EE      CLR	R30
    01EA 2BE8      OR	R30,R24
    01EB 2BE9      OR	R30,R25
    01EC 2BEA      OR	R30,R26
    01ED 2BEB      OR	R30,R27
    01EE 9508      RET
asgncblk:
    01EF 93AA      ST	R26,-Y
    01F0 93BA      ST	R27,-Y
    01F1 93EA      ST	R30,-Y
    01F2 93FA      ST	R31,-Y
    01F3 920A      ST	R0,-Y
    01F4 81AF      LDD	R26,Y+7
    01F5 85B8      LDD	R27,Y+8
    01F6 81ED      LDD	R30,Y+5
    01F7 81FE      LDD	R31,Y+6
    01F8 3000      CPI	R16,0
    01F9 0701      CPC	R16,R17
    01FA F031      BEQ	0x0201
    01FB 95C8      LPM
    01FC 920D      ST	R0,X+
    01FD 9631      ADIW	R30,1
    01FE 5001      SUBI	R16,1
    01FF 4010      SBCI	R17,0
    0200 CFF7      RJMP	0x01F8
    0201 9009      LD	R0,Y+
    0202 91F9      LD	R31,Y+
    0203 91E9      LD	R30,Y+
    0204 91B9      LD	R27,Y+
    0205 91A9      LD	R26,Y+
    0206 9624      ADIW	R28,4
    0207 9508      RET

⌨️ 快捷键说明

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