Picproje Elektronik Sitesi

DERLEYİCİLER => PICBasic => Konuyu başlatan: ImLeGenD - 19 Ağustos 2015, 18:17:12

Başlık: LCD' den çıkış alamıyorum
Gönderen: ImLeGenD - 19 Ağustos 2015, 18:17:12
Arkadaşlar 16f877 yardımıyla 18b20 üzerinden sıcaklık ölçmek istiyorum fakat LCD'den  çıkış alamıyorum. Yardımcı olursanız sevinirm.

Kurulan devre:
(http://s18.postimg.cc/k38rjnl91/IMG_0229.jpg) (http://postimg.cc/image/k38rjnl91/)
(http://s27.postimg.cc/l53lih07j/picbasic_eeprom_ds18b20.jpg) (http://postimg.cc/image/l53lih07j/)


Yazıln kod:

@ __config _XT_OSC & _WDT_OFF & _LVP_OFF & _CP_OFF
'*******************************************************************************
define LCD_DREG PORTB
Define LCD_DBIT 4
define LCD_EREG PORTB
define LCD_EBIT 3
DEFINE LCD_RWREG PORTB
define LCD_RWBIT 2
define LCD_RSREG PORTB
DEFine LCD_RSBIT 1
define LCD_BITS 4
define LCD_LINES 2
'******************************************************************************
CMCON=7
'****************************************************************************
Busy        VAR BIT         ' Busy Status-Bit
HAM         VAR WORD        ' Sensör HAM okuma değeri
ISI         VAR WORD        ' Hesaplanmış ISI değeri
Float       VAR WORD        ' Holds remainder for + temp C display
X           VAR WORD       
ISARET_BITI   VAR HAM.Bit11   '   +/- sıcaklık İşaret biti,  1 = olursa eksi sıcaklık
EKSI_ISI   CON 1           ' Sıfır altında isaret biti=1  oluyor kontrol için
DERECE     CON 223         ' ° işareti
ISARET     VAR BYTE        '  ISI değeri için  +/-  işaret
TEMP        VAR BYTE       ' Div32 bit hesap için geçici değişken
SYMBOL COMM_PIN=PORTB.0    ' One-wire Data-Pin "DQ" PortB.0 da
'*********************************************************************************
PORTA=0 : PORTB=0

TRISB=%00000001
TRISA=0
'************************************ *******************************************
LOW PortB.2

CLEAR  'tüm değişkenler sıfırlandı
PAUSE 200
LCDOUT $FE,1

'******************************************************************************
BASLA:lcdout $FE,2," DS18B20 ile ISI"
      gosub SENSOROKU     'SONSÖR OKU VE SICAKLIĞI EKRANA YAZ
      GOTO BASLA
     
'*******************************************************************************
SENSOROKU:
           
           OWOUT   Comm_Pin, 1, [$CC, $44]' ISI değerini oku
Bekle:
           OWIN    Comm_Pin, 4, [Busy]    ' Busy değerini oku
           IF      Busy = 0 THEN Bekle    ' hala meşgulmü? , evet ise goto Bekle..!
           OWOUT   Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku
           OWIN    Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' İki byte oku ve okumayı bitir.
           GOSUB   Hesapla
           RETURN
           
Hesapla:                 ' Ham değerden Santigrat derece hesabı
    ISARET  = "+"
    IF ISARET_BITI = EKSI_ISI THEN
       ISARET   = "-" 
       temp=($ffff-ham+1)*625
       ISI  = DIV32 10
       GOTO GEC   
    endif
    TEMP = 625 * HAM        '
    ISI = DIV32 10          ' Div32 hassas derece hesabı için 32 bit bölme yapıyoruz.
GEC:
    FLOAT = (ISI //1000)/100
    ISI=ISI/1000
    LCDOUT $FE,$C4,ISARET,DEC ISI,".",DEC1 (Float)," ",Derece,"C " '2. satırda ısı
    RETURN

END


Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: Gökhan BEKEN - 20 Ağustos 2015, 00:07:25
vee pini konstrat ayarıdır, şu an sizde maksimumda olduğu için öyle görünüyor büyük bir ihtimal.
https://www.google.com.tr/search?q=2x16+lcd+ba%C4%9Flant%C4%B1s%C4%B1&biw=1366&bih=657&noj=1&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMI46icqIa2xwIVRT0aCh3pwQMU (https://www.google.com.tr/search?q=2x16+lcd+ba%C4%9Flant%C4%B1s%C4%B1&biw=1366&bih=657&noj=1&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMI46icqIa2xwIVRT0aCh3pwQMU)
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: triyak - 20 Ağustos 2015, 00:13:35
Pic in beslemesi yok.  Google dan picin Vcc (+besleme)  ve Vss(- besleme)  uçlarını bulup besleyin.
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: mehmet - 20 Ağustos 2015, 01:12:30
Mcu;
  1 no 1-10K ile +5V
11 no +5V
12 no gnd
31 no gnd
32 no +5V


Pot bağlantısı;

           o +5V
           |
          | |
          | |
          | |<---0 Vee
          | |
           |
          --- gnd

Bir de D6 ve D7 uçlarını kontrol ediniz.
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: ImLeGenD - 20 Ağustos 2015, 14:35:01
Alıntı yapılan: Gökhan BEKEN - 20 Ağustos 2015, 00:07:25
vee pini konstrat ayarıdır, şu an sizde maksimumda olduğu için öyle görünüyor büyük bir ihtimal.
https://www.google.com.tr/search?q=2x16+lcd+ba%C4%9Flant%C4%B1s%C4%B1&biw=1366&bih=657&noj=1&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMI46icqIa2xwIVRT0aCh3pwQMU (https://www.google.com.tr/search?q=2x16+lcd+ba%C4%9Flant%C4%B1s%C4%B1&biw=1366&bih=657&noj=1&source=lnms&tbm=isch&sa=X&ved=0CAcQ_AUoAWoVChMI46icqIa2xwIVRT0aCh3pwQMU)

Dostum konstrat ayarını yaptım birçok kez ama onunla ilgili bir durum değil. Saatlerdir uğraştığım için sinirlenip çıkarmışım.

Alıntı YapPic in beslemesi yok.  Google dan picin Vcc (+besleme)  ve Vss(- besleme)  uçlarını bulup besleyin.

Pic'in iki adet besleme noktası var. İlk önce her ikisini besledim ardımdan bu hale getirdim. Bir değişiklik olmadı.

Alıntı YapMcu;
  1 no 1-10K ile +5V
11 no +5V
12 no gnd
31 no gnd
32 no +5V


Pot bağlantısı;

           o +5V
           |
          | |
          | |
          | |<---0 Vee
          | |
           |
          --- gnd

Bir de D6 ve D7 uçlarını kontrol ediniz.

Hocam MCLR'yi kapattım sandım o nedenle direnç eklemedim hemen bakıyorum. Pot ile ilgili bir sıkıntı olmadığını düşünüyorum hocam 2dk öncesinde o balantıyı yapmıştım.

Bir de pic in iki adet besleme ve GND ucu var . Her ikisine de bağamak zorunda mıyız? Her iksine de bağladığımda da bir değişiklik olmamıştı.

mesaj birleştirme:: 20 Ağustos 2015, 15:06:40

arkadaşlar pic de mi bir problem var acaba?
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: mehmet - 22 Ağustos 2015, 19:15:22
Sensor kısımlarını iptal edip sadece LCD çıktısı
alabiliyor musunuz?
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: ImLeGenD - 23 Ağustos 2015, 16:56:49
Alıntı yapılan: mehmet - 22 Ağustos 2015, 19:15:22
Sensor kısımlarını iptal edip sadece LCD çıktısı
alabiliyor musunuz?

Hocam Sensöroku etiketinin altına aşağıdaki ifadeyi koyduğum halde çıkış alamadım.

ham=$FE6F:Gosub hesapla:RETURN
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: ipek - 23 Ağustos 2015, 17:05:26


bu pin 1 'i mutlaka vcc yapmalısınız direnç ile yada düz.
yaptığınızı doğrulayın.


birde çelişki var, @ MCLR'yi kapattım sandım o nedenle direnç eklemedim

demişsiniz kapattım ifadesini anlayamadım,eğer programlayıcıdan .... kastediyorsanız kullandığınız işlemci buna uygun değil.
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: RaMu - 23 Ağustos 2015, 21:34:03
Isis de 16F628A
gerçek devrede 16F877A kullanılmış,
kodlar hangisi için yazıldı?

Söylenmiş 16F877A da MCLR kapatılamaz, +5V a direnç ile çekilmek zorunda.
Devre çok kötü kurulmuş,
özellikle osilatör kısmı pic pinlerine en yakın yerden bağlanmalı.
Şunun gibi:

(https://lh3.googleusercontent.com/-grwrkfAzfw0/VGJCSMDPFdI/AAAAAAAABAo/f7bI-LMmnBA/w1044-h587-no/2x16%2Blcd%2Bbreadboard.png)

(https://lh6.googleusercontent.com/-gs8ZAj4PQOQ/UhTZ2AiNkSI/AAAAAAAAAHU/jmaHYUVrG28/w820-h615-no/SAM_1363.JPG)
Başlık: Ynt: LCD' den çıkış alamıyorum
Gönderen: ImLeGenD - 02 Eylül 2015, 10:34:29
Alıntı yapılan: RaMu - 23 Ağustos 2015, 21:34:03
Isis de 16F628A
gerçek devrede 16F877A kullanılmış,
kodlar hangisi için yazıldı?

Söylenmiş 16F877A da MCLR kapatılamaz, +5V a direnç ile çekilmek zorunda.
Devre çok kötü kurulmuş,
özellikle osilatör kısmı pic pinlerine en yakın yerden bağlanmalı.
Şunun gibi:

(https://lh3.googleusercontent.com/-grwrkfAzfw0/VGJCSMDPFdI/AAAAAAAABAo/f7bI-LMmnBA/w1044-h587-no/2x16%2Blcd%2Bbreadboard.png)

(https://lh6.googleusercontent.com/-gs8ZAj4PQOQ/UhTZ2AiNkSI/AAAAAAAAAHU/jmaHYUVrG28/w820-h615-no/SAM_1363.JPG)

Hocam teşekkürler tavsiyeleriniz için. Uzun süredir foruma girme fırsatı bulamadım o nedenle şimdi yazıyorum. Müsait zaman bulduğumda söylediklerinizi uygulayacağım ve sonuçları belirteceğim.

Alıntı yapılan: ipek - 23 Ağustos 2015, 17:05:26

bu pin 1 'i mutlaka vcc yapmalısınız direnç ile yada düz.
yaptığınızı doğrulayın.


birde çelişki var, @ MCLR'yi kapattım sandım o nedenle direnç eklemedim

demişsiniz kapattım ifadesini anlayamadım,eğer programlayıcıdan .... kastediyorsanız kullandığınız işlemci buna uygun değil.

Teşekkürler İpek Hocam.