📄 ledindicator.lst
字号:
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 + -