Picproje Elektronik Sitesi

DERLEYİCİLER => PICBasic => Konuyu başlatan: homer380 - 20 Temmuz 2013, 17:13:04

Başlık: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 20 Temmuz 2013, 17:13:04
Aslında konuyu daha önce acacaktım ama sd kart biraz uğraştırdı. Daha doğrusu ben 4gb sdhc ile uğraşıyodum. Onun komut dizilimi farklı imiş.(pat cat ingilizcem ve google translate ile anladığım kadarıyla.) Daha sonra 2gb SD kartta geçince rahatladım.yeterli hızlı olmadığım için yaklaşık 2 dakikada bir fotograf basabiliyom.  Neyse fazla yazmayım.
Youtube görüntüsü:
http://youtu.be/mL80vNwGEGE (http://youtu.be/mL80vNwGEGE)

buda kodlar:
Açıklamalarda eksik olabilir.

@ DEVICE pic16f628A                      'i?lemci 16F628                               
@ DEVICE pic16f628A, WDT_ON              'Watch Dog Timer aç?k
@ DEVICE pic16f628A, PWRT_ON             'Power on Timer aç?k
@ DEVICE pic16f628A, PROTECT_OFF         'Kod Protek kapal?
@ DEVICE pic16f628A, MCLR_ON             'MCLR pini kullan?l?yor. on kullanılıyor.OFF kullanılmaz.
@ DEVICE pic16f628A, HS_OSC              'Dahili osilatör kullan?lacak
@ DEVICE pic16f628A, BOD_OFF
'---------------------------------------------------------------------------------------------------------------
CMCON=7    '16F628 de komparatör pinleri iptal hepsi giri? ç?k??
define osc 20
'---------------------------------------------------------------------------------------------------------------
trisb=%00000000         'irq 5. pine bağlı
trisa=%00001010         'porta.1 den veri giriişi olacak
'###############################################################################
INCLUDE "modedefs.bas" 
DEFINE SHIFT_PAUSEUS 5

'tft pin ayarları
symbol wr=portb.0
symbol rd=portb.1
symbol cs=portb.2               'cs=0 ise veri, cs=1 ise komut
symbol rs=portb.3
symbol reset=portb.4
'sd kart pin ayarları
symbol sd_cs= portb.5
symbol sd_clk=portb.6
symbol sd_d_in=porta.1             'spi data girisi
symbol sd_d_out= porta.3
'*******************************************************************************
'74hc595 pin ayarları
symbol clk=portb.7
symbol d_out=porta.0            'spi data cıkısı
symbol ap=porta.2               '74hc595 enable(aktif-pasif) ucu aktif_pasif

'###############################################################################               
al_dusuk var word               ' spi gelen veriyi kaydetmek için ilk 8 bit
al_yuksek var word              ' spi gelen veriyi kaydetmek için ikinci 8 bit
t_komut var word                ' touch komutları
dongu var byte                  ' for next döngüsü için
komut var word                  ' tft ekran komutları
veri var word                   ' tft ekrana veri göndermek için
yuksek_deger var byte           ' tft ekrana veri-komut göndermek için
dusuk_deger var byte            ' tft ekrana veri-komut göndermek için
okunan var byte[63]             'sd karttan gelen verileri okumak için 64 byte
okunan01 var byte[63]
okunan1 var word


arguman var word                'adreleme yaparken msb kısmı (32 bit)
arguman1 var word               'adreleme yaparken lsb kısmı (32 bit)
adres1 var byte[3]              'adreslemeleri byte larına ayırmak için (gerek yok ama ben yinede kullandım)

k var byte
i var byte                      ' for next döngüleri için
j var word                      ' for next döngüleri için
sd_cs=1                 '
k=0
'******************sd kart kurulum kısmı****************************************   

sd_cs=1

cmd_0:

for i=0 to 9
shiftout sd_d_out,sd_clk,5,[$ff]
next
sd_cs=0
repeat
shiftout sd_d_out,sd_clk,5,[$40,$00,$00,$00,$00,$95,$FF]
shiftin sd_d_in,sd_clk,0,[okunan]
until okunan=1
sd_cs=1:pause 50

GOTO CMD_1

cmd_1:
sd_cs=0
repeat
shiftout sd_d_out,sd_clk,5,[$ff,$41,$00,$00,$00,$00,$ff,$ff]
shiftin sd_d_in,sd_clk,0,[okunan]
lcdout $fe,$c0,#okunan
until okunan=0

shiftout sd_d_out,sd_clk,5,[$ff,$50,$00,$00,$00,$40,$ff,$ff,$ff]    'cmd16 kaç byte veri okumak istendiği karta bildirilir.
                                                                    'ben 64 byte okuyacağım için bu kısımda bildiriyorum.
sd_cs=1:pause 1000                                                  'istenirse bu kısım başka yerdede bildirilebilir.

goto lcd_hazirla_1

'******************tft ekranı hazırlama*****************************************
lcd_hazirla_1:   
rd = 1
reset = 1
pause 50
reset = 0
pause 50
reset = 1
pause 50
cs = 0
'################tft ekranı hazıralamak için gerekli komutlar###################       
    komut =$0007:gosub komut_gonder:pause 30
    veri=$0021:gosub veri_yazma:pause 30
'###############################################
    komut =$0000:gosub komut_gonder:pause 30
    veri=$0001:gosub veri_yazma:pause 30
'###############################################
    komut =$0007:gosub komut_gonder:pause 30
    veri=$0023:gosub veri_yazma:pause 30
'###############################################
    komut =$0010:gosub komut_gonder:pause 30
    veri=$0000:gosub veri_yazma:pause 30
    pause 50
'###############################################
    komut =$0007:gosub komut_gonder:pause 30
    veri=$0033:gosub veri_yazma:pause 30
'###############################################
    komut =$0011:gosub komut_gonder:pause 30 'tarama yöntemi soldan-sağdan-aşağıdan-yukarıdan
    veri=$6808:gosub veri_yazma:pause 30
'###############################################
    komut =$0002:gosub komut_gonder:pause 30
    veri=$1000:gosub veri_yazma:pause 30
'###############################################
    komut =$0001:gosub komut_gonder:pause 30
    veri=$2b3f:gosub veri_yazma:pause 30
'###############################################
    komut =$000b:gosub komut_gonder:pause 30
    veri=$5308:gosub veri_yazma:pause 30           
'###############################################
    komut =$0028:gosub komut_gonder:pause 30
    veri=$0006:gosub veri_yazma:pause 30
'###############################################
    komut =$0025:gosub komut_gonder:pause 30         'osilator hızı
    veri=$e000:gosub veri_yazma:pause 30               
'###############################################
    komut =$0022:gosub komut_gonder:pause 30        'tft ye yazma  yapılacağı bildiriliyor
cs=1                       
veri=2016             'renk kodu

