Arkadaşlar elimde 16f877 ve wg12864 GLCD var.
Mikro C de yazdığım kodu Isiste deneme yaptığımda herşey çalışıyor fakat breadboarda aktardığım zaman Vizontelede denildiği gibi "karıncalar film çeviriyor". Bazen onuda yapmıyor anlamadım gitti :'(
Bana Teknik destek konusunda bir yardımcı olursanız sevinirim.
unsigned char const bak_bmp[1024] = {
0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128,128, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,128,198,206,206,236,236,236,236,
236,236,238,206,207,130, 0,128,128,128,128, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0, 0,128,
128, 0, 0, 0, 0,128,128,128,128, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,224,248,252,254, 31, 15, 7, 7, 3, 3, 3, 3, 7, 15,159,
255,254,252,240, 0,224,252,255,255,191, 7, 1, 0, 0,224,240,
240,240,241, 3, 1, 1, 0,255,255,255,255, 0, 0, 0, 0, 0,
0, 0, 0, 0, 48,255,255,255, 7, 0, 0, 0, 0,192,254,255,
255,127, 0, 0,248,255,255,255,255, 63,126,248,240,224,224,240,
248,124, 62, 95,255,255,255,254, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0,
0, 1, 3, 7, 15, 15, 14, 28, 28, 28, 28, 28, 28, 28,206,239,
239,247,247, 51, 48, 48, 49,115,243,243,231,199,135, 15, 31, 31,
31, 15, 1, 0, 0,192,224,239,239,255,223,156, 28, 28, 14, 14,
14,206,236,224,224, 67, 7, 15, 15, 30, 28,158,207,207,231,243,
241,112, 32, 0, 15, 31, 31, 31, 7, 0, 0, 0, 0, 1, 1, 1,
192,224,224,240,247,255,239,231, 64, 0, 0, 0,112,248,252,252,
252,248,192,128, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,112,
120,124,126, 63, 63, 63, 31, 31, 31, 15, 15, 15, 6, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,255,
255,255,255,248, 24, 28, 28, 30, 63, 63,255,243,240,224,192,224,
224,224,248,252,255,255,239,231,231,255,255,255,248,240,224, 0,
0,127,255,255,255,252,124,124,254,239,231,231,195,195,129,128,
128, 0, 0, 0, 0, 0,128,192,192,240,248,252,252,254,254,254,
255,255,255,255,255,247, 99, 1, 0, 0, 0, 0,216,252,255,255,
255,255,255,255,255,255,254,254,142, 6, 3, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 7, 7, 6, 6, 6, 6,135,199,199,231,227,225,224,230,
231,199,199,195,128, 0,184,248,248,184, 16, 0,131,135,135,131,
128,128,135,135,135,135,128,128,128,128,128,129,129, 3, 3, 3,
7, 7, 7, 6, 64,255,255, 67,128, 0,248,255,255,255,255,255,
255,255,255,255,255,255,192,192, 96, 32, 48, 88,255,255,255,255,
255,255,255,255,255,255,255,255,255,124,112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 64,248,254,255,159, 7, 1, 0, 0,192,240,240,
240,225, 3, 1, 1,240,255,255,255,255, 1, 1, 3, 3, 3, 3,
3, 3, 3,255,255,255,255,255, 3, 3, 3, 3, 3, 1, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 0,128,255,255,255,255,255,255,
255,255,255,255,191,195, 99, 55, 31, 15,198,255, 13, 1, 7, 31,
255,255,255,255,255, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 3, 3, 3, 7, 7, 7, 7, 15, 31, 31,
15, 1, 0, 0, 0, 15, 31, 31, 31, 15, 0, 0, 0, 0, 0, 0,
0, 0, 0, 15, 31, 31, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128,240,254,255,255,255,255,255,255,255,
255, 63, 7, 3, 1, 0, 0, 0,240,142,192,127, 0, 0, 0, 40,
57, 63, 63, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2, 7, 7, 7, 3, 7, 7, 7, 3, 3,
3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
char GLCD_DataPort at PORTD;
sbit GLCD_CS1 at RB0_bit;
sbit GLCD_CS2 at RB1_bit;
sbit GLCD_RS at RB2_bit;
sbit GLCD_RW at RB3_bit;
sbit GLCD_EN at RB4_bit;
sbit GLCD_RST at RB5_bit;
sbit GLCD_CS1_Direction at TRISB0_bit;
sbit GLCD_CS2_Direction at TRISB1_bit;
sbit GLCD_RS_Direction at TRISB2_bit;
sbit GLCD_RW_Direction at TRISB3_bit;
sbit GLCD_EN_Direction at TRISB4_bit;
sbit GLCD_RST_Direction at TRISB5_bit;
void main() {
ADCON1 |= 0x0F;
CMCON |= 7;
Glcd_Init(); // Initialize GLCD
Glcd_Fill(0x00); // Clear GLCD
while(1) {
Glcd_Image(bak_bmp); // Draw image
Delay_ms(2000);
}
}
Bilgisayarda
Mikro C Pro V1.65-ISIS 7.80-16F877A(Simülasyon)-Ampire 128x64(Simülasyon)
Breadboarda
16F877A-WG12864A-4MHz Kristal
DipNot:Arkadaşlar Bacaklarını 10defa kontrol ettim herşey doğru :) Şimdiden diyeyim yalış bağlamış olmayasın demeyin :) Ayrıca eğer resmi GLCD de basarsanız gayet güzel bir resim olduğunu görürsünüz bence çok beğenirsiniz :)
Resmi çevirirken hangi programı kullandınız?
kendi GLCD Bitmap Editor'u kullandım.Bundan dolayı sorun yok çünkü isis simulasyonda görebiliyorum.Gerçek hayatta denemem çalışmıyor.
Kristal ayarlarında problem olabilir mi?
4farklı 4 çeşit kristal denedim :S
Arkadaşlar ne olur bir yardım edin sorun nedir bir türlü anlayamadım :S
CCS C de de MikroC de de denedim...
GLCD Bozuk olabilir mi?
:)
başlangıçta kodunuza bunları ekleyin
PORTB=0;
TRISB=0×00;
PORTD=0;
TRISD=0×00;
init'den sonra biraz bekleme koyun, konfigürasyon ayarlarına bakın ayrıca
mayterenin dediği gibi projeyle ilgili bütün kodları yaz glcd ile ilgili bir çok uygulama yaptım mikroc de hiç sorun yaşamadım
Arkadaşlar tüm dosyaları rapidledim.Buradaki simülasyona göre herşey normal çalışıyor ama bir türlü gerçek hayata çeviremedim :S
şimdi verdiğiniz yöntemi deneyeceğim inşallah olur :)
https://rapidshare.com/files/2670013665/16F877A.rar
glcd nin datasheetini bi inceleyin CS1 ve CS2 uçları hangi konumda aktif mevcut çalışmanızda aktif"0" gözüküyor ama geçenlerde çalıştığım bir glcd de bu uçlar aktif"1" miş benide epey uğraştırmıştı kolay gelsin..(basitçe test etmek için devredeki CS1 ve CS2 uçlarının yerini kod larla oynamadan bi değiştirin bakalım)
Sizin LCD'nin kontrolcüsü t6963 olmasın? Fotoğraf ekler misiniz?
(http://c1206.hizliresim.com/y/s/8n863.jpg)
(http://c1206.hizliresim.com/y/s/8n8lt.jpg)
Arkadaşlar Bunlar resimleri.Verdiğiniz kodları denedim yine aynı sorun var :S
Bir ingiliz gibi düşündüm sorun bende mi araştırdım - YOK
Bir amerikan gibi düşündüm sorun teknik mi araştırdım - YOK
Bir Türk gibi düşündüm acaba cenabet miyim duş aldım - YOK
şimdi psikopat gibi düşünüp elimdeki GLCD yi parçalamak istiyorum :S
Dostum sen o GLCD'nin çalıştığından emin misin? Eminsen kabloları tekrar söküp teker teker düzenli bir şekilde tekrardan takar mısın? Kullandığın osilatör kaç MHz? Programda 4MHz olarak belirtmişsin. GLCD'nin pin numaralarına bakarak dikkatli tak. Bazen numaralar karışık olabiliyor. Datasheeti önüne al ve numaralara göre değil pin isimlerine göre tek tek taşı kabloları.
Ustam GLCD O kadar sinir etti ki beni sizin yazdığınız gibi TRISB=Ox00 VS.. denedim ekranda bir iki oynama gözüktü ardından tekrar çalıştırmayı denedim yine tık yok haftaya İzmite gidip aldığım yere götüreceğim GLCDyi lanet ettim ya :S
(http://e1206.hizliresim.com/y/t/8q78c.jpg) (http://bit.ly/c25MCx)
Arkadaşlar Yardımlarınız için gerçekten teşekkür ederim ama hatanın nedenini bugün Araştırma görevlisi ile çözdük :)
hatanın nedeni ben ve donanımı unutmam :)
ben 16F877 I/P kullanıyordum bu en fazla 4Mhz lik kristal destekliyor fakat 20Mhz kristal kullanıldığı zaman ancak GLCDnin yükü kaldırabiliyor.Bu yüzden 18F2550 kullandım 20Mhz kristal bağladım ve CS1 ile CS2 nin yerlerini değiştirdim 10Numara sonuç elde ettim :D
Hepinize gerçekten teşekkür ederim :)
Bence 4MHZ'de de çalışır o.
Valla denedim çalışmıyor benim hocada GLCD projeleri yapmış o da söyledi internette yabancı siteleride araştırdım onlarda aynısını söylüyor :)
Bu arada resim güzel olmuş mu? :)
8mhz 16f887 çalışıyor denendi