Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
911
Tıklama
0
Öne Çıkarma
PIC 16F877 Sıcaklık Ölçme Ve Seçim Yapma
B
11 yıl (1076 mesaj)
Yüzbaşı
Konu Sahibi

Arkadaşlar aşağıda gördüğünüz şekilde bir ödevim var,yapması gerekenler belli sıcaklık değerlerin bir seçim yapacak ve sıcaklık değişene kadar o seçimde kalıp,seçmde kaldığı süre içindede roleyi açık tutacak,bunları lcd de gösterecek,fakat benim yaptığımda sıcaklık değeri değişse bile seçimi değiştirmiyor,çok karışık oldu,bir yerde hata var ama çözemiyorum,yardım ederseniz sevinirim.



DEFINE LCD_DREG PORTC 'LCD data bacakları PortC de bağlı 
DEFINE LCD_DBIT 4 'LCD data bacakları 4. bitten başlıyor
DEFINE LCD_EREG PORTC 'LCD Enable Bacağı PortC de bağlı
DEFINE LCD_EBIT 3 'LCD Enable Bacağı 3. bite bağlı
DEFINE LCD_RWREG PORTC 'LCD RW Bacağı PortC de bağlı
DEFINE LCD_RWBIT 2 'LCD RW Bacağı 2. bite bağlı
DEFINE LCD_RSREG PORTC 'LCD RS Bacağı PortC de bağlı
DEFINE LCD_RSBIT 1 'LCD RS bacağı 1. Bite bağlı
DEFINE LCD_BITS 4 'LCD 4 bit olarak bağlı
DEFINE LCD_LINES 4 'LCD 2 sıra olarak çalışıyor
DEFINE OSC 4

ADCON0=%10000000
ADCON1=%0111

TRISA=%001111
TRISC=0
TRISD=%00000111

SICAKLIK Var Word ' Sicaklik Degsikeni
Kalan Var Byte ' Kalan Degiskeni
Derece_say Var Byte ' Her Santigrad icin derece sayimi Degiskeni

DS Var PORTA.4

SYMBOL TUS1=PORTA.0
SYMBOL TUS2=PORTA.1
SYMBOL TUS3=PORTA.2

HIGH TUS1
HIGH TUS2
HIGH TUS3

lcdout $FE,1,"SSA"
LCDOUT $FE,$C0,"2211"
LCDOUT $FE,$94,"ODEV ÇALIŞMASI"
PAUSE 400

DONGU: OWOut DS,1,[$CC, $44]
DONGU1: OWIn DS,4,[Kalan]
If Kalan = 0 Then DONGU1

OWOut DS,1,[$CC, $BE] ' Siackligi oku
OWIn DS,0,[SICAKLIK.LOWBYTE, SICAKLIK.HIGHBYTE, Skip 4, Kalan, Derece_say]


SICAKLIK = (((SICAKLIK >> 1) * 100) - 25) + (((Derece_say - Kalan) * 100) / Derece_say)
Lcdout $FE,$D4,0,DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C DERECE"
Pause 1000 ' Her 250 milisaniyede bir goster




BASLA:
lcdout $FE,1,"1.TAVUK"
LCDOUT $FE,$C0,"2.KAZ"
LCDOUT $FE,$94,"3.BILDIRCIN"
LCDOUT $FE,$D4,"LUTFEN BIRINI SECIN"
PAUSE 10

IF 0<SICAKLIK<80 THEN TUS1=0
LCDOUT $FE,1
Lcdout $FE,$C0,0,DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C DERECE"
PAUSE 500
LCDOUT $FE,$94,"TAVUK Secildi "
HIGH PORTD.0
HIGH PORTA.3 'role çektirildi
PAUSE 500 '500 ms beklemeı
PAUSE 500
LOW PORTD.0
PAUSE 500
GOTO DONGU

IF 88<SICAKLIK<160 THEN TUS2=0
LCDOUT $FE,1
Lcdout $FE,$C0,0,DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C DERECE"
PAUSE 500
LCDOUT $FE,$94,"BILDIRCIN Secildi "
HIGH PORTD.0
HIGH PORTA.3 'role çektirildi
PAUSE 500 '500 ms beklemeı
PAUSE 500
LOW PORTD.0
PAUSE 500
GOTO DONGU

IF 168<SICAKLIK<240 THEN TUS3=0
LCDOUT $FE,1
Lcdout $FE,$C0,0,DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C DERECE"
PAUSE 500
LCDOUT $FE,$94,"KAZ Secildi "
HIGH PORTD.0
HIGH PORTA.3 'role çektirildi
PAUSE 500 '500 ms beklemeı
PAUSE 500
LOW PORTD.0
PAUSE 500
GOTO DONGU


END

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



R
11 yıl (797 mesaj)
Yüzbaşı

ccs c olsa az da yardım edebilirdim ama pic basic bilmiyorum


Bu mesaja 1 cevap geldi.
B
11 yıl (1076 mesaj)
Yüzbaşı
Konu Sahibi

Teşekkür ederim.




Bu mesajda bahsedilenler: @RoNNeZ
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.