Graphing Calculator
ECE 476 Final Project, Spring 2003
Jeannette Lukito :: Jonathan Wang
|
:Introduction:
:High.Level.Design:
:Program.Design:
:Hardware.Design:
:Results:
:Pictures:
:Conclusions:
:Appendix:
:Code.of.Ethics:
Jeannette Lukito
jl259@cornell.edu
Jonathan Wang
jdw24@cornell.edu
|
Conclusions
We was pleased with how our design turned out. We implemented
most of the functionality that we had originally intended. We
had originally planned to include a zoom function, or a mode
where the user could input the viewing window range. Although
this functionality would not have been too difficult to implement,
it may have slowed down our code and affected the stability of our
graphing function. We had to streamline a considerable portion of
our code just to insure that the graphing would work well. We also
did not implement certain functions, like bit manipulation, that we
felt were simply not that useful for our target user audience.
However, we were able to implement a couple of features that
we had not thought of when we originally designed the project.
These features were choosing between a dotted/connected graph
and choosing between normal/precision mode. Overall we achieved our
goals fairly well.
If we were to design this calculator over,
we would find better ways of approximating trigonometric and exponential
functions. The McLaurin series that we used required too many extra terms
to achieve decent accuracy. Due to the computation limitations of
printing to the TV, we wereforced to settle for less accuracy in favor
of a stable, flicker-free graph. We think that using an iterative
algorithm that converges quickly may give better results. We might even
look at how math.h implements their functions, since most of the functions
graphed fine in “precision mode”(which uses math.h).
We would also consider some sort of storage
mechanism for the points. That way we could implement a trace function or
do other calculations on the graph, something that we could not do when
we simply plotted the points out on the fly.
We used Professor Land’s updated video
generation code for the Mega32 as the basis for out code. However, the
rest of the code was written by us. We took the McLaurin series expansions
off the mathworld.com website; however, these functions can be found in
any college mathematics textbook.
There are no patent opportunities for our
project. It has already been done, and better, by Texas Instruments,
Hewlett Packard, and a host of other companies. However, it was a very
rewarding learning experience to try to implement a basic scientific/graphing
calculator and to see the trade-offs(accuracy vs. flicker, additional
functionality vs. faster design) that an engineer must consider when designing
a calculator.
|