3–255
Motorola Sensor Device Data
For More Information On This Product,
Go to: www.freescale.com
092D 23 0C BLS $093B
{ /* we have a set–up error in wire jumpers J1 – J3 */
092F 3F 02 CLR $02 portc = 0; /* */
0931 A6 6E LDA #$6E portb = 0x6e; /* S */
0933 B7 01 STA $01
0935 A6 CE LDA #$CE porta = 0xce; /* E */
0937 B7 00 STA $00
0939 20 FE BRA $0939 while(1);
}
093B B6 65 LDA $65 sensor_index = k;
093D B7 60 STA $60
093F 97 TAX sensor_model = type[k];
0940 58 LSLX
0941 D6 08 12 LDA $0812,X
0944 B7 5E STA $5E
0946 D6 08 13 LDA $0813,X
0949 B7 5F STA $5F
094B 81 RTS }
/***************************************************************************/
void sensor_slope()
{
094C B6 03 LDA $03 k=portd & 0xf0; /* we only care about bits 4..7 */
094E A4 F0 AND #$F0
0950 B7 65 STA $65
0952 34 65 LSR $65 k = k >> 4; /* right justify the variable */
0954 34 65 LSR $65
0956 34 65 LSR $65
0958 34 65 LSR $65
095A BE 65 LDX $65 slope = slope_const[k];
095C 58 LSLX
095D D6 08 1C LDA $081C,X
0960 B7 59 STA $59
0962 D6 08 1D LDA $081D,X
0965 B7 5A STA $5A
0967 81 RTS }
/***************************************************************************/
void delay(void) /* just hang around for a while */
{
0968 3F 62 CLR $62 for (i=0; i<20000; ++i);
096A 3F 61 CLR $61
096C B6 62 LDA $62
096E A0 20 SUB #$20
0970 B6 61 LDA $61
0972 A2 4E SBC #$4E
0974 24 08 BCC $097E
0976 3C 62 INC $62
0978 26 02 BNE $097C
097A 3C 61 INC $61
097C 20 EE BRA $096C
097E 81 RTS }
/***************************************************************************/
read_a2d(void)
{
/* read the a/d converter on channel 5 and accumulate the result
in atodtemp */
097F 3F 56 CLR $56 atodtemp=0; /* zero for accumulation */
0981 3F 55 CLR $55
0983 3F 5B CLR $5B for ( adcnt = 0 ; adcnt<100; ++adcnt) /* do 100 a/d conversions */
0985 B6 5B LDA $5B
0987 A8 80 EOR #$80
0989 A1 E4 CMP #$E4
098B 24 21 BCC $09AE
{
098D A6 20 LDA #$20 adstat = 0x20; /* convert on channel 0 */
098F B7 09 STA $09
0991 0F 09 FD BRCLR 7,$09,$0991 while (!(adstat & 0x80)); /* wait for a/d to complete */
0994 B6 08 LDA $08 atodtemp = addata + atodtemp;
0996 3F 57 CLR $57
0998 B7 58 STA $58
F
Freescale Semiconductor, Inc.
n
.