01-04-2017, 09:04 AM
Hi,
I was asked to make a project I am working on known in this forum. I am developing an open-source RPN calculator using the 8051 8-bit microcontroller:
https://www.youtube.com/watch?v=p7MBGPf2i6E
I have just finished writing assembly code for a four function integer calculator with 4 stack levels, drop, swap and three error messages, "Overflow" (for results greater than 9,999,999,999), "Underflow" (for results less than -9,999,999,999) and "Divide by 0".
I am using a 4x4 keypad and two shift buttons and a graphical LCD. The code is about 3.8 kB. The Silabs C8051F120 microcontroller I am using has 128 kB Flash, and I hope to place the circuit diagram and code on my site soon.
All going well, I will next write code for a calculator that handles decimals, probably 10-digit mantissa and 2-digit exponent.
I am using a Silabs development board to program the chip. A major challenge for me is building a PCB and JTAG interface for the fine-pitch microcontroller to move beyond the breadboard to a handheld device.
I was asked to make a project I am working on known in this forum. I am developing an open-source RPN calculator using the 8051 8-bit microcontroller:
https://www.youtube.com/watch?v=p7MBGPf2i6E
I have just finished writing assembly code for a four function integer calculator with 4 stack levels, drop, swap and three error messages, "Overflow" (for results greater than 9,999,999,999), "Underflow" (for results less than -9,999,999,999) and "Divide by 0".
I am using a 4x4 keypad and two shift buttons and a graphical LCD. The code is about 3.8 kB. The Silabs C8051F120 microcontroller I am using has 128 kB Flash, and I hope to place the circuit diagram and code on my site soon.
All going well, I will next write code for a calculator that handles decimals, probably 10-digit mantissa and 2-digit exponent.
I am using a Silabs development board to program the chip. A major challenge for me is building a PCB and JTAG interface for the fine-pitch microcontroller to move beyond the breadboard to a handheld device.