📄 rd_useled_flash_ctr.lis
字号:
00A6 ; {
00A6 .dbline 134
00A6 ; LED_PORT &= ~BIT(LED_PORT_START+n);
00A6 10910000 lds R17,L7
00AA 1A5F subi R17,250 ; addi 6
00AC 01E0 ldi R16,1
00AE 0E940000 xcall lsl8
00B2 202E mov R2,R16
00B4 2094 com R2
00B6 35B2 in R3,0x15
00B8 3220 and R3,R2
00BA 35BA out 0x15,R3
00BC .dbline 135
00BC ; }
00BC .dbline 136
00BC ; break;
00BC 8CC0 xjmp L9
00BE L15:
00BE .dbline 138
00BE ; case LED_FLASH_SLOW:
00BE ; if ((SYS_TIMER_MS_ADD_UNTILL_OVF & 0x03ff) > 0x01ff)
00BE 8FEF ldi R24,511
00C0 91E0 ldi R25,1
00C2 E0910000 lds R30,_g_wSystemTimer
00C6 F0910100 lds R31,_g_wSystemTimer+1
00CA F370 andi R31,3
00CC 8E17 cp R24,R30
00CE 9F07 cpc R25,R31
00D0 50F4 brsh L16
00D2 X9:
00D2 .dbline 139
00D2 ; {
00D2 .dbline 140
00D2 ; LED_PORT |= BIT(LED_PORT_START+n);
00D2 10910000 lds R17,L7
00D6 1A5F subi R17,250 ; addi 6
00D8 01E0 ldi R16,1
00DA 0E940000 xcall lsl8
00DE 25B2 in R2,0x15
00E0 202A or R2,R16
00E2 25BA out 0x15,R2
00E4 .dbline 141
00E4 ; }
00E4 78C0 xjmp L9
00E6 L16:
00E6 .dbline 143
00E6 ; else
00E6 ; {
00E6 .dbline 144
00E6 ; LED_PORT &= ~BIT(LED_PORT_START+n);
00E6 10910000 lds R17,L7
00EA 1A5F subi R17,250 ; addi 6
00EC 01E0 ldi R16,1
00EE 0E940000 xcall lsl8
00F2 202E mov R2,R16
00F4 2094 com R2
00F6 35B2 in R3,0x15
00F8 3220 and R3,R2
00FA 35BA out 0x15,R3
00FC .dbline 145
00FC ; }
00FC .dbline 146
00FC ; break;
00FC 6CC0 xjmp L9
00FE L18:
00FE .dbline 148
00FE ; case LED_FLASH:
00FE ; if ((SYS_TIMER_MS_ADD_UNTILL_OVF & 0x01ff) > 0x00ff)
00FE 8FEF ldi R24,255
0100 90E0 ldi R25,0
0102 E0910000 lds R30,_g_wSystemTimer
0106 F0910100 lds R31,_g_wSystemTimer+1
010A F170 andi R31,1
010C 8E17 cp R24,R30
010E 9F07 cpc R25,R31
0110 50F4 brsh L19
0112 X10:
0112 .dbline 149
0112 ; {
0112 .dbline 150
0112 ; LED_PORT |= BIT(LED_PORT_START+n);
0112 10910000 lds R17,L7
0116 1A5F subi R17,250 ; addi 6
0118 01E0 ldi R16,1
011A 0E940000 xcall lsl8
011E 25B2 in R2,0x15
0120 202A or R2,R16
0122 25BA out 0x15,R2
0124 .dbline 151
0124 ; }
0124 58C0 xjmp L9
0126 L19:
0126 .dbline 153
0126 ; else
0126 ; {
0126 .dbline 154
0126 ; LED_PORT &= ~BIT(LED_PORT_START+n);
0126 10910000 lds R17,L7
012A 1A5F subi R17,250 ; addi 6
012C 01E0 ldi R16,1
012E 0E940000 xcall lsl8
0132 202E mov R2,R16
0134 2094 com R2
0136 35B2 in R3,0x15
0138 3220 and R3,R2
013A 35BA out 0x15,R3
013C .dbline 155
013C ; }
013C .dbline 156
013C ; break;
013C 4CC0 xjmp L9
013E L21:
013E .dbline 158
013E ; case LED_FLASH_FAST:
013E ; if ((SYS_TIMER_MS_ADD_UNTILL_OVF & 0x00ff) > 0x007f)
013E 8FE7 ldi R24,127
0140 90E0 ldi R25,0
0142 E0910000 lds R30,_g_wSystemTimer
0146 F0910100 lds R31,_g_wSystemTimer+1
014A F070 andi R31,0
014C 8E17 cp R24,R30
014E 9F07 cpc R25,R31
0150 50F4 brsh L22
0152 X11:
0152 .dbline 159
0152 ; {
0152 .dbline 160
0152 ; LED_PORT |= BIT(LED_PORT_START+n);
0152 10910000 lds R17,L7
0156 1A5F subi R17,250 ; addi 6
0158 01E0 ldi R16,1
015A 0E940000 xcall lsl8
015E 25B2 in R2,0x15
0160 202A or R2,R16
0162 25BA out 0x15,R2
0164 .dbline 161
0164 ; }
0164 38C0 xjmp L9
0166 L22:
0166 .dbline 163
0166 ; else
0166 ; {
0166 .dbline 164
0166 ; LED_PORT &= ~BIT(LED_PORT_START+n);
0166 10910000 lds R17,L7
016A 1A5F subi R17,250 ; addi 6
016C 01E0 ldi R16,1
016E 0E940000 xcall lsl8
0172 202E mov R2,R16
0174 2094 com R2
0176 35B2 in R3,0x15
0178 3220 and R3,R2
017A 35BA out 0x15,R3
017C .dbline 165
017C ; }
017C .dbline 166
017C ; break;
017C 2CC0 xjmp L9
017E L24:
017E .dbline 168
017E ; case LED_FLASH_VERY_FAST:
017E ; if ((SYS_TIMER_MS_ADD_UNTILL_OVF & 0x003f) > 0x001f)
017E 8FE1 ldi R24,31
0180 90E0 ldi R25,0
0182 E0910000 lds R30,_g_wSystemTimer
0186 F0910100 lds R31,_g_wSystemTimer+1
018A EF73 andi R30,63
018C F070 andi R31,0
018E 8E17 cp R24,R30
0190 9F07 cpc R25,R31
0192 50F4 brsh L25
0194 X12:
0194 .dbline 169
0194 ; {
0194 .dbline 170
0194 ; LED_PORT |= BIT(LED_PORT_START+n);
0194 10910000 lds R17,L7
0198 1A5F subi R17,250 ; addi 6
019A 01E0 ldi R16,1
019C 0E940000 xcall lsl8
01A0 25B2 in R2,0x15
01A2 202A or R2,R16
01A4 25BA out 0x15,R2
01A6 .dbline 171
01A6 ; }
01A6 17C0 xjmp L9
01A8 L25:
01A8 .dbline 173
01A8 ; else
01A8 ; {
01A8 .dbline 174
01A8 ; LED_PORT &= ~BIT(LED_PORT_START+n);
01A8 10910000 lds R17,L7
01AC 1A5F subi R17,250 ; addi 6
01AE 01E0 ldi R16,1
01B0 0E940000 xcall lsl8
01B4 202E mov R2,R16
01B6 2094 com R2
01B8 35B2 in R3,0x15
01BA 3220 and R3,R2
01BC 35BA out 0x15,R3
01BE .dbline 175
01BE ; }
01BE .dbline 176
01BE ; break;
01BE 0BC0 xjmp L9
01C0 L27:
01C0 L8:
01C0 .dbline 180
01C0 ; case LED_OFF:
01C0 ; default:
01C0 ; #ifdef _LED_FLASH_CTR_ANODE
01C0 ; LED_PORT &= ~BIT(LED_PORT_START+n);
01C0 10910000 lds R17,L7
01C4 1A5F subi R17,250 ; addi 6
01C6 01E0 ldi R16,1
01C8 0E940000 xcall lsl8
01CC 202E mov R2,R16
01CE 2094 com R2
01D0 35B2 in R3,0x15
01D2 3220 and R3,R2
01D4 35BA out 0x15,R3
01D6 .dbline 184
01D6 ; #else
01D6 ; LED_PORT |= BIT(LED_PORT_START+n);
01D6 ; #endif
01D6 ; break;
01D6 L9:
01D6 .dbline 187
01D6 ; }
01D6 ;
01D6 ; n++;
01D6 80910000 lds R24,L7
01DA 8F5F subi R24,255 ; addi 1
01DC 80930000 sts L7,R24
01E0 .dbline 188
01E0 ; if (n == LED_FCTR_LED_COUNT)
01E0 8230 cpi R24,2
01E2 29F4 brne L28
01E4 X13:
01E4 .dbline 189
01E4 ; {
01E4 .dbline 190
01E4 ; n = 0;
01E4 2224 clr R2
01E6 20920000 sts L7,R2
01EA .dbline 191
01EA ; return FALSE;
01EA 0027 clr R16
01EC 01C0 xjmp L6
01EE L28:
01EE .dbline 194
01EE ; }
01EE ;
01EE ; return TRUE;
01EE 01E0 ldi R16,1
01F0 .dbline -2
01F0 L6:
01F0 .dbline 0 ; func end
01F0 4991 ld R20,y+
01F2 0895 ret
01F4 .dbend
.area bss(ram, con, rel)
0000 .dbfile O:\2007全国电子设计大赛\键盘显示模块\RD_UseLED_Flash_CTR.c
0000 _g_cLEDs::
0000 .blkb 2
0002 .dbsym e g_cLEDs _g_cLEDs A[2:2]c
0002 ; }
0002 ;
0002 ;
0002 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -