I want to implement a device with 2 push buttons. When I press the first button, it will increment a counter. When I press the second, the number of times the first one was pressed (counter content) will be displayed in an LCD screen.

I want to use a PIC microcontroller and save as much power as possible in order to extend battery life. I think one good way is to put the system in sleep mode when nothing happens and when I press the first button, wake the system up. Is this better to implement with interrupts or is there another way? Also if someone has a better idea that will save energy, please share with me.

  • 4
    \$\begingroup\$ Welcome to the Electronics Stack Exchange. Please wait for some time, like a day (24 hours), before accepting an answer to encourage more contributions. You might miss some better answers/ideas if questions are quickly closed. \$\endgroup\$
    – shimofuri
    Mar 14 '13 at 15:36

Yes, interrupts and sleep mode are the best way of doing this. There is a list of ways to minimise PIC energy consumption in an app note: http://ww1.microchip.com/downloads/en/devicedoc/01146b_chapter%202.pdf


The interrupt solution is appropriate because most (if not all) microcontrollers can enter a low power mode and then still wake up from the press of the button. Microcontrollers can quickly (less than 100us usually) wake up and display. The tradeoff in power consumption will be how long you keep the LCD displaying the data.

The biggest gains to be made here is to use an e-ink display. These displays consume nothing when the graphics are not changing. And if you're ok with Black and White, then e-ink can be a great solution.

  • \$\begingroup\$ Helpful idea with the e-ink and that i could save energy if the lcd is display the data less time. Thank you. \$\endgroup\$
    – xkrpz
    Mar 14 '13 at 15:25
  • 1
    \$\begingroup\$ @xkrpz: with e-ink, the display will always show the latest data. That's why e books love it, Unless you change the page, the same page remains. \$\endgroup\$ Mar 14 '13 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.