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

- n how calculator wrks

Description

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

- 2012 Abstract At the beginning of the semester,

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

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

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

- social implications,

hardware/software architectures,

- details of the software,
- our lessons learned,
- and criticisms of the course

the operators come after the operands

No parentheses are used,

- simply number keys,
- operators,
- and the input key

begin by typing your first operand into the keyboard

- press INPUT

- type out the second operand,
- and again press INPUT

press the operator you would like to use

The answer will then appear on the LCD

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

making error-prone hand calculations unnecessary

- and even for beginners

the calculator is thin and light for optimal portability

- it is sleek and stylish,

without sacrificing ergonomics

Because this calculator is portable,

- easy to use,
- and drains little power,

it could be used extensively in third world countries

Several fields are greatly improved by the calculator,

- including education,
- commerce,
- and scientific research

In the professional sector,

- employees of finance,
- real estate,
- insurance,
- accounting,

and statistics may find the calculator to be particularly helpful

It is critical for all nations,

- including developing nations,

to have access to affordable technology

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

The Processor

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

The calculator has a large 2-line liquid crystal display

- the bottom line,

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

- and 3 exponents

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

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

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

- which key is pressed

Figure 5: A simple schematic of the keyboard architecture

Software Details

This section includes the code we wrote to solve each lab

In order to fix bugs,

various functions and loops had to be written in the code

it is possible that they could be shorter

we wrote the software to display characters on the screen

Lab 2: Scanning the Keyboard

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

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

In this portion of the code,

we implemented the useful switch function,

which we were taught to use in class

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

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 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

a lot of work like this will be

- necessary

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

! 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

and it will improve the overall learning 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

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

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

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

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

Î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,

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

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

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

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