goto ekrani_doldur
'*******************************************************************************
veri_yazma:
yuksek_deger=veri.highbyte
dusuk_deger=veri.lowbyte
cs=0      'veri yazma
rs=1
shiftout  d_out,clk,1,[dusuk_deger,yuksek_deger] 'data pini, clock pini
ap=1:ap=0:wr=0:wr=1:cs=1
return
'*******************************************************************************
komut_gonder:
yuksek_deger=komut.highbyte
dusuk_deger=komut.lowbyte
cs=0      'komut yazma
rs=0
shiftout d_out,clk,1,[dusuk_deger,yuksek_deger] 'data pini, clock pini
ap=1:ap=0:wr=0:cs=0:wr=1:cs=1
return
'*******************************************************************************
ekrani_doldur:
veri=$ffff:gosub veri_yazma
cs=0
for j=0 to 319
    for i=0 to 239
     wr=0
     wr=1   
    next
next
cs=1:veri=$0000:gosub veri_yazma:pause 1500

arguman1=$0FC0              'adres kısmından okunacak byte kadarlık kısım cıkarılır.         
arguman=$0040
j=0

goto  oku
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$



'*******************************************************************************
'*******************************************************************************
'****************sd karttan veri okuma ve tft ekrana resim basma****************
oku:

        arguman1=arguman1+64           
        if arguman1=$0000 then          'adres kısmının lsb bölmü sıfırlanınca     
        arguman=arguman+1               'adres kısmının msb bölmü 1 artar.
        arguman1=$0000                  'arguman1 bir sıfır ama ben garanti olsun diye yazdım.
        endif
       
        adres1[0]=arguman.highbyte:adres1[1]=arguman.lowbyte
        adres1[2]=arguman1.highbyte:adres1[3]=arguman1.lowbyte
        sd_cs=0
       
       
           
        repeat                     'adresleme bilgileri karta gönderilir.
        shiftout sd_d_out,sd_clk,5,[$ff,$51,adres1[0],adres1[1],adres1[2],adres1[3],$ff,$ff,$ff]
        shiftin sd_d_in,sd_clk,0,[okunan]
        until okunan=0             'kart hazır ise "0" gönderir onun dışındakiler hata demek.
       
        repeat         
        shiftin sd_d_in,sd_clk,0,[okunan]
        until okunan =$fe          'veri göndereceğini söylüyor kart.
       
        for i=0 to 63              ' veri okuma kısmı (64 byte )
            shiftin sd_d_in,sd_clk,0,[okunan[i]]
        next
       
       
       
         sd_cs=1
'okunan veriler burda işleniyor. çünkü her bir hex kodunu karta ascii olarak kodlanıyor.
'yani bizim AAAA şeklinde olan renk kodumuz kartta 65-65-65-65 olarak görünür.
'buda istediğimiz hex kodu değildir. bu yüzden burda ASCII kodu 65 olan "A" önce 16 ya bölünür.
'sonra 9 eklenir.(65//16 kalan 1.9 eklenirse sonuc 10 olur ve buda HEX'in ilk verisidir.
'bu işlem 4 kez tekrarlanırsa ve her seferinde 4 bit kayarsa 16 bit renk kodu elde edilir.
'0-9 arasındaki rakamların ASCII karşılığı 48-58 arasında
'A-F arasındaki harflerin  ASCII karşılığı 65 ile 71 arasında
'okunan[i]>40 olmasının nedeni 2 baytın (10 ve 14 kodlarının bizim için anlamsız olaması)       
        for i=0 to 63           

   
               if okunan[i]>40 then
               
               
                        if  okunan[i]<65 then
                        okunan[i]=okunan[i]//16
                        else
                        okunan[i]=okunan[i]//16+9                           
                        endif                                               
                        okunan1=okunan1<<4+okunan[i]
                j=j+1     
                if j=4 then
                j=0     
                 veri=okunan1:GOSUB VERi_yazma
                endif
                 

                 endif
            next
           
           
           
     pauseus 1         
goto oku
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: JKramer - 20 Temmuz 2013, 17:19:36
Elinize sağlık. İzninizle videoyu izleyecek olanlar için bir hatırlatma yapayım; resmin yüklenmesi için iki dakika boyunca beklemenize gerek yok, doğrudan ikinci dakikaya gidebilirsiniz. "Bir arkadaşım" beklemiş de o yüzden şey ettim :).
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: camby - 20 Temmuz 2013, 17:24:11
pic show devam ediyor :) hocam eline sağlık
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Murat Mert - 20 Temmuz 2013, 17:30:03
Maşallah aklına eline kuvvet.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: yldzelektronik - 20 Temmuz 2013, 18:37:11
Çok iyi çalışma.Tebrik ederim.Nereden esti acaba bu mcu ile :)?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: mustafa_cmbz - 20 Temmuz 2013, 22:27:49
kısaca nasıl yapılıyor onlarında açıklaması olsa çok yerli yerinde ve fayadlı olacaktır...

Mesela makrolar haline getirerek kullanabiliriz.

Hani nasıl lcd de  print at 1,1,"mustafa" yazınca ekrana yazdırıyorsak o hale getirmek daha mantıklı olmaz mı ?

böyle bir çalışmanız olursa çok minnettar kalırız.Bizde elimizden geldiğince destekleriz..
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 20 Temmuz 2013, 22:36:07
Alıntı YapNereden esti acaba bu mcu ile :)?
Aslında elimde pic18f4550 var ama geçmeye erini yom.(tembellik)

Alıntı Yapkısaca nasıl yapılıyor onlarında açıklaması olsa çok yerli yerinde ve fayadlı olacaktır...

Mesela makrolar haline getirerek kullanabiliriz.

Hani nasıl lcd de  print at 1,1,"mustafa" yazınca ekrana yazdırıyorsak o hale getirmek daha mantıklı olmaz mı ?

böyle bir çalışmanız olursa çok minnettar kalırız.Bizde elimizden geldiğince destekleriz..

tft ekran için mi yoksa sd kart için mi?  Aslında böyle bir şey düşünüyorum şimdiki hal sadece çalışmasına bakıyorum.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: frederic - 21 Temmuz 2013, 01:14:45
MaşAllah sana kardeşim, çalışkanlıkta zirve yapmışsın.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: mistek - 21 Temmuz 2013, 01:20:41
Ben hazır kodları kullanamazken siz neler yapmışsınız. Helal olsun tebrikler.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: mustafa_cmbz - 21 Temmuz 2013, 16:26:47
Alıntı yapılan: homer380 - 20 Temmuz 2013, 22:36:07
Aslında elimde pic18f4550 var ama geçmeye erini yom.(tembellik)

tft ekran için mi yoksa sd kart için mi?  Aslında böyle bir şey düşünüyorum şimdiki hal sadece çalışmasına bakıyorum.

hem sd kart için hem tft ekran için...Özellikle tft ekran için bence gerekli...
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 22 Temmuz 2013, 01:43:01
Tft kurulum ile başlayalım. Ben picbasic göre yapacam diğer programlama dillerinede uyarlanabilir.
Bekleme süreleri değiştirilebilir.
lcdinit:
rd = 1                                   
reset = 1
pause 50
reset = 0
pause 50
reset = 1
pause 50
cs = 0
'*********tft ekranı hazırlamak için gerekli komutlar***********************
komut =$0007:gosub komut_gonder:pause 30
    veri=$0021:gosub veri_yazma:pause 30
'###############################################
    komut =$0000:gosub komut_gonder:pause 30
    veri=$0001:gosub veri_yazma:pause 30
'###############################################
    komut =$0007:gosub komut_gonder:pause 30
    veri=$0023:gosub veri_yazma:pause 30
