18F46K22 - 16x2 LCD ? (Çözüldü)

Başlatan kdrsrn, 06 Ekim 2014, 16:23:11

kdrsrn


kdrsrn

Bu arada üst üte mesaj yazıyorum ama,

Board üzerine kurduğum devre harici osilatör (4mhz) 3.3v besleme ve 10k mclr ile sorunsuz şekilde çalışıyor.

Şimdi tekrardan standart bir lcd programı yazıp deniyorum.

burctankal

Bence bu konfigürasyon ile çalışacak LCD. Demek ki dahili osilatör ayarlarında bi sıkıntı varmış. Ama neden 3.3 volt?

kdrsrn

16F877 datasheet de 2.5 - 5.5 v yazıyor bende baktım elimde 330R direnc yok  :D 3.3 olsun dedim.

burctankal

Diğer entegreye de mi 3.3 vermiştin.  Şimdiye kadar hiç 3.3 bağlayan görmedim. Pic'i 7805'ten regüle 5 volt, ayrıca parazit için 100 uf, 10uf ve 100 nf kapasitörler ile beslemelisin diye biliyorum

kdrsrn

Yok ona 5v verdim 3.3v ile de denedim. Lcd bitmek üzere inşallah calışır da başka birşeyle uğraşabilirim.

kdrsrn

Yazılımı tamamladım.


main.h

#include <16F877A.h>
#device ADC=16 //Anlamadığım tek nokta en baba pic de bile 16 bit adc yok bu neyin kafası ccs :D


#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(crystal=4MHz)


main.c

#include <main.h>
#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include <lcd.c>

void main()
{
   

   lcd_init();

   

   while(1)
   {
      printf(lcd_putc,"\f Calisiyor ");
      delay_ms(500);
      printf(lcd_putc,"\n Calismiyor ");
      delay_ms(500);
   }   


}


main.hex

:1000000001308A00AD2900000A108A100A11820707
:1000100028340C34013406340C10C330EC34F3347F
:10002000F937721000000A10C330EC34F336E93CA3
:100030006F392000263084008313000803192E280E
:100040000130F800F701F70B2328F80B22284A307B
:10005000F700F70B29282C28800B202808002D18E2
:100060003328061234280616831606128312AD189A
:100070003B2886123C2886168316861283122D1979
:100080004328061344280617831606138312AD1956
:100090004B2886134C28861783168613000083127C
:1000A00006148316061054288312061083160610B1
:1000B00083120800AE018316061600308312061A5A
:1000C0000130AE048316861600308312861A013082
:1000D000F7000310F70D7708AE04831606170030FB
:1000E0008312061B0130F700F70DF70DFC30F70502
:1000F0007708AE048316861700308312861B013002
:10010000F700F70DF70DF70DF830F7057708AE0497
:100110002E08F800080083160610861006118312B8
:100120008610831686100616861606178617831203
:100130000615831606110000831206148316061096
:10014000000083125A207808AD00061083160610AE
:1001500000008312061483160610000083125A2032
:100160007808AC00061083160610061286120613D5
:10017000861383122D0EF700F030F70577082C0454
:10018000F8007808AC00AC1FC72883169328AA088B
:10019000031DCC288610CD288614831686100000F7
:1001A00083120611831606110000831206108316AF
:1001B000061083122B0EAC000F30AC052C08AD00DE
:1001C0002F202B080F39AC00AD002F20080083161C
:1001D0000612861206138613061086100611831265
:1001E0008610831686108312061183160611831259
:1001F0000610831606100F308312A6001A20013055
:10020000A1002108033C031C0D290330AD002F2061
:100210000530A6001A20A10A01290230AD002F20C6
:100220000530A6001A20A1012108033C031C212946
:1002300021080420A200AA012208AB008B20A10AF9
:1002400014298A110A12BA29270B27292A29403092
:10025000A8002B29A80101302602A8072808803809
:10026000A900AA012908AB008B2008002508073A3D
:10027000031944290B3A03194929063A031951294C
:10028000023A031957295C290130A600A70024214E
:100290006129AA010130AB008B200230A6001A2090
:1002A00061290130A6000230A70024216129AA019A
:1002B0001030AB008B2061290130AA002508AB006B
:1002C0008B2008000B08A1008B13831603178C17D3
:1002D0000C140000000083120C087F390319A929AF
:1002E0000313A20003170D080313A30003170F083D
:1002F0000313A4002208A5003621230803178D004C
:100300000313240803178F0083168C170C140000A6
:10031000000083120C0D0E0D7F390319A929031358
:10032000A20003170D080313A30003170F080313FC
:10033000A4002208A5003621230803178D0003130B
:10034000240803178F008D0A03198F0A03136529E8
:1003500003170313A11B8B17080003081F39830021
:1003600083161F149F141F159F1107309C008313C1
:100370008312E7280C3003178D0000308F00031321
:1003800062210230A100FA30A6001A20A10BC32975
:10039000133003178D0000308F00031362210230E9
:1003A000A100FA30A6001A20A10BD129BA296300B6
:02400E00313F40
:00000001FF
;PIC16F877A
;CRC=A906  CREATED="10-Eki-14 00:23"


Şimdi sıra board üzerine gerekli bağlantıları yapıp demeye geldi...  ???  ???  ???

mesaj birleştirme:: 10 Ekim 2014, 14:40:52





Bu bir şakamı ???

Bağlantıları pot ile yaptım o karaltı ile oynayabiliyorum ve potsuz yaptım sonuc ( 0 )  :(  >:(

kdrsrn

Deney kartında aynı pic ve aynı lcd ile kartın gelen deneme yazılımını calıştırıyor.



Ama aynı bağlantılarla board üzerinde çalışmıyor.

Birde şunu fark ettim kristali takmadan calıştırınca aynı board üzerindeki görüntü oluşuyor. (Board üzerindeki kristalle aynı)

Enerjiyi kesmeden kristali sokete takınca normal düzende calışıyor acaba sorun benim yazılımımdamı?

İlyas KAYA

#38
Tam göremiyorum ama lcd yi sanki yanlış bağlamışsın gibi.

Eğer LCD de soldan 4ncü kablo data7 ise neden PORTB7 ye bağlı değil.
yok eğer data4 ise neden portb0'da öteki turuncu kablo bağlı.

LCD nin 1 nolu bacağı neresi ? Arkasında model kodu yazar.
Model kodunu verirseniz datasheet ten de bakabiliriz.

Biraz kabloları düzeltip tekrar çekerseniz daha iyi olacak.

Delab sitesinden deneme kartının resmine baktım.

Bağlantısı şöyle olmalı.



PIC 'de ise;

LCD_ENABLE_PIN PIN_B0         
LCD_RS_PIN PIN_B1         
LCD_RW_PIN PIN_B2       
LCD_DATA4 PIN_B4
LCD_DATA5 PIN_B5
LCD_DATA6 PIN_B6
LCD_DATA7 PIN_B7

Bağlantıyı buna göre bir kontrol edin.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

burctankal

Dostum ne yaptın, çözebildin mi LCD sorununu?

kdrsrn




Sorun tamamen bende ve bağlantılardaymış :(

burctankal

Ne tür bir bağlantı hatası yapmış olabilirsin ki, neredeyse bütün bağlantıları kontrol etmiştik :)

kdrsrn

Port b de b0 ı  b7 gibi algılayıp hepsini ters yapmışım en başından beri  :(

Powered by EzPortal