📄 dimmer.lst
字号:
236 072F 00A7 movwf ?a_DataResume
237 ;Dimmer.c: 59: if(ret == 0xAA) {
238 0730 3AAA xorlw -86
239 0731 1D03 btfss 3,2
240 0732 0008 return
241 0733 l17
242 ;Dimmer.c: 60: while(1){
243 ;Dimmer.c: 61: RB2 = !RB2;
244 0733 3004 movlw 4
245 0734 0686 xorwf 6
246 ;Dimmer.c: 62: Delay(20);
247 0735 3014 movlw 20
248 0736 2704 fcall _Delay
249 ;Dimmer.c: 63: }
250 0737 2F33 goto l17
251 0738 _INT_Init
252 ;Dimmer.c: 23: PEIE = 1;
253 0738 170B bsf 11,6
254 ;Dimmer.c: 24: RBIE = 1;
255 0739 158B bsf 11,3
256 ;Dimmer.c: 25: PORTB = PORTB;
257 073A 1283 bcf 3,5
258 073B 1303 bcf 3,6 ;carry unused
259 073C 0806 movf 6,w ;volatile
260 073D 0086 movwf 6 ;volatile
261 ;Dimmer.c: 26: RBIF = 0;
262 073E 100B bcf 11,0
263 ;Dimmer.c: 28: }
264 073F 0008 return
265 ;Dimmer.c: 105: void main(void)
266 ;Dimmer.c: 106: {
267 0740 _main
268 ; _ScalerCnt assigned to ?a_main+0
269 0000 _main$ScalerCnt set ?a_main
270 ;Dimmer.c: 107: unsigned char ScalerCnt;
271 0740 2738 fcall _INT_Init
272 ;Dimmer.c: 112: Port_Init();
273 0741 118A 24C4 fcall _Port_Init
274 ;Dimmer.c: 113: I2C_Init();
275 0743 118A 24F4 fcall _I2C_Init
276 ;Dimmer.c: 114: UART_Init();
277 0745 118A 24D3 fcall _UART_Init
278 ;Dimmer.c: 115: Timer_Init();
279 0747 118A 24E3 118A fcall _Timer_Init
280 ;Dimmer.c: 117: ScalerCnt = 0;
281 074A 01A6 clrf ?a_main
282 ;Dimmer.c: 118: RB2 = 0;
283 074B 1106 bcf 6,2
284 ;Dimmer.c: 141: Delay(100);
285 074C 3064 movlw 100
286 074D 2704 fcall _Delay
287 ;Dimmer.c: 142: GIE = 1;
288 074E 178B bsf 11,7
289 ;Dimmer.c: 143: DMX512_SendData(0x00);
290 074F 3000 movlw 0
291 0750 118A 251E 118A fcall _DMX512_SendData
292 ;Dimmer.c: 144: Sys_Init();
293 0753 26EA 118A fcall _Sys_Init
294 0755 l32
295 ;Dimmer.c: 146: while(1)
296 ;Dimmer.c: 147: {
297 0755 0B20 decfsz _KeyEvent,w ;volatile
298 0756 2FB7 goto l34
299 ;Dimmer.c: 149: if(PowerState == 0){
300 0757 0825 movf _PowerState,w ;volatile
301 0758 1903 btfsc 3,2
302 0759 2FEE goto L2
303 ;Dimmer.c: 150: KeyEvent = 0x00;
304 ;Dimmer.c: 151: continue;
305 ;Dimmer.c: 152: }
306 075A 30B4 movlw -76
307 075B 118A 2506 118A fcall _Delay1ms
308 ;Dimmer.c: 154: RB2 = 1;
309 075E 1506 bsf 6,2
310 ;Dimmer.c: 155: ScalerCnt = 0;
311 075F 01A6 clrf ?a_main
312 ;Dimmer.c: 156: if(!RB6){
313 0760 1F06 btfss 6,6
314 0761 2F86 goto l37
315 0762 2F89 goto l36
316 ;Dimmer.c: 157: while(!RB6){
317 0763 l38
318 ;Dimmer.c: 158: if(GreyLevel > 0){
319 0763 0824 movf _GreyLevel,w ;volatile
320 0764 1903 btfsc 3,2
321 0765 2F7A goto l40
322 ;Dimmer.c: 159: GreyLevel--;
323 0766 03A4 decf _GreyLevel ;volatile
324 ;Dimmer.c: 160: DMX512_SendData(CodingTable[Gre
+ yLevel]);
325 0767 3000 movlw _CodingTable shr (0+8)
326 0768 008A movwf 10
327 0769 0824 movf _GreyLevel,w ;volatile
328 076A 2048 call ((_CodingTable+-1)& (0+2047))| (($)& (0+-
+ 2048))
329 076B 118A 251E fcall _DMX512_SendData
330 ;Dimmer.c: 161: Delay1ms(20);
331 076D 3014 movlw 20
332 076E 118A 2506 118A fcall _Delay1ms
333 ;Dimmer.c: 162: if(++ScalerCnt >= (180/20)){
334 0771 3009 movlw 9
335 0772 0AA6 incf ?a_main
336 0773 0226 subwf ?a_main,w
337 0774 1C03 btfss 3,0
338 0775 2F82 goto l42
339 ;Dimmer.c: 163: ScalerCnt = 0;
340 0776 01A6 clrf ?a_main
341 ;Dimmer.c: 164: RB2 = !RB2;
342 0777 3004 movlw 4
343 0778 0686 xorwf 6
344 ;Dimmer.c: 165: }
345 0779 2F82 goto l42
346 077A l40
347 ;Dimmer.c: 167: GreyLevel = 0;
348 077A 01A4 clrf _GreyLevel ;volatile
349 ;Dimmer.c: 168: if(++ScalerCnt >= (180/20)){
350 077B 3009 movlw 9
351 077C 0AA6 incf ?a_main
352 077D 0226 subwf ?a_main,w
353 077E 1C03 btfss 3,0
354 077F 2F82 goto l42
355 ;Dimmer.c: 169: ScalerCnt = 0;
356 0780 01A6 clrf ?a_main
357 ;Dimmer.c: 170: RB2 = 1;
358 0781 1506 bsf 6,2
359 ;Dimmer.c: 171: }
360 0782 l42
361 ;Dimmer.c: 175: if(KeyEvent == 0x02){
362 0782 0820 movf _KeyEvent,w ;volatile
363 0783 3A02 xorlw 2
364 0784 1903 btfsc 3,2
365 0785 2FB1 goto L4
366 ;Dimmer.c: 176: DataSave();
367 ;Dimmer.c: 177: break;
368 0786 l37
369 0786 1B06 btfsc 6,6
370 0787 2F55 goto l32
371 0788 2F63 goto l38
372 ;Dimmer.c: 180: }
373 0789 l36
374 0789 1E86 btfss 6,5
375 078A 2FB4 goto l47
376 078B 2F55 goto l32
377 ;Dimmer.c: 182: while(!RB5){
378 078C l48
379 ;Dimmer.c: 183: if(GreyLevel < (74-1)){
380 078C 3049 movlw 73
381 078D 0224 subwf _GreyLevel,w ;volatile
382 078E 1803 btfsc 3,0
383 078F 2FA4 goto l50
384 ;Dimmer.c: 184: GreyLevel++;
385 0790 0AA4 incf _GreyLevel ;volatile
386 ;Dimmer.c: 185: DMX512_SendData(CodingTable[Gre
+ yLevel]);
387 0791 3000 movlw _CodingTable shr (0+8)
388 0792 008A movwf 10
389 0793 0824 movf _GreyLevel,w ;volatile
390 0794 2048 call ((_CodingTable+-1)& (0+2047))| (($)& (0+-
+ 2048))
391 0795 118A 251E fcall _DMX512_SendData
392 ;Dimmer.c: 187: Delay1ms(20);
393 0797 3014 movlw 20
394 0798 118A 2506 118A fcall _Delay1ms
395 ;Dimmer.c: 188: if(++ScalerCnt >= (180/20)){
396 079B 3009 movlw 9
397 079C 0AA6 incf ?a_main
398 079D 0226 subwf ?a_main,w
399 079E 1C03 btfss 3,0
400 079F 2FAD goto l52
401 ;Dimmer.c: 189: ScalerCnt = 0;
402 07A0 01A6 clrf ?a_main
403 ;Dimmer.c: 190: RB2 = !RB2;
404 07A1 3004 movlw 4
405 07A2 0686 xorwf 6
406 ;Dimmer.c: 191: }
407 07A3 2FAD goto l52
408 07A4 l50
409 ;Dimmer.c: 193: GreyLevel = (74-1);
410 07A4 3049 movlw 73
411 07A5 00A4 movwf _GreyLevel ;volatile
412 ;Dimmer.c: 194: if(++ScalerCnt >= (180/20)){
413 07A6 3009 movlw 9
414 07A7 0AA6 incf ?a_main
415 07A8 0226 subwf ?a_main,w
416 07A9 1C03 btfss 3,0
417 07AA 2FAD goto l52
418 ;Dimmer.c: 195: ScalerCnt = 0;
419 07AB 01A6 clrf ?a_main
420 ;Dimmer.c: 196: RB2 = 1;
421 07AC 1506 bsf 6,2
422 ;Dimmer.c: 197: }
423 07AD l52
424 ;Dimmer.c: 201: if(KeyEvent == 0x02){
425 07AD 0820 movf _KeyEvent,w ;volatile
426 07AE 3A02 xorlw 2
427 07AF 1D03 btfss 3,2
428 07B0 2FB4 goto l47
429 07B1 L4
430 ;Dimmer.c: 202: DataSave();
431 07B1 26DF 118A fcall _DataSave
432 ;Dimmer.c: 203: break;
433 07B3 2F55 goto l32
434 07B4 l47
435 07B4 1E86 btfss 6,5
436 07B5 2F8C goto l48
437 ;Dimmer.c: 206: }
438 ;Dimmer.c: 208: else if(KeyEvent == 0x02) {
439 07B6 2F55 goto l32
440 07B7 l34
441 07B7 0820 movf _KeyEvent,w ;volatile
442 07B8 3A02 xorlw 2
443 07B9 1D03 btfss 3,2
444 07BA 2FF0 goto l56
445 ;Dimmer.c: 209: if(KeyValue & 0x01){
446 07BB 1C21 btfss _KeyValue,0 ;volatile
447 07BC 2FCC goto l57
448 ;Dimmer.c: 210: if(PowerState){
449 07BD 0825 movf _PowerState,w ;volatile
450 07BE 1903 btfsc 3,2
451 07BF 2FC4 goto l58
452 ;Dimmer.c: 211: PowerState = 0;
453 07C0 01A5 clrf _PowerState ;volatile
454 ;Dimmer.c: 212: RB2 = 0;
455 07C1 1106 bcf 6,2
456 ;Dimmer.c: 213: DMX512_SendData(0x00);
457 07C2 3000 movlw 0
458 07C3 2FE8 goto L3
459 ;Dimmer.c: 214: }else{
460 07C4 l58
461 ;Dimmer.c: 215: PowerState = 1;
462 07C4 3001 movlw 1
463 07C5 00A5 movwf _PowerState ;volatile
464 ;Dimmer.c: 216: RB2 = 1;
465 07C6 1506 bsf 6,2
466 ;Dimmer.c: 217: DMX512_SendData(CodingTable[Gre
+ yLevel]);
467 07C7 3000 movlw _CodingTable shr (0+8)
468 07C8 008A movwf 10
469 07C9 0824 movf _GreyLevel,w ;volatile
470 07CA 2048 call ((_CodingTable+-1)& (0+2047))| (($)& (0+-
+ 2048))
471 07CB 2FE8 goto L3
472 ;Dimmer.c: 218: }
473 ;Dimmer.c: 219: }
474 07CC l57
475 07CC 1CA1 btfss _KeyValue,1 ;volatile
476 07CD 2FDB goto l61
477 ;Dimmer.c: 221: if(!PowerState) continue;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -