The PIC12F508 and why I like using it


 

 In 2002 I bought a PICKIT1 and began programming the 8-pin mid-range microchip PIC12F675 in assembly language. Later I used bigger and the more advanced enhanced-midrange ones, using interrupts, AD, EUSART, PWM and other nice internal peripheral features. But often you don't need those conveniencies, so I got back to the 12F508, one of the simplest and cheapest microcontrollers. Interesstingly it is almost the same as the first PIC ever, the PIC1650 by General Instrument, of 1975.

Some interesting historic data here:

https://www.microchip.com/forums/FindPost/29845

https://picaxe.com/Fdocs/gi_cat_1977.pdf

With MAME you can find some emulated handheld games of the early 80ies, using PIC1650 and PIC1655. When I compared the datasheets of GI and microchip baseline PIC's, I discovered that almost all opcodes (binary) are still the same, so quite code compatible. I ported some of those games (Maniac, LeBoom and Melody Madness) to the still existing PIC16F57, and they run!

I like the limitations of those oldest but still available microcontrollers, you have to think in other ways than programming with the sheer unlimited resources of today's hardware. Every bit and cycle is 'sacred' and programming is an art again, an intricate puzzle.

Comments