I think the following should be changed in the PIC Sticky;
Later you may want to advance to 18F PIC series, which are called "High End", because they are more powerful and have better support for higher level languages
The 18F series is simply an enhanced PIC that doesn’t have the downfalls of 16F PIC's. If anything, they are easier to use and are the new should be considered the "Mid Range" device as far as the introduction of 24F and dsPIC's go
You seriously don’t know what your missing out on if you haven’t delved into 18F's yet. If your using PIC's a bit, its worth it
As far as prices go, well the 18F1320 (18Pin DIP Package) is $2.69 from Newark
I think the following should be changed in the PIC Sticky;
The 18F series is simply an enhanced PIC that doesn’t have the downfalls of 16F PIC's. If anything, they are easier to use and are the new should be considered the "Mid Range" device as far as the introduction of 24F and dsPIC's go
I would agree that the 18F are far more superior and easier to use for beginners as many of the pitfalls of the 16F have been virtually eliminated with the 18F.
I agree with gramo that High End is misleading. According to section 1.2 of the 18C MCU reference manual, they are part of the Enhanced range and not the High End range.
The rest of the description about them having better support for high level languages looks ok, although when I first looked at using the 18F range, it almost put me off using them because microchip's documentation made much emphasis on the high level language support - Since then I found they are great for people like me who prefer using ASM.
I would recommend always using the 18F range for more complex new projects because they are so much easier to use once you have read the 16F to 18F migration notes.
I would agree that the 18F are far more superior and easier to use for beginners as many of the pitfalls of the 16F have been virtually eliminated with the 18F.
I like the 18F, in many ways are easier than the 16F
BUT
Most newbies love the simple 16F84, it's lack of internal peripherals and simple CONIFIG settings, one timer and only 16 or so FSRs means a beginner can pretty much dive in.
I cut my teeth on the 16C54JW
The 18Fxxxx have about 8 CONFIG registers with lots of setup fuses. More than double the instructions, dozens of FSRs and scads of internal peripherals. The linear address space is a huge bonus and so is the LATch command. I love the 18F series but those huge datasheets can be daunting for a newcomer.
Entry level the 12F508 (man that's a simple chip), 16F628A or 16F88
That’s the thing though. A compiler like Swordfish sets up the PIC's config settings, and almost every program can be simply modified by changing the one command at the start of your program.
For example;
Code:
[B]Device [/B]= 18F452 // Declare the device
[B]Clock [/B]= 20 // Declare the OSC speed
[B]Include[/B] "Utils.bas"
[B]Dim[/B] LED [B]As[/B] PORTA.0 // Create an alias for LED
//Program start...
Utils.SetAllDigital // Make all I/O's digital
[B]Low[/B](LED) // Make the LED pin an output, and set it low
[B]While[/B] True // Infinite loop
[B]Toggle[/B](LED) // Toggle the state of the LED
[B]DelayMS[/B](500) // Wait for .5 second
[B]Wend[/B] // Loop forever
Just say that you have a 1320, simply change this one command;
Code:
[B]Device [/B]= 18F452
To
Code:
[B]Device [/B]= 18F1320
The end user simply presses the compile button, and uses the .HEX file to program their PIC... What's hard about that?
Once the user has a simple template, I'm sure it would be almost just as straight foward in Assembler
Interrupts are handled and supported extremely well with SF (Not just timers, but all of them), once again, it depends on the compiler. Some are not even worth the space on your hard drive...