4th December 2007

Introduction and Project Motivation

posted in General |

Welcome to PIC18F.com

When I originally received a PIC18F4550 sample from Microchip, I was excited to learn some assembly and get started on a small embedded control project. Unfortunately, most tutorials I found provided code for the 16 series PICs. I decided to start this website to help those interested in working with these great devices.

My goal is to create several tutorials, increasingly more difficult, leading up to a major project (I have one in mind, but it may change). The tutorials will start with assembly and will likely lead> to C code.

For the assembly tutorials, my assumptions are that the reader has:

  • Some intuition with Windows
  • Some understanding of C/C++ (preferable)
  • Some understanding of circuits (I will try to provide external links for most new things I mention)
  • Little or no understanding of assembly language (at least at the beginning)

Since most of the PIC basics are explained very well in the PIC datasheet, I would highly recommend looking over it. It can be found here. Specifically, Section 10 describes the I/O ports and Section 26.1 describes the instruction set.

After unsuccessfully trying out several DIY programmer designs, I purchased a PicKit 2 from Allied Electronics and am VERY happy with it. Unlike these serial/parallel port DIY programmers, this USB device supports high voltage programming, debugging and works with laptops without any hassle.

I will be working with the following until further notice:

  • PIC18F4550
  • PicKit 2
  • MPLAB IDE V8.00
  • MPASM V5.14

I hope to do several small projects with MPASM to get comfortable with assembly language programming. Afterwards, I plan on using either the SDCC C compiler or the student edition C compiler created by Microchip.The tutorials will focus on MPASM/PicKit2 with the 18F4550, but the general instructions should be applicable for most 18 series devices.

Much of my own progress has stemmed from the Microchip 16F tutorials and with the help of the friendly people at the Microchip support forum. However, unless noted all the tutorials here are my own work. Any similarities come from the fact that there are only so many basic concepts (and only so many best ways to do them).

This entry was posted on Tuesday, December 4th, 2007 at 2:16 am and is filed under General. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

There are currently 12 responses to “Introduction and Project Motivation”

Why not let us know what you think by adding your own comment! Your opinion is as valid as anyone elses, so come on... let us know what you think.

  1. 1 On December 4th, 2007, Tutorial 1 - Hardware setup » PIC18F said:

    […] mentioned in the Introduction, I am going to be working with the following until further […]

  2. 2 On January 16th, 2008, Name said:

    Why you do not have a tutorial about USB connection to PC?

  3. 3 On January 17th, 2008, Andrey said:

    I have been busy recently, with little time to devote to this website. I have not yet had the opportunity to try out the USB functionality of the 18F4550, but will definitely write a tutorial once I do. I decided to leave that for later since USB code is more or less the only thing I found readily available for this microcontroller. One of the mini-projects I was considering was a 1 or 2 channel USB voltmeter written in assembly. Any other suggestions are welcome. Please check the site again in the future for new tutorials..

  4. 4 On March 19th, 2008, some student said:

    really nice site, nice ideas , nice motivation … but what happned ? we are at the end of march feed us more info :D !
    btw . . . good job m8

  5. 5 On March 28th, 2008, Martin said:

    A USB transmission tutorial would be really helpfull!… I know that some students in my career are working succesfully their F184550 with softwares like WINPIC, MPLAB and IC-PROG. Please let me know if you have time for this. I´l be visiting this site waiting for an answer… thanks.

  6. 6 On March 22nd, 2009, MP said:

    This is a Great site for all us beginners and hope to see more tutorials if future.

  7. 7 On May 16th, 2009, Chelsea said:

    I am trying to create a USB mouse that functions depending on A/D input into the PIC18F4550 micro. I’m prettty new at programming micros, but this is a senior design project and I have to get it done this summer… any suggestions?

    I found an example from microchip firmware but it is a bit over my head. It seems like it’s designed for specific demo boards..I just wanted to use the micro.

    Thank you.

  8. 8 On July 8th, 2009, Joel said:


    Thanks for putting up this website. I will be working with the 2550 instead of 4550. I was wondering if you know how to select bits using the MC.

    Lets say I receive an input of, say 10kb, and I only want the bits bit 1 to bit 500, and then bit 600-700 and then bit 4000 to bit 5000, and discard the rest. They are just arbitrary numbers,

    Then collecting all the data, retransmit them at say… 2kbps.

    How do you get the microcontroller to do something like that?

    Thanks again for the different things I learnt in the tutorials.


  9. 9 On October 13th, 2009, Helmut Obertanner said:


    I tried several Compilers and have completed some 18F USB-Projects successfully.
    I strongly recommend to use the Microchip C18 compiler for your projects.
    It integrates into the MPLAB and it works very well.
    The cool thing is that you can download a complete free USB Framework from Microchip.
    Its designed for some Demo-Boards, but you can adopt it very easy for your own Hardware.
    You can use that and get your USB-Projects working very soon.

    Greets – Helmut

  10. 10 On May 14th, 2012, abc said:

    Hi, can someone provide me with the c program for interfacing pic18f4520 microcontroller with VGA for obtaining a resolution of 800×600(75 Hz refresh rate) on TV? I’ve searched a lot on the internet but couldn’t find one.I need it for my project urgently and i’ll be grateful if anyone out there can help me out.

  11. 11 On February 18th, 2015, aditya jagtap said:

    I’m working on pic 18f45k22 n trying to use eccp as simple ccp in pwm mode. the explanation is a bit complicated can you help me out with it.

  12. 12 On June 16th, 2015, warren said:

    Hello –

    I’m interested in how you’d implement and Analog Output. Would you use a specific chip
    dedicated to the task or would you make a pin or two flutter with some sort of PWM
    activity? What PROs & CONs exist?



Leave a Reply

  • Sponsored Links

    December 2007
    M T W T F S S
        Nov »
  • Donate