'podprogram odczytu rezystancji potencjometru
Odczyt:
'oczekiwanie
na rozladowanie kondensatora pomiarowego
Waitms
2
Odczytane
= 255
$asm
clr
{blad}
Setb
P1.1
Zliczaj:
jnb
p3.6,konieczliczania
Nop
; Nop
djnz
{odczytane},zliczaj
setb
{blad}
Konieczliczania:
clr
p1.1
$end
Asm
If
Blad = 0 Then
'odczyt
OK
'poniewaz
liczylismy od gory, a chcemy wartosc od 0, nalezy wykonac dzialanie
odczytane=255-odczytane, czyli prosciej:
Odczytane = Not
Odczytane
'mnozenie
przez zmienna kalibracyjna
'wynik
w zmiennej pomocniczej typu Word
Temp = Odczytane * Kalibracja
Shift
Temp , Right
, 6
'wynik
przepisujemy z powrotem do zmiennej typu Byte
Odczytane = Temp
Else
'jezeli
jednak wystapil blad, to musimy podac jakas wartosc
Odczytane = 255
End
If
'tutaj
nastepuje formatowanie wyniku do postaci: 1 bit - kierunek
wychylenia, reszta - wychylenie od polozenia srodkowego
If
Odczytane < 128 Then
Odczytane
= 128 - Odczytane
End
If
Return