Yes Joe, I agree. The 16F84 is plain Vanilla and a good place to start. You can of course get PICs with more functions, more code space, more I/O pins and all that at a cheaper price, but that is not necessarily what a beginner needs. The additional functions mean additional complexity either in setting them up or even just disabling the functions your not using.
Today I was using (the humble) 12F509 for the first time. I had RTFM and subsequently set weak pull-ups and configured the TRIS register for the appropriate I/O. But, I just couldn't understand why my simple program wasn't producing an output on GP2. So, I added a temporary blinky on another pin and that was working. I redirected the output to that pin and my program was definitely working. I knew it had to be down to configuration. It was time to RTFM (again!) or more accurately RTFDS (...Data Sheet).
And there it was a small note on page 24 of 98:
<i>Note: If the T0CS bit is set to ‘1’, it will override
the TRIS function on the T0CKI pin.</i>
Bingo! I disabled TOCS with OPTION_REG.5 = 0
My program was now working properly
To get to the point I was trying to make - it is precisely these sort of quirks that stop a newcomer dead in their tracks, with a little bit more experience you can find your way round them. So I think a "plain Vanilla" chip is best to start with, get your feet wet, then move on to something slightly more advanced.
Bookmarks