I'm working on a project and I can get most of it done except I need my
microprocessor to measure voltage in a car. It doesn't have to be super
accurate. The chip I'm using is an atmel 89c2051.
Thanks,
Michael
PS, I've googled already but couldn't get the right combination of words.
Since the 89C2051 doesn't have an analog to digital converter on board
you will have to either use an external ADC, or use the internal comparator.
The '2051 doesn't have many pins, and since you don't indicate how many
are already allocated, it may be wise to assume that most are already used.
This restricts the selection of an ADC to perhaps one with a serial interface.
Since you're only measuring battery voltage, which doesn't change rapidly
with time, a cheap slow single channel ADC should do the trick. A Texas
Instruments TLC0831, or a National ADC08831 are 8 bit 3 wire serial ADCs
and are available from RS Components at their trade counter for less than
$10 each. There may be others that take your fancy, or may be available
near you.
If the voltage measurement doesn't need to be accurate (how accurate ?)
you could use the on-board comparator to monitor the voltage. Set the -ve
input to a reference voltage, and connect the +ve comparator input to
a voltage divider from the battery voltage to ground. The output of the
comparator will be available on P3.6. Don't forget to filter the +ve input
of the comparator with a capacitor to reduce the incidence of noise.
It may also be a good idea to clamp the comparator input so that it doesn't
rise above its maximum input voltage. Likewise for the ADC.
When measuring the voltage, whatever method you end up using, make
sure that you take several readings, say 16, sum the readings and then
average them, to reduce the noise.