Program 31

Nasza ocena:

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

Pobierz ten dokument za darmo

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

Fragment notatki:


;==============================================================================
;Listing 7.31 Pomiar napiecia w 4 kanalach
;==============================================================================
;procedura pomiar do wykonywania pomiarow i wysylania wynikow
clrf nr_kan ;ustaw kanal 0
pomiar ;petla do wykonywania pomiarow i wysylania wynikow
call ac ;wykonaj pomiar
; call wysw ;wyswietla wynik na terminalu
call out_format ;wysyla sformatowany wynik
incf nr_kan, f ;zwieksz nr_kan
movlw .4
subwf nr_kan, w ;nr_kan - 4 - w
btfss status, z ;czy wszystkie kanaly (w=0)
goto pomiar ;nastepny pomiar
return
;==============================================================================
out_format ;wysyla sformatowany wynik oddzielony spacjami
call format ;formatuj wynik
movf ad_h, w ;wpisz do w starszy bajt
call tx_out ;wyslij starszy bajt
movf ad_l, w ;wpisz do w mlodszy bajt
call tx_out ;wyslij mlodszy bajt
movlw h'20' ;kod spacji
call tx_out ;wyslij spacje
return
;==============================================================================
format ;formatuj wynik, k1, k0 - nr kanalu, b9...b0 - wynik pomiaru
;ad_h = MSB 1, k1, k0, 0, 0, b9, b8, b7
;ad_l = LSB 0, b6, b5, b4, b3, b2, b1, b0
bsf status, rp0 ;bank1
movf adresl, w ;adresl - w
bcf status, rp0 ;bank0
movwf ad_l ;w - ad_l
movf adresh, w ;adresh - w
movwf ad_h ;w - ad_h
rlf ad_l, w ;przesun 7 bit do c
rlf ad_h, f ;przesun c do 0 bitu ad_h
bcf ad_l, 7 ;zeruj 7 bit w ad_l
bsf ad_h, 7 ;ustaw 7 bit w ad_h
btfsc nr_kan, 0 ;sprawdz 0 bit w nr_kan
bsf ad_h, 5 ;ustaw 5 bit w ad_h
btfsc nr_kan, 1 ;sprawdz 1 bit w nr_kan
bsf ad_h, 6 ;ustaw 6 bit w ad_h
return
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz