
3–335
Motorola Sensor Device Data
For More Information On This Product,
Go to: www.freescale.com
{
if (d==30)
{
write_spi(0); /* blank the upper digit */
write_spi(0); /* blank the next to upper digit */
write_spi(47); /* 3 */
write_spi(95); /* 0 */
}
if (d==15)
{
write_spi(0); /* blank the upper digit */
write_spi(0); /* blank the next to upper digit */
write_spi(6); /* 1 */
write_spi(109); /* 5 */
}
write_spi(2);
while(1);
}
/* ################################################################### */
fullscale_calibrate()
{
int i;
long int temp;
union bytes average;
temp=0;
average.l = cala2d(); /* get the average of 50 a/d conversions */
for ( i=0; i<4; ++i)
write_eeprom(average.b[i],EEPROM+i+4);
write_spi(0); /* blank the upper digit */
write_spi(113); /* F */
write_spi(113); /* F */
write_spi(113); /* F */
write_spi(2);
while(1);
}
/* ################################################################### */
zero_calibrate()
{
int i;
long int temp;
union bytes average;
temp=0;
average.l = cala2d(); /* get the average of 50 a/d conversions */
for ( i=0; i<4; ++i)
write_eeprom(average.b[i],EEPROM+i);
write_spi(0); /* blank the upper digit */
write_spi(95); /* 0 */
write_spi(95); /* 0 */
write_spi(95); /* 0 */
write_spi(2);
while(1);
}
/* ################################################################### */
/* speed=8.208(square root(%full scale*transducer full scale)) */
display_speed()
{
long atod_result;
unsigned int j;
while(1)
{
atod_result = integrate(); /* read the a/d */
atod_result=( (atod_result*10000) / (HIATOD–ADZERO) ) * XDCRMAX;
atod_result=sqrt(atod_result);
atod_result=(atod_result*8208)/10000;
j=atod_result;
F
Freescale Semiconductor, Inc.
n
.