PIC12F675 based simple calculator ( Code + Proteus simulation )

This post provides a simple calculator project implementation for PIC12F675 microcontroller. This is a simple one digit[1] calculator which implements only 4 functions addition(+), subtraction(-), multiplication(x) and division(/). The code for PIC12F675 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 based simple calculator

In this post, it is assumed that you know,

  • How to interface keypad with PIC12F675 microcontroller. If you don’t then please read this page.
  • How to interface LCD with PIC12F675 microcontroller. If you don’t then please read this page.

The result of the Proteus simulation is shown below.

In the above figure, we can see that a result of “2+2=4” is shown on the screen. To achieve this result, first press ‘2’ from the keypad. Then press ‘+’ and then press ‘2’ again. After that, on pressing ‘=’ from the keypad the result ‘4’ is automatically displayed on the screen.

Features of this calculator

  • You can give any single digit input from 0 to 9.
  • You can press ‘ON/C‘ button at any time to reset the calculator.
  • 4 functions are implemented i-e addition, subtraction, multiplication and division.
  • Error messages are displayed if wrong input is detected. For example, if calculator is expecting a number, but a function key is pressed then ‘Wrong Input‘ message is displayed. Similarly, ‘Wrong Function‘ message is displayed if wrong key is pressed instead of a function key.

Main function code

The code for the main function is shown below.

PIC12F675 based simple calculator schematic

Downloads

The calculator code for 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: PIC12F675 based simple calculator ( Code + Proteus simulation )

About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation and engineering. My writing style is clear and simple, and I am skilled in using infographics and diagrams. I am a great researcher and am able to present information in a well-organized and logical manner.

Follow Us:
LinkedinTwitter