📄 drive.lis
字号:
00EA 88B9 out 0x8,R24
00EC .dbline 97
00EC ; out_state&=~(0x04);
00EC 80910000 lds R24,_out_state
00F0 8B7F andi R24,251
00F2 80930000 sts _out_state,R24
00F6 .dbline 98
00F6 ; PORTE = (out_state<<2);
00F6 282E mov R2,R24
00F8 220C lsl R2
00FA 220C lsl R2
00FC 2EB8 out 0xe,R2
00FE .dbline 99
00FE ; PORTD |= 0x80;
00FE 5F9A sbi 0xb,7
0100 .dbline 100
0100 ; asm("nop");
0100 0000 nop
0102 .dbline 101
0102 ; asm("nop");
0102 0000 nop
0104 .dbline 102
0104 ; PORTD &= 0x7f;
0104 8BB1 in R24,0xb
0106 8F77 andi R24,127
0108 8BB9 out 0xb,R24
010A .dbline -2
010A L8:
010A .dbline 0 ; func end
010A 0895 ret
010C .dbend
010C .dbfunc e relay3_on _relay3_on fV
.even
010C _relay3_on::
010C .dbline -1
010C .dbline 106
010C ; }
010C ;
010C ; void relay3_on(void) //继电器3打开函数
010C ; {
010C .dbline 107
010C ; WDR();
010C A895 wdr
010E .dbline 108
010E ; PORTC&=0xef;
010E 88B1 in R24,0x8
0110 8F7E andi R24,239
0112 88B9 out 0x8,R24
0114 .dbline 109
0114 ; out_state|=0x08;
0114 80910000 lds R24,_out_state
0118 8860 ori R24,8
011A 80930000 sts _out_state,R24
011E .dbline 110
011E ; PORTE = (out_state<<2);
011E 282E mov R2,R24
0120 220C lsl R2
0122 220C lsl R2
0124 2EB8 out 0xe,R2
0126 .dbline 111
0126 ; PORTD |= 0x80;
0126 5F9A sbi 0xb,7
0128 .dbline 112
0128 ; asm("nop");
0128 0000 nop
012A .dbline 113
012A ; asm("nop");
012A 0000 nop
012C .dbline 114
012C ; PORTD &= 0x7f;
012C 8BB1 in R24,0xb
012E 8F77 andi R24,127
0130 8BB9 out 0xb,R24
0132 .dbline -2
0132 L9:
0132 .dbline 0 ; func end
0132 0895 ret
0134 .dbend
0134 .dbfunc e relay3_off _relay3_off fV
.even
0134 _relay3_off::
0134 .dbline -1
0134 .dbline 118
0134 ; }
0134 ;
0134 ; void relay3_off(void) //继电器3关闭函数
0134 ; {
0134 .dbline 119
0134 ; WDR();
0134 A895 wdr
0136 .dbline 120
0136 ; PORTC&=0xef;
0136 88B1 in R24,0x8
0138 8F7E andi R24,239
013A 88B9 out 0x8,R24
013C .dbline 121
013C ; out_state&=~(0x08);
013C 80910000 lds R24,_out_state
0140 877F andi R24,247
0142 80930000 sts _out_state,R24
0146 .dbline 122
0146 ; PORTE = (out_state<<2);
0146 282E mov R2,R24
0148 220C lsl R2
014A 220C lsl R2
014C 2EB8 out 0xe,R2
014E .dbline 123
014E ; PORTD |= 0x80;
014E 5F9A sbi 0xb,7
0150 .dbline 124
0150 ; asm("nop");
0150 0000 nop
0152 .dbline 125
0152 ; asm("nop");
0152 0000 nop
0154 .dbline 126
0154 ; PORTD &= 0x7f;
0154 8BB1 in R24,0xb
0156 8F77 andi R24,127
0158 8BB9 out 0xb,R24
015A .dbline -2
015A L10:
015A .dbline 0 ; func end
015A 0895 ret
015C .dbend
015C .dbfunc e relay4_on _relay4_on fV
.even
015C _relay4_on::
015C .dbline -1
015C .dbline 130
015C ; }
015C ;
015C ; void relay4_on(void) //继电器4打开函数
015C ; {
015C .dbline 131
015C ; WDR();
015C A895 wdr
015E .dbline 132
015E ; PORTC&=0xef;
015E 88B1 in R24,0x8
0160 8F7E andi R24,239
0162 88B9 out 0x8,R24
0164 .dbline 133
0164 ; out_state|=0x10;
0164 80910000 lds R24,_out_state
0168 8061 ori R24,16
016A 80930000 sts _out_state,R24
016E .dbline 134
016E ; PORTE = (out_state<<2);
016E 282E mov R2,R24
0170 220C lsl R2
0172 220C lsl R2
0174 2EB8 out 0xe,R2
0176 .dbline 135
0176 ; PORTD |= 0x80;
0176 5F9A sbi 0xb,7
0178 .dbline 136
0178 ; asm("nop");
0178 0000 nop
017A .dbline 137
017A ; asm("nop");
017A 0000 nop
017C .dbline 138
017C ; PORTD &= 0x7f;
017C 8BB1 in R24,0xb
017E 8F77 andi R24,127
0180 8BB9 out 0xb,R24
0182 .dbline -2
0182 L11:
0182 .dbline 0 ; func end
0182 0895 ret
0184 .dbend
0184 .dbfunc e relay4_off _relay4_off fV
.even
0184 _relay4_off::
0184 .dbline -1
0184 .dbline 142
0184 ; }
0184 ;
0184 ; void relay4_off(void) //继电器4关闭函数
0184 ; {
0184 .dbline 143
0184 ; WDR();
0184 A895 wdr
0186 .dbline 144
0186 ; PORTC&=0xef;
0186 88B1 in R24,0x8
0188 8F7E andi R24,239
018A 88B9 out 0x8,R24
018C .dbline 145
018C ; out_state&=~(0x10);
018C 80910000 lds R24,_out_state
0190 8F7E andi R24,239
0192 80930000 sts _out_state,R24
0196 .dbline 146
0196 ; PORTE = (out_state<<2);
0196 282E mov R2,R24
0198 220C lsl R2
019A 220C lsl R2
019C 2EB8 out 0xe,R2
019E .dbline 147
019E ; PORTD |= 0x80;
019E 5F9A sbi 0xb,7
01A0 .dbline 148
01A0 ; asm("nop");
01A0 0000 nop
01A2 .dbline 149
01A2 ; asm("nop");
01A2 0000 nop
01A4 .dbline 150
01A4 ; PORTD &= 0x7f;
01A4 8BB1 in R24,0xb
01A6 8F77 andi R24,127
01A8 8BB9 out 0xb,R24
01AA .dbline -2
01AA L12:
01AA .dbline 0 ; func end
01AA 0895 ret
01AC .dbend
01AC .dbfunc e relay5_on _relay5_on fV
.even
01AC _relay5_on::
01AC .dbline -1
01AC .dbline 154
01AC ; }
01AC ;
01AC ; void relay5_on(void) //继电器5打开函数
01AC ; {
01AC .dbline 155
01AC ; WDR();
01AC A895 wdr
01AE .dbline 156
01AE ; PORTC&=0xef;
01AE 88B1 in R24,0x8
01B0 8F7E andi R24,239
01B2 88B9 out 0x8,R24
01B4 .dbline 157
01B4 ; out_state|=0x20;
01B4 80910000 lds R24,_out_state
01B8 8062 ori R24,32
01BA 80930000 sts _out_state,R24
01BE .dbline 158
01BE ; PORTE = (out_state<<2);
01BE 282E mov R2,R24
01C0 220C lsl R2
01C2 220C lsl R2
01C4 2EB8 out 0xe,R2
01C6 .dbline 159
01C6 ; PORTD |= 0x80;
01C6 5F9A sbi 0xb,7
01C8 .dbline 160
01C8 ; asm("nop");
01C8 0000 nop
01CA .dbline 161
01CA ; asm("nop");
01CA 0000 nop
01CC .dbline 162
01CC ; PORTD &= 0x7f;
01CC 8BB1 in R24,0xb
01CE 8F77 andi R24,127
01D0 8BB9 out 0xb,R24
01D2 .dbline -2
01D2 L13:
01D2 .dbline 0 ; func end
01D2 0895 ret
01D4 .dbend
01D4 .dbfunc e relay5_off _relay5_off fV
.even
01D4 _relay5_off::
01D4 .dbline -1
01D4 .dbline 166
01D4 ; }
01D4 ;
01D4 ; void relay5_off(void) //继电器5关闭函数
01D4 ; {
01D4 .dbline 167
01D4 ; WDR();
01D4 A895 wdr
01D6 .dbline 168
01D6 ; PORTC&=0xef;
01D6 88B1 in R24,0x8
01D8 8F7E andi R24,239
01DA 88B9 out 0x8,R24
01DC .dbline 169
01DC ; out_state&=~(0x20);
01DC 80910000 lds R24,_out_state
01E0 8F7D andi R24,223
01E2 80930000 sts _out_state,R24
01E6 .dbline 170
01E6 ; PORTE = (out_state<<2);
01E6 282E mov R2,R24
01E8 220C lsl R2
01EA 220C lsl R2
01EC 2EB8 out 0xe,R2
01EE .dbline 171
01EE ; PORTD |= 0x80;
01EE 5F9A sbi 0xb,7
01F0 .dbline 172
01F0 ; asm("nop");
01F0 0000 nop
01F2 .dbline 173
01F2 ; asm("nop");
01F2 0000 nop
01F4 .dbline 174
01F4 ; PORTD &= 0x7f;
01F4 8BB1 in R24,0xb
01F6 8F77 andi R24,127
01F8 8BB9 out 0xb,R24
01FA .dbline -2
01FA L14:
01FA .dbline 0 ; func end
01FA 0895 ret
01FC .dbend
01FC .dbfunc e relay_out_reset _relay_out_reset fV
.even
01FC _relay_out_reset::
01FC .dbline -1
01FC .dbline 178
01FC ; }
01FC ;
01FC ; void relay_out_reset(void) //继电器输出复位
01FC ; {
01FC .dbline 179
01FC ; WDR();
01FC A895 wdr
01FE .dbline 180
01FE ; PORTC&=0xef;
01FE 88B1 in R24,0x8
0200 8F7E andi R24,239
0202 88B9 out 0x8,R24
0204 .dbline 181
0204 ; PORTE = 0x00;
0204 2224 clr R2
0206 2EB8 out 0xe,R2
0208 .dbline 182
0208 ; PORTG = 0x00;
0208 24BA out 0x14,R2
020A .dbline 183
020A ; PORTD |= 0x80;
020A 5F9A sbi 0xb,7
020C .dbline 184
020C ; asm("nop");
020C 0000 nop
020E .dbline 185
020E ; asm("nop");
020E 0000 nop
0210 .dbline 186
0210 ; PORTD &= 0x7f;
0210 8BB1 in R24,0xb
0212 8F77 andi R24,127
0214 8BB9 out 0xb,R24
0216 .dbline -2
0216 L15:
0216 .dbline 0 ; func end
0216 0895 ret
0218 .dbend
0218 .dbfunc e led_off _led_off fV
0218 ; tempdata -> R20
0218 ; temp -> R22
0218 ; i -> R20
.even
0218 _led_off::
0218 0E940000 xcall push_gset3
021C 402F mov R20,R16
021E .dbline -1
021E .dbline 191
021E ; }
021E ;
021E ;
021E ; void led_off(unsigned char i) //LED灯灭
021E ; {
021E .dbline 193
021E ; unsigned char temp,tempdata;
021E ; WDR();
021E A895 wdr
0220 .dbline 194
0220 ; temp = i>>3;
0220 642F mov R22,R20
0222 6695 lsr R22
0224 6695 lsr R22
0226 6695 lsr R22
0228 .dbline 195
0228 ; PORTD&=0x7f;
0228 8BB1 in R24,0xb
022A 8F77 andi R24,127
022C 8BB9 out 0xb,R24
022E .dbline 196
022E ; asm("nop");
022E 0000 nop
0230 .dbline 197
0230 ; asm("nop");
0230 0000 nop
0232 .dbline 198
0232 ; switch(temp)
0232 A62E mov R10,R22
0234 BB24 clr R11
0236 AA20 tst R10
0238 11F4 brne X0
023A BB20 tst R11
023C B1F0 breq L20
023E X0:
023E C501 movw R24,R10
0240 8130 cpi R24,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -