PDF- Software-Based Scientific Calculator Using -QMS 001 Business Statistics FALL 2015 - Ryerson University - calculator synopsis


ENGI E1112 Departmental Project Report: Computer Science/ComputerEngineering Joshua Boggs and Shensi Ding May,

Professor Stephen Edwards informed his students that he had wiped the firmware on a set of HP 20b Calculators

Students were then assigned the daunting task of rebuilding the software from the ground up

Project partners Joshua Boggs and Shensi Ding collaborated to complete this task along with the assistance of Professor Stephen Edwards and Teaching Assistant Yoonji Shin

The following report provides details about the calculator operated on,

instructions on using the calculator,

and an in depth look at the software written to complete the assignment


The following documentation focuses on the HB 20B Business Calculator

Over the course of the past semester we have rewritten basic firmware for the complex calculator

This process began with writing the software to read the keyboard for input,

and display pressed keys on the LCD

Next we wrote the code which would allow users to enter and edit numbers


we wrote the code which would allow user to perform calculations using reverse Polish notation

The contents of this document include a user guide,

hardware/software architectures,

User Guide

The calculator we have programmed uses reverse Polish notation

In this notation,

the operators come after the operands

No parentheses are used,

To carry out a simple operation,

begin by typing your first operand into the keyboard

The number you entered will appear on the LCD


press the operator you would like to use

The answer will then appear on the LCD

The following examples should illustrate this concept

Figure 1: The HB 20B Business Calculator Example 1: A Basic Calculation – 9 + 12 • Press the ’9’ digit key • Press ’input’ to save ’9’ as the first operand • Press the ’1’ digit key • Press the ’2’ digit key 2

• Press ’input to save ’12’ as the second operand • Press the addition operator ’+’ If all is entered correctly,

the number ’21’ will appear on the LCD

Example 2: A more complex operation – (3+5)x(7-2) • Press the ’3’ digit key • Press the ’input’ key to save ’3’ as the first operand • Press the ’5’ digit key • Press ’input’ to save ’5’ as the second operand • Press the addition operator ’+’ to add the first two operands • Press the ’7’ digit key • Press ’input’ to save ’7’ as the third operand • Press the ’2’ digit key • Press ’input’ to save ’2’ as the fourth operand • Press the subtraction operator ’-’ to subtract the third and fourth operands • Press the multiplication operator ’x’ to multiply the resultant operands in the stack

If all is entered correctly,

the number ’40’ will appear on the screen

Social Implications

The HP 20B Business Calculator provides efficient handheld calculations

This can simplify everyday problems and tasks

Calculations and organized and reliable,

making error-prone hand calculations unnecessary

The calculator is very easy to use,


the calculator is thin and light for optimal portability


without sacrificing ergonomics

Because this calculator is portable,

it could be used extensively in third world countries

Several fields are greatly improved by the calculator,

In the professional sector,

and statistics may find the calculator to be particularly helpful

It is critical for all nations,

to have access to affordable technology

The Platform

The calculator consists mainly of a LCD connected to an Atmel AT91SAM7L128 processor

The calculator has been modified to connect to a computer through a JTAG port

We interact with the calculator by connecting our computers through this port

Figure 2: The JTAG port

The Processor

The calculator utilizes an Atmel AT91SAM7L128 processor

It is a 30MHz lowpower ARM7 System with 128 Kbytes of internal high-speed flash

Figure 3: A block diagram of the AT91SAM7L 5

The LCD Display

The calculator has a large 2-line liquid crystal display

The primary section of the display,

can show up to 12 7-segment characters at a single time,

Above is an 8-character scrolling top line

The LCD interacts with a few different functions in the code: lcd put char7 – Prints the value specified in the argument

lcd print int(stack[pointer]) – Prints the specified value in the stack

lcd print7() – Prints the value in the argument

Figure 4: LCD Architecture

The Keyboard

The portion which takes up most of the real estate on the calculators facade is the numeric keyboard

It contains both digits and a plentitude of various operators

For the project,

we only utilize the basic arithmetic operators,

along with the digits and input key

When a key is pressed,

one pin is shorted for the column,

and another pin is shorted for the row

This is how we are able to read

Figure 5: A simple schematic of the keyboard architecture

Software Details

This section includes the code we wrote to solve each lab

Explanations of the code are commented throughout the figures

In order to fix bugs,

various functions and loops had to be written in the code

These are included in the figures as well

Our solutions seem to solve each of the tasks correctly and efficiently

If they were to be perfected,

it is possible that they could be shorter

Lab 1: A Scrolling Display

In this portion of the project,

we wrote the software to display characters on the screen

Figure 6: The solution for Lab 1: A Scrolling Display

Lab 2: Scanning the Keyboard

For the next portion of the project,

we wrote the code to respond to a pressed key by displaying that key on the screen

Figure 7: The solution for Lab 2: Scanning the Keyboard (Part 1)

Figure 8: The solution for Lab 2: Scanning the Keyboard (Part 2)

Lab 3: Entering and Displaying Numbers

The next portion of the code we worked on allows users to enter and edit numbers

In this portion of the code,

we implemented the useful switch function,

which we were taught to use in class

Figure 9: The solution for Lab 3: Entering and Displaying Numbers (Part 1)

Figure 10: The solution for Lab 3: Entering and Displaying Numbers (Part 2)

Lab 4: An RPN Calculator

The final portion of our software building endeavors allows users to perform calculations using reverse Polish notation

This required implementing an array stack to hold onto various operands being manipulated by users

Figure 11: The solution for Lab 4: An RPN Calculator (Part 1)

Figure 12: The solution for Lab 4: An RPN Calculator (Part 2)

Lessons Learned

We learned a great deal about how to edit prewritten code to accomplish a given goal

It seems that in the professional world,

a lot of work like this will be

Accuracy and efficiency were key,

and we were able to get a first-hand experience at dealing with buggy code

Bugs are not good

! It is important to consider all possible scenarios and error-prone cases when writing code

We advise that all future students fully understand the existing code and hardware system before beginning to write their own code

This will make the coding process less difficult,

and it will improve the overall learning experience

Criticism of the Course

The course assumes that everyone knows computer programming

Acknowledging that it is difficult to appeal to students with varying levels of experience,

perhaps there could be some more instruction on programming for less experienced students

We would have also appreciated an intro to C++ before we began the first lab,

because even the more skilled students were mostly only trained in Java

The code reviews were also helpful,

and it would be nice to do some more of this for future classes


the class was a great learning experience,

and we enjoyed doing the hands-on work

calculator techniques 2

Inductance Calculation Techniques --- Approximations and

engineervincentpardopilien weebly uploads 2 Set calculator to equation mode MODE>5>1 for two variable equation Input the coefficients of a,b and constant c of the first equation 2 = 3 = 6 = Input the coefficients of a,b and constant c of the second equation

Calculator Techniques for Solving Progression Problems

Contribution-based Compensation and Appraisal System (CCAS

cengage resource uploads downloads from the Substitution Principle (see Appendix A 1) and simplification techniques Solving a Linear Equation a Original equation Add 6 to each side Divide each side by 3 b Original equation Subtract from each side Subtract 4 from

Calculator Techniques (Pass無し 131119

Fisheries United States - US Fish and Wildlife Service

PDF O'FALLON TOWNSIDP HIGH SCHOOL DISTRICT 203 O OTHS oths us cms lib Domain District 20Audit 20FY2017 pdf PDF VakıfBank's yellow illuminates the future vakifbank tr documents finansal Annual


etude et dimensionnement d'une hall metallique - Depot

PDF dimensionnement ResearchGate researchgate selon Charpentes metalliques Conception et dimensionnement selon les eurocodes pdf PDF master (lmd) formation c m s1+s2+s3 Faculté du Génie de la fgc ummto dz MASTER LMD FORMATION


Instalatii sanitare

Înlocuind expresia de calcul a debitului de fluid (relaţia 4 10) în formula de calcul hidraulic (relaţia 4 9), rezultǎ expresia generalǎ de calcul a acesteia (relaţia  u) la 2,50 m sub nivelul a vier los ducă adinci meo ce funda'e nu depasesc 16 in sub fulidul albiei,

Calculo 1 Examen Final Semana 8

MA-1001 - Escuela de Matemática - UCR

PDF Examen Final Semana 8 home Homeapi aerofit dk examen final semana 8 pdf pdf PDF Examen Final Semana 8 Calculo 2 Docx Freegit onelivemedia examen final semana 8 calculo 2 docx pdf free download pdf PDF Examen

Calculo Aplicado al Proyecto Electrico CAP1

Cálculo Avanzado y Aplicaciones - docenciadimuchilecl

inacap cl tportal portales tpf8f2d1e5bi181 Cálculo Aplicado al Proyecto Inglés II Sistemas de Puestas a Tierra Proyectos de Comando Eléctrico Proyectos de Instalaciones Eléctricas Controladores Lógicos Programables (PLC) Instalaciones de Corrientes Débiles Costos y Presupuesto Competencias de Empleabilidad Análisis de Circuitos Eléctricos Resistencia de Materiales Programación

CALCULO APLICADO. Competencias Matemáticas a Través de Contexto. TOMO III

CALCULO APLICADOpdf - Universidad Distrital Francisco José de

PDF silabo por competencias matematica aplicada a los negocios 2017 unjfsc edu pe 11bd02e6082867379055d4eaf84c8b2de4cf159c pdf PDF Experimentando el Cálculo Diferencial Módulos del Mundo de los mwm cimav edu mx wp content TESIS Daniel Aguayo Sosa pdf PDF

Calculo Avanzado - Watson Fulks


ugr es Apuntes Calculo avanzado Caminos pdf Apuntes de Cálculo avanzado Ingeniería de Caminos, Canales y Puertos Jerónimo Alaminos Prats Departamento de Análisis Matemático Universidad de Granada fcfm buap mx CalculoDiferencialEnVariasVariables pdf catedras facet unt edu ar analisismii wp content

Home back Next