3
\$\begingroup\$

So I've generally learned how to use an Atmel Attiny13a, but now I have found that I need to switch to a Microchip PIC 8 bit microcontroller such as the PIC10 series.

Can anyone give me some good online resources or names of books that teach microchip 8 bit microcontrollers? I know there are some advanced 16bit microchip resources available, but I can't find anything on any of the 8 bit series. I have no idea where to start.

Thanks!

And the switch to microchip is due to cost and programming cost as well... It is a very low power simple product with only 3 I/O pins needed.

\$\endgroup\$
  • \$\begingroup\$ Start with the datasheet, App Notes (loads on Microchips website) and experimentation (can use the MPLAB SIM if you don't have the actual part) \$\endgroup\$ – Oli Glaser Aug 28 '12 at 18:20
  • \$\begingroup\$ I'm not sure what you mean about the App notes? Is there a specific section on their site? I can only find a few general ones and none for the 8 bit lines. \$\endgroup\$ – Unsure Pony Aug 28 '12 at 18:27
  • \$\begingroup\$ Try here and select PIC10F,12F,16F and 18F, (hold ctrl and click each one) then search (should get >100 results) \$\endgroup\$ – Oli Glaser Aug 28 '12 at 18:33
  • 1
    \$\begingroup\$ @Peter - Application notes explain how to use (certain aspects of) the microcontroller. They go more into detail and are more concrete towards a design than the datasheet, which is just a dry listing of facts. \$\endgroup\$ – stevenvh Aug 28 '12 at 18:54
  • 2
    \$\begingroup\$ Thanks guys! I didn't realize they had useful app notes at all. I'm so used to relying on textbooks... \$\endgroup\$ – Unsure Pony Aug 28 '12 at 18:56
3
\$\begingroup\$

I agree with Olin that there is no substitute for reading the datasheet, but for someone new to micros in general, specific examples are also very useful. The problem (as hinted at by Olin) is many App notes can assume knowledge of x and y and can be badly written or promote bad practices, so it's usually best to treat them as a starting point rather than the final word on the particular subject.

There are a few good books around for PICs, so have a look around and maybe pick up a couple with good recommendations (I can only think a few by Lucio di Jasio but he mainly writes about the 16 and 32 bit PICs)

Website wise, I think the Gooligum tutorials may be just what you are looking for. I have heard it well spoken of and recommended many times on the PIClist (the author is also a member there)
I have not looked in detail, but it appears there is plenty there on the 8-bit baseline and midrange devices, presented in small tutorials on covering various things like:

  1. Basic Digital Output Introducing XC8 and CCS PCB Simple control of digital output pins on baseline PICs

  2. Reading Switches Reading and debouncing simple switches and using internal pull-ups

  3. Using Timer0 Configuring and accessing Timer0 Using Timer0 for event timing, background tasks, debouncing switches, and counting (with some examples of C macros)

  4. Sleep Mode and the Watchdog Timer Using sleep mode, wakeup on change, and the watchdog timer on baseline PICs

  5. Driving 7-Segment Displays Single and multiple 7-segment displays, lookup tables and multiplexing on baseline PICs (using the PIC16F506)

  6. Analog Comparators Comparators, fixed and programmable voltage references

  7. Analog-to-Digital Conversion and Simple Filtering Analog-to-digital conversion (ADC) and calculating a moving average (accessing banked memory)

\$\endgroup\$
2
\$\begingroup\$

The only real reference is the datasheet for whichever PIC you want to use. For example, if it's a PIC 10F200, '202, '204, or '206, then the answer is PIC10F200/202/204/206 Data Sheet, which is designated as Microchip document number DS41239D. It is well written and everything you need is in there. Any other reference at best won't garble anything. Since you have already used other microcontrollers, you don't need a general introduction to them, just what is specific about the 10F. That is exactly what is in the datasheet.

There is no substitute for reading the datasheet.

\$\endgroup\$
  • 1
    \$\begingroup\$ While the datasheet is a vital part of the documentation, it is insufficient information for a beginner. For example, how do you set up the development environment? What compiler can you use? What should the minimal C program contain? What icon do you click to program the device? \$\endgroup\$ – Rocketmagnet Aug 29 '12 at 10:28
  • 1
    \$\begingroup\$ The other problem with datasheets is that they contain a massive amount of information. Which bits of information are relevant to getting a 'Hello World' application up and running? In hindsight it will be obvious, but for a beginner a tutorial is invaluable. \$\endgroup\$ – Rocketmagnet Aug 29 '12 at 10:30
  • 1
    \$\begingroup\$ @Rocket: This OP said he had already used some Atmel micros, so shouldn't need the general introduction to what a micro is. Also, he specifically asked about the microcontroller, not the programming environment. That is of course documented too, but not in the datasheet. The PIC 10F datasheets are quite small since these PICs are quite small with few peripherals. There really isn't superflous data in the datasheet. Microchip is quite good about that. If you can't get it from the datasheet, then the problem is with you, not the documentation. \$\endgroup\$ – Olin Lathrop Aug 29 '12 at 11:39
  • \$\begingroup\$ The problem is not knowing what an MCU is, the problem is learning a whole new tool chain, and a whole new set of gotchas. No matter how well you know one MCU, and no matter how well you read the datasheet for another one, the transition will never be smooth. This is where tutorials and walk-throughs are very helpful. There is no substitute for reading the datasheet, but the datasheet is no substitute for a tutorial to the development environment. \$\endgroup\$ – Rocketmagnet Aug 29 '12 at 16:05
1
\$\begingroup\$

If your looking for a great book try Designing Embedded Systems With PIC Microcontrollers I learned a ton from that book

\$\endgroup\$

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.