English
Language : 

HCTL-2032 Datasheet, PDF (18/20 Pages) Agilent(Hewlett-Packard) – Quadrature Decoder/Counter Interface ICs
Set Portb.4
Reset Portb.5
Reset Portb.6
'EN1=1
'EN2=0
'Select X-axis
Result_new = 0
Result_old_x = 0
Result_old_y = 0
Do
Set Portb.0
Waitms 25
'Disable OE
Reset Portb.1
Set Portb.3
Reset Portb.0
'SEL1=0 (MSB)
'SEL2=1 (MSB)
'Enable OE
Gosub Get_hi
'Get MSB
Set Portb.1
Set Portb.3
'SEL1=1 (2nd Byte)
'SEL2=1 (2nd Byte)
Gosub Get_2nd
'Get 2nd Byte
Reset Portb.1
Reset Portb.3
'SEL1=0 (3rd Byte)
'SEL2=0 (3rd Byte)
Gosub Get_3rd
'Get 3rd Byte
Set Portb.1
Reset Portb.3
'SEL1=1 (LSB)
'SEL2=0 (LSB)
Gosub Get_lo
'Get LSB
Set Portb.0
Waitms 25
'Disable OE
Mult = 1
Temp = Result_lo * Mult
Result = Temp
Mult = Mult * 256
Temp = Result_3rd * Mult
Result = Result + Temp
Mult = Mult * 256
Temp = Result_2nd * Mult
Result = Result + Temp
Mult = Mult * 256
Temp = Result_hi * Mult
Result = Result + Temp
'
'Result = 32-bits Count Data
'
.
.
Loop
'Assign LSB
'Assign 3rd Byte
'Assign 2nd Byte
'Assign MSB
Get_hi:
Hi_old = Pina
Hi_new = Pina
If Hi_new = Hi_old Then
Result_hi = Hi_new
Return
Else
Goto Get_hi
End If
'Get Current Data
'Get 2nd Data
'Get Stable Data
Figure 18. Typical Program for Reading HCTL-2032 with Atmel AVR
18