📄 led.asm
字号:
;********************************************************; PROJECT NAME : nimh charger *; Author : borg *; VERSION : V0.0 *; BODY : SN8P2704a *; COMPILER : 1.99N *; function : *; input : *; output : tempvolt1_l, tempvolt1_h *; tempvolt2_l, tempvolt2_h *; use register : data1, data2, tempvolt1_l, tempvolt1_h*; tempvolt2_l, tempvolt2_h *; use flag : dtemp1_f, dtemp2_f *; run cycles : *; *******************************************************;************************************************;NAME :LEDSUB;FUNCTION:;INPUT :;OUTPUT :;REGISTER USED:;************************************************LEDSUB: MOV A,#0FFH MOV P1M,A mov a,#0fh OR P5M,A;------------------------------------------------POWERLED: b0bts1 power_light_f jmp powerled90 b0BTS1 POWER_f JMP powerled10 jmp powerled20powerled20: MOV A,#00010000B MOV P1,A MOV A,P5 AND A,#11110000b or a,#00001110b MOV P5,A incms power_light mov a,#2 cmprs a,power_light JMP POWERLED90 jmp powerled10 powerled10: clr power_light MOV A,p1 mov a,#11101111b MOV P1,A MOV A,P5 AND A,#11110000b or a,#00001111b MOV P5,A bclr power_light_f bclr fire_light_f bset func_light_f bclr timer_light_f jmp powerled90POWERLED90: jmp functionled ;------------------------------------------------ FUNCTIONLED: b0bts1 func_light_f jmp FUNCTIONled90 b0bts1 power_f jmp functionled80 FUNCTIONled50: MOV A,FCOUNTER CMPRS A,#00 JMP FUNCTIONLED10 MOV A,#00010000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0DH MOV P5,A JMP FUNCTIONLED80FUNCTIONLED10: MOV A,FCOUNTER CMPRS A,#01 JMP FUNCTIONLED20 MOV A,#00001000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0DH MOV P5,A JMP FUNCTIONLED80FUNCTIONLED20: MOV A,FCOUNTER CMPRS A,#02 JMP FUNCTIONLED30 MOV A,#04H MOV P1,A MOV A,P5 AND A,#10H OR A,#0DH MOV P5,A JMP FUNCTIONLED80FUNCTIONLED30: MOV A,FCOUNTER CMPRS A,#03 JMP FUNCTIONLED40 MOV A,#02H MOV P1,A MOV A,P5 AND A,#10H OR A,#0DH MOV P5,A JMP FUNCTIONLED80FUNCTIONLED40: MOV A,FCOUNTER CMPRS A,#04 JMP FUNCTIONLED80 MOV A,#01H MOV P1,A MOV A,P5 AND A,#10H OR A,#0DH MOV P5,A functionled80: incms func_light mov a,#2 cmprs a,func_light jmp FUNCTIONled90 jmp FUNCTIONled60functionled60: clr func_light bset fp51 bclr func_light_f bset fire_light_f bclr power_light_f bclr timer_light_f jmp FUNCTIONled90 FUNCTIONLED90: jmp fireled;------------------------------------------------ FIRELED: b0bts1 fire_light_f jmp timerled b0bts1 power_f jmp fireled80 MOV A,RCOUNTER @JMP_A 9 JMP FIRE1LED JMP FIRE2LED JMP FIRE3LED JMP FIRE4LED JMP FIRE5LED JMP FIRE6LED JMP FIRE7LED JMP FIRE8LED JMP FIRE9LED FIRE1LED: bclr two_f MOV A,#00010000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE2LED: bset two_f MOV A,#00011000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE3LED: bclr two_f MOV A,#00001000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE4LED: bset two_f MOV A,#00001100B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE5LED: bclr two_f MOV A,#00000100B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE6LED: bset two_f MOV A,#00000110B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE7LED: bclr two_f MOV A,#00000010B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE8LED: bset two_f MOV A,#00000011B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A JMP FIRELED80FIRE9LED: bclr two_f MOV A,#00000001B MOV P1,A MOV A,P5 AND A,#10H OR A,#0BH MOV P5,A jmp fireled80fireled80: incms fire_light nop b0bts1 two_f jmp fireled801 jmp fireled802fireled801: mov a,#2 jmp fireled803fireled802: mov a,#3 jmp fireled803fireled803: sub a,fire_light b0bts0 fc jmp fireled90 jmp fireled60fireled60: clr fire_light bclr fire_light_f bclr power_light_f bclr func_light_f bset timer_light_f bset fp52 jmp fireled90FIRELED90: jmp timerled;------------------------------------------------TIMERLED: b0bts1 timer_light_f jmp ledsub90 b0bts1 power_f jmp timerled80 MOV A,TCOUNTER @JMP_A 10 JMP TIMER1LED JMP TIMER2LED JMP TIMER3LED JMP TIMER4LED JMP TIMER5LED JMP TIMER6LED JMP TIMER7LED JMP TIMER8LED JMP TIMER9LED JMP TIMER10LED/* JMP TIMER11LED JMP TIMER12LED JMP TIMER13LED JMP TIMER14LED JMP TIMER15LED JMP TIMER16LED*/ TIMER1LED: bclr two_f MOV A,#00000000B MOV P1,A MOV A,P5 AND A,#10H OR A,#0fH MOV P5,A JMP TIMERLED80TIMER2LED: bclr two_f MOV A,#00010000B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER3LED: bset two_f MOV A,#00011000B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER4LED: bclr two_f MOV A,#00001000B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER5LED: bset two_f MOV A,#00001100B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER6LED: bclr two_f MOV A,#00000100B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER7LED: bset two_f MOV A,#00000110B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER8LED: bclr two_f MOV A,#00000010B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER9LED: bset two_f MOV A,#00000011B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80TIMER10LED: bclr two_f MOV A,#00000001B MOV P1,A MOV A,P5 AND A,#10H OR A,#07H MOV P5,A JMP TIMERLED80/*TIMER11LED: JMP TIMERLED80TIMER12LED: PORTDW #10H,#0EH JMP TIMERLED80TIMER13LED: PORTDW #18H,#0EH JMP TIMERLED80TIMER14LED: PORTDW #08H,#0EH JMP TIMERLED80TIMER15LED: PORTDW #0CH,#0EH JMP TIMERLED80TIMER16LED: PORTDW #04H,#0EH JMP TIMERLED80*/timerled80: incms timer_light nop b0bts1 two_f jmp timerled801 jmp timerled802timerled801: mov a,#2 jmp timerled803timerled802: mov a,#3 jmp timerled803timerled803: sub a,timer_light b0bts0 fc jmp timerled90 jmp timerled60timerled60: clr timer_light bclr fire_light_f bset power_light_f bclr func_light_f bclr timer_light_f bset fp53 jmp timerled90timerled90: jmp ledsub90LEDSUB90: RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -