Program 26

Nasza ocena:

3
Wyświetleń: 777
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Program 26 - strona 1 Program 26 - strona 2

Fragment notatki:


;========================================================================
;listing 7.26 procedura odbioru danych
;========================================================================
i2c_read ;odbiera dane do rejestru i2c_reg
;ack=1 wysyla potwierdzenie
;ack=0 nie wysyla potwierdzenia
bank1
bsf sda ;przygotowanie linii sda do odczytu
bank0
bcf scl ;0- scl
movlw .8 ;liczba bitow
movwf licznik
read_bit ;odbiera 1 bit bank1
bsf scl ;wpisz 1 na scl
bank0
btfss scl ;sprawdz scl
goto $-1 ;scl=0, czekaj
bsf ca ;wpisz 1 do c
btfss sda ;sprawdz czy sda = 1
bcf ca ;sda = 0, wpisz 0 do c
rlf i2c_reg, f ;wpisz c do rejestru i2c_reg
bank1
bcf scl ;wpisz 0 na scl
bank0
bcf scl ;wpisz 0 na scl
decfsz licznik, f ;sprawdza liczbe odebranych bitow
goto read_bit ;odbierz kolejny bit
goto $+1 ;opoznienie
bsf sda
btfsc ack ;sprawdz ack
bcf sda ;ustaw potwierdzenie
bank1
bcf sda ;wyslij porwierdzenie (0 - sda)
bank0
goto $+1 ;opoznienie
bsf scl ;wpisz 1 na scl
btfss scl ;sprawdz scl
goto $-1 ;scl=0, czekaj
goto $+1 ;opoznienie
; goto $+1 ;opoznienie
bcf scl ;wpisz 0 na scl
goto $+1 ;opoznienie
bank1
bsf sda ;zwolnienie linii sda bank0
return ;zostawia 1 na sda , 0 na scl
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz