How to Set Configuration Bits easily in 16bit PIC Microcontroller.

Configurations bits are special bits to customize certain aspects of device you are using, based on application requirements. When microcontroller powers up these bits determines the modes that device uses. I have seen that many students face problems to deal with configurations bits so this article helps you to solve this critical issue. You should consider these bits, as a good microcontroller programming practice. I tried to solve this problem for PIC24 but same procedure is used for other PIC microcontrollers as well. I used MPLAB X IDE and C30 compiler. Let’s start with the smarter way to deal configuration bits in PIC24, DSPIC30 and DSPIC33. Following are the steps.

Step 1:

                Make a new project and select your controller for which you are going to write a code as shown in figure below. If you are new than please read this post first http://ibrahimlabs.blogspot.com/2012/12/how-to-use-mplab-x-ide-for-16bit.html



Step 2:

Now add a main file into this project and include the header file for the desired controller I am using PIC24F04KA201 I this case. Now right click on header file -> Navigate -> go to declaration or simple click on header file and use short key Ctrl + B. 




Step 3:

A header file will open don’t make changes in this file. In this file you will find all registers for every peripheral that is present in this controller.  To find configuration Bits you have to Scroll down now here you will find something interesting. How to write configuration bits on top of the source file syntax is also explained. I strongly recommend to read carefully about these bits by searching them in device datasheet before writing these in code this is shortcut method but once you read these you will quickly learn how much important they are.


Step 4:
Now let’s consider the first one I have to write in my code. As written that this is for “General Segment Code Flash Write Protection bit”. I don’t need code protection so I am selection this
_FGS(GWRP_OFF & GCP_OFF)
Now scroll down and find next. Now this is very important “Oscillator Select” this bit is used to select which clock is master clock for controller I used primary oscillator which is crystal so I go for
_FOSCSEL(FNOSC_PRI & IESO_OFF)

Likewise so on I go with this and finally I have these configuration bits written on top of my source file outside any function.




Step 5:

Now to check whether this setting is working or not. I have written a code for toggling PIN 0 of PortA.



and finally I have Proteus simulation.





Code download links will be provided soon !!!


that's all with a hope that this will help you.


© IbrahimLabs.Blogspot.com






Popular posts from this blog

Defining code regions in MPLAB X IDE

Digital AC voltmeter Schematic + Code + Proteus Simulation

Automatic Streetlight control using LDR and PIC (Code + Proteus Simulation)