New Project
Today I am going to show you how to create a new project using the MPLAB IDE.
For you to create a new project you have to follow these simple steps:
- Under Project menu select Project Wizard.
- A new window will appear, press button Next.
- Now you have to select from a list your PIC (you can find on the PIC IC, the exactly name of it), when you find you PIC, select it and hit Next.
- This is Step Two of the Project Wizard. In the Active Toolsuite list box, select Microchip MPASM Toolsuite. Below you can see three files mpasmwin.exe, mplink.exe, mplib.exe. These files are going to be used from the program in order to translate your code and send it to the pic. Press Next.
- Now you are at Step Three, where you can name your project and browse for the folder which is going to be stored into. When your sure about the location, and the name hit Next.
- At Step four you are going to select files for your project. First of all you should select a template for your code. For example I am going to use PIC16f690, so I should select this file: C:\Program Files\Microchip\MPASM Suite\Template\Object\16F690TMPO.ASM, and press Add>>, then select the linker file following this path: C:\Program Files\Microchip\MPASM Suite\LKR\16f690_g.lkr and again press Add>>. There is a letter at the left side of the file you have just added. Click on the letter until it becomes C (it means that it will copy these files into the project folder, recommended). When you are ready hit Next again.
- Final Step, hit Finish. Congratulations! You have just created your first project.
At the left side of the screen is the Project Window. Inside this window you can find all the files of your project. Inside Source Files is the template you have selected at Step Six. Double click on it and the template will open in a new window where you can write/edit some code. You are going to see something like this:
- ;**********************************************************************
- ; This file is a basic code template for object module code *
- ; generation on the PIC16F690. This file contains the *
- ; basic code building blocks to build upon. *
- ; *
- ; Refer to the MPASM User's Guide for additional information on *
- ; features of the assembler and linker (Document DS33014). *
- ; *
- ; Refer to the respective PIC data sheet for additional *
- ; information on the instruction set. *
- ; *
- ;**********************************************************************
- ; *
- ; Filename: xxx.asm *
- ; Date: *
- ; File Version: *
- ; *
- ; Author: *
- ; Company: *
- ; *
- ; *
- ;**********************************************************************
- ; *
- ; Files required: P16F690.INC *
- ; *
- ; *
- ; *
- ;**********************************************************************
- ; *
- ; Notes: *
- ; *
- ; *
- ; *
- ; *
- ;**********************************************************************
- list p=16F690 ; list directive to define processor
- #include <p16F690.inc> ; processor specific variable definitions
- errorlevel -302 ; suppress message 302 from list file
- __CONFIG _CP_OFF & _CPD_OFF & _BOR_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF
- ; '__CONFIG' directive is used to embed configuration word within .asm file.
- ; The lables following the directive are located in the respective .inc file.
- ; See data sheet for additional information on configuration word settings.
- ;***** VARIABLE DEFINITIONS (examples)
- ; example of using Shared Uninitialized Data Section
- INT_VAR UDATA_SHR
- w_temp RES 1 ; variable used for context saving
- status_temp RES 1 ; variable used for context saving
- pclath_temp RES 1 ; variable used for context saving
- ;**********************************************************************
- RESET_VECTOR CODE 0x0000 ; processor reset vector
- goto start ; go to beginning of program
- INT_VECTOR CODE 0x0004 ; interrupt vector location
- INTERRUPT
- movwf w_temp ; save off current W register contents
- movf STATUS,w ; move status register into W register
- movwf status_temp ; save off contents of STATUS register
- movf PCLATH,w ; move pclath register into W register
- movwf pclath_temp ; save off contents of PCLATH register
- ; isr code can go here or be located as a call subroutine elsewhere
- movf pclath_temp,w ; retrieve copy of PCLATH register
- movwf PCLATH ; restore pre-isr PCLATH register contents
- movf status_temp,w ; retrieve copy of STATUS register
- movwf STATUS ; restore pre-isr STATUS register contents
- swapf w_temp,f
- swapf w_temp,w ; restore pre-isr W register contents
- retfie ; return from interrupt
- MAIN_PROG CODE
- start
- ; remaining code goes here
- goto start ; loop forever
- ; initialize eeprom locations
- EE CODE 0x2100
- DE 0x00, 0x01, 0x02, 0x03
- END ; directive 'end of program'
There is a lot of coding done for you (that is why we use a template). You can start writing you first program from the line 86 below tag start.
That's all for today. Next time we are going to light up a LED using a PIC.
That's all for today. Next time we are going to light up a LED using a PIC.
No comments:
Post a Comment