I'm just began exploring my new hobby - mcu electronics. I have bought an 16f628a after reading some forumposts suggestion that is a good mcu for beginners. I have download mplabX, the hi-tech compiler and the isis program for simulating my circuit and code. I have some knowledge from c# and java development, so I like working with their "mother language" C. I have allready created the "hello world" and "blinking led" project.

Now I want to add two buttons to my blinking led prosject (one for each led. One pin for each led and one pin for each button, everthing happening programmatically), I have been searching the Internet and found some examples and tutorials but not any that I got to work.

If any got some links to tutorials / examples, code snippets with schematics or anything else that will help me create this I would appreciate it. I can post my blinking led code and schematics if that would help. thanks

  • \$\begingroup\$ I got my answer from this forumpage: forum.allaboutcircuits.com/showthread.php?t=80263 \$\endgroup\$ – Bjorn Jan 30 '13 at 7:50
  • \$\begingroup\$ Good job! Before you move on from the blinking LED stage, it might be interesting to try to blink your LED using a timer interrupt rather than a simple delay in your loop, if you haven't done it already. Next step would be a button, polling it to see if its active. After that, set up the button as an interrupt source and stop polling for it. Very reasonable sequence that will bring you up to a good level fast \$\endgroup\$ – Scott Seidman Oct 1 '13 at 21:08

I am an experienced C# developer that wanted to get quickly up to speed on the PICs and found these tutorials to be very helpful:


The are kept up-to-date with recent MPLAB versions. A lot of them are free. I liked them enough that I paid for the full set. They are geared to his learning kit, but I used them with just a breadboard and a PicKit3.


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.