Summary of How to use PIC12F675 GPIO pin as input (Code + Proteus simulation)
This article demonstrates how to configure PIC12F675 microcontroller GPIO pins as inputs using C language with MPLAB and HI-TECH C compiler. The example uses an internal 4MHz clock, with GP0 set as an input connected to a push button and GP5 driving an LED to indicate the state of GP0. When the button is pressed (GP0 high), the LED on GP5 lights up. The article includes a circuit diagram, source code, and a Proteus simulation for practical understanding and testing.
Parts used in the PIC12F675 GPIO Input Example:
- PIC12F675 microcontroller
- Push button switch
- LED
- Resistors (for LED current limiting and button pull-down or pull-up)
- Power supply (to power the microcontroller)
This post provides an example code to use PIC12F675 GPIO pins as inputs. After going through this example, you will understand how to make PIC12F675 pins as inputs and how to read their value in the code. This code is written in C language using MPLAB with HI-TECH C compiler.You can download this code from the ‘Downloads‘ section at the bottom of this page.
It is assumed that you know how to blink an LED with PIC12F675 microcontroller. If you don’t then please read this page first, before proceeding with this article.
Following figure shows the circuit used to demonstrate how to get input in PIC12F675 micro-controller.
In this figure, PIC12F675 is running using internal clock of 4MHz[1]. GP0 pin is being used as the input pin. When the push button is in the pushed state then, GP0 pin is high, otherwise GP0 pin is low. Whenever GP0 pin is high, then GP5 pin (Attached with the LED) is also made high just to indicate correct reading of GP0 pin status in the micro-controller.
Code
The code for reading the status of GP0 pin is shown below.
Downloads
Input pin code using PIC12F675 was compiled in MPLAB v8.85 with HI-TECH C v9.83 compiler and simulation was made in Proteus v7.10. To download code and Proteus simulation click here.
For more detail: How to use PIC12F675 GPIO pin as input (Code + Proteus simulation)