'###############################################
    komut =$0010:gosub komut_gonder:pause 30
    veri=$0000:gosub veri_yazma:pause 30
    pause 50
'###############################################
    komut =$0007:gosub komut_gonder:pause 30
    veri=$0033:gosub veri_yazma:pause 30
'###############################################
    komut =$0011:gosub komut_gonder:pause 30 'tarama yöntemi soldan-sağdan-aşağıdan-yukarıdan
    veri=$6808:gosub veri_yazma:pause 30
'###############################################
    komut =$0002:gosub komut_gonder:pause 30
    veri=$1000:gosub veri_yazma:pause 30
'###############################################
    komut =$0001:gosub komut_gonder:pause 30
    veri=$2b3f:gosub veri_yazma:pause 30
'###############################################
    komut =$000b:gosub komut_gonder:pause 30
    veri=$5308:gosub veri_yazma:pause 30           
'###############################################
    komut =$0028:gosub komut_gonder:pause 30
    veri=$0006:gosub veri_yazma:pause 30
'###############################################
    komut =$0025:gosub komut_gonder:pause 30         'osilator hızı
    veri=$e000:gosub veri_yazma:pause 30               
'###############################################
    komut =$0022:gosub komut_gonder:pause 30        'tft ye yazma  yapılacağı bildiriliyor
cs=1

tft ekran kurulumu tamamdır. Burda bizim için  önemli olan komutları elimden geldiği kadar buraya yazacam.

komut =$0011   veri=$6808
bu komut ile taramanın nasıl olacağı belirleniyor.

