12F675 - Programming the 12F675
I spent a lot of time looking at various microcontrollers and decided on the following combination:
- Standard PIC microcontrollers (e.g. 16F628A)
- PIC-EL demo board
- SourceBoost C compiler (C lanaguage)
- MBasic - basic compiler
- WinPic programmer
I also have a simple JDM style programmer, but the programmer is built into the PIC-EL.So I don't need it.
My thought process was something link this... 1) I programmed in 6500 assembly years ago. 2) I'd rather stick with a higher level language. 3) Since I know 'C' I looked at all the C compilers and found the one from SourceBoost. 4)It's free with no limitations. I looked at various basic compilers, but they all cost money. $99 for the entry level versions and several $$$ for the unlimited version. I also looked at a bunch of open source tools, but they looked like development had stopped.
The PIC-EL has a bunch of input/output devices. That's why I bought it. Plus, it has the components to allow the serial programmer to work. Just flip a switch on the board and it becomes a programmer. I bought the extra ZIF socket. The key to make the programmer to work was choosing the PicEL.ini file in WinPic.
I run sourceboost under VMware on a Linux computer.Because 1) I have disk space on my server, 2) I have dual screens on my server and 3) it's the fastest box I own. I was NOT able to get winpic to work under VMware. So I map a drive between my windows machine and VMWare image to transfer the .hex file to the windows computer for programming. Really, both the compiler/IDE and the programmer should be on the same computer.
After writing some LCD drivers in C, I stumbled across the MBasic compiler. It's great! Of course, it's not free, but it's nice to be able to work in basic. Instead of a library of C, you can write to a LCD module with one line of code. That's worth it.
- Flashing the LEDs - Done
- Working with the LCD - Done
- Ppush buttons- Done
- The Serial Port - Done
- Temperature - Done
- A/D Conversion
Data Logger - store and playback data from my GPS modules. Link the wireless modules into the device so I can retreive the data remotely.
Battery Management - Disconnect the batteries in Dad's coach when the battery voltage drops.
Antenna Switch Controller - Switch the beverages to the right rig at W4RM - Done, October 2007
Thermostat - for the house, with wireless data logging and control
Temperature Sensor Network for Will - sense temperatures and display on a map
http://www.piclist.com/techref/piclist/index.htm - Start here, lots of information, but some very dated.
http://www.piclist.com/techref/microchip/language/c/ios.htm - I/O libraries
http://www.vermontficks.org/pic.htm - Great ideas with C code.
http://www.modtronix.com/index.php?cPath=1_36 - $70 buys a LAN interface, uC and 32 I/O lines.
http://home.iae.nl/users/pouweha/lcd/lcd0.shtml#hd44780 - HD44780 Controller Specs
http://aprs.gids.nl/nmea/ - GPS NEMA output
http://www.cadsoftusa.com/freeware.htm - Eagle schematic capture and PC board layout software. (Linux version available!)
http://www.sparkfun.com/commerce/hdr.php?p=tutorials - Tutorials and parts
http://www.olimex.com/ - development boards
http://www.libelium.com/index.php?option=com_content&task=view&id=14&Itemid=60 - Open source wireless sensors
http://www.emacinc.com/som/som400em.htm - IPv6 Compliant and 1W TINI module. ($100+$100 for the carrier board