RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b...

42
RPN Calculator Feifei Kong Nicole Lewis Vanshil Shah

Transcript of RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b...

Page 1: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

RPN CalculatorFeifei KongNicole LewisVanshil Shah

Page 2: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

HP 20b Business Calculator

Accounting

InsuranceFinance

Real Estate

Statistics

PROGRAMMING

Page 3: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

User Guide

Page 4: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack

Page 5: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack2

Page 6: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack

2

2

Page 7: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack

2

5

Page 8: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack

2

5

5

Page 9: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:2+5 Stack

2

7

7

Page 10: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

Page 11: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack5

Page 12: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

5

Page 13: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

3

Page 14: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

3

3

Page 15: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

8

8

Page 16: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

8

1

Page 17: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

5

8

11

Page 18: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack11

11

8

Page 19: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

11

8

4

Page 20: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

8

8

7

7

Page 21: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Equation:(5+3)x(11-4) Stack

8

8

54

54

Page 22: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys

Page 23: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys0

Page 24: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys- 0

Page 25: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys0

Page 26: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys0

Page 27: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keys0

Page 28: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Other Keyserror

Page 29: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Platform

Page 30: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Processor

Page 31: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

LCD

Page 32: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

The Keyboard

Page 33: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Code

Page 34: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Lab 1 - A Scrolling Display#include "AT91SAM7L128.h"#include "lcd.h"

int main() {lcd_init();int i, j, n;char a[] = ("Empire State of Mind ");for (j = 0; j < 1000; j++) {

for (i = j; i < j + 21; i++) {lcd_put_char7(a[i % 21], i - j);

}for(n = 0; n < 50000; n++) { }

}return 0;

}

Page 35: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Lab 2 – Scanning the Keyboardchar keyb[7][6] = { {'N','I', 'P', 'M', 'F', 'A'}, {'C', 'R', 'V', 'B', '%', 'L'}, {'U', '(', ')', '_', '<'}, {'^', '7', '8', '9', '/'}, {'v', '4', '5', '6', '*'}, {'S', '1', '2', '3', '-'}, { 0, '0', '.', '=', '+'} }; int j, i, a, b;

char keyboard_key() {

Page 36: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Lab 2 – Scanning the Keyboardfor (j = 0; j < 7; j++) {

keyboard_column_low(j); for (i = 0 ; i < 6 ; i++) { if (!keyboard_row_read(i)) { a = i; b = j; } } keyboard_column_high(j);

}return keyb[b][a];

}

Page 37: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Numbers: if (digits < MAX_DIGITS) { num = c - '0'; finalvalue = finalvalue * 10 + num; value = abs(finalvalue); while (value > 0) { disp = (value % 10) + '0'; lcd_put_char7(disp, LAST_SPOT - count); value = value / 10; count++; } }

Lab 3 – Entering and DisplayingNumbers

Page 38: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

+/- Sign: if (c == '~') { finalvalue = finalvalue * - 1; if (neg == 0) { lcd_put_char7('-', 0); neg = 1; } else { lcd_put_char7(' ', 0); neg = 0; } }

Lab 3 – Entering and DisplayingNumbers

Page 39: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Backspace: else if (c == '\b') { if (digits > 0) { finalvalue = finalvalue / 10; value = abs(finalvalue); while (value > 0) { disp = (value % 10) + '0'; lcd_put_char7(disp, LAST_SPOT - count); value = value / 10; } } }

Lab 3 – Entering and DisplayingNumbers

Page 40: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Lab 4 – An RPN Calculatorif (UserOperation == '+') { stack[StackPointer-2] = stack[StackPointer-2] + stack[StackPointer-1]; StackPointer--; }if (UserOperation == '-') { stack[StackPointer-2] = stack[StackPointer-2] – stack[StackPointer-1]; StackPointer--; }if(UserOperation == '*') { stack[StackPointer-2] = stack[StackPointer-2] * stack[StackPointer-1]; StackPointer--; }

Page 41: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Lab 4 – An RPN CalculatorValue = abs(stack[StackPointer - 1]);if (value > MAX_NUMBER) { lcd_print7(" ERRoR"); StackPointer=0;}else { if (value == 0) { lcd_put_char7('0', LAST_SPOT); lcd_put_char7(' ', LAST_SPOT - 1); } }if (stack[StackPointer - 1] < 0){ lcd_put_char7('-', LAST_SPOT - count);}

Page 42: RPN Calculator - Columbia Universitysedwards/classes/2011/gateway-fall/reports/3... · HP 20b Business Calculator Accounting Insurance Finance Real Estate Statistics PROGRAMMING

Conclusions