(http://s21.postimg.cc/lkr90uxh3/x0011.png) (http://postimg.cc/)
screenshot pc (http://postimg.cc/app.php)

burdaki bitler bizim için önemli taramanın dikey olacaksa AM biti "1", yatay ise AM biti "0" olmalı. daha detaylısı şekilde var.

(http://s8.postimg.cc/gybw6nsv9/x0011_1.png) (http://postimg.cc/)
image hosting 12mb (http://postimg.cc/)

burdan istenilen tarama yöntemi seçilebilir. bunların dışındaki bitlere ben dokunmadım.

bizim için önemli diğer kodda osilatör hızını belirleyendir.
  komut =$0025 veri=$e000

(http://s16.postimg.cc/xf40e245x/osilator.png) (http://postimg.cc/)
screenshot tool (http://postimg.cc/app.php)

komut_gonder ve veri_gonder kısmıda yarına.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: mustafa_cmbz - 22 Temmuz 2013, 06:15:17
sen picbasic için yaz hocam ben protona çevirecem onları..
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: remzi - 22 Temmuz 2013, 09:23:00
ekran piyasada  var mı?
fiyatı ne kadar?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: safaka123 - 22 Temmuz 2013, 10:52:55
elinize sağlık gerçekten güzel bir uygulama.
Ben de bir zamanlar SD kart için araştırma yaptım ama bir türlü sonunu getiremedim.
Yapmak istediğim sd karta yazılan mp3 formatlı küçük ses dosyalarının içinden seçeceğim birini sesli ikaz olarak kullanmak istemiştim.
SES entegreleri ISD kullanmak yerine daha fazla ses dosyasını kullanabilmek ve anında mesajı okutabilmek. Bunun için SD kartı okumam gerekiyor. Tıpkı sd kart kullanan aygıtlarda olduğu gibi . Her ses dosyası ekrana geliyor içlerinden birini seçebiliyoruz. Bunu mcu ile nasıl başarırız. Belki sizin fotoğraf kısmında okuma rutinleri buna ayarlanabilir ne dersiniz. ( Sadece okuma ve seçip çalma gerekir kayıt zaten herhangi bir bilgisayarda yapılabilir. )
İyi Çalışmalar
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Kabil ATICI - 22 Temmuz 2013, 11:38:31
Senin böyle aman aman lir LCD'ye ihtiyacın yok görünüyor. Senin işini karakter LCD'ler de görebilir. Onların ekranına bilgi göndermek bu LCD'den daha kolaydır. Seçme işimi göstermek sadece bir ok bile yeterli. Seni uğraştıracak olan SD kard okumasıdır. Daha doğrusu dosya adı ve yerini okumaktır. Bunun için FAT32 gibi konulara bakman lazım. Tabi kendi dosyalama sistemini oluşturmayacaksan!
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 22 Temmuz 2013, 14:43:58
74hc595 ile komut ve veri gönderimi için

komut_gonder:
yuksek_deger=komut.highbyte
dusuk_deger=komut.lowbyte
cs=0      'komut yazma
rs=0
shiftout portb.5,portb.6,1,[dusuk_deger,yuksek_deger] 'data pini, clock pini 74hc595 için
high portb.7
low portb.7          '74hc595 veriyi tetiklemek için
wr=0
wr=1:cs=1
return




ben 74hc595 kullandığım için 16 bit veriyi 2'ye böldüm.

74hc595 ile veri gönderimi için


veri_gonder:
yuksek_deger=veri.highbyte
dusuk_deger=veri.lowbyte
cs=0     
rs=1             'veri yazma
shiftout portb.5,portb.6,1,[dusuk_deger,yuksek_deger] 'data pini, clock pini
high portb.7
low portb.7        '74hc595 tetiklemek için
wr=0
wr=1:cs=1
return



74hc595 kullanmadan komut ve veri gönderimi


komut_gonder:

cs=0      'komut yazma
rs=0

'bu kısma data bacaklarına gidecek komut örnek : porta=komut.highbyte, portb=komut.lowbyte şeklinde olabilir

wr=0
wr=1:cs=1
return


veri göndermek için tek fark ise rs=1 çekmektir.



veri_gonder:

cs=0     
rs=1         'veri yazma

'bu kısma data bacaklarına gidecek komut örnek : porta=veri.highbyte, portb=veri.lowbyte şeklinde olabilir

wr=0
wr=1:cs=1
return

Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: mustafa_cmbz - 22 Temmuz 2013, 16:52:15


Merhabalar..

veri_gonder:

cs=0     
rs=1         'veri yazma

'bu kısma data bacaklarına gidecek komut örnek : porta=veri.highbyte, portb=veri.lowbyte şeklinde olabilir

wr=0
wr=1:cs=1
return


Hocam şunu merak ediyorum..

Mesela ekran tft renkli olduğu için atıyorum ekrana kırmızı renkle "ISI:" yazıp normal lcd lerdeki gibi karşısına 18b20 den okuduğum değeri nasıl yazarım?

bu tarz bir uygulama için nasıl bir yöntem uygulamak gerekiyor bu tarz lcdler de ?


yani illa veri.low byte veri hıgh byte demek mi gerekiyor direkt veri desek ekranın ilgili kordinatlarına nasıl yazabiliriz?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 22 Temmuz 2013, 18:49:32
adreslemeyi de anlattıktan sonra harf basmaya da gelecem biraz sabır.
renkli yazmak için adres bilgisi tft'ye gönderilir. sonra hangi renk isteniyorsa veri_gonder'e bir kez gönderilirse o pikselin rengi değişir. adres otomatik olarak bir artar.

harf basmaya resimle anlatmaya çalışayım. adresleme bizim için önemli onuda bugün gönderecem.

(http://s12.postimg.cc/42l5m8su5/harf.png) (http://postimg.cc/)
windows automatic screenshot (http://postimg.cc/app.php)
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: frederic - 22 Temmuz 2013, 19:08:31
Soruları derslerden sonra sormak daha mantıklı bence, bu şekilde konsantre dağılmamış olur.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 22 Temmuz 2013, 20:53:59
sıra geldi tft resim yada resim basma glcd ile aynı mantığa sahip tek fark renk seçimi

eğer biz adres belirtmessek x ve y başlangıç adresini sıfır alır ve her piksel basma da adresi kendisi otomatik bir artırır. tft ekranda x1, x2, y1 ve y2 şeklinde iki tane adres yerleri belirtilir yani x1:başlagıç, x2:bitiş adresidir.y içinde aynısı geçerlidir. satırdaki tarama bitince bir alt sutuna geçer.
resimle umarım daha iyi anlaşılır.
(http://s24.postimg.cc/ufnl93yv9/adresleme.png)

  istenen adrese veri basmak için şu komut satırları kullanılır.


adresleme:
x2=x1+a:y2=y1+b                                   'burdaki a ve b yatay ve dikeyde ne kadar ilerleme olacağını söylüyor.
        komut=$0044:gosub komut_gonder       'x adresi
        veri=(x2<<8)+x1: gosub veri_yazma
       
        komut=$0045:gosub komut_gonder       'y adresi
       veri=y1: gosub veri_yazma
       
       komut=$0046:gosub komut_gonder       'y2 adresi
       veri=y2: gosub veri_yazma
'###############################################################################
       komut=$004e:gosub komut_gonder       'x1 baslama  adresi
       veri=x1: gosub veri_yazma
       
       komut=$004f:gosub komut_gonder       'y1 baslama adresi
       veri=y1: gosub veri_yazma
       
       komut=$0022:gosub komut_gonder       'yazma yapacağımızı bildiriyoz
return


bir üstteki "H" harfi için adres belirtmezsek yatay da tüm satırları basar(istenmeyen bir durum.yatayda 320 piksel var adresleme yapmazsak 16*16 yatayda basar).harfi basmak için adresleme şart;
x1=120 x2=x1+16 (16x16 olduğu için harf genişliği kadar)
y1=100 y2=y1+16 olsun.    (harf için adresleme yaptık)
burda x:120 başlar 136 (y 100 dür) kadar devam eder böylece ilk satır basılır(veri_gondere renk kodu gönderdiğimizi varsayıyorum). tekrar adreslemeye gerek kalmaz. çünkü "y" otomatik olarak bir artar ve 100 olan "y" 101 olur yani bir alt piksele geçer.

y =101 olunca x=120 dir ve harfin ikinci satırı basılmaya hazırdır. yukardaki "H" karakteri için işlem basamakları anlatılmış kodu ise şöyle yaptım ben


harf:
for i= 0 to 1
        lookup al,[  $00,$00,$00,$00,$1C,$70,$1C,$70,$1C,$70,$1C,$70,$1C,$70,$1F,$F0,$1F,$F0,$1C,$70,$1C,$70,$1C,$70,$1C,$70,$1C,$70,$00,$00,$00,$00],yuksek_deger 
       
       
            if i=1 then
            deger=deger+yuksek_deger
            else
            deger=yuksek_deger<<8
            endif

if al >= 32 then al =0
al=al+1

return

'lookup tablosunda 16 bit olmadığından bu şekilde yaptım . her iki byte birleştirilip harfin ilk satırı elde ediliyor


'*******************************************
for i=0 to 15
gosub harf      'harfin ilk satırını almaya git
for j=0 to 15    'satır basmak için
         
    if deger>>i//2=0  then ''bit değerinin 1 mi 0 mı olduğunu anlamak için
    veri=$ffff:gosub veri_yazma '0 ise beyaz
    else
    veri=$0000:gosub veri_yazma '1 ise siyah renk
    endif
next

next
       
 

temel mantık bu harf basma ile resim basma aynı mantık sadece renk olayı işin içine fazla giriyor.

harf basımı içini birde video ekleyim

[url=http://youtu.be/PaC9T1dayp0]http://youtu.be/PaC9T1dayp0 (http://youtu.be/PaC9T1dayp0)[/url]
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: safaka123 - 23 Temmuz 2013, 09:56:49
kendi dosyalama sistemimi oluşturmak aklımdan bile geçmez zira çok gizli bir şey yapmayacağım ama sd karttan okumak için neler yapmam lazım. FAT 32  çok yabancı değil ama sd card haberleşmesi nasıl olacak onu anlayamadım. Sanırım konunun bitmesine yakın okuma konusu da işlenir o zaman bir şeyler bulurum. Okuma yapıp dosya isimlerine ve başlangıç adreslerine ulaşabilsem bunları seçmek o zaman kolay fakat tabiki bilgiyi istenen başlangıç adresinden kayıt sonuna kadar okuyup bittiğini anlamak önemli. Konuyu takip etmeye devam ediyorum.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 23 Temmuz 2013, 16:58:44
resim basma ve harf basma dan sonra sıra geldi dokunmatik kısma. bu kısımda spi  haberleşme işin içine giriyor. bu kısımda kolay.dikkat edilmesi gereken yer dokunmatik ekrandan gelen veriler ham veriler bunu anlamlı hale dönüştürme önemli o kısmı daha önce bunla ilgili örnek vardı formda bende aynısını yaptım.  dokunmatikte XPT2046 (ads7843) entegresi kullanılmaş. pin dağılımını kırmızı renkle işaretledim.

(http://s24.postimg.cc/xkux0reet/ads7843.png) (http://postimg.cc/)
green shot screen capture (http://postimg.cc/app.php)

Tp_irq  ===> ekrana dokunulursa lojik "0" seviyesine çekilir.(haberleşmeye başlama anlamına geliyor.)
Tp_cs  ===>  chip secimi
tp_sck===> saat darbeleri
tp_is  ===> veri girişi
tp_os ===> veri çıkışı


if tp_irq=0 then         'istenirse bu kısım cıkarılabilir ve sürekli okuma yapılır.
for dongu=0 to 2
  if dongu=1 then   t_komut=$00D4      'x cevirisi için gerekli komut
  if dongu=2 then   t_komut=$0094      'y cevirisi için gerekli komut
                                                   
                pauseus 2
                d_in=1
                clk=0
                t_cs=0                                  'ads7843 aktif hale getirdik           
        shiftout  d_out,clk,5,[t_komut]     'clk düşen kenarda( x mi y mi cevrimi komutla haber veriyoruz.)
        pauseus 3                                    'cevrim için bir süre bekleniyor.
        shiftin d_in,clk,0,[al_dusuk\12]    '12 bit veriyi alıyoruz
        t_cs=1
        if t_komut=$00D4  then  gosub hesapla
        if  t_komut=$0094 then gosub hesapla       

        pauseus 1
next
endif 


okunan ham veriyi ben şu şekilde işledim.




hesapLA:                        'touch gelen x ve y leri anlamlı hale getirmek için
if t_komut=$00D4then
x1=al_dusuk-108                 'burdaki 108 touch okunan en küçük değer
x1=x1**1000                     'touch en büyük x ile en küçük x arasındaki farkın 240 bölümünden
x1=div32 7675                   '7,675 gibi bir değer cıkıyor. x1'i 1000 ile carpar 7,675 bölersek
PAUSE 1                         'x1 değerini 7,675 bölmüş oluyoruz.
endif

if t_komut=$0094 then
y1=al_dusuk-94
y1=y1**1000
y1=div32 5575
PAUSE 1
endif

return                          'algilaya geri dönüş var.


(http://s13.postimg.cc/663m8ybcn/tft.png) (http://postimg.cc/)
free pic (http://postimg.cc/)

Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 28 Temmuz 2013, 17:43:59
son olarakta sd kart okuma nasıl oluyor ondan bahsedelim. burda dikkat etmemiz gereken bir kaç nokta var. Bunlardan birincisi kartınızın SD olması, çünkü bazı kartlar SDHC olabiliyor(4 gb ve yukarısı) bunların komut dizilimi farklı. İkinci olarak zamanlama sd kartlar 100 - 400 kilohertz(yanlış hatırlamıyorsam) hızında haberleşiyorlar. Ben picbasic de SHIFTOUT ve SHIFTIN komutlarıyla kartı hazırladım ve okudum.( Pic16f628a ya 20 mhz kristal bağlı)
INCLUDE "modedefs.bas" 
DEFINE SHIFT_PAUSEUS 5


kart ile haberleşme hızını ayarlamak için  "DEFINE SHIFT_PAUSEUS 5" komutunu kullandım. 100 kilohertz 10 mikro saniyeye denk geliyor.

20 mhz de pauseus komutunun gecikme süresi

(http://s21.postimg.cc/rzrdmg36v/s_re.jpg) (http://postimg.cc/)

(sd kart uygulaması için http://yadi.sk/d/wUNZKSAO7IzXh (http://yadi.sk/d/wUNZKSAO7IzXh) bu word belgesinden yararlandım.kesinlikle okuyun. site ismi yada hazırlayan aklıma gelmediği için tekrar yükledim.)
cmd0 komutu

for i=0 to 9
shiftout sd_d_out,sd_clk,5,[$ff]
next
sd_cs=0
repeat
shiftout sd_d_out,sd_clk,5,[$40,$00,$00,$00,$00,$95,$FF]
shiftin sd_d_in,sd_clk,0,[okunan]
until okunan=1

10 kez sd_d_in pinine $ff verisi gönderiyoz. istenirse daha fazla gönderilebilir.

daha sonra cmd0 komutu gönderiliyor sd karttan cevap olarak bir gelmesi gerekiyor.  "1" dışında gelen komut hata anlamına gelir.
ikinci olarakda cmd1 komutu gönderilir bu sefer gelen cevap sıfır olmalıdır.

cmd1 komutu
repeat
shiftout sd_d_out,sd_clk,5,[$ff,$41,$00,$00,$00,$00,$ff,$ff]
shiftin sd_d_in,sd_clk,0,[okunan]
until okunan=0


cevap "0" ise kart hazırdır.

bu kısımdan sonra kart okunmaya hazırdır.(okuma fat12/16/32 dosya sistemi olmadan olacak. siz dosyanın adresini winhex ile öğrenip okuma yapmalısınız.)

karta komut yada veri gönderirken cs bacağını "0" çekmek gerekli komut yada veri gönderildikten sonra cs=1 olur.


cs=0
shiftout sd_d_out,sd_clk,5,[$ff,$50,$00,$00,$00,$02,$ff,$ff,$ff]    'cmd16 ile kaç byte veri okunacak o belirtilir. ben 2 byte okuma yaptım.
                                                                                                         'eğer cmd16 belirtilmezse 512 byte veri okur. size kalmış bu kısım
cs=1




veri okuma ise

sd_cs=0
         
            repeat
            shiftout sd_d_out,sd_clk,5,[$ff,$51,adres1[0],adres1[1],adres1[2],adres1[3],$ff,$ff,$ff]             'adresleme bilgisi gönderiliyor.
            shiftin sd_d_in,sd_clk,0,[okunan]
           
            until okunan=0
             
           
            repeat   
            shiftin sd_d_in,sd_clk,0,[okunan]
            until okunan =$fe                                    'okunan değer $fe ise kart ben veri gönderem  diyor
           
            for i=0 to 1
            shiftin sd_d_in,sd_clk,0,[okunan[i]]            'veri okuma kısmı ben 2 byte okuduğum içinn verileri okunan[0] ve okunan[1] yükledim.
                                                                               'istenirse döngü sayısı değiştirilebilir.
            next


kart okuma tamamdır. burdaki değişkenleri kendinize göre düzenleyebilirsiniz.
hepsi bu kadar umarım yararlı olur.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: RaMu - 28 Temmuz 2013, 21:25:06
homer380 öncelikle tebrik ve teşekkür ediyorum,
çok güzel bir çalışma olmuş,
ve aydınlatıcı bilgiler paylaşman çok güzel.

Bende uzun zamandır sd kart ile uğraşıyorum,
programı asm ile yazdığım için çok uzun zaman aldı,
bende faydalandığım kaynakları yazayım dedim,
projem halen elle tutulur vaziyette olmadığı için henüz paylaşmadım,

sd kartla ilgili ilk anlamlı bilgileri elm chan dan öğrendim,
ayrıca sdassociations ve sd kartın elde edebildiğim tüm datasheet lerini kullandım, çok detaylı bir konu,
chan ın hazırladığı kütüphaneyi kullanan firmalar var,
http://elm-chan.org/docs/mmc/mmc_e.html (http://elm-chan.org/docs/mmc/mmc_e.html)
elm chan sd card - mmc card- fat gibi aramalarla daha fazla bilgi edinilebilir sanırım,
sonra Barış Samancının çalışmalarına denk geldim,
sd kart ve fat32 dosya sistemi ile ilgili güzel bilgiler var,
ayrıca örnek çalışmalarıda mevcut,
http://www.barissamanci.net/Makale/11/sd-kart-programlama-klavuzu/ (http://www.barissamanci.net/Makale/11/sd-kart-programlama-klavuzu/)
http://www.barissamanci.net/Makale/2/her-yonuyle-fat32/ (http://www.barissamanci.net/Makale/2/her-yonuyle-fat32/)

Birde Chan ın sd karta giriş işlemi için hazırladığı flowchartı paylaşayım,

http://elm-chan.org/docs/mmc/sdinit.png (http://elm-chan.org/docs/mmc/sdinit.png)

(http://elm-chan.org/docs/mmc/sdinit.png)
Senin paylaştığın dökümanda hoşuma gitti,
sayende faydalanacak bir dökümanım daha oldu.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 28 Temmuz 2013, 22:14:12
bu sitede sd kart için oldukça faydalı
http://pwc.theclarkwebsite.com/sdcard.php (http://pwc.theclarkwebsite.com/sdcard.php)
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 05 Ağustos 2013, 12:47:03
yeni bir başlık açmayım dedim. ekrana görüntü basma işini daha kısa sürede(daha hızlı) nasıl yapabiliriz? şuan ellimde pic18f4550 var ama istediğim hıza yetişemedim(görüntü basmasını göz farketmeyecek.)
burdaki örnekteki gibi

PIC32 3D rotation with IMU input. Arduino compatible with QVGA LCD (http://www.youtube.com/watch?v=0h5HKJmak5E#ws)

donanımsal spi kullanmak ne kadar işe yarar? yardımlarınızı bekliyorum.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: camby - 05 Ağustos 2013, 13:08:54
Örnek gerçekten çok güzel.

Hocam TFT'de hız = MCU çalışma frekansı diyebiliriz kabaca. Gerisi detaylar.

Ekranın tüm piksellerini yenilemek için geçen süre önemli. Driver Datasheeti eğer detaylı ise hesaplanabilir.

MCU tarafında bu süreye ne kadar yaklaşabildiğimizi hesaplamak önemli.

C yada ASM harici bir dilde yazılıyorsa , yüksek seviyeli kodların arka planda oluşturduğu asm kodlar iyi incelenmeli. En küçük döngü içerisindeki fazladan 1-2 asm satırı bile toplam süreyi 1.5/2 katına çıkarabilir.


Donanımsal SPI aktarım hızını yavaşlatıyor , Örneğin R-G-B için tek cycle 'da toplamda 18bit aktarabilecek iken paralel olarak , SPI ile yaptığınızda aynı data 18 cycle'da gönderiyorsunuz. Pin sayısından avantaj fakat hızdan kayıp oluyor.

Videoyu yapan kişi de 16 bit arayüz kullanmış , saniyede 27 kare basıyor gibi duruyor. 37 ms içerisinde hesaplamaları + data göndermeyi halletmiş. Data göndermeyi de tahmini 7-8 ms 'de halletmiştir diye tahmin ediyorum.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Mucit23 - 05 Ağustos 2013, 13:15:07
İlk önce şunu söyliyeyim, Basicde Donanımsal spi ile Yazılımsal Spi arasında epeyce bir hız farkı var. Örnek verecek olursak 40Mhz de 16Byte datanın yazılımsal spi ile gönderilmesi 660uS sürerken donanımsal spi de 72uS sürüyor. Bu farka çok şaşırmıştım.

Sende ilk baştaki örneği donanımsal spi ile denersen faydasını görebilirsin.

Neyse asıl soruna dönersek,

Pic18 ile LCD spi kullanarak haberleştiriyorsan bu dediğin yani resim basılmasının farkedilmeyecek kadar hızlı olması çok zor hatta imkansız. Yüksek hız lazım. Bu yüzden paralel haberleşmen lazım. Videoda paralel habeştiği kablo yoğunluğuna bakılarak anlaşılabilir.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 05 Ağustos 2013, 13:47:06
hocam bende parelel haberleşiyorum lcd ile . ben ilk önce sd karttan veri okuyorum oda en fazla 512 byte bir seferde .sanırım sd kartta veri okumak vakit alıyor o yüzden donımsal spi düşünüyorum. sadece donımsal spi hızı yeterince artırmayak. pic18f4550 en fazla 48 mhz çalışıyor.  Benim aklıma gelen çözümler şunlar:

1 - sd kart haberleşmesi sd card bus protokolu (kart ile 4 bit parelel haberleşme)
2 - daha yüksek hızlarda çalışan mcu

bunların dışında neler olabilir.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: SERRO EFE - 05 Ağustos 2013, 14:04:50
Sadece işlemci hızı değil. FSMC yada benzeri lcd çalıştırabilecek arabirimleri olan işlemciler ile çalışman lazım.

https://www.youtube.com/watch?v=wyuJ-dqS2to (https://www.youtube.com/watch?v=wyuJ-dqS2to)
https://www.youtube.com/watch?v=7TZ0zIe6WRo (https://www.youtube.com/watch?v=7TZ0zIe6WRo)
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Murat Mert - 12 Ağustos 2013, 09:55:05
Alıntı yapılan: homer380 - 05 Ağustos 2013, 13:47:06
hocam bende parelel haberleşiyorum lcd ile . ben ilk önce sd karttan veri okuyorum oda en fazla 512 byte bir seferde .sanırım sd kartta veri okumak vakit alıyor o yüzden donımsal spi düşünüyorum. sadece donımsal spi hızı yeterince artırmayak. pic18f4550 en fazla 48 mhz çalışıyor.  Benim aklıma gelen çözümler şunlar:

1 - sd kart haberleşmesi sd card bus protokolu (kart ile 4 bit parelel haberleşme)
2 - daha yüksek hızlarda çalışan mcu

bunların dışında neler olabilir.

pic18FXXKXX serisi 64 mhz 16 mips picler kullanın. Yeterince hızlılar.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: RaMu - 12 Ağustos 2013, 13:08:02
Eğer sd karttan veri okuma süresi kritikse, aazaltılması gerekiyorsa,
sd kartın native mod u olan SDIO yani SDBUS kullanmak işleri hızlandırır,
bu sayede sd kartın 3 mü 4 mü bacağından veri okunabiliyor,
ayrıca daha hızlı sd kart kullanılabilir,
ama bunu nasıl kullanacağız, bu biraz problem.
Birde gerçekten sd karttan veri okumak ciddi zaman alıyor mu acaba?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 12 Ağustos 2013, 13:26:08
amaçım çok kısa sürede fotograf basma tft'deye. bir seferde pic18f4550 ile en fazla 960 byte veri okayabiliyorum.(ben suan bir seferde 512 byte veri okuyorum.) oda pic'in ram'inden kaynaklı. okunacak veri yaklaşık 307.200 byte (fotograf basmak için) .

fotograf basmayı hızlandırmak için suana kadar iki islem yaptım

1 - 24 bit bmp resim dosyasını okumak.(320x240x3=230400 byte veri) buda bana 1/4 kazanc sağlıyor. (buda sürenin yaklaşık (113*3)/4=84 sn anlamına gelir)
2 - kart haberleşme hızını 312,5 khz den 1,25 mhz cıkardım(donanımsal spi kullanılyor.)

bu iki durumda ne kadar hızlandığını daha test etmedim. sanırım bu iki düzenlemeyle 1 dk altına inebilecem.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: certy - 12 Ağustos 2013, 14:22:46
Alıntı yapılan: homer380 - 12 Ağustos 2013, 13:26:08


Acaba dokunarak yazı yazma işini nasıl yaptın?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 12 Ağustos 2013, 14:29:08
https://www.picproje.org/index.php/topic,47641.0.html (https://www.picproje.org/index.php/topic,47641.0.html) burdaki kodları bi incele anlamıdığın yer olursa acıklarım.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: skara1214 - 12 Ağustos 2013, 15:40:10
hocam 33f  serisi picleri kullanın 40 mips -denemek isterseniz size 1 adet yollayabilirim.(türkiyede bulmak zor )
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 12 Ağustos 2013, 15:53:10
daha önce hic 33f ile calışmadım ama neden olmasın herseyin bir ilki vardır. datasheeti oldukdan sonra. dip mi hocam?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: skara1214 - 12 Ağustos 2013, 16:23:15
evet yazılım konusundada yardım edebilirim xc16 ile saat ayarını yaptıktan sonra spi ile data yollama sizin için çocuk oyuncağı olacaktır. elimde pic24hj128gp502 ve dspic33fj128gp202 var hangisini isterseniz yollayabilirim.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: certy - 12 Ağustos 2013, 16:32:08
Alıntı yapılan: homer380 - 12 Ağustos 2013, 14:29:08
https://www.picproje.org/index.php/topic,47641.0.html (https://www.picproje.org/index.php/topic,47641.0.html) burdaki kodları bi incele anlamıdığın yer olursa acıklarım.

Anlamadım maalesef.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Murat Mert - 13 Ağustos 2013, 10:17:09
Alıntı yapılan: homer380 - 12 Ağustos 2013, 15:53:10
daha önce hic 33f ile calışmadım ama neden olmasın herseyin bir ilki vardır. datasheeti oldukdan sonra. dip mi hocam?

CCS C ile 24f ve 33 serisi piclerin konfigrasyonunu ayarlamak ve kullanmak çok hoş. Bende Proton Basic kullandıktan sonra CCS C ye geçiş yaptım Serdar ÇİÇEĞİN kitabı beni çok hızlı adapte etti. İncelemenizi tavsiye ederim. Kolay gelsin.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: safaka123 - 13 Ağustos 2013, 12:12:38
Çok iyi bilmemekle birlikte bilgisayarlarda kullanılan bir yöntemi hatırlatmak istedim. belki 2 pic ile bu yapılabilir. bir pic bilgiyi okuyup ram belleğe yazar ve okuma sırası gelen pic yazma işlemini durdurup paralel okuma yapabilir. Hem tft ye yazmak ve sonra gidip sdkarttan okumak zaman kaybettirirken bu okuma işlemini bir başka pic üstlenebilirmi. Bilgisayarlardaki tampon bellek gibi. sadece bir fikir. iyi çalışmalar.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: skara1214 - 13 Ağustos 2013, 12:16:07
Alıntı yapılan: mert07 - 13 Ağustos 2013, 10:17:09
CCS C ile 24f ve 33 serisi piclerin konfigrasyonunu ayarlamak ve kullanmak çok hoş. Bende Proton Basic kullandıktan sonra CCS C ye geçiş yaptım Serdar ÇİÇEĞİN kitabı beni çok hızlı adapte etti. İncelemenizi tavsiye ederim. Kolay gelsin.
ccs c yi benim kadar kullansaydın emin ol hiç uğraşmak istemezdin ccs c ile . xc16 yı su anda kullanıyorum mis gibi 
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Murat Mert - 14 Ağustos 2013, 16:42:12
Alıntı yapılan: skara1214 - 13 Ağustos 2013, 12:16:07
ccs c yi benim kadar kullansaydın emin ol hiç uğraşmak istemezdin ccs c ile . xc16 yı su anda kullanıyorum mis gibi

xc16 16f serisi için değilmi
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: Mucit23 - 14 Ağustos 2013, 17:33:31
Hayır 16bit için
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: subram - 14 Ağustos 2013, 18:24:10
Alıntı yapılan: mert07 - 14 Ağustos 2013, 16:42:12
xc16 16f serisi için değilmi

XC ile ilgili sorulara cevap bulabilirsin

XC8 Kurulumu (http://ramazansubasi.net/xc8-kurulumu/)
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: RaMu - 14 Ağustos 2013, 22:38:12
Geçen mplab x, xc8 konusundada sormuştum cevap gelmedi,
bu xc serisi için crack nasıl yapılıyor,
crack yapan var mı?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: subram - 14 Ağustos 2013, 22:43:29
sorduğun konuda @files ın paylaştğı dosyalar var baktın mı onlara.

https://www.picproje.org/index.php/topic,47933.msg358683.html#msg358683 (https://www.picproje.org/index.php/topic,47933.msg358683.html#msg358683)
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: RaMu - 14 Ağustos 2013, 22:48:29
Subram hocam ne iyi oldu söylediğin,
bazen acayip aptallıklar yapabiliyorum :)
ben o cevabı gördüğümde altındaki mesajdan başka birşey gelmedi aklıma herhalde,
linkleri gözden kaçırmışım,
aklım sonsivrideki yazılara gitti,
kod yazıp derliyorsun falan gibi birşeyler,
bu sıralar birçok derleyici yükledim,
kafam karıştı,
kusura bakmayın şimdi indiriyorum oradakileri,
uyardığın için teşekkür ederim, uyanmamı sağladı.



Arada birşey daha sorayım,
linkte verilen xclm.exe yi orijinal kurulumdaki ile değiştirdim,
crack readme de böyle yazıyor, tamam.
Peki crack yapabildimmi anlamanın en kolay yolu nedir?
Mplabx ide de helpden about kısmına bakıyorum bir ibare yok,
birde acaba deneme sürümünü free modda değil full modda kurup mu crack yapmak lazım acaba?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 17 Ağustos 2013, 16:16:46
denemelere pic18f4550 ile devam ediyorum ve süreyi suan 14 saniyeye indirdim. sadece pic'in hızını artırdım. 32 mhz çalıştıryorum ama hala istediğim düzeye ulaşmadı hızı 48 mhz cekince tft calısmıyor nedenini anlamış değilim. donanımsal spi kullanmıyorum. kullansam hız dahada artacak diye bekliyorum neyse buda yeni videosu.

http://youtu.be/bz2j7BYeVh8 (http://youtu.be/bz2j7BYeVh8)

denemelerimi aslında SKARA1214'nın  gönderdiği pic24hj128gp502 ile yapmak isterdim ama pickit2 görmüyor.
şimdilik pic18f4550 ile yolla devam.

Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: frederic - 17 Ağustos 2013, 17:11:01
18f46k22 ile devam etsen daha iyi olur hocam, 64 mhz 16mips.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 17 Ağustos 2013, 18:05:05
Alıntı yapılan: frederic - 17 Ağustos 2013, 17:11:01
18f46k22 ile devam etsen daha iyi olur hocam, 64 mhz 16mips.
hocam 48 mhz cıkarınca tft calışmadı yani ilk kurulumu yapamadım.   18f4550 48 mhz calısıyor ama; tft cevap vermedi bu hızda. zaten 18fxxkxx deneyecem sırf ram'i için.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: [TR]ahmet - 17 Ağustos 2013, 19:51:37
Alıntı yapılan: ambar7 - 22 Temmuz 2013, 11:38:31
Senin böyle aman aman lir LCD'ye ihtiyacın yok görünüyor. Senin işini karakter LCD'ler de görebilir. Onların ekranına bilgi göndermek bu LCD'den daha kolaydır. Seçme işimi göstermek sadece bir ok bile yeterli. Seni uğraştıracak olan SD kard okumasıdır. Daha doğrusu dosya adı ve yerini okumaktır. Bunun için FAT32 gibi konulara bakman lazım. Tabi kendi dosyalama sistemini oluşturmayacaksan!
Bu konularda yeniyim binde 999.999 bilmiyorum fakat şu konu ilgimi çekti kendi dosya sistemini nasıl oluşturabiliriz  kaynak biliyorsan ve  verirsen sevinirim kaynak yoksa da canın sağolsun
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: frederic - 17 Ağustos 2013, 20:14:18
Alıntı yapılan: homer380 - 17 Ağustos 2013, 18:05:05
hocam 48 mhz cıkarınca tft calışmadı yani ilk kurulumu yapamadım.   18f4550 48 mhz calısıyor ama; tft cevap vermedi bu hızda. zaten 18fxxkxx deneyecem sırf ram'i için.

spi clock frekansınız tutmuyor olabilir, clock frekansını biraz düşürüp deneyebilirsiniz bence.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 17 Ağustos 2013, 21:20:00
[quote author=
ahmet link=topic=47860.msg360523#msg360523 date=1376758297]
Bu konularda yeniyim binde 999.999 bilmiyorum fakat şu konu ilgimi çekti kendi dosya sistemini nasıl oluşturabiliriz  kaynak biliyorsan ve  verirsen sevinirim kaynak yoksa da canın sağolsun
[/quote]
fat32 için http://www.barissamanci.net/AltKategori/10/her-yonuyle-fat32/ (http://www.barissamanci.net/AltKategori/10/her-yonuyle-fat32/) oldukça yararlı.

Alıntı yapılan: frederic - 17 Ağustos 2013, 20:14:18
spi clock frekansınız tutmuyor olabilir, clock frekansını biraz düşürüp deneyebilirsiniz bence.
sıkıntı spi değil tft'de. tft ile'de paralel haberleşiyorum(spi ile değil). kartta sıkıntı yok 48 mhz cıkınca okuma yapabiliyorum. kartı okumak için yazılımsal spi kullanıyorum.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: [TR]ahmet - 18 Ağustos 2013, 13:48:48
Alıntı yapılan: homer380 - 17 Ağustos 2013, 21:20:00
fat32 için http://www.barissamanci.net/AltKategori/10/her-yonuyle-fat32/ (http://www.barissamanci.net/AltKategori/10/her-yonuyle-fat32/) oldukça yararlı.
Teşekkürler
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 23 Ağustos 2013, 11:48:18
denemelerime 18f46k22 ile devam edecem
config ayarlarında hata varmı datasheet karıştırmak istemediğimden buraya yazdım.

@CONFIG_REQ
@ __config CONFIG1H, FOSC_INTIO67_1 & PLLCFG_ON_1 & PRICLKEN_ON_1 & FCMEN_ON_1 & IESO_ON_1
@ __config CONFIG2L, PWRTEN_ON_2 & BOREN_OFF_2 & BORV_220_2
@ __config CONFIG2H, WDTEN_ON_2 & WDTPS_32768_2 
@ __config CONFIG3H, CCP2MX_PORTC1_3 & PBADEN_OFF_3 & CCP3MX_PORTE0_3 & HFOFST_OFF_3 & MCLRE_INTMCLR_3
@ __config CONFIG4L, STVREN_ON_4 & LVP_OFF_4 & XINST_OFF_4 & DEBUG_OFF_4
@ __config CONFIG5L, CP0_OFF_5 & CP1_OFF_5 & CP2_OFF_5 & CP3_OFF_5 & CP1_OFF_5 & CP2_OFF_5 & CP3_OFF_5
@ __config CONFIG5H, CPB_OFF_5 & CPD_OFF_5
@ __config CONFIG6L, WRT0_OFF_6
@ __config CONFIG6H, WRTC_OFF_6 & WRTB_OFF_6 & WRTD_OFF_6
@ __config CONFIG7L, EBTR0_OFF_7 & EBTR1_OFF_7 & EBTR2_OFF_7 & EBTR3_OFF_7
@ __config CONFIG7H, EBTRB_OFF_7

OSCCON = %01110000
OSCTUNE.6 = 1           ;PLL aktif
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 14 Eylül 2013, 15:02:15
okullar acıldığından (seminer dönemi) ara vermek zorunda kaldım. denemlere 18f46k20 ile devam ediyorum. her pic değiştirmemde çeşitli sorunlarla karşılaşıyorum. bu seferde sd kartı hazırlayamadım. kodlar aynı ama hatam nerde ? bulamadım. şuan pic18f46k20 64 mhz calışıyor. sd kart olmadan tft ekranı çalıştırıyorum.  (ek bilgi: pic18f4550 ile 9 saniyede resmi basabiliyorum )
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: tekosis - 05 Kasım 2013, 01:25:50
elinize sağlık hocam kolay gelsin. çalışmalarınız ne durumda acaba devam ediyormusunuz?
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: homer380 - 05 Kasım 2013, 13:49:37
Şu sıralar okuldan dolayı bakamıyorum. Pic18f4620 ile süreyi 1/8 oranında indirmeyi planlıyorum ve bmp formatındaki resimleri okuma yapıncada süre burdanda 1/4 oranında azalmasını bekliyorum yani süreyi 3-4 saniyeye çekmiş olacam  ama okul olunca deneme yapamıyom sadece teoride kalıyor.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: tekosis - 05 Kasım 2013, 14:09:18
hayılısı olsun hocam inşallah fırsat bulursunuz.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: t600 - 25 Ocak 2014, 21:10:57
Bilginizin sadakasını vermiş olduğunuz için Allah sizden razı olsun , zira pek çoğumuzu güzel bilgiler ile  aydınlattınız , umarım biz de buna inanıp paylaşanlardan oluruz ,

mesaj birleştirme:: 26 Ocak 2014, 11:35:17

Sevgi arkadaşlar ?
Bir konuda hepimizin adım atma zamanı geldi . Milli işletim sisteme ve milli işlemci imalatı .
Bu forumdaki arkadaşlar bunu yapabilecek bilgi ve beceriye  gayet tabi sahipler .
Ayrıca bu forumdekiler ,  yani tüm Türkiyenin en iyi tasarımcıları bu projenin Türkiyedeki sahip leri
bunu yüceltebilecek güçtedir.
Forumun milli işlemci imaları ve milli yazılım konusuna destek vermesini ve yönlendirmesini bekleriz.

Bu ne işe mi yarayacak ?
Bir gün bunları imal edebilmemiz için tohum atmış olacağız .
CPU
MCU
LCD
HAFIZA ENTEGRESİ
İŞLETİM SİSTEMİ

SAYGILARIMLA


mesaj birleştirme:: 25 Ocak 2014, 21:38:01

Bu malzemeleri çinden , ordan burdan alıp elimiz kulumuz bağlı oturmamalıyız , biz bunları burada üretmeliyiz , ve bu işi bizden iyi yapacak kimse yoooooook. Allahın izni ile olur
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: danil - 04 Eylül 2014, 18:43:46
Merhaba arkadaşlar
Homer bey ekrana  harf yazmaya çalışıyorum harf basma kısmını anlayamadım
videoda homer yazan proğramı bütün olarak vermeniz mümkünmü
ILI9327  ye uyarlamaya çalışacağım
teşekkürler.
Başlık: Ynt: Sd kart pic16f628a ile ssd1289 da fotograf basma
Gönderen: kartal0689 - 04 Mayıs 2015, 17:37:09
Öncelikle gerçekten mükemmel bir çalışma olmuş.
Bende şu anda SSD1963 chipsetli 7'' TFT ekranla uğraşıyorum.
Kullandığım işlemci dsPIC30F6014A. Çalışma hızım 80MHz.
TFT' yi 8 bit kontrol ediyorum.

Şimdi, birden çok resim basmam gerekiyor. Fakat işlemcinin ROM alanına yükleyemiyorum malum kapasiteden dolayı.
Dolayısıyla sd karttan okumam gerek. Ancak sd kart içerisine resim dosyasını nasıl oluşturuyoruz? Bu kısmı anlamış değilim.
Rica etsem biraz açıklayabilir misiniz?

Teşekkür eder, iyi çalışmalar dilerim.