SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                               An Introduction to
                                    MPLAB®
                            Integrated Development
                                  Environment



        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 1




This seminar is an introduction to the MPLAB Integrated Development Environment.


My name is Darrel Johansen and I’m a manager for the Development Systems
Group here at Microchip Technology.




An Introduction to MPLAB® IDE                                                                                              Page 1
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                                            Agenda
                What is MPLAB® IDE?
                           Embedded Systems
                Design Cycle
                           First Project
                Summary: First Project
                Summary: The Next Step




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 2




This program is intended to explain what the MPLAB IDE is used for and to walk
you through a simple project.


We’ll answer the question: What is MPLAB IDE? And demonstrate how this
integrated development environment eases the design cycle.


We’ll walk through a simple project and by the time you are finished, you should
understand the basics of application development using MPLAB IDE.




An Introduction to MPLAB® IDE                                                                                              Page 2
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   What Is MPLAB® IDE?



                                    MPLAB® IDE is a software program
                                    that runs on your PC to provide a
                                    development environment for your
                                    embedded system design.




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 3




      What is MPLAB IDE?
      MPLAB IDE is a software program that runs on your PC to provide a
       development environment for your embedded microcontroller design.


      If you are an experienced embedded systems designer, that sentence
         probably made complete sense to you, and you may want to skip ahead to
         the first project demonstration to get familiar with MPLAB IDE. If not, we’ll
         take just a moment to explain a little about embedded systems
         development and what MPLAB IDE is used for.




An Introduction to MPLAB® IDE                                                                                              Page 3
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   What Is An “Embedded
                                                         System?”

                    Design with a
                    Microcontroller
                               CPU on chip
                               Additional circuits on
                               chip




        © 2004 Microchip Technology Incorporated      An introduction to MPLAB Integrated Development Environment   Slide 4




      What is an “embedded system?”
      It is typically a design making use of the power of a small microcontroller, like
      the Microchip PICmicro® microcontrollers and dsPIC® digital signal
      controllers. These chips have a microcontroller unit and some additional
      circuits on the same chip to make a small control module requiring few other
      external devices.




An Introduction to MPLAB® IDE                                                                                                 Page 4
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   PICmicro® Microcontroller

                  Program Memory
                             Instructions
                             Data Tables
                  Register Memory
                             Temporary Storage
                             Peripheral Registers
                  Peripheral Devices
                             Input/Output (I/O)
                             Timers
                             A/D Converters

        © 2004 Microchip Technology Incorporated    An introduction to MPLAB Integrated Development Environment   Slide 5




      The PICmicro device has program memory for the firmware, or coded instructions, to run your program.
      It also has file register memory for storage of variables that your program will need for computation or
      temporary storage and for data going to and coming from the peripheral circuits.

      It has a number of peripheral device circuits on the same chip.

      Some peripheral devices are called I/O ports. These are pins on the microcontroller that can be set
      high or low to send signals, light LEDs, drive speakers –just about anything that can be sent through a
      wire. Often these are bi-directional and can be configured as inputs allowing the program to respond to
      an external switch, sensor, or to communicate with some other external device.

      In order to design such a system, you need to decide what peripherals are needed for your application.
      Analog to Digital converters allow you to connect the microcontroller to sensors and receive changing
      voltage levels. Serial communication peripherals, allow you to stream communications over a few
      wires to another microcontroller, to a local network, or to the internet.

      Timer peripherals accurately measure signals, clock data waveforms in and out of the device, and
      generate precise waveforms. One kind of timer automatically resets the microcontroller if it gets “hung”
      or lost because of a power glitch or hardware malfunction.

      Certain peripherals detect if the external power is dipping below dangerous levels, so the micro can
      quickly save information before the power is completely removed.

      The peripherals and the amount of memory your application needs to run your program largely
      determine which PICmicro to use. Other factors might include the power consumed by the
      microcontroller and its “form factor” –the size and characteristics of the physical package that must
      reside on your target design.




An Introduction to MPLAB® IDE                                                                                               Page 5
Microchip Technology Incorporated
       WebSeminar: March 30, 2004



                                                   How Does an Embedded
                                                   System Differ From a PC?




                     PC can run many                                                   Embedded System
                     programs                                                          Does One Task
                     PC has generalized                                                Embedded System has
                     CPU                                                               specialized
                                                                                       microcontroller
        © 2004 Microchip Technology Incorporated       An introduction to MPLAB Integrated Development Environment   Slide 6




      How does an embedded controller differ from a PC like my desktop PC?
      The main difference is that the embedded controller is usually dedicated to
      one specific task or set of tasks. A PC is designed to run many different
      types of programs and to connect to many different external devices. An
      embedded controller has a single program and, as a result, can be made
      cheaply to include just enough computing power and hardware to perform
      that dedicated task. A PC has a generalized microcomputer at its heart,
      while an embedded system has a specialized microcontroller for its
      intelligence.




An Introduction to MPLAB® IDE                                                                                                  Page 6
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Example Embedded System

                                                                                                                 Main Program Loop              No


                                                                                            Detect                                             Low
                                                                                                                No         Test?        No
                                                                                                                                             Battery?
                                                                                           Smoke?

                                                                                                                             Yes              Yes
                                                                                                Yes

                          Hardware Block Diagram
                                                                                                                          Sound Alarm




            Battery                       Microcontroller               Speaker                             Software Flow Chart




        Push Button
                                          LED Indicators
        © 2004 Microchip Technology Incorporated            An introduction to MPLAB Integrated Development Environment                         Slide 7




      An example of an embedded system is a smoke detector. It’s function is to
      evaluate signals from a sensor and sound an alarm if the signals indicate the
      presence of smoke. A small program in the smoke detector either runs in an
      infinite loop, sampling the signal from the smoke detector, or is almost
      dormant in a low-power “sleep” mode, being awakened by a signal from the
      sensor. The program then sounds the alarm. The program would have a
      few other functions, such as a user test function, and a low battery alert.
      While a PC with a sensor and audio output could be programmed to do the
      same function, it would not be a cost-effective solution. Embedded designs
      use inexpensive microcontrollers to put small amounts of intelligence into the
      everyday electronic devices in our environment, such as cameras,
      cellphones, appliances, automobiles, smartcards, and security systems.




An Introduction to MPLAB® IDE                                                                                                                             Page 7
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                                    Design Cycle
                     High Level Design
                     Software Coding
                     Generate Executable
                     Test
                                         Compile/Assemble
                     “Burn” into Device     /Link Code                                                            Download Code to
                                                                                                                     Debugger




                                                            Edit/Create/Design
                                                              Source Code                                         Analyze/Debug
                                                                                                                       Code




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment             Slide 8




The design cycle for developing an embedded controller application is:
1) Do the high level design – From the features and performance desired, decide
   which PICmicro or dsPIC device you need, then design the associated hardware
   circuitry.
2) Knowing which peripherals and pins control your hardware, write the software.
   Use either assembly language, which is directly translatable into machine code,
   or using a compiler that allows a more natural language for creating programs.
   With these Language Tools you can write and edit code that is more or less
   understandable, with constructs that help you organize your code.
3) Compile or assemble the software using a Language Tool to convert your code
   into machine code for the PICmicro device. This machine code will eventually
   becomes firmware, the code programmed into the microcontroller.
4) Test your code. Usually a complex program does not work exactly the way you
   might have imagined, and “bugs” need to be removed from your design to get it
   to act properly.
5) “Burn” your code into a microcontroller and verify that it executes correctly in
   your finished application.




An Introduction to MPLAB® IDE                                                                                                         Page 8
Microchip Technology Incorporated
          WebSeminar: March 30, 2004




                                                                     First Project
                   Select Device
                   Create Project
                   Select Language Tools
                   Put Files in Project
                   Create Code
                   Build Project
                   Test Code with Simulator


           © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 9




To familiarize you with the basic components of MPLAB, let’s do a simple first project. We will write
a short assembly language program to toggle an output pin on a PICmicro device which could then
be programmed into a simple circuit to flash an LED.
This exercise will show you how to put together a project framework, how to build an application, and
how to test it with the simulator to verify that it works as expected.
All projects will have these basic steps:
Select the device. The capabilities of MPLAB IDE vary according to which device is selected. That
is the first thing that must be done before anything else.
We will use the MPLAB Project Wizard to Create a Project.
In the Project Wizard we can select the language tools. For this presentation, the built in assembler
and linker will be used. For other projects you might choose one of the Microchip compilers or other
third party tools.
We’ll add two files for the project, a template file and a linker script. These exist in the MPLAB IDE
folder and with these two files we can get started quickly.
We’ll then add some code to the template file to toggle an I/O bit.
Then we will build the project – causing our source files to be assembled and linked into machine
code that can run on the selected PICmicro device.
And finally we will test the code with the simulator.




An Introduction to MPLAB® IDE                                                                                                 Page 9
Microchip Technology Incorporated
         WebSeminar: March 30, 2004




                                                            MPLAB Desktop




          © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 10




The first thing to do is to download and install MPLAB IDE on your PC. Go to www.microchip.com
and go to the Development Tools section. Look for the latest production version of MPLAB software.
The latest production version ends in a zero digit, like v6.40, v6.50. Interim versions end in non-zero
digits like v6.42. For getting started, choose the latest production version. The interim versions are
posted mainly for early support of new devices and some features may not be fully functional.


Install on your PC following the automatic installation instructions. There is some information about
the hardware drivers that need to be followed if you are using MPLAB ICD 2, MPLAB ICE or one of
the Microchip programmers, but if you do not have any of these, you can ignore this information for
now. Remember, though, that if you later get one of these devices, you should install new software
that came with the hardware and execute the driver installation as detailed.


Now you can start the MPLAB IDE program.


The first thing to do is to choose a PICmicro device. Almost any can do what we need for this
example, but let’s choose a general purpose controller in the PIC18 family.


Choose Select Device from the Configure menu.




An Introduction to MPLAB® IDE                                                                                                 Page 10
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                        Select The Device




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 11




In the Device window, select the PIC18F452 from the list if it’s not already selected.


Note the “red” and “green lights.” These indicate which MPLAB components
support this device. A green light indicates support. Sometimes you might see a
yellow light. This would indicate minimal support for an upcoming part that might
not yet be fully supported by the MPLAB component. Usage of components with a
yellow light instead of a green light is often intended for early adopters of new parts
who need quick support and understand that some operations or functions may not
be available.




An Introduction to MPLAB® IDE                                                                                                Page 11
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                           Create A Project




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 12




Next, we’ll create a project using the Project Wizard. A project is the way your files
are organized to be compiled and assembled. We will use a single assembly file for
this project. Choose the Project Wizard from the Project menu.




An Introduction to MPLAB® IDE                                                                                                Page 12
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                             Project Wizard




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 13




The Project Wizard will start and show this screen. Press Next> to continue.




An Introduction to MPLAB® IDE                                                                                               Page 13
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                    Wizard - Confirm Device




         © 2004 Microchip Technology Incorporated     An introduction to MPLAB Integrated Development Environment   Slide 14




The first step allows you to select the device, which we already did. If the Device
shown is not the PIC18F452, change it on this dialog.




An Introduction to MPLAB® IDE                                                                                                  Page 14
Microchip Technology Incorporated
        WebSeminar: March 30, 2004



                                                    Select Language Tools
                                                          (in Wizard)




                             Default location for MPLAB assembler and linker:
                             C:Program FilesMPLAB IDEMCHIP_Toolsmpasmwin.exe
                             C:Program FilesMPLAB IDEMCHIP_Toolsmplink.exe
         © 2004 Microchip Technology Incorporated    An introduction to MPLAB Integrated Development Environment   Slide 15




Step Two is used to set up the language tools suite. Select the Microchip
MPASM™ Tools Suite and note that MPLAB IDE already knows the location of the
assembler and the linker. You should not have to browse to set these up. If the
location is not set, the default location for the assembler and linker are shown here.




An Introduction to MPLAB® IDE                                                                                                 Page 15
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Wizard – Name Project




        © 2004 Microchip Technology Incorporated    An introduction to MPLAB Integrated Development Environment   Slide 16




Step three asks that you name the Project. Here we called it simply, “MyProject.”
Then you need to establish a project directory. We choose “Browse” and made a
new folder in our My Documents folder called MPLAB Project Folder.




An Introduction to MPLAB® IDE                                                                                                Page 16
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                Wizard – Select Template File




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 17




Step Four asks us to add files to the project. We do not have a source file yet, so
we will use an MPLAB template file. The template files are simple files that can be
used to start a project. They have the essential sections for any source file, and
have information in them that will help you write and organize your code. These
files are in the MPLAB IDE folder, which by default is in the Program Files folder on
your PC. Scroll to the Program Files folder on Drive C:, open it, and scroll down to
the MPLAB IDE folder.




An Introduction to MPLAB® IDE                                                                                                Page 17
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                               Wizard – Select Template File




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 18




Open the MPLAB IDE folder and scroll down to the Mchip_Tools directory




An Introduction to MPLAB® IDE                                                                                               Page 18
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                Wizard – Select Template File




             C:Program FilesMPLAB IDEMCHIP_ToolsTEMPLATEObjectf452tmp0.asm


         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 19




Open the MPLAB IDE folder and go to the Mchip_Tools directory and get a
template from the Object folder in the Template folder.


The file we need is f452tmpo.asm. Use the Add>> button to add that to the list on
the right side, then check the box to the left of its name to copy the file into your
project directory. This leaves the original template file in the MPLAB subdirectory
for use with another future project.




An Introduction to MPLAB® IDE                                                                                                Page 19
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Wizard – Select Linker Script File




                                    C:Program FilesMPLAB IDEMCHIP_ToolsLKR18F452.lkr

        © 2004 Microchip Technology Incorporated        An introduction to MPLAB Integrated Development Environment   Slide 20




Next we need to add a linker script. These are in the folder named LKR in the
MCHIP_Tools folder.


There is a file for each device. These files define the memory configuration and
register names for the part.


These are located in the MPLAB IDE folder under Mchip_Tools named LKR. Use
18F452.LKR for this project. There is also a linker script named 18F452i.lkr, for use
with this device when MPLAB ICD 2 is being used. That linker script reserves areas
for memory for MPLAB ICD 2. Since we are using the simulator, we don’t need to
use that linker script.




An Introduction to MPLAB® IDE                                                                                                    Page 20
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                    Wizard – Select Linker Script File




                                                            Template File:                     F452tmpo.asm
                                                            Linker Script:                     18f452.lkr
         © 2004 Microchip Technology Incorporated        An introduction to MPLAB Integrated Development Environment   Slide 21




Now there should be two files in our project, the linker script 18F452.lkr and
template file f452tempo.asm.




An Introduction to MPLAB® IDE                                                                                                     Page 21
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                    Wizard – Summary Finish




         © 2004 Microchip Technology Incorporated     An introduction to MPLAB Integrated Development Environment   Slide 22




The last slide in the Project Wizard shows the information on this project. Click
Finish to exit to the MPLAB IDE desktop.




An Introduction to MPLAB® IDE                                                                                                  Page 22
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                                             Project




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 23




The Project Window in MPLAB program should look like this.




An Introduction to MPLAB® IDE                                                                                               Page 23
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                       Project – Build All




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 24




