📄 ac20-1.s
字号:
.dbline 255
; case 60:wide=open_inc_tab[8];break;
lds R2,_open_inc_tab+8
sts _wide,R2
.dbline 255
xjmp L105
L123:
.dbline 256
; case 65:wide=open_inc_tab[9];break;
lds R2,_open_inc_tab+9
sts _wide,R2
.dbline 256
xjmp L105
L125:
.dbline 257
; case 75:wide=open_inc_tab[10];break;
lds R2,_open_inc_tab+10
sts _wide,R2
.dbline 257
xjmp L105
L127:
.dbline 258
; case 85:wide=open_inc_tab[11];break;
lds R2,_open_inc_tab+11
sts _wide,R2
.dbline 258
xjmp L105
L129:
.dbline 259
; case 90:wide=open_inc_tab[12];break;
lds R2,_open_inc_tab+12
sts _wide,R2
.dbline 259
xjmp L105
L131:
.dbline 260
; case 100:wide=open_inc_tab[13];break;
lds R2,_open_inc_tab+13
sts _wide,R2
.dbline 260
xjmp L105
L133:
.dbline 261
; case 105:wide=open_inc_tab[14];break;
lds R2,_open_inc_tab+14
sts _wide,R2
.dbline 261
xjmp L105
L135:
.dbline 262
; case 115:wide=open_inc_tab[15];inc_dec_flag=0;break;
lds R2,_open_inc_tab+15
sts _wide,R2
.dbline 262
clr R2
sts _inc_dec_flag,R2
.dbline 262
.dbline 263
; default:break;
L105:
.dbline 265
; }
; OCR2=wide;
lds R2,_wide
out 0x23,R2
.dbline -2
L103:
.dbline 0 ; func end
ret
.dbsym r sp_pl 16 i
.dbend
.dbfunc e openhalf_dec_speed _openhalf_dec_speed fV
; sp_pl -> R16,R17
.even
_openhalf_dec_speed::
.dbline -1
.dbline 271
; }
;
;
; /*==========门扇半开运行的减速子函数===========*/
; void openhalf_dec_speed(uint sp_pl)
; {
.dbline 272
; switch (sp_pl)
cpi R16,80
ldi R30,0
cpc R17,R30
brne X50
xjmp L167
X50:
ldi R24,80
ldi R25,0
cp R24,R16
cpc R25,R17
brge X51
xjmp L188
X51:
L187:
cpi R16,30
ldi R30,0
cpc R17,R30
brne X52
xjmp L159
X52:
ldi R24,30
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L190
L189:
cpi R16,1
ldi R30,0
cpc R17,R30
brne X53
xjmp L155
X53:
cpi R16,1
ldi R30,0
cpc R17,R30
brge X54
xjmp L154
X54:
L191:
cpi R16,15
ldi R30,0
cpc R17,R30
brne X55
xjmp L157
X55:
xjmp L154
L190:
cpi R16,60
ldi R30,0
cpc R17,R30
brne X56
xjmp L163
X56:
ldi R24,60
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L193
L192:
cpi R16,45
ldi R30,0
cpc R17,R30
brne X57
xjmp L161
X57:
xjmp L154
L193:
cpi R16,70
ldi R30,0
cpc R17,R30
brne X58
xjmp L165
X58:
xjmp L154
L188:
cpi R16,110
ldi R30,0
cpc R17,R30
brne X59
xjmp L175
X59:
cpi R16,113
ldi R30,0
cpc R17,R30
brne X60
xjmp L177
X60:
ldi R24,113
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L195
L194:
cpi R16,100
ldi R30,0
cpc R17,R30
brne X61
xjmp L171
X61:
ldi R24,100
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L197
L196:
cpi R16,90
ldi R30,0
cpc R17,R30
brne X62
xjmp L169
X62:
xjmp L154
L197:
cpi R16,105
ldi R30,0
cpc R17,R30
brne X63
xjmp L173
X63:
xjmp L154
L195:
cpi R16,122
ldi R30,0
cpc R17,R30
brne X64
xjmp L183
X64:
cpi R16,125
ldi R30,0
cpc R17,R30
brne X65
xjmp L185
X65:
ldi R24,125
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L199
L198:
cpi R16,116
ldi R30,0
cpc R17,R30
brne X66
xjmp L179
X66:
cpi R16,119
ldi R30,0
cpc R17,R30
brne X67
xjmp L181
X67:
xjmp L154
L199:
cpi R16,128
ldi R30,0
cpc R17,R30
brne X68
xjmp L186
X68:
xjmp L154
X49:
.dbline 273
; {
L155:
.dbline 274
; case 1:wide=open_dec_tab[15];break;
lds R2,_open_dec_tab+15
sts _wide,R2
.dbline 274
xjmp L154
L157:
.dbline 275
; case 15:wide=open_dec_tab[14];break;
lds R2,_open_dec_tab+14
sts _wide,R2
.dbline 275
xjmp L154
L159:
.dbline 276
; case 30:wide=open_dec_tab[13];break;
lds R2,_open_dec_tab+13
sts _wide,R2
.dbline 276
xjmp L154
L161:
.dbline 277
; case 45:wide=open_dec_tab[12];break;
lds R2,_open_dec_tab+12
sts _wide,R2
.dbline 277
xjmp L154
L163:
.dbline 278
; case 60:wide=open_dec_tab[11];break;
lds R2,_open_dec_tab+11
sts _wide,R2
.dbline 278
xjmp L154
L165:
.dbline 279
; case 70:wide=open_dec_tab[10];break;
lds R2,_open_dec_tab+10
sts _wide,R2
.dbline 279
xjmp L154
L167:
.dbline 280
; case 80:wide=open_dec_tab[9];break;
lds R2,_open_dec_tab+9
sts _wide,R2
.dbline 280
xjmp L154
L169:
.dbline 281
; case 90:wide=open_dec_tab[8];break;
lds R2,_open_dec_tab+8
sts _wide,R2
.dbline 281
xjmp L154
L171:
.dbline 282
; case 100:wide=open_dec_tab[7];break;
lds R2,_open_dec_tab+7
sts _wide,R2
.dbline 282
xjmp L154
L173:
.dbline 283
; case 105:wide=open_dec_tab[6];break;
lds R2,_open_dec_tab+6
sts _wide,R2
.dbline 283
xjmp L154
L175:
.dbline 284
; case 110:wide=open_dec_tab[5];break;
lds R2,_open_dec_tab+5
sts _wide,R2
.dbline 284
xjmp L154
L177:
.dbline 285
; case 113:wide=open_dec_tab[4];break;
lds R2,_open_dec_tab+4
sts _wide,R2
.dbline 285
xjmp L154
L179:
.dbline 286
; case 116:wide=open_dec_tab[3];break;
lds R2,_open_dec_tab+3
sts _wide,R2
.dbline 286
xjmp L154
L181:
.dbline 287
; case 119:wide=open_dec_tab[2];break;
lds R2,_open_dec_tab+2
sts _wide,R2
.dbline 287
xjmp L154
L183:
.dbline 288
; case 122:wide=open_dec_tab[1];break;
lds R2,_open_dec_tab+1
sts _wide,R2
.dbline 288
xjmp L154
L185:
.dbline 289
; case 125:wide=open_dec_tab[0];break;
lds R2,_open_dec_tab
sts _wide,R2
.dbline 289
xjmp L154
L186:
.dbline 290
; case 128:wide=open_dec_tab[0]-6;inc_dec_flag=0;break;
lds R24,_open_dec_tab
subi R24,6
sts _wide,R24
.dbline 290
clr R2
sts _inc_dec_flag,R2
.dbline 290
.dbline 291
; default:break;
L154:
.dbline 293
; }
; OCR2=wide;
lds R2,_wide
out 0x23,R2
.dbline -2
L152:
.dbline 0 ; func end
ret
.dbsym r sp_pl 16 i
.dbend
.dbfunc e open_dec_speed _open_dec_speed fV
; sp_pl -> R16,R17
.even
_open_dec_speed::
.dbline -1
.dbline 299
; }
;
;
; /*========开门时的减速子函数==========*/
; void open_dec_speed(uint sp_pl)
; {
.dbline 300
; switch (sp_pl)
cpi R16,80
ldi R30,0
cpc R17,R30
brne X70
xjmp L215
X70:
ldi R24,80
ldi R25,0
cp R24,R16
cpc R25,R17
brge X71
xjmp L235
X71:
L234:
cpi R16,30
ldi R30,0
cpc R17,R30
brne X72
xjmp L207
X72:
ldi R24,30
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L237
L236:
cpi R16,1
ldi R30,0
cpc R17,R30
brne X73
xjmp L203
X73:
cpi R16,1
ldi R30,0
cpc R17,R30
brge X74
xjmp L202
X74:
L238:
cpi R16,15
ldi R30,0
cpc R17,R30
brne X75
xjmp L205
X75:
xjmp L202
L237:
cpi R16,60
ldi R30,0
cpc R17,R30
brne X76
xjmp L211
X76:
ldi R24,60
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L240
L239:
cpi R16,45
ldi R30,0
cpc R17,R30
brne X77
xjmp L209
X77:
xjmp L202
L240:
cpi R16,70
ldi R30,0
cpc R17,R30
brne X78
xjmp L213
X78:
xjmp L202
L235:
cpi R16,105
ldi R30,0
cpc R17,R30
brne X79
xjmp L221
X79:
ldi R24,105
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L242
L241:
cpi R16,90
ldi R30,0
cpc R17,R30
brne X80
xjmp L217
X80:
cpi R16,90
ldi R30,0
cpc R17,R30
brge X81
xjmp L202
X81:
L243:
cpi R16,100
ldi R30,0
cpc R17,R30
brne X82
xjmp L219
X82:
xjmp L202
L242:
cpi R16,116
ldi R30,0
cpc R17,R30
brne X83
xjmp L227
X83:
cpi R16,119
ldi R30,0
cpc R17,R30
brne X84
xjmp L229
X84:
ldi R24,119
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L245
L244:
cpi R16,110
ldi R30,0
cpc R17,R30
brne X85
xjmp L223
X85:
cpi R16,113
ldi R30,0
cpc R17,R30
brne X86
xjmp L225
X86:
xjmp L202
L245:
cpi R16,122
ldi R30,0
cpc R17,R30
brne X87
xjmp L231
X87:
cpi R16,125
ldi R30,0
cpc R17,R30
brne X88
xjmp L233
X88:
xjmp L202
X69:
.dbline 301
; {
L203:
.dbline 302
; case 1:wide=open_dec_tab[15];break;
lds R2,_open_dec_tab+15
sts _wide,R2
.dbline 302
xjmp L202
L205:
.dbline 303
; case 15:wide=open_dec_tab[14];break;
lds R2,_open_dec_tab+14
sts _wide,R2
.dbline 303
xjmp L202
L207:
.dbline 304
; case 30:wide=open_dec_tab[13];break;
lds R2,_open_dec_tab+13
sts _wide,R2
.dbline 304
xjmp L202
L209:
.dbline 305
; case 45:wide=open_dec_tab[12];break;
lds R2,_open_dec_tab+12
sts _wide,R2
.dbline 305
xjmp L202
L211:
.dbline 306
; case 60:wide=open_dec_tab[11];break;
lds R2,_open_dec_tab+11
sts _wide,R2
.dbline 306
xjmp L202
L213:
.dbline 307
; case 70:wide=open_dec_tab[10];break;
lds R2,_open_dec_tab+10
sts _wide,R2
.dbline 307
xjmp L202
L215:
.dbline 308
; case 80:wide=open_dec_tab[9];break;
lds R2,_open_dec_tab+9
sts _wide,R2
.dbline 308
xjmp L202
L217:
.dbline 309
; case 90:wide=open_dec_tab[8];break;
lds R2,_open_dec_tab+8
sts _wide,R2
.dbline 309
xjmp L202
L219:
.dbline 310
; case 100:wide=open_dec_tab[7];break;
lds R2,_open_dec_tab+7
sts _wide,R2
.dbline 310
xjmp L202
L221:
.dbline 311
; case 105:wide=open_dec_tab[6];break;
lds R2,_open_dec_tab+6
sts _wide,R2
.dbline 311
xjmp L202
L223:
.dbline 312
; case 110:wide=open_dec_tab[5];break;
lds R2,_open_dec_tab+5
sts _wide,R2
.dbline 312
xjmp L202
L225:
.dbline 313
; case 113:wide=open_dec_tab[4];break;
lds R2,_open_dec_tab+4
sts _wide,R2
.dbline 313
xjmp L202
L227:
.dbline 314
; case 116:wide=open_dec_tab[3];break;
lds R2,_open_dec_tab+3
sts _wide,R2
.dbline 314
xjmp L202
L229:
.dbline 315
; case 119:wide=open_dec_tab[2];break;
lds R2,_open_dec_tab+2
sts _wide,R2
.dbline 315
xjmp L202
L231:
.dbline 316
; case 122:wide=open_dec_tab[1];break;
lds R2,_open_dec_tab+1
sts _wide,R2
.dbline 316
xjmp L202
L233:
.dbline 317
; case 125:wide=open_dec_tab[0];inc_dec_flag=0;break;
lds R2,_open_dec_tab
sts _wide,R2
.dbline 317
clr R2
sts _inc_dec_flag,R2
.dbline 317
.dbline 318
; default:break;
L202:
.dbline 320
; }
; OCR2=wide;
lds R2,_wide
out 0x23,R2
.dbline -2
L200:
.dbline 0 ; func end
ret
.dbsym r sp_pl 16 i
.dbend
.dbfunc e close_inc_speed _close_inc_speed fV
; sp_pl -> R16,R17
.even
_close_inc_speed::
.dbline -1
.dbline 326
; }
;
;
; /*==========关门时的加速子函数============*/
; void close_inc_speed(uint sp_pl)
; {
.dbline 327
; switch (sp_pl)
cpi R16,50
ldi R30,0
cpc R17,R30
brne X90
xjmp L262
X90:
ldi R24,50
ldi R25,0
cp R24,R16
cpc R25,R17
brge X91
xjmp L281
X91:
L280:
cpi R16,20
ldi R30,0
cpc R17,R30
brne X92
xjmp L254
X92:
ldi R24,20
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L283
L282:
cpi R16,5
ldi R30,0
cpc R17,R30
brne X93
xjmp L250
X93:
ldi R24,5
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L285
L284:
cpi R16,1
ldi R30,0
cpc R17,R30
brne X94
xjmp L249
X94:
xjmp L248
L285:
cpi R16,10
ldi R30,0
cpc R17,R30
brne X95
xjmp L252
X95:
xjmp L248
L283:
cpi R16,35
ldi R30,0
cpc R17,R30
brne X96
xjmp L258
X96:
ldi R24,35
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L287
L286:
cpi R16,25
ldi R30,0
cpc R17,R30
brne X97
xjmp L256
X97:
xjmp L248
L287:
cpi R16,45
ldi R30,0
cpc R17,R30
brne X98
xjmp L260
X98:
xjmp L248
L281:
cpi R16,85
ldi R30,0
cpc R17,R30
brne X99
xjmp L270
X99:
ldi R24,85
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L289
L288:
cpi R16,65
ldi R30,0
cpc R17,R30
brne X100
xjmp L266
X100:
ldi R24,65
ldi R25,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -