Eugen
- 27th January 2005, 22:05
i have a problem i am using 3 ds18b20 and if i use a 8mhz crystal and use DEFINE OSC 8 it dosent work but if i change DEFINE OSC 8 to DEFINE OSC 16 then it works. can i slow down the owin and owout? i am using 3*15 meter cat5 cabel this is the program or what sould i do?
DEFINE OSC 8
ADCON1 = 7
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 5
TRISB = %11111111
TRISC = %11111111
DQ VAR PortC.0
Stat VAR BIT
S1 Var byte
S2 Var byte
S3 Var byte
A VAR WORD
B VAR WORD
start:
S1 = $E5
S2 = $93
S3 = $1E
gosub Temp
A=B
S1 = $86
S2 = $81
S3 = $7B
gosub Temp
A=A >> 3
B=B >> 3
Lcdout $fe, 1
Lcdout dec (A >> 1),".",dec(A.0 * 5)
Lcdout $fe, $C0
Lcdout dec (B >> 1),".",dec(B.0 * 5)
pause 2000
goto start
Temp:
OWOUT DQ, 1, [$55,$28,S1,S2,$79,$00,$00,$00,S3,$44]
Pause 1000
OWOUT DQ, 1,[$55,$28,S1,S2,$79,$00,$00,$00,S3,$BE]
OWIN DQ, 2, [B.LOWBYTE,B.HIGHBYTE]' Read two bytes, then end communications
Return
DEFINE OSC 8
ADCON1 = 7
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 5
TRISB = %11111111
TRISC = %11111111
DQ VAR PortC.0
Stat VAR BIT
S1 Var byte
S2 Var byte
S3 Var byte
A VAR WORD
B VAR WORD
start:
S1 = $E5
S2 = $93
S3 = $1E
gosub Temp
A=B
S1 = $86
S2 = $81
S3 = $7B
gosub Temp
A=A >> 3
B=B >> 3
Lcdout $fe, 1
Lcdout dec (A >> 1),".",dec(A.0 * 5)
Lcdout $fe, $C0
Lcdout dec (B >> 1),".",dec(B.0 * 5)
pause 2000
goto start
Temp:
OWOUT DQ, 1, [$55,$28,S1,S2,$79,$00,$00,$00,S3,$44]
Pause 1000
OWOUT DQ, 1,[$55,$28,S1,S2,$79,$00,$00,$00,S3,$BE]
OWIN DQ, 2, [B.LOWBYTE,B.HIGHBYTE]' Read two bytes, then end communications
Return