From the Project menu, we can choose Build All to assemble and link the current
files. They don’t have any of our code in them yet, but this just assures that the
project is set up correctly.




An Introduction to MPLAB® IDE                                                                                                Page 24
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Project – Output Window




        © 2004 Microchip Technology Incorporated     An introduction to MPLAB Integrated Development Environment   Slide 25




The Output window shows the result of the build process. There should be no
errors on any step.




An Introduction to MPLAB® IDE                                                                                                 Page 25
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                       Project – Edit File




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 26




Now we need to add our code to the source file. Open up the source file
f452tmpo.asm by double clicking on its name in the project window or selecting it,
then press the right mouse button to select “edit.”




An Introduction to MPLAB® IDE                                                                                               Page 26
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Source Code Template




        © 2004 Microchip Technology Incorporated    An introduction to MPLAB Integrated Development Environment   Slide 27




The file has some comments at the beginning, and an area which you can use as a
standard comment information header for the file. For now we’ll leave this as it is,
but if this were a real project, you could put information about your design here.
Scroll down to the bottom of the file.




An Introduction to MPLAB® IDE                                                                                                Page 27
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                     Main: Source Code




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 28




The code up to this point is for more advanced things such as setting up interrupts
and configuration bits in a final application. We can ignore those details for now and
just write the code. Our code will go into the file at the point after the symbol Main:
is defined.




An Introduction to MPLAB® IDE                                                                                                Page 28
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Data Sheet: Select I/O




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 29




Looking at the data sheet for the PIC18F452, we see that I/O can be done on the
set of pins called PORTB. Note that PORTA has pins labeled RA0/AN0, while
PORTB has pins labeled RB0/INT0. This indicates that the pin can be used for two
things. In the case of PORTA, the pin can be a general purpose I/O pin, RA0, or
can be an Analog to Digital input, AN0.


PORTB can be used as RB0, simple input or output as denoted by the RB0 label, or
can be used as an interrupt pin, INT0. We won’t be enabling interrupts in this
example, and a look through the data sheet indicates that PORTB will operate
normally with some simple configuration. PORTA, however, according to the
datasheet defaults to use the analog to digital converter, so we would have to do
more configuration to use PORTA for this example.




An Introduction to MPLAB® IDE                                                                                               Page 29
Microchip Technology Incorporated
         WebSeminar: March 30, 2004




                                                                         Add Code




          © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 30




In the area beneath the label Main, we add these lines of code.


Comments are put in the code after semicolons. The assembler will ignore everything on a line after
a semicolon. The code moves a value of zero into the PIC18F452 W register, then moves the
contents of the W register to TRISB. TRISB is the data direction register for PORTB, determining
whether each pin is used as an output or as an input. There are eight bits in TRISB and PORTB
corresponding to 8 different pins on the PIC18F452.


There is no instruction to move a value directly into TRISB or PORTB, so we need to use the
accumulator, called the W register in PICmicro MCUs, to load the data and move it to these registers.


Then we add a label, called Loop, which we will use later, and add lines of code to move a value of 1
into PORTB, then a 0.


At the end we put a goto Loop instruction, which causes the program to stay in this loop forever,
alternately sending out 1s and 0s on pin RB0.


If we had used an alternating pattern of FF and 0 instead of 1 and 0, we would toggle all 8 pins on
PORTB, not just the pin labeled RB0.


Now we can compile and test the code.




An Introduction to MPLAB® IDE                                                                                                 Page 30
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                          Select Simulator




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 31




In order to test the code, we need a debug tool. MPLAB SIM is a debug tool. It is
software simulator that can be used to test code on the PC.


Select MPLAB SIM from the Debugger>Select Tool pull down menu.




An Introduction to MPLAB® IDE                                                                                               Page 31
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                             Reset Program




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 32




Next we select Reset from the Debugger pull down menu, and a green arrow shows
us where our program will begin. This was part of the template file. The first
instruction in memory jumps to the label called Main, where we put our code. This
allows us to jump over the vector areas in memory.




An Introduction to MPLAB® IDE                                                                                               Page 32
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 33




Now we can press the Step-Into icon or choose Step-Into from the Debugger menu
to single step to our code.




An Introduction to MPLAB® IDE                                                                                               Page 33
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 34




Continuing to press Step-into, we can step through the code.




An Introduction to MPLAB® IDE                                                                                               Page 34
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 35




…step




An Introduction to MPLAB® IDE                                                                                               Page 35
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 36




…step




An Introduction to MPLAB® IDE                                                                                               Page 36
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 37




…step




An Introduction to MPLAB® IDE                                                                                               Page 37
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Step Through Code




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 38




…step




An Introduction to MPLAB® IDE                                                                                               Page 38
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                    Step Through Code




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 39




..step and we go back to the start of the infinite loop.




An Introduction to MPLAB® IDE                                                                                                Page 39
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                             Watch Window




        © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 40




In order to see if our code executes properly we need to see what’s happening on
PORTB.


We will add PORTB to a watch window. After we press reset we end up back at the
start of the program and the value on PORTB is 0.




An Introduction to MPLAB® IDE                                                                                               Page 40
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                              Watch Window




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 41




After the instruction that sends a 1 to PORTB, the value of PORTB changes. Note
that when single stepping, you are stopped at the instruction before it executes, so
we didn’t see a change until we executed the MOVWF PORTB instruction in line
149.




An Introduction to MPLAB® IDE                                                                                                Page 41
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                              Watch Window




         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 42




As we step further, we see PORTB with a value of 0 at line 152. Continually
following through the loop will show PORTB changing from 0 to 1 and back again.


We could program this code into a demo board with a a PIC18F452 on it. On that
demo board, this pin on PORTB is connected to an LED. If we run it we’ll see the
LED apparently lit all the time.


Why isn’t it blinking?


Because the loop is executing so fast, we cannot see the LED going on and off. We
would need to put some delays in the code. In order to slow it down, we’d add a
delay after sending a value of 1 out PORTB and also after sending a value of 0 out
PORTB.




An Introduction to MPLAB® IDE                                                                                                Page 42
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                    Summary: First Project

                 Select Device
                 Create Project
                 Select Language Tools
                 Put Files in Project
                 Create Code
                 Build Project
                 Test Code with Simulator


         © 2004 Microchip Technology Incorporated   An introduction to MPLAB Integrated Development Environment   Slide 43




We have done the major steps for creating, building and testing our simple project.
We selected the device, the PIC18F452.
We used the Project wizard to create a project, and while using the wizard we
…selected the MPLAB built-in MPASM™ and MPLINK™ language tools.
…added files for the project, a template file for the device we’ve selected and a
linker script to build it properly.
We wrote some simple code to toggle an I/O bit.
Then we built the project.
And finally we tested the code with the simulator.




An Introduction to MPLAB® IDE                                                                                                Page 43
Microchip Technology Incorporated
        WebSeminar: March 30, 2004




                                                   Summary: The Next Step

                We Covered the Basics of Building a Project
                Debug Tools:
                           Stop Watch
                           Stimulus
                           Advanced Breakpoints
                Programmers
                Hardware Debuggers



        © 2004 Microchip Technology Incorporated    An introduction to MPLAB Integrated Development Environment   Slide 44




These are the essential steps for getting started with MPLAB IDE. Once you are
familiar with these, you are ready to go on to explore the power of the MPLAB tool.
All debugging features are covered in the MPLAB IDE documentation and on-line
help.


Advanced debug tools are available in MPLAB IDE.
A Stop Watch helps you measure execution time of your code.
Stimulus can be used to apply signals to pins of the device while using the
simulator.
Breakpoints can be set on complex conditions so you can run your code and halt at
precise points in your program.


Programmers can be installed to burn the code into your design, and hardware
debuggers, like MPLAB ICD2 and MPLAB ICE can be used to more fully test and
analyze your final hardware.




An Introduction to MPLAB® IDE                                                                                                Page 44
Microchip Technology Incorporated
       WebSeminar: March 30, 2004




                                                   Download MPLAB® IDE
                                                        and Try It!


                                WWW.MICROCHIP.COM
                                Or contact your local
                                Microchip Sales Office
                                for the latest MPLAB CD




        © 2004 Microchip Technology Incorporated     An introduction to MPLAB Integrated Development Environment   Slide 45




   If you haven’t already done it, now is the time to get started with MPLAB IDE.
   Simply go to our web site or contact your local Microchip Sales Office for the
   latest MPLAB CDROM.


   For an overview of more of Microchip’s development tools, you might wish to
   view the web seminar titled “An Introduction to Microchip’s Development
   Tools.”


   That is the end of our presentation. Thank you for your time.




An Introduction to MPLAB® IDE                                                                                                 Page 45

Más contenido relacionado

La actualidad más candente

Intel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of ThingsIntel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of ThingsIntel IoT
 
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Yury Gorbachev
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overviewQA Club Kiev
 
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Intel® Software
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Software
 
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ..."How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...Edge AI and Vision Alliance
 
How we test tvideo at skype
How we test tvideo at skypeHow we test tvideo at skype
How we test tvideo at skypeQA Club Kiev
 
2018 Intel AI Developer Conference Keynote
2018 Intel AI Developer Conference Keynote2018 Intel AI Developer Conference Keynote
2018 Intel AI Developer Conference KeynoteDESMOND YUEN
 

La actualidad más candente (10)

Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Intel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of ThingsIntel Gateway Solutions for the Internet of Things
Intel Gateway Solutions for the Internet of Things
 
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
 
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
 
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
Intel® Open Image Denoise: Optimized CPU Denoising | SIGGRAPH 2019 Technical ...
 
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ..."How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...
"How to Get the Best Deep Learning Performance with the OpenVINO Toolkit," a ...
 
OpenVINO introduction
OpenVINO introductionOpenVINO introduction
OpenVINO introduction
 
How we test tvideo at skype
How we test tvideo at skypeHow we test tvideo at skype
How we test tvideo at skype
 
2018 Intel AI Developer Conference Keynote
2018 Intel AI Developer Conference Keynote2018 Intel AI Developer Conference Keynote
2018 Intel AI Developer Conference Keynote
 

Destacado

19199406 embedded-c-tutorial-8051
19199406 embedded-c-tutorial-805119199406 embedded-c-tutorial-8051
19199406 embedded-c-tutorial-8051PRADEEP
 
Introduction to pic
Introduction to picIntroduction to pic
Introduction to picPRADEEP
 
Chapter 4 synchronous machine
Chapter 4 synchronous machineChapter 4 synchronous machine
Chapter 4 synchronous machinemkazree
 
Tutorial 2 amplitude modulation
Tutorial 2 amplitude  modulationTutorial 2 amplitude  modulation
Tutorial 2 amplitude modulationmkazree
 
120102011
120102011120102011
120102011mkazree
 
Tutorial chapter 3 robotic
Tutorial chapter 3 roboticTutorial chapter 3 robotic
Tutorial chapter 3 roboticmkazree
 
ADC Interfacing with pic Microcontrollert
ADC Interfacing with pic MicrocontrollertADC Interfacing with pic Microcontrollert
ADC Interfacing with pic Microcontrollertleapshare007
 
Lab 3 microcontroller
Lab 3 microcontrollerLab 3 microcontroller
Lab 3 microcontrollermkazree
 
Tutorial chapter 2 robotic
Tutorial chapter 2 roboticTutorial chapter 2 robotic
Tutorial chapter 2 roboticmkazree
 
Lab 6 microcontroller
Lab 6 microcontrollerLab 6 microcontroller
Lab 6 microcontrollermkazree
 
Lab 5 microcontroller
Lab 5 microcontrollerLab 5 microcontroller
Lab 5 microcontrollermkazree
 
Lab 4 microcontroller
Lab 4 microcontrollerLab 4 microcontroller
Lab 4 microcontrollermkazree
 
Lab 2 microcontroller
Lab 2 microcontrollerLab 2 microcontroller
Lab 2 microcontrollermkazree
 
Unit 3 tables and data structures
Unit 3 tables and data structuresUnit 3 tables and data structures
Unit 3 tables and data structuresPRADEEP
 
The Electronic Hobby Kit
The Electronic Hobby KitThe Electronic Hobby Kit
The Electronic Hobby Kitmkazree
 
Embedded system (Chapter 2) part A
Embedded system (Chapter 2) part AEmbedded system (Chapter 2) part A
Embedded system (Chapter 2) part AIkhwan_Fakrudin
 
Foster-seely and Ratio Detector (Discriminator )
Foster-seely and Ratio Detector (Discriminator )Foster-seely and Ratio Detector (Discriminator )
Foster-seely and Ratio Detector (Discriminator )mkazree
 
Interfacing keypad
Interfacing keypadInterfacing keypad
Interfacing keypadPRADEEP
 
CMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyCMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyIkhwan_Fakrudin
 

Destacado (20)

16f877
16f87716f877
16f877
 
19199406 embedded-c-tutorial-8051
19199406 embedded-c-tutorial-805119199406 embedded-c-tutorial-8051
19199406 embedded-c-tutorial-8051
 
Introduction to pic
Introduction to picIntroduction to pic
Introduction to pic
 
Chapter 4 synchronous machine
Chapter 4 synchronous machineChapter 4 synchronous machine
Chapter 4 synchronous machine
 
Tutorial 2 amplitude modulation
Tutorial 2 amplitude  modulationTutorial 2 amplitude  modulation
Tutorial 2 amplitude modulation
 
120102011
120102011120102011
120102011
 
Tutorial chapter 3 robotic
Tutorial chapter 3 roboticTutorial chapter 3 robotic
Tutorial chapter 3 robotic
 
ADC Interfacing with pic Microcontrollert
ADC Interfacing with pic MicrocontrollertADC Interfacing with pic Microcontrollert
ADC Interfacing with pic Microcontrollert
 
Lab 3 microcontroller
Lab 3 microcontrollerLab 3 microcontroller
Lab 3 microcontroller
 
Tutorial chapter 2 robotic
Tutorial chapter 2 roboticTutorial chapter 2 robotic
Tutorial chapter 2 robotic
 
Lab 6 microcontroller
Lab 6 microcontrollerLab 6 microcontroller
Lab 6 microcontroller
 
Lab 5 microcontroller
Lab 5 microcontrollerLab 5 microcontroller
Lab 5 microcontroller
 
Lab 4 microcontroller
Lab 4 microcontrollerLab 4 microcontroller
Lab 4 microcontroller
 
Lab 2 microcontroller
Lab 2 microcontrollerLab 2 microcontroller
Lab 2 microcontroller
 
Unit 3 tables and data structures
Unit 3 tables and data structuresUnit 3 tables and data structures
Unit 3 tables and data structures
 
The Electronic Hobby Kit
The Electronic Hobby KitThe Electronic Hobby Kit
The Electronic Hobby Kit
 
Embedded system (Chapter 2) part A
Embedded system (Chapter 2) part AEmbedded system (Chapter 2) part A
Embedded system (Chapter 2) part A
 
Foster-seely and Ratio Detector (Discriminator )
Foster-seely and Ratio Detector (Discriminator )Foster-seely and Ratio Detector (Discriminator )
Foster-seely and Ratio Detector (Discriminator )
 
Interfacing keypad
Interfacing keypadInterfacing keypad
Interfacing keypad
 
CMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodologyCMOS Topic 7 -_design_methodology
CMOS Topic 7 -_design_methodology
 

Similar a Mp lab

Presentation on Embedded system using micro controller by PARAS JHA
Presentation on Embedded system using micro controller  by PARAS JHAPresentation on Embedded system using micro controller  by PARAS JHA
Presentation on Embedded system using micro controller by PARAS JHAParas Jha
 
Embedded System Design latest
Embedded System Design latestEmbedded System Design latest
Embedded System Design latestDeepak Chouhan
 
An introduction to_programming_the_microchip_pic_in_ccs_c
An introduction to_programming_the_microchip_pic_in_ccs_cAn introduction to_programming_the_microchip_pic_in_ccs_c
An introduction to_programming_the_microchip_pic_in_ccs_cSuresh Murugesan
 
Microprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.pptMicroprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.pptTALHARIAZ46
 
Softchoice Webinar: IBM PureSystems launch
 Softchoice Webinar: IBM PureSystems launch Softchoice Webinar: IBM PureSystems launch
Softchoice Webinar: IBM PureSystems launchSoftchoice Corporation
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singhSudeep Singh
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1Hossam Hassan
 
An introduction to microcontrollers
An introduction to microcontrollersAn introduction to microcontrollers
An introduction to microcontrollersasmhemu
 
I/O Challenges in Brain Tissue Simulation
I/O Challenges in Brain Tissue SimulationI/O Challenges in Brain Tissue Simulation
I/O Challenges in Brain Tissue Simulationinside-BigData.com
 
Singularity Rethinking The Software Stack
Singularity    Rethinking The  Software  StackSingularity    Rethinking The  Software  Stack
Singularity Rethinking The Software Stackalanocu
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Design World
 
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS MOHAMMED FURQHAN
 
MPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configurationMPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configurationDesign World
 
Embedded systems. Mpmx labaratory of the purpose
Embedded systems. Mpmx labaratory of the purposeEmbedded systems. Mpmx labaratory of the purpose
Embedded systems. Mpmx labaratory of the purposeShanmukhVegi
 

Similar a Mp lab (20)

An introdution to MPLAB
An introdution to MPLABAn introdution to MPLAB
An introdution to MPLAB
 
Presentation on Embedded system using micro controller by PARAS JHA
Presentation on Embedded system using micro controller  by PARAS JHAPresentation on Embedded system using micro controller  by PARAS JHA
Presentation on Embedded system using micro controller by PARAS JHA
 
Embedded System Design latest
Embedded System Design latestEmbedded System Design latest
Embedded System Design latest
 
An introduction to_programming_the_microchip_pic_in_ccs_c
An introduction to_programming_the_microchip_pic_in_ccs_cAn introduction to_programming_the_microchip_pic_in_ccs_c
An introduction to_programming_the_microchip_pic_in_ccs_c
 
Microprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.pptMicroprocessor and Microcontroller Based Systems.ppt
Microprocessor and Microcontroller Based Systems.ppt
 
111111.pptx
111111.pptx111111.pptx
111111.pptx
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Softchoice Webinar: IBM PureSystems launch
 Softchoice Webinar: IBM PureSystems launch Softchoice Webinar: IBM PureSystems launch
Softchoice Webinar: IBM PureSystems launch
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
An introduction to microcontrollers
An introduction to microcontrollersAn introduction to microcontrollers
An introduction to microcontrollers
 
I/O Challenges in Brain Tissue Simulation
I/O Challenges in Brain Tissue SimulationI/O Challenges in Brain Tissue Simulation
I/O Challenges in Brain Tissue Simulation
 
Singularity Rethinking The Software Stack
Singularity    Rethinking The  Software  StackSingularity    Rethinking The  Software  Stack
Singularity Rethinking The Software Stack
 
IOT Exploitation
IOT Exploitation	IOT Exploitation
IOT Exploitation
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
A CASE STUDY ON EMBEDDED SYSTEM SOFTWARE STACK LAYERS
 
MPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configurationMPLAB® Harmony Configurator – Graphical system and middleware configuration
MPLAB® Harmony Configurator – Graphical system and middleware configuration
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Embedded systems. Mpmx labaratory of the purpose
Embedded systems. Mpmx labaratory of the purposeEmbedded systems. Mpmx labaratory of the purpose
Embedded systems. Mpmx labaratory of the purpose
 

Más de PRADEEP

Unit 2 software partitioning
Unit 2 software partitioningUnit 2 software partitioning
Unit 2 software partitioningPRADEEP
 
Unit 1 introduction
Unit 1 introductionUnit 1 introduction
Unit 1 introductionPRADEEP
 
Unit 5 multi-board system
Unit 5 multi-board systemUnit 5 multi-board system
Unit 5 multi-board systemPRADEEP
 
13986149 c-pgming-for-embedded-systems
13986149 c-pgming-for-embedded-systems13986149 c-pgming-for-embedded-systems
13986149 c-pgming-for-embedded-systemsPRADEEP
 
22323006 embedded-c-tutorial-8051
22323006 embedded-c-tutorial-805122323006 embedded-c-tutorial-8051
22323006 embedded-c-tutorial-8051PRADEEP
 
14157565 embedded-programming
14157565 embedded-programming14157565 embedded-programming
14157565 embedded-programmingPRADEEP
 
Rtos 3 & 4
Rtos 3 & 4Rtos 3 & 4
Rtos 3 & 4PRADEEP
 
Interrupts
InterruptsInterrupts
InterruptsPRADEEP
 
Chapter 3
Chapter 3Chapter 3
Chapter 3PRADEEP
 
Leadership lessons-from-obama-
Leadership lessons-from-obama-Leadership lessons-from-obama-
Leadership lessons-from-obama-PRADEEP
 
Programming timers
Programming timersProgramming timers
Programming timersPRADEEP
 
Interfacing stepper motor
Interfacing stepper motorInterfacing stepper motor
Interfacing stepper motorPRADEEP
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232PRADEEP
 
Interfacing adc
Interfacing adcInterfacing adc
Interfacing adcPRADEEP
 
EMBEDDED SYSTEMS 6
EMBEDDED SYSTEMS 6EMBEDDED SYSTEMS 6
EMBEDDED SYSTEMS 6PRADEEP
 
EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5PRADEEP
 
EMBEDDED SYSTEMS 2&3
EMBEDDED SYSTEMS 2&3EMBEDDED SYSTEMS 2&3
EMBEDDED SYSTEMS 2&3PRADEEP
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5PRADEEP
 
EMBEDDED SYSTEMS 1
EMBEDDED SYSTEMS 1EMBEDDED SYSTEMS 1
EMBEDDED SYSTEMS 1PRADEEP
 

Más de PRADEEP (20)

Unit 2 software partitioning
Unit 2 software partitioningUnit 2 software partitioning
Unit 2 software partitioning
 
Unit 1 introduction
Unit 1 introductionUnit 1 introduction
Unit 1 introduction
 
Unit 5 multi-board system
Unit 5 multi-board systemUnit 5 multi-board system
Unit 5 multi-board system
 
13986149 c-pgming-for-embedded-systems
13986149 c-pgming-for-embedded-systems13986149 c-pgming-for-embedded-systems
13986149 c-pgming-for-embedded-systems
 
22323006 embedded-c-tutorial-8051
22323006 embedded-c-tutorial-805122323006 embedded-c-tutorial-8051
22323006 embedded-c-tutorial-8051
 
14157565 embedded-programming
14157565 embedded-programming14157565 embedded-programming
14157565 embedded-programming
 
Rtos 3 & 4
Rtos 3 & 4Rtos 3 & 4
Rtos 3 & 4
 
