crzyfear
Üye
- Katılım
- 10 Mar 2010
- Mesajlar
- 19
- Puanları
- 1
- Yaş
- 37
S.A arkadaslar bu odevı veremedıgım surece okulumu bıtıremeyecegım lutfen yardım edınnnn
ODEV olarak sıcaklık sensoru aldım 18b20 sıcaklık sensoru pıc16f877 yardımıyla dısplıyde sıcaklık gosterımı yapacak ve belırledıgımız aralıklarda ıkı tane motoru devreye sokacak
birde wınstar 1602b dısplay kullandım yalnız suanda pıcde sadece ısıgı var konstrat ıcın potonsıyometre baglamadım onun ıcın ekranda yazı gorunmuyor olabılırmı
pıc programı : mıkro basıcle yazdım
program sistemanalizi
dim temp1 as byte
dim temp2 as byte
dim sign as byte
dim text as char[3]
hesap as longint
OLCULEN as word
DEGER as word
DEGER1 as word
main:
ADCON1 = $07
PORTA = $FF
PORTB = 0
TRISA = $FF
TRISB = 0
TRISD=0
PORTD=0
LCD_Init(PORTB)
LCD_Cmd(LCD_CURSOR_OFF)
LCD_Out(1, 1, "Sicaklik")
DEGER1=35
DEGER=10
while true
OW_Reset(PORTA, 0)
OW_Write(PORTA, 0, $CC)
OW_Write(PORTA, 0, $44)
Delay_ms(1000)
OW_Reset(PORTA, 0)
OW_Write(PORTA, 0, $CC)
OW_Write(PORTA, 0, $BE)
temp1 = OW_Read(PORTA, 0)
temp2 = OW_Read(PORTA, 0)
if temp2 = $FF then
sign = "-"
temp1 = not(temp1) + $01
else
sign = "+"
end if
temp2 = (temp1 and $01) * 5 + 48
temp1 = temp1 >> 1
ByteToStr(temp1, text)
LCD_Chr(2, 9, sign)
LCD_Chr(2, 10 , text[0])
LCD_Chr(2, 11, text[1])
LCD_Chr(2, 12, text[2])
LCD_Chr(2, 13, ".")
LCD_Chr(2, 14, temp2)
LCD_Chr(2, 15, 223)
LCD_Chr(2, 16, "C")
Delay_ms(500)
IF temp1<DEGER THEN
PORTD.0=1
ELSE
PORTD.0=0
END IF
IF temp1>DEGER1 THEN
PORTD.1=1
ELSE
PORTD.1=0
END IF
wend
end.
LUTFEN BIRI YARDIMCI OLSUN EN AZINDAN BIRAZ BILGI VERIN SON GUNUM VERMEK ICIN
ODEV olarak sıcaklık sensoru aldım 18b20 sıcaklık sensoru pıc16f877 yardımıyla dısplıyde sıcaklık gosterımı yapacak ve belırledıgımız aralıklarda ıkı tane motoru devreye sokacak
birde wınstar 1602b dısplay kullandım yalnız suanda pıcde sadece ısıgı var konstrat ıcın potonsıyometre baglamadım onun ıcın ekranda yazı gorunmuyor olabılırmı
pıc programı : mıkro basıcle yazdım
program sistemanalizi
dim temp1 as byte
dim temp2 as byte
dim sign as byte
dim text as char[3]
hesap as longint
OLCULEN as word
DEGER as word
DEGER1 as word
main:
ADCON1 = $07
PORTA = $FF
PORTB = 0
TRISA = $FF
TRISB = 0
TRISD=0
PORTD=0
LCD_Init(PORTB)
LCD_Cmd(LCD_CURSOR_OFF)
LCD_Out(1, 1, "Sicaklik")
DEGER1=35
DEGER=10
while true
OW_Reset(PORTA, 0)
OW_Write(PORTA, 0, $CC)
OW_Write(PORTA, 0, $44)
Delay_ms(1000)
OW_Reset(PORTA, 0)
OW_Write(PORTA, 0, $CC)
OW_Write(PORTA, 0, $BE)
temp1 = OW_Read(PORTA, 0)
temp2 = OW_Read(PORTA, 0)
if temp2 = $FF then
sign = "-"
temp1 = not(temp1) + $01
else
sign = "+"
end if
temp2 = (temp1 and $01) * 5 + 48
temp1 = temp1 >> 1
ByteToStr(temp1, text)
LCD_Chr(2, 9, sign)
LCD_Chr(2, 10 , text[0])
LCD_Chr(2, 11, text[1])
LCD_Chr(2, 12, text[2])
LCD_Chr(2, 13, ".")
LCD_Chr(2, 14, temp2)
LCD_Chr(2, 15, 223)
LCD_Chr(2, 16, "C")
Delay_ms(500)
IF temp1<DEGER THEN
PORTD.0=1
ELSE
PORTD.0=0
END IF
IF temp1>DEGER1 THEN
PORTD.1=1
ELSE
PORTD.1=0
END IF
wend
end.
LUTFEN BIRI YARDIMCI OLSUN EN AZINDAN BIRAZ BILGI VERIN SON GUNUM VERMEK ICIN