18F4550 USB BOOTLOADER GLCD SORUNU

xemre89

Üye
Katılım
20 Mar 2014
Mesajlar
1
Puanları
1
rkadaşlar merhabalar 18f4550 ve wg128x64c modeli glcd kullanarak bir gameboy yapmaktayım basit bir program yazdım ekranda bir dikdörtgen kutuyo sağa sola yukarı aşağı oynatmak için hex dosyasını pickit 2 kullanıp pic'e yazdığımda sorunsuz şekilde çalışıyor, 5 tane 18F4550 için yazılan bootloader denedim bağlantılarımı 100 defa kontrol ettim programı yazıyorum bootloader ile buraya kadar bir sorun yok pc görüyor fln yalnız program çalışırken ekranda kutu dışında pixellerde yanıyor kutuyu oynatınca hepten bozuluyor. 20 mhz kristal kulanıyorum ve usb ile yazdığımda kutu daha hızlı hareket ediyor acaba ekran picin hızına yetişemiyor mu yada usb yollarındaki parazit elektromanyatik alan yada dirençten dolayı program düzgün yüklenmiyormu sorun ne olabilir ( pc pici sorunsuz görüyor ve yazıyor.) Bütün bootloaderlarda aynı sorun var yazdığım programı ve ne anlatmak istediğimide resimlerle göstermeye çalışayım.

program
/*******************************************************
PIC18F4550 ile Grafik LCD Uygulaması
*******************************************************/

#include <18f4550.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
#include <usb_bootloader.h>


#fuses HSPLL,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları

#use delay (clock=48M) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

#include <HDM64GS12.c> // HDM64GS12.c dosyası programa ekleniyor
#include <graphics.c> // graphics.c dosyası programa ekleniyor

int x1,x2,y1,y2;



/********* ANA PROGRAM FONKSİYONU********/

void main ( )
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

set_tris_C(0x0f);


glcd_init(ON); // Grafik LCD hazırlanıyor ve ekran siliniyor

x1=54;
y1=59;
x2=74;
y2=63;

glcd_init(ON); // Ekran siliniyor
while(1)
{


A:


glcd_rect(x1, y1, x2, y2, yes, on) ;
{
if(input(PIN_C1)==1)
{
x1=x1-1;
x2=x2-1;


glcd_init(ON); // Ekran siliniyor
GOTO A;
}
}
{
if(input(PIN_C2)==1)
{
x1=x1+1;
x2=x2+1;
glcd_init(ON); // Ekran siliniyo
GOTO A;
}
}
{
if(input(PIN_C6)==1)
{

y1=y1+1;
y2=y2+1;

glcd_init(ON); // Ekran siliniyo
GOTO A;
}
}
{
if(input(PIN_C7)==1)
{

y1=y1-1;
y2=y2-1;

glcd_init(ON); // Ekran siliniyo
GOTO A;
}
}
}
}
IMG_20140319_211246.jpgIMG_20140319_211252.jpgIMG_20140319_211300.jpgIMG_20140319_211305.jpgIMG_20140319_211215.jpg
 

Forum istatistikleri

Konular
128,338
Mesajlar
916,820
Kullanıcılar
450,178
Son üye
Esat YILDIZ

Yeni konular

Geri
Üst