Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

PIC Sticky

Status
Not open for further replies.

gramo

New Member
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

and the 18F4520 (40 Pin DIP) is $6.11
 
gramo said:
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 disagree, and so would MicroChip - check the "Mid Range Reference Manual" and see what devices it refers to! :p
 
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.
 
picbits said:
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
 
Last edited:
It gets hard when you're using multitasking and interrupts and precise timing - you can't easily do this in basic hence why I learned and used ASM.

ASM will always be a standard while there are many flavours of Basic.

I'm not knocking basic but for 90%+ of my designs and applications it would be useless.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top