How to use PIC12F675 GPIO pin as input (Code + Proteus simulation)

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.

PIC12F675 GPIO pin as input

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.


The code for reading the status of GP0 pin is shown below.

PIC12F675 GPIO pin as input schematic


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)

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.