The post provides a simple calculator project code using assembly for 8051 micro-controller. This is a simple one decimal digit calculator which implements only 4 functions: addition(+), subtraction(-), multiplication(x) and division(/).
Code, flowchart and Proteus simulation is given in the 'Downloads' section at the bottom of this page. It is assumed that you know how to interface LCD and keypad with 8051 micro-controller.
The result of the Proteus simulation is shown below.
In the above figure, we can see that a result of "9x9=81" is shown on the screen. To achieve this result, first press '9' from the keypad. Then press 'x' and then press '9' again. After that, on pressing '=' from the keypad the result '81' is automatically displayed on the screen. Then after seconds the screen cleared automatically for next try.
Flowchart
The flowchart describes the main routine and each one of the four subroutines included at the assembly code.
the program acts as follows:
- Initialize the memory and LCD for display after powering up.
- Get input form user as " 10/2="
- Calculate the result depending on the operation once the user press (=)
- Print the output on LCD
Features of this calculator
- You can give any single digit input from 0 to 9.
- 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 'Error!!' message is displayed. Similarly, 'Error!!' message is displayed if wrong key is pressed instead of a function key.
Downloads
The code was compiled in Kiel uvision 4 and simulation was made in Proteus v7.8 SP2.
To download code , flowchart and proteus simulation click here