ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Materials & Industrial Technology

Getting Started with Pic and dsPic Microcontrollers

Updated on August 23, 2017
alikhan3 profile image

The author completed his final year engineering project with the dsPic micro-controllers, gaining extensive insight in these devices.

To get you up and running with the Pic micro-controllers for the first time, you need to settle these three things.

  1. Find a programming device.
  2. Decide a development tool-chain.
  3. Learn how to program the code.

All the PIC and dsPic devices can be easily programmed by the PicKit™ as the programmer and debugger.

Microchip's latest Integrated Development Environment, the Mplab-X® is the recommended development tool-chain for all PIC devices.

What is PicKit?

PicKit is an integrated programmer and debugger, developed by Microchip to program its microcontrollers. The PicKit provides the following functionalities to its users:

  1. Programmer
  2. Debugger with provision of 2 breakpoints.
  3. 3 channel Logic analyzer.
  4. UART receiving and transmitting interface.
  5. May also be used as a smooth, noise free 5 V and 3.3 V Vcc supply for the micro-controller.

The dspic30f micro-controller connected to its programmer, Pickit. (You might want to add a LED and blink it to make sure the controller is up and running)
The dspic30f micro-controller connected to its programmer, Pickit. (You might want to add a LED and blink it to make sure the controller is up and running)

Programming a Pic Microcontroller

This is a very simple three step process.

  1. Make the necessary connections between the micro-controller and the PicKit™ required for programming.
  2. Select the programming tool from within Mplab-X IDE.
  3. Build and load the code.

1: Connection Required for Programming a PIC and dsPic

Following connections are required to be made with the PicKit programmer:

Refer to datasheet of your target Pic device for specific pin numbers.

Pin Number on the PicKit Programming Header
Corresponding Micro-controller Pin
1 (to be identified by an arrow printed on device)
MCLR
2
Vdd (There may be 2-3 Vdd pins on one Pic device.)
3
Vss (Can also be more then one.)
4
ICSPDAT / PGD
5
ICSPCLK / PGC
6
No connection
How to connect PicKit with the micro-controller.
The PicKit programming header. Pin number 1 is marked by a small arrow on the device.
The PicKit programming header. Pin number 1 is marked by a small arrow on the device.

2: Selecting the Programmer in Mplab-X

Programmer can be selected while you are creating a new project in the Mplab-X®. In step three of new project wizard, you will see a list of devices which can be used and the serial number of your attached device (if plugged in).

Programming device is detected by the Mplab-X new project wizard if plugged in.
Programming device is detected by the Mplab-X new project wizard if plugged in.

3: Build and Load the Code from Mplab-X

After selecting the programmer you have to build and load the code into the target device. This can be done by clicking on the green arrow in the top menu bar. Make sure your code is error free before doing that.

Build and load the code.
Build and load the code.

To get you up and running fast you can use this LED blinking code to instantly test the code uploading procedure.

LED Blinking Code for dspic Microcontroller

#include <xc.h>
#include <delay.h>
#include <libpic30.h>               // Add the header file of your target pic device here


_FOSC( CSW_FSCM_OFF & FRC_PLL16 );  // Fosc=16x7.5MHz, i.e. 30 MIPS
_FWDT( WDT_OFF );                   // Watchdog timer off
_FBORPOR( MCLR_DIS );               // Disable reset

int main( void )
{
    // Make RD0 a digital output
    _TRISD0 = 0;
     
    // Blink LED on RD0
    while(1)
    {
        _LATD0 = 1;
        __delay32(15000000);
        _LATD0 = 0;
        __delay32(15000000);
    }
}

© 2017 StormsHalted

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.