Interrupts
InterruptsInterrupts
Interrupts
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Leadership lessons-from-obama-
Leadership lessons-from-obama-Leadership lessons-from-obama-
Leadership lessons-from-obama-
 
Programming timers
Programming timersProgramming timers
Programming timers
 
Interfacing stepper motor
Interfacing stepper motorInterfacing stepper motor
Interfacing stepper motor
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232
 
Interfacing adc
Interfacing adcInterfacing adc
Interfacing adc
 
EMBEDDED SYSTEMS 6
EMBEDDED SYSTEMS 6EMBEDDED SYSTEMS 6
EMBEDDED SYSTEMS 6
 
EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5EMBEDDED SYSTEMS 5
EMBEDDED SYSTEMS 5
 
EMBEDDED SYSTEMS 2&3
EMBEDDED SYSTEMS 2&3EMBEDDED SYSTEMS 2&3
EMBEDDED SYSTEMS 2&3
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5
 
Timers
TimersTimers
Timers
 
EMBEDDED SYSTEMS 1
EMBEDDED SYSTEMS 1EMBEDDED SYSTEMS 1
EMBEDDED SYSTEMS 1
 

Mp lab

  • 1. Microchip Technology Incorporated WebSeminar: March 30, 2004 An Introduction to MPLAB® Integrated Development Environment © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 1 This seminar is an introduction to the MPLAB Integrated Development Environment. My name is Darrel Johansen and I’m a manager for the Development Systems Group here at Microchip Technology. An Introduction to MPLAB® IDE Page 1
  • 2. Microchip Technology Incorporated WebSeminar: March 30, 2004 Agenda What is MPLAB® IDE? Embedded Systems Design Cycle First Project Summary: First Project Summary: The Next Step © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 2 This program is intended to explain what the MPLAB IDE is used for and to walk you through a simple project. We’ll answer the question: What is MPLAB IDE? And demonstrate how this integrated development environment eases the design cycle. We’ll walk through a simple project and by the time you are finished, you should understand the basics of application development using MPLAB IDE. An Introduction to MPLAB® IDE Page 2
  • 3. Microchip Technology Incorporated WebSeminar: March 30, 2004 What Is MPLAB® IDE? MPLAB® IDE is a software program that runs on your PC to provide a development environment for your embedded system design. © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 3 What is MPLAB IDE? MPLAB IDE is a software program that runs on your PC to provide a development environment for your embedded microcontroller design. If you are an experienced embedded systems designer, that sentence probably made complete sense to you, and you may want to skip ahead to the first project demonstration to get familiar with MPLAB IDE. If not, we’ll take just a moment to explain a little about embedded systems development and what MPLAB IDE is used for. An Introduction to MPLAB® IDE Page 3
  • 4. Microchip Technology Incorporated WebSeminar: March 30, 2004 What Is An “Embedded System?” Design with a Microcontroller CPU on chip Additional circuits on chip © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 4 What is an “embedded system?” It is typically a design making use of the power of a small microcontroller, like the Microchip PICmicro® microcontrollers and dsPIC® digital signal controllers. These chips have a microcontroller unit and some additional circuits on the same chip to make a small control module requiring few other external devices. An Introduction to MPLAB® IDE Page 4
  • 5. Microchip Technology Incorporated WebSeminar: March 30, 2004 PICmicro® Microcontroller Program Memory Instructions Data Tables Register Memory Temporary Storage Peripheral Registers Peripheral Devices Input/Output (I/O) Timers A/D Converters © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 5 The PICmicro device has program memory for the firmware, or coded instructions, to run your program. It also has file register memory for storage of variables that your program will need for computation or temporary storage and for data going to and coming from the peripheral circuits. It has a number of peripheral device circuits on the same chip. Some peripheral devices are called I/O ports. These are pins on the microcontroller that can be set high or low to send signals, light LEDs, drive speakers –just about anything that can be sent through a wire. Often these are bi-directional and can be configured as inputs allowing the program to respond to an external switch, sensor, or to communicate with some other external device. In order to design such a system, you need to decide what peripherals are needed for your application. Analog to Digital converters allow you to connect the microcontroller to sensors and receive changing voltage levels. Serial communication peripherals, allow you to stream communications over a few wires to another microcontroller, to a local network, or to the internet. Timer peripherals accurately measure signals, clock data waveforms in and out of the device, and generate precise waveforms. One kind of timer automatically resets the microcontroller if it gets “hung” or lost because of a power glitch or hardware malfunction. Certain peripherals detect if the external power is dipping below dangerous levels, so the micro can quickly save information before the power is completely removed. The peripherals and the amount of memory your application needs to run your program largely determine which PICmicro to use. Other factors might include the power consumed by the microcontroller and its “form factor” –the size and characteristics of the physical package that must reside on your target design. An Introduction to MPLAB® IDE Page 5
  • 6. Microchip Technology Incorporated WebSeminar: March 30, 2004 How Does an Embedded System Differ From a PC? PC can run many Embedded System programs Does One Task PC has generalized Embedded System has CPU specialized microcontroller © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 6 How does an embedded controller differ from a PC like my desktop PC? The main difference is that the embedded controller is usually dedicated to one specific task or set of tasks. A PC is designed to run many different types of programs and to connect to many different external devices. An embedded controller has a single program and, as a result, can be made cheaply to include just enough computing power and hardware to perform that dedicated task. A PC has a generalized microcomputer at its heart, while an embedded system has a specialized microcontroller for its intelligence. An Introduction to MPLAB® IDE Page 6
  • 7. Microchip Technology Incorporated WebSeminar: March 30, 2004 Example Embedded System Main Program Loop No Detect Low No Test? No Battery? Smoke? Yes Yes Yes Hardware Block Diagram Sound Alarm Battery Microcontroller Speaker Software Flow Chart Push Button LED Indicators © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 7 An example of an embedded system is a smoke detector. It’s function is to evaluate signals from a sensor and sound an alarm if the signals indicate the presence of smoke. A small program in the smoke detector either runs in an infinite loop, sampling the signal from the smoke detector, or is almost dormant in a low-power “sleep” mode, being awakened by a signal from the sensor. The program then sounds the alarm. The program would have a few other functions, such as a user test function, and a low battery alert. While a PC with a sensor and audio output could be programmed to do the same function, it would not be a cost-effective solution. Embedded designs use inexpensive microcontrollers to put small amounts of intelligence into the everyday electronic devices in our environment, such as cameras, cellphones, appliances, automobiles, smartcards, and security systems. An Introduction to MPLAB® IDE Page 7
  • 8. Microchip Technology Incorporated WebSeminar: March 30, 2004 Design Cycle High Level Design Software Coding Generate Executable Test Compile/Assemble “Burn” into Device /Link Code Download Code to Debugger Edit/Create/Design Source Code Analyze/Debug Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 8 The design cycle for developing an embedded controller application is: 1) Do the high level design – From the features and performance desired, decide which PICmicro or dsPIC device you need, then design the associated hardware circuitry. 2) Knowing which peripherals and pins control your hardware, write the software. Use either assembly language, which is directly translatable into machine code, or using a compiler that allows a more natural language for creating programs. With these Language Tools you can write and edit code that is more or less understandable, with constructs that help you organize your code. 3) Compile or assemble the software using a Language Tool to convert your code into machine code for the PICmicro device. This machine code will eventually becomes firmware, the code programmed into the microcontroller. 4) Test your code. Usually a complex program does not work exactly the way you might have imagined, and “bugs” need to be removed from your design to get it to act properly. 5) “Burn” your code into a microcontroller and verify that it executes correctly in your finished application. An Introduction to MPLAB® IDE Page 8
  • 9. Microchip Technology Incorporated WebSeminar: March 30, 2004 First Project Select Device Create Project Select Language Tools Put Files in Project Create Code Build Project Test Code with Simulator © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 9 To familiarize you with the basic components of MPLAB, let’s do a simple first project. We will write a short assembly language program to toggle an output pin on a PICmicro device which could then be programmed into a simple circuit to flash an LED. This exercise will show you how to put together a project framework, how to build an application, and how to test it with the simulator to verify that it works as expected. All projects will have these basic steps: Select the device. The capabilities of MPLAB IDE vary according to which device is selected. That is the first thing that must be done before anything else. We will use the MPLAB Project Wizard to Create a Project. In the Project Wizard we can select the language tools. For this presentation, the built in assembler and linker will be used. For other projects you might choose one of the Microchip compilers or other third party tools. We’ll add two files for the project, a template file and a linker script. These exist in the MPLAB IDE folder and with these two files we can get started quickly. We’ll then add some code to the template file to toggle an I/O bit. Then we will build the project – causing our source files to be assembled and linked into machine code that can run on the selected PICmicro device. And finally we will test the code with the simulator. An Introduction to MPLAB® IDE Page 9
  • 10. Microchip Technology Incorporated WebSeminar: March 30, 2004 MPLAB Desktop © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 10 The first thing to do is to download and install MPLAB IDE on your PC. Go to www.microchip.com and go to the Development Tools section. Look for the latest production version of MPLAB software. The latest production version ends in a zero digit, like v6.40, v6.50. Interim versions end in non-zero digits like v6.42. For getting started, choose the latest production version. The interim versions are posted mainly for early support of new devices and some features may not be fully functional. Install on your PC following the automatic installation instructions. There is some information about the hardware drivers that need to be followed if you are using MPLAB ICD 2, MPLAB ICE or one of the Microchip programmers, but if you do not have any of these, you can ignore this information for now. Remember, though, that if you later get one of these devices, you should install new software that came with the hardware and execute the driver installation as detailed. Now you can start the MPLAB IDE program. The first thing to do is to choose a PICmicro device. Almost any can do what we need for this example, but let’s choose a general purpose controller in the PIC18 family. Choose Select Device from the Configure menu. An Introduction to MPLAB® IDE Page 10
  • 11. Microchip Technology Incorporated WebSeminar: March 30, 2004 Select The Device © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 11 In the Device window, select the PIC18F452 from the list if it’s not already selected. Note the “red” and “green lights.” These indicate which MPLAB components support this device. A green light indicates support. Sometimes you might see a yellow light. This would indicate minimal support for an upcoming part that might not yet be fully supported by the MPLAB component. Usage of components with a yellow light instead of a green light is often intended for early adopters of new parts who need quick support and understand that some operations or functions may not be available. An Introduction to MPLAB® IDE Page 11
  • 12. Microchip Technology Incorporated WebSeminar: March 30, 2004 Create A Project © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 12 Next, we’ll create a project using the Project Wizard. A project is the way your files are organized to be compiled and assembled. We will use a single assembly file for this project. Choose the Project Wizard from the Project menu. An Introduction to MPLAB® IDE Page 12
  • 13. Microchip Technology Incorporated WebSeminar: March 30, 2004 Project Wizard © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 13 The Project Wizard will start and show this screen. Press Next> to continue. An Introduction to MPLAB® IDE Page 13
  • 14. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard - Confirm Device © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 14 The first step allows you to select the device, which we already did. If the Device shown is not the PIC18F452, change it on this dialog. An Introduction to MPLAB® IDE Page 14
  • 15. Microchip Technology Incorporated WebSeminar: March 30, 2004 Select Language Tools (in Wizard) Default location for MPLAB assembler and linker: C:Program FilesMPLAB IDEMCHIP_Toolsmpasmwin.exe C:Program FilesMPLAB IDEMCHIP_Toolsmplink.exe © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 15 Step Two is used to set up the language tools suite. Select the Microchip MPASM™ Tools Suite and note that MPLAB IDE already knows the location of the assembler and the linker. You should not have to browse to set these up. If the location is not set, the default location for the assembler and linker are shown here. An Introduction to MPLAB® IDE Page 15
  • 16. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Name Project © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 16 Step three asks that you name the Project. Here we called it simply, “MyProject.” Then you need to establish a project directory. We choose “Browse” and made a new folder in our My Documents folder called MPLAB Project Folder. An Introduction to MPLAB® IDE Page 16
  • 17. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Select Template File © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 17 Step Four asks us to add files to the project. We do not have a source file yet, so we will use an MPLAB template file. The template files are simple files that can be used to start a project. They have the essential sections for any source file, and have information in them that will help you write and organize your code. These files are in the MPLAB IDE folder, which by default is in the Program Files folder on your PC. Scroll to the Program Files folder on Drive C:, open it, and scroll down to the MPLAB IDE folder. An Introduction to MPLAB® IDE Page 17
  • 18. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Select Template File © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 18 Open the MPLAB IDE folder and scroll down to the Mchip_Tools directory An Introduction to MPLAB® IDE Page 18
  • 19. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Select Template File C:Program FilesMPLAB IDEMCHIP_ToolsTEMPLATEObjectf452tmp0.asm © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 19 Open the MPLAB IDE folder and go to the Mchip_Tools directory and get a template from the Object folder in the Template folder. The file we need is f452tmpo.asm. Use the Add>> button to add that to the list on the right side, then check the box to the left of its name to copy the file into your project directory. This leaves the original template file in the MPLAB subdirectory for use with another future project. An Introduction to MPLAB® IDE Page 19
  • 20. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Select Linker Script File C:Program FilesMPLAB IDEMCHIP_ToolsLKR18F452.lkr © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 20 Next we need to add a linker script. These are in the folder named LKR in the MCHIP_Tools folder. There is a file for each device. These files define the memory configuration and register names for the part. These are located in the MPLAB IDE folder under Mchip_Tools named LKR. Use 18F452.LKR for this project. There is also a linker script named 18F452i.lkr, for use with this device when MPLAB ICD 2 is being used. That linker script reserves areas for memory for MPLAB ICD 2. Since we are using the simulator, we don’t need to use that linker script. An Introduction to MPLAB® IDE Page 20
  • 21. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Select Linker Script File Template File: F452tmpo.asm Linker Script: 18f452.lkr © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 21 Now there should be two files in our project, the linker script 18F452.lkr and template file f452tempo.asm. An Introduction to MPLAB® IDE Page 21
  • 22. Microchip Technology Incorporated WebSeminar: March 30, 2004 Wizard – Summary Finish © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 22 The last slide in the Project Wizard shows the information on this project. Click Finish to exit to the MPLAB IDE desktop. An Introduction to MPLAB® IDE Page 22
  • 23. Microchip Technology Incorporated WebSeminar: March 30, 2004 Project © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 23 The Project Window in MPLAB program should look like this. An Introduction to MPLAB® IDE Page 23
  • 24. Microchip Technology Incorporated WebSeminar: March 30, 2004 Project – Build All © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 24 From the Project menu, we can choose Build All to assemble and link the current files. They don’t have any of our code in them yet, but this just assures that the project is set up correctly. An Introduction to MPLAB® IDE Page 24
  • 25. Microchip Technology Incorporated WebSeminar: March 30, 2004 Project – Output Window © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 25 The Output window shows the result of the build process. There should be no errors on any step. An Introduction to MPLAB® IDE Page 25
  • 26. Microchip Technology Incorporated WebSeminar: March 30, 2004 Project – Edit File © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 26 Now we need to add our code to the source file. Open up the source file f452tmpo.asm by double clicking on its name in the project window or selecting it, then press the right mouse button to select “edit.” An Introduction to MPLAB® IDE Page 26
  • 27. Microchip Technology Incorporated WebSeminar: March 30, 2004 Source Code Template © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 27 The file has some comments at the beginning, and an area which you can use as a standard comment information header for the file. For now we’ll leave this as it is, but if this were a real project, you could put information about your design here. Scroll down to the bottom of the file. An Introduction to MPLAB® IDE Page 27
  • 28. Microchip Technology Incorporated WebSeminar: March 30, 2004 Main: Source Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 28 The code up to this point is for more advanced things such as setting up interrupts and configuration bits in a final application. We can ignore those details for now and just write the code. Our code will go into the file at the point after the symbol Main: is defined. An Introduction to MPLAB® IDE Page 28
  • 29. Microchip Technology Incorporated WebSeminar: March 30, 2004 Data Sheet: Select I/O © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 29 Looking at the data sheet for the PIC18F452, we see that I/O can be done on the set of pins called PORTB. Note that PORTA has pins labeled RA0/AN0, while PORTB has pins labeled RB0/INT0. This indicates that the pin can be used for two things. In the case of PORTA, the pin can be a general purpose I/O pin, RA0, or can be an Analog to Digital input, AN0. PORTB can be used as RB0, simple input or output as denoted by the RB0 label, or can be used as an interrupt pin, INT0. We won’t be enabling interrupts in this example, and a look through the data sheet indicates that PORTB will operate normally with some simple configuration. PORTA, however, according to the datasheet defaults to use the analog to digital converter, so we would have to do more configuration to use PORTA for this example. An Introduction to MPLAB® IDE Page 29
  • 30. Microchip Technology Incorporated WebSeminar: March 30, 2004 Add Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 30 In the area beneath the label Main, we add these lines of code. Comments are put in the code after semicolons. The assembler will ignore everything on a line after a semicolon. The code moves a value of zero into the PIC18F452 W register, then moves the contents of the W register to TRISB. TRISB is the data direction register for PORTB, determining whether each pin is used as an output or as an input. There are eight bits in TRISB and PORTB corresponding to 8 different pins on the PIC18F452. There is no instruction to move a value directly into TRISB or PORTB, so we need to use the accumulator, called the W register in PICmicro MCUs, to load the data and move it to these registers. Then we add a label, called Loop, which we will use later, and add lines of code to move a value of 1 into PORTB, then a 0. At the end we put a goto Loop instruction, which causes the program to stay in this loop forever, alternately sending out 1s and 0s on pin RB0. If we had used an alternating pattern of FF and 0 instead of 1 and 0, we would toggle all 8 pins on PORTB, not just the pin labeled RB0. Now we can compile and test the code. An Introduction to MPLAB® IDE Page 30
  • 31. Microchip Technology Incorporated WebSeminar: March 30, 2004 Select Simulator © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 31 In order to test the code, we need a debug tool. MPLAB SIM is a debug tool. It is software simulator that can be used to test code on the PC. Select MPLAB SIM from the Debugger>Select Tool pull down menu. An Introduction to MPLAB® IDE Page 31
  • 32. Microchip Technology Incorporated WebSeminar: March 30, 2004 Reset Program © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 32 Next we select Reset from the Debugger pull down menu, and a green arrow shows us where our program will begin. This was part of the template file. The first instruction in memory jumps to the label called Main, where we put our code. This allows us to jump over the vector areas in memory. An Introduction to MPLAB® IDE Page 32
  • 33. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 33 Now we can press the Step-Into icon or choose Step-Into from the Debugger menu to single step to our code. An Introduction to MPLAB® IDE Page 33
  • 34. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 34 Continuing to press Step-into, we can step through the code. An Introduction to MPLAB® IDE Page 34
  • 35. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 35 …step An Introduction to MPLAB® IDE Page 35
  • 36. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 36 …step An Introduction to MPLAB® IDE Page 36
  • 37. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 37 …step An Introduction to MPLAB® IDE Page 37
  • 38. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 38 …step An Introduction to MPLAB® IDE Page 38
  • 39. Microchip Technology Incorporated WebSeminar: March 30, 2004 Step Through Code © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 39 ..step and we go back to the start of the infinite loop. An Introduction to MPLAB® IDE Page 39
  • 40. Microchip Technology Incorporated WebSeminar: March 30, 2004 Watch Window © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 40 In order to see if our code executes properly we need to see what’s happening on PORTB. We will add PORTB to a watch window. After we press reset we end up back at the start of the program and the value on PORTB is 0. An Introduction to MPLAB® IDE Page 40
  • 41. Microchip Technology Incorporated WebSeminar: March 30, 2004 Watch Window © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 41 After the instruction that sends a 1 to PORTB, the value of PORTB changes. Note that when single stepping, you are stopped at the instruction before it executes, so we didn’t see a change until we executed the MOVWF PORTB instruction in line 149. An Introduction to MPLAB® IDE Page 41
  • 42. Microchip Technology Incorporated WebSeminar: March 30, 2004 Watch Window © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 42 As we step further, we see PORTB with a value of 0 at line 152. Continually following through the loop will show PORTB changing from 0 to 1 and back again. We could program this code into a demo board with a a PIC18F452 on it. On that demo board, this pin on PORTB is connected to an LED. If we run it we’ll see the LED apparently lit all the time. Why isn’t it blinking? Because the loop is executing so fast, we cannot see the LED going on and off. We would need to put some delays in the code. In order to slow it down, we’d add a delay after sending a value of 1 out PORTB and also after sending a value of 0 out PORTB. An Introduction to MPLAB® IDE Page 42
  • 43. Microchip Technology Incorporated WebSeminar: March 30, 2004 Summary: First Project Select Device Create Project Select Language Tools Put Files in Project Create Code Build Project Test Code with Simulator © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 43 We have done the major steps for creating, building and testing our simple project. We selected the device, the PIC18F452. We used the Project wizard to create a project, and while using the wizard we …selected the MPLAB built-in MPASM™ and MPLINK™ language tools. …added files for the project, a template file for the device we’ve selected and a linker script to build it properly. We wrote some simple code to toggle an I/O bit. Then we built the project. And finally we tested the code with the simulator. An Introduction to MPLAB® IDE Page 43
  • 44. Microchip Technology Incorporated WebSeminar: March 30, 2004 Summary: The Next Step We Covered the Basics of Building a Project Debug Tools: Stop Watch Stimulus Advanced Breakpoints Programmers Hardware Debuggers © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 44 These are the essential steps for getting started with MPLAB IDE. Once you are familiar with these, you are ready to go on to explore the power of the MPLAB tool. All debugging features are covered in the MPLAB IDE documentation and on-line help. Advanced debug tools are available in MPLAB IDE. A Stop Watch helps you measure execution time of your code. Stimulus can be used to apply signals to pins of the device while using the simulator. Breakpoints can be set on complex conditions so you can run your code and halt at precise points in your program. Programmers can be installed to burn the code into your design, and hardware debuggers, like MPLAB ICD2 and MPLAB ICE can be used to more fully test and analyze your final hardware. An Introduction to MPLAB® IDE Page 44
  • 45. Microchip Technology Incorporated WebSeminar: March 30, 2004 Download MPLAB® IDE and Try It! WWW.MICROCHIP.COM Or contact your local Microchip Sales Office for the latest MPLAB CD © 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 45 If you haven’t already done it, now is the time to get started with MPLAB IDE. Simply go to our web site or contact your local Microchip Sales Office for the latest MPLAB CDROM. For an overview of more of Microchip’s development tools, you might wish to view the web seminar titled “An Introduction to Microchip’s Development Tools.” That is the end of our presentation. Thank you for your time. An Introduction to MPLAB® IDE Page 45