| Electronic Components Datasheet Search |
|
MPXM2102AS Datasheet(PDF) 478 Page - Motorola, Inc |
|
|
|||||||||||||||||||||||||||||
MPXM2102AS Datasheet(HTML) 478 Page - Motorola, Inc |
|
478 / 670 page ![]() AN1536 3–332 Motorola Sensor Device Data www.motorola.com/semiconductors { unsigned int cntr; /* free running timer system counter */ unsigned int r0; /* difference between cntr and input capture 1 register */ unsigned int r1; /* difference between cntr and input capture 2 register */ unsigned int r2; /* difference between cntr and input capture 3 register */ unsigned long difference; /* the difference between the upper and lower instrument amplifier outputs */ unsigned long int pfs; /* result defined as percent of full scale relative to the reference voltage */ if (polarity == 1) /* set the hc4053 configuration */ PORTB &= 0xfe; /* polarity = 1 means + output of sensor */ else PORTB |= 0x1; /* is connected to the upper opamp */ delay(); /* this will allow the hc4053 to stabilize and the cap to discharge from the previous conversion */ TFLG1=0X07; /* clear the input capture flags */ cntr=TCNT; /* get the current count */ PORTA &= 0X7F; /* turn the fet off */ while ((TFLG1 & 0X7) < 7); /* loop until all three input capture flags are set */ r0 = TIC1 – cntr; /* reference voltage */ r1 = TIC2 – cntr; /* top side of the inst. amp */ r2 = TIC3 – cntr; /* lower side of the inst. amp */ PORTA |= 0X80; /* turn the fet on */ if (polarity == 1) difference = ( r1 + 1000 ) – r2; else difference = ( r2 + 1000 ) – r1; pfs = (difference * 10000) / r0; if (difference > 32767) /* this will cover up the case where the a to d computes a negative value */ pfs=0; return ( pfs ); } atod() /* computes the a/d value in terms of % full scale */ { unsigned long int x,y,z; x = convert(1); /* normal */ y = convert(0); /* reversed */ z = (x + y)>>1 ; /* 2x difference / 2 */ return(z); /* z is percent of full scale */ } integrate() /* returns the a/d value in terms of % full scale and computes offset from calibration values */ { unsigned long int j; int i; j=0; for (i=0; i<20; ++i) j +=atod(); j = (j/20) – ADZERO; /* null out the xdcr zero input offset */ return(j); } cala2d() /* returns the average of 50 raw a/d conversions this is only used by the calibration functions */ { unsigned long int j; int i; j=0; for (i=0; i<50; ++i) { j +=atod(); } j=j/50; return(j); } /* ################################################################### */ cvt_bin_dec ( unsigned int arg ) { char i; for ( i=0; i < 6; ++i ) Freescale Semiconductor, Inc. For More Information On This Product, Go to: www.freescale.com |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |