📄 uncode.lst
字号:
0091 9986 SBIC 0x10,6
0092 CFFD RJMP 0x0090
(0115) PD&=(~0x02);
0093 9891 CBI 0x12,1
(0116) if(HowLong()>RESET_TIME){error=1;break;}
0094 DF96 RCALL _HowLong
0095 E584 LDI R24,0x54
0096 E09B LDI R25,0xB
0097 1780 CP R24,R16
0098 0791 CPC R25,R17
0099 F420 BCC 0x009E
009A 24AA CLR R10
009B 94A3 INC R10
009C C0B4 RJMP 0x0151
(0117)
(0118) //通道3
(0119) WaitHigh ();
009D 0000 NOP
009E 9B86 SBIS 0x10,6
009F CFFD RJMP 0x009D
(0120) TimerStart();
00A0 E882 LDI R24,0x82
00A1 BD8E OUT 0x2E,R24
(0121) PD|=0x04;
00A2 9A92 SBI 0x12,2
(0122) WaitLow ();
00A3 C001 RJMP 0x00A5
00A4 0000 NOP
00A5 9986 SBIC 0x10,6
00A6 CFFD RJMP 0x00A4
(0123) PD&=(~0x04);
00A7 9892 CBI 0x12,2
(0124) if(HowLong()>RESET_TIME){error=1;break;}
00A8 DF82 RCALL _HowLong
00A9 E584 LDI R24,0x54
00AA E09B LDI R25,0xB
00AB 1780 CP R24,R16
00AC 0791 CPC R25,R17
00AD F420 BCC 0x00B2
00AE 24AA CLR R10
00AF 94A3 INC R10
00B0 C0A0 RJMP 0x0151
(0125)
(0126) //通道4
(0127) WaitHigh ();
00B1 0000 NOP
00B2 9B86 SBIS 0x10,6
00B3 CFFD RJMP 0x00B1
(0128) TimerStart();
00B4 E882 LDI R24,0x82
00B5 BD8E OUT 0x2E,R24
(0129) PD|=0x08;
00B6 9A93 SBI 0x12,3
(0130) WaitLow ();
00B7 C001 RJMP 0x00B9
00B8 0000 NOP
00B9 9986 SBIC 0x10,6
00BA CFFD RJMP 0x00B8
(0131) PD&=(~0x08);
00BB 9893 CBI 0x12,3
(0132) if(HowLong()>RESET_TIME){error=1;break;}
00BC DF6E RCALL _HowLong
00BD E584 LDI R24,0x54
00BE E09B LDI R25,0xB
00BF 1780 CP R24,R16
00C0 0791 CPC R25,R17
00C1 F420 BCC 0x00C6
00C2 24AA CLR R10
00C3 94A3 INC R10
00C4 C08C RJMP 0x0151
(0133)
(0134) //通道5
(0135) WaitHigh ();
00C5 0000 NOP
00C6 9B86 SBIS 0x10,6
00C7 CFFD RJMP 0x00C5
(0136) TimerStart();
00C8 E882 LDI R24,0x82
00C9 BD8E OUT 0x2E,R24
(0137) PD|=0x10;
00CA 9A94 SBI 0x12,4
(0138) WaitLow ();
00CB C001 RJMP 0x00CD
00CC 0000 NOP
00CD 9986 SBIC 0x10,6
00CE CFFD RJMP 0x00CC
(0139) PD&=(~0x10);
00CF 9894 CBI 0x12,4
(0140) if(HowLong()>RESET_TIME){error=1;break;}
00D0 DF5A RCALL _HowLong
00D1 E584 LDI R24,0x54
00D2 E09B LDI R25,0xB
00D3 1780 CP R24,R16
00D4 0791 CPC R25,R17
00D5 F420 BCC 0x00DA
00D6 24AA CLR R10
00D7 94A3 INC R10
00D8 C078 RJMP 0x0151
(0141)
(0142) //通道6
(0143) WaitHigh ();
00D9 0000 NOP
00DA 9B86 SBIS 0x10,6
00DB CFFD RJMP 0x00D9
(0144) TimerStart();
00DC E882 LDI R24,0x82
00DD BD8E OUT 0x2E,R24
(0145) PD|=0x10;
00DE 9A94 SBI 0x12,4
(0146) WaitLow ();
00DF C001 RJMP 0x00E1
00E0 0000 NOP
00E1 9986 SBIC 0x10,6
00E2 CFFD RJMP 0x00E0
(0147) PD&=(~0x10);
00E3 9894 CBI 0x12,4
(0148) if(HowLong()>RESET_TIME){error=1;break;}
00E4 DF46 RCALL _HowLong
00E5 E584 LDI R24,0x54
00E6 E09B LDI R25,0xB
00E7 1780 CP R24,R16
00E8 0791 CPC R25,R17
00E9 F420 BCC 0x00EE
00EA 24AA CLR R10
00EB 94A3 INC R10
00EC C064 RJMP 0x0151
(0149)
(0150) //开关数据通道
(0151) WaitHigh ();
00ED 0000 NOP
00EE 9B86 SBIS 0x10,6
00EF CFFD RJMP 0x00ED
(0152) TimerStart();
00F0 E882 LDI R24,0x82
00F1 BD8E OUT 0x2E,R24
(0153) WaitLow ();
00F2 C001 RJMP 0x00F4
00F3 0000 NOP
00F4 9986 SBIC 0x10,6
00F5 CFFD RJMP 0x00F3
(0154) temp=HowLong();
00F6 DF34 RCALL _HowLong
00F7 2EE0 MOV R14,R16
00F8 2EF1 MOV R15,R17
(0155) if(temp>RESET_TIME){error=1;break;}
00F9 E584 LDI R24,0x54
00FA E09B LDI R25,0xB
00FB 1780 CP R24,R16
00FC 0791 CPC R25,R17
00FD F418 BCC 0x0101
00FE 24AA CLR R10
00FF 94A3 INC R10
0100 C050 RJMP 0x0151
(0156) if(temp>MID_TIME)sw_estate=1;else sw_estate=0;
0101 EB80 LDI R24,0xB0
0102 E094 LDI R25,4
0103 158E CP R24,R14
0104 059F CPC R25,R15
0105 F418 BCC 0x0109
0106 24CC CLR R12
0107 94C3 INC R12
0108 C003 RJMP 0x010C
0109 24CC CLR R12
(0157)
(0158) //开关复位信号通道
(0159) WaitHigh ();
010A C001 RJMP 0x010C
010B 0000 NOP
010C 9B86 SBIS 0x10,6
010D CFFD RJMP 0x010B
(0160) TimerStart();
010E E882 LDI R24,0x82
010F BD8E OUT 0x2E,R24
(0161) WaitLow ();
0110 C001 RJMP 0x0112
0111 0000 NOP
0112 9986 SBIC 0x10,6
0113 CFFD RJMP 0x0111
(0162) temp=HowLong();
0114 DF16 RCALL _HowLong
0115 2EE0 MOV R14,R16
0116 2EF1 MOV R15,R17
(0163) if(temp>RESET_TIME){error=1;break;}
0117 E584 LDI R24,0x54
0118 E09B LDI R25,0xB
0119 1780 CP R24,R16
011A 0791 CPC R25,R17
011B F418 BCC 0x011F
011C 24AA CLR R10
011D 94A3 INC R10
011E C032 RJMP 0x0151
(0164) if(temp>MID_TIME)sw_reset=1;else sw_reset=0;
011F EB80 LDI R24,0xB0
0120 E094 LDI R25,4
0121 158E CP R24,R14
0122 059F CPC R25,R15
0123 F410 BCC 0x0126
0124 E041 LDI R20,1
0125 C001 RJMP 0x0127
0126 2744 CLR R20
(0165) sw_counter++;
0127 9563 INC R22
(0166)
(0167)
(0168) WaitHigh ();
0128 C001 RJMP 0x012A
0129 0000 NOP
012A 9B86 SBIS 0x10,6
012B CFFD RJMP 0x0129
(0169) TimerStart();//利用复位时间长,输出开关信号
012C E882 LDI R24,0x82
012D BD8E OUT 0x2E,R24
(0170) if(sw_counter<8)
012E 3068 CPI R22,0x8
012F F488 BCC 0x0141
(0171) if(sw_estate)PB|=(1<<sw_counter);else PB&=(~(1<<sw_counter));
0130 20CC TST R12
0131 F039 BEQ 0x0139
0132 E001 LDI R16,1
0133 2F16 MOV R17,R22
0134 D01E RCALL lsl8
0135 B228 IN R2,0x18
0136 2A20 OR R2,R16
0137 BA28 OUT 0x18,R2
0138 C008 RJMP 0x0141
0139 E001 LDI R16,1
013A 2F16 MOV R17,R22
013B D017 RCALL lsl8
013C 2E20 MOV R2,R16
013D 9420 COM R2
013E B238 IN R3,0x18
013F 2032 AND R3,R2
0140 BA38 OUT 0x18,R3
(0172) if(sw_reset)
0141 2344 TST R20
0142 F009 BEQ 0x0144
(0173) sw_counter=255;
0143 EF6F LDI R22,0xFF
(0174) WDR();
0144 95A8 WDR
(0175) WaitLow ();
0145 C001 RJMP 0x0147
0146 0000 NOP
0147 9986 SBIC 0x10,6
0148 CFFD RJMP 0x0146
(0176) if(HowLong()>RESET_TIME)break;
FILE: <library>
0149 DEE1 RCALL _HowLong
014A E584 LDI R24,0x54
014B E09B LDI R25,0xB
014C 1780 CP R24,R16
014D 0791 CPC R25,R17
014E F408 BCC 0x0150
014F C001 RJMP 0x0151
0150 CF25 RJMP 0x0076
0151 CF1E RJMP 0x0070
0152 9508 RET
lsl8:
0153 2311 TST R17
0154 F019 BEQ 0x0158
0155 0F00 LSL R16
0156 951A DEC R17
0157 CFFB RJMP lsl8
0158 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -