I'm using a very good quality normally open switch to change HPWM for an array of LEDs. This switch has some sort of compound action where the contacts snap closed when the button is pressed. A lot of times I press the switch and nothing happens. I've played with the pause time in the code and changed it to different settings from 1 ms to 100 ms, but it doesn't seem to make much difference. Is there are more reliable code for a switch like this? Here's the code:
~ Dave
Code:@ device pic16F628A, INTRC_OSC_NOCLKOUT, wdt_off, mclr_off, lvp_off, protect_off CMCON = 7 CounterA Var Byte CounterA=0 start: HPWM 1,64,2000 ' hardware pulse width modulate channel 1, 25% duty, 2khz goto Main Main: If PORTA.1=0 then If CounterA<=1 then CounterA=CounterA+1 else CounterA=0 endif endif While PORTA.1=0 : Wend : pause 10 BRANCHL CounterA,[LabelOne,LabelTwo] Goto Main LabelOne: HPWM 1,64,2000 ' hardware pulse width modulate channel 1, 25% duty, 2khz goto Main LabelTwo: HPWM 1,254,2000 ' hardware pulse width modulate channel 1, 99.6% duty, 2khz goto Main





Bookmarks