Hi All,

If you are using a simple shunt regulator to power your PIC and the LCD (not the backlight) then while driving outputs high would require your shunt regulator to use a lower value resistor. That means to keep the zener under conduction with all the loads. When the loads are less the zener will act as the load. Keeping in mind that it is battery operated it results in higher quiscent current. I recommended using the LEDs,Buzzer and the backlight to be driven from the unregulated supply. This is only possible if you are using an inverted logic. And setting PORTB = 0 or PORTB = $FF takes the same amount of labor and code. Also the PIC and the LCD would be a fair enough steady load to dimension your resistor-zener shunt regulator for maximum supply efficiency. I hope I have made myself clear or am I missing something??? And using a cap with buzzer is always a good practice. To find out the root of the problem I suggested the experiment to find out exactly whats going wrong and where. Even if the problem is solved with software I would strongly recommend to use a cap as Steve mentioned. The buzzer is a killer.