Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ds1820 i pic16f877

[es] :: Elektronika :: Mikrokontroleri :: ds1820 i pic16f877

[ Pregleda: 3130 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zoligen
subotica

Član broj: 59732
Poruke: 81
*.sksyu.net.



+1 Profil

icon ds1820 i pic16f87724.06.2007. u 21:23 - pre 204 meseci
Trebala bi mi asemblerska rutina za dobijanje vrednosti temperature od ds1820 ali za pic16f877.
Za pic16f84 imam ali kad sam pokusao da je upotrebim na 16f877 nesto ne ide. Znam da pinovi kod 16f877 imaju visestruke uloge pa sam zato pokusao da DS1820 povezem na PORTB,1 koji je "obican" input/output pin, ali bez uspeha. Znam i da se za prelazak u banke koriste rp0 i rp1 i jos ponesto ali ne uspevam. dobro bi mi dosla i rutina generisana nekim od visih programskih jezika tako da vrednost dobijenu od temp. senzora smesti u neki registar pa da ja to kasnije koristim u mojim rutinama.
Svaki savet je dobrodosao. Ako puno trazim zaboravite. pozdrav!
 
Odgovor na temu

Seme
Miroslav Bozic
Nis
Elektronski fakultet
Nis, Zajecar

Član broj: 43158
Poruke: 390
*.dynamic.sbb.co.yu.

Sajt: www.ebuyelektronika.co.cc


+5 Profil

icon Re: ds1820 i pic16f87725.06.2007. u 00:38 - pre 204 meseci
Mozes li da uploadujes kod koji imas za pic16f84. Bio bih ti vrlo zahvalan. Pozdrav
 
Odgovor na temu

zoligen
subotica

Član broj: 59732
Poruke: 81
*.sksyu.net.



+1 Profil

icon Re: ds1820 i pic16f87725.06.2007. u 00:54 - pre 204 meseci

LIST P=16F84, R=DEC ;
include "p16f84.inc"

CBLOCK 0X00C
TMP0 ;definisanje registara
TMP1
TMP2
POLA
DSMAG
DSSIGN
TP
TP1
TP2
ENDC

DSBIT EQU 4 ;########

#DEFINE BANK0 BCF STATUS,5
#DEFINE BANK1 BSF STATUS,5

DQLOW: MACRO ; rutina za nizak nivo na DQ pinu
bcf PORTA,DSBIT
bsf STATUS,RP0
bcf TRISA,DSBIT
bcf STATUS,RP0
endm
DQHIZ: MACRO ; rutina za visok nivo na DQ pinu
bsf STATUS, RP0
bsf TRISA, DSBIT
bcf STATUS, RP0
endm
PAUSE MACRO DLYF
movlw (DLYF / 5) - 1
movwf TMP0
call DLY5N
endm

ORG 0X00 ;POCETAK PROGRAMA
GOTO MAIN

MAIN:
BANK1 ;PRELAZAK U BANK1
MOVLW B'11000'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
BANK0 ;VRACAM SE U BANK0
CLRF PORTA ;PORTOVI A I B SU 0
CLRF PORTB

LLL: CALL PAUZA
call NEWTEMP
MOVF DSMAG,W ; KAD SE VRATI IZ RUTINE NEWTEMP VREDNOST JE U DSMAG REGISTRU
MOVWF PORTB ;
GOTO LLL
;----------------------------------
; RUTINA ZA KOMUNIKACIJU SA SENZOROM
NEWTEMP:
call DSRX8 ; Check DS1820 status.
addlw 1 ; 255=READY => 0=READY.
btfss STATUS, Z ; Z set = READY.
return ; W non zero = not ready.

GETEMP:
call DSRESET ;
movlw H'CC' ; Skip PROM.
call DSTX8 ;
movlw H'BE' ; Read scratch pad.
call DSTX8 ;
call DSRX8 ; Magnitude.
movwf DSMAG ;
call DSRX8 ; Sign (FF=-VE, 00=+VE).
movwf DSSIGN ;
call DSRESET ; Seen enough, restart.
movlw H'CC' ; Skip PROM.
call DSTX8 ;
movlw H'44' ; Start convert.
call DSTX8 ;
clrw ; W = 0 : data ready.
return ;

DLY5N ; RUTINA ZA PAZU
nop ;
nop ;
decfsz TMP0, f ;
goto DLY5N ;
return ;

DSRESET:
DQLOW ;
PAUSE 600 ; ;
DQHIZ ;
PAUSE 65 ; Wait 67us for RESP bit.
nop ;
nop ;
movf PORTA, W ;
andlw 1 << DSBIT ;
movwf TMP1 ;
PAUSE 300 ;
movf TMP1, W ; Response in W.
return ;

DSTX8:
movwf TMP2 ; Data to TX.
movlw 8
movwf TMP1 ; Loop counter.
DSTXLP: ;
DQLOW ;
PAUSE 10 ;
rrf TMP2, f ;
btfsc STATUS, C ;
bsf PORTA, DSBIT ; DQ HI if bit was 1.
PAUSE 70 ;
DQHIZ ;
nop ;
decfsz TMP1, f ;
goto DSTXLP ;
return ;

DSRX8:
movlw 8 ;
movwf TMP1 ;
DSRXLP: ;
DQLOW ;
PAUSE 10 ;
DQHIZ ;
nop ;
nop ;
movf PORTA, W ;
andlw 1 << DSBIT ; ->0 if data bit low.
addlw 255
rrf TMP2, f
PAUSE 60
decfsz TMP1, f
goto DSRXLP
movf TMP2, W
return
;************************
PAUZA MOVLW 0X10 ;
MOVWF TP ;
L2 MOVLW 0XFF
MOVWF TP1
L3 MOVLW 0XFF
MOVWF TP2
L4 DECFSZ TP2,F
GOTO L4
DECFSZ TP1,F
GOTO L3
DECFSZ TP,F ;
GOTO L2 ;
RETURN

END




 
Odgovor na temu

Seme
Miroslav Bozic
Nis
Elektronski fakultet
Nis, Zajecar

Član broj: 43158
Poruke: 390
*.dynamic.sbb.co.yu.

Sajt: www.ebuyelektronika.co.cc


+5 Profil

icon Re: ds1820 i pic16f87725.06.2007. u 09:51 - pre 204 meseci
Hvala !!!
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: ds1820 i pic16f877

[ Pregleda: 3130 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.