kayan yazı

Başlatan macaronlu, 22 Nisan 2011, 18:21:45

macaronlu

merhaba 3L3CTRO
16f628 ile 7x32 bilgisayar haberleşmesi olan bir puroje ile ugraşıyorum c yazılan hex kodu da var ben jel ile yapmak istiyorum .bu purojenin bas dosyası ve baskı devreside mevcut .
saygılarımla.


macaronlu

#16
  merhaba 3L3CTRO
senin jelde iyi oldugun icin yardım istedim ,
su an kafam karma karışık.

ByTEK

Devre şeması ve isis dosyası var ise gönderirseniz müsait olduğum zamanda uğraşıp örnek kod gönderebilirim.. Jalv2 yazılabilir sadece kaynak olmadığı için kasar o kadar...

macaronlu

#18
  en kısa zamanda gönderirim       

macaronlu

#19
--
-- ------------------------------------------------------
--
include 16f628                    -- target PICmicro
--
-- This program assumes a 20 MHz resonator or crystal
-- is connected to pins OSC1 and OSC2.
pragma target clock 20_000_000     -- oscillator frequency
-- configuration memory settings (fuses)
pragma target OSC  HS              -- HS crystal or resonator
pragma target WDT  disabled        -- no watchdog
pragma target LVP  disabled        -- no Low Voltage Programming
pragma target MCLR external        -- reset externally
--
enable_digital_io()                -- disable analog I/O (if any)
pragma target fuses  0x3F10 -- dahili osilator ve reset
-
-- Disable MCLR on pinA5
pragma target fuses 0x_3f42

var byte Mode = 0
const byte modeTime = 0
const byte modeFade = 1
var bit TimeChanged = false

-- pin assignments towards 74HC595 Shift Register
var bit pinLatch is pin_a0		-- ST_CP, latch
var bit pinClock is pin_a1		-- SH_CP, clock
var bit pinData  is pin_a2		-- DS, serial data in

PORTB_direction = all_output	-- these go to the LED's
	pin_a0_direction = output	-- these go to Shift, latch
	pin_a1_direction = output	-- these go to Shift, clock
	pin_a2_direction = output	-- these go to Shift, data
	pin_a3_direction = output	-- these go to the LED's, bottom row blue
	-- procedure to set lights to display the time

const  zamani = 400_000_000 / target_clock         -- delay kütüphanesini
const bir_ms_bekle = 1000 - ((14 * zamani) / 100) -- dahil etmeye gerek kalmasın
                                                  -- diye delay kütüphanesinden
procedure bekle_1ms(word in n) is                 -- alınmıştır
   for n loop                                     -- gerekli bekleme
      if (bir_ms_bekle <= 1000) then              -- sürelerini bu procedure
         _usec_delay(bir_ms_bekle)                -- sayesinde yapılacaktır.
      else
         _usec_delay(1)
      end if
   end loop
end procedure

PROCEDURE disari_itis_Beklemesi IS
bekle_1ms(500)

VAR VOLATILE BIT disari_clock     IS Pin_a0            -- clock pini
VAR VOLATILE BIT disari_clock_yon IS Pin_a0_direction  -- clock pininin yönü
VAR VOLATILE BIT disari_veri      IS Pin_a2            -- Data pini
VAR VOLATILE BIT disari_veri_yon  IS Pin_a2_direction  -- data pini yönü
VAR VOLATILE BIT aktar_pin        IS Pin_a1

PROCEDURE Disari_it( BIT IN Disari_Clock_Cinsi, BIT IN disari_Cikis_Modu, BYTE IN veri ) IS
   disari_veri = low
   disari_veri_yon = output
    if Disari_Clock_Cinsi then
      disari_clock = low
      disari_clock_yon = input
      if disari_Cikis_Modu then
         -- İlk LSB
         var bit veri_biti at veri : 12
         for 8 loop
            while ! disari_clock LOOP
            END LOOP
            disari_veri = veri_biti
            veri = veri >> 1
            while disari_clock LOOP
            end loop
         end loop
         else
         -- İlk MSB
         var bit veri_biti at veri : 24
         for 8 loop
            while ! disari_clock LOOP
            end loop
            disari_veri = veri_biti
            veri = veri << 1
            while disari_clock LOOP
            end loop
         end loop
      end if
   else
      disari_clock = low
      disari_clock_yon = output
      if disari_Cikis_Modu then
         --İlk LSB
         var bit veri_biti at veri :14
         for 8 loop
            disari_veri = veri_biti
            veri = veri >> 1
            disari_clock = high
            disari_itis_Beklemesi
            disari_clock = low
            disari_itis_Beklemesi
         end loop
         disari_veri = low
      else
      --İlk MSB
         var bit veri_biti at veri : 14
         for 8 loop
            disari_veri = veri_biti
            veri = veri << 1
            disari_clock = high
            disari_itis_Beklemesi
            disari_clock = low
            disari_itis_Beklemesi
         end loop
         disari_veri = low
      end if
   end if
END PROCEDURE

procedure yukle is
aktar_pin = high
bekle_1ms(20)
aktar_pin = low
end procedure

procedure ver_1byte( BIT IN clock_cins, BIT IN Cikis_Mod,  BIT IN aktar_pini,
 byte in ver1 ) is
 Disari_it(clock_cins, Cikis_Mod, ver1)

 if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_2byte( BIT IN clock_cins, BIT IN aktar_pini,
                     BIT IN Cikis_Mod, byte in ver1, byte in ver2 ) is
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
 
 procedure ver_3byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2, byte in ver3 ) is
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_4byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2, byte in ver3, byte in ver4 ) is
 Disari_it(clock_cins, Cikis_Mod, ver4)
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_5byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2,
                      byte in ver3, byte in ver4, byte in ver5 ) is
 Disari_it(clock_cins, Cikis_Mod, ver5)
 Disari_it(clock_cins, Cikis_Mod, ver4)
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_6byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2, byte in ver3,
                      byte in ver4, byte in ver5, byte in ver6 ) is
 Disari_it(clock_cins, Cikis_Mod, ver6)
 Disari_it(clock_cins, Cikis_Mod, ver5)
 Disari_it(clock_cins, Cikis_Mod, ver4)
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_7byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2, byte in ver3,
                      byte in ver4, byte in ver5, byte in ver6,
                      byte in ver7 ) is
 Disari_it(clock_cins, Cikis_Mod, ver7)
 Disari_it(clock_cins, Cikis_Mod, ver6)
 Disari_it(clock_cins, Cikis_Mod, ver5)
 Disari_it(clock_cins, Cikis_Mod, ver4)
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if
end procedure

procedure ver_8byte(  BIT IN clock_cins,BIT IN Cikis_Mod,BIT IN aktar_pini,
                      byte in ver1, byte in ver2, byte in ver3,
                      byte in ver4, byte in ver5, byte in ver6,
                      byte in ver7, byte in ver8 ) is
 Disari_it(clock_cins, Cikis_Mod, ver8)
 Disari_it(clock_cins, Cikis_Mod, ver7)
 Disari_it(clock_cins, Cikis_Mod, ver6)
 Disari_it(clock_cins, Cikis_Mod, ver5)
 Disari_it(clock_cins, Cikis_Mod, ver4)
 Disari_it(clock_cins, Cikis_Mod, ver3)
 Disari_it(clock_cins, Cikis_Mod, ver2)
 Disari_it(clock_cins, Cikis_Mod, ver1)
  if aktar_pini == on then
 yukle
 end if

end procedure
end procedure
end procedure

macaronlu

 selam 3L3CTRO
uzn zamandan beridir hiç bir cevap cıkmadı,

ByTEK

Sen elindeki devre şemasını paylaştın mı ?

macaronlu

en sonunda başardım  :D :D

M_B

Alıntı yapılan: macaronlu - 05 Haziran 2011, 00:33:58
en sonunda başardım  :D :D
adınıza sevindim.
peki siz kodu paylasacakmısınız ?.  ;)  (sema+kod )
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

muratyamak10

arkadaşlar serkan ayyıldızın kitabındaki dotmatrix devresini proteus ile simüle ettim.sorun şu ki karakterler tam olarak dotmatrixte çıkmıyor
kaynak kodlarını veriyorum
include 16f877_4
include jlib
include disp_5x7
forever loop
clear_5x7
print_5x7 = "J"
print_5x7 = "A"
print_5x7 = "L"
print_5x7 = "*"
end loop
[IMG]http://img171.imageshack.us/img171/9524/matrix5x7.png[/img]

Uploaded with ImageShack.us
arkadaşlar buda proteusta çalışırken ki görüntüsü
bu sorun neden olabilir
fikri olan varmı
jalın disp_5x7 kütüphanesi hakkında fikri olan varmı
devrenin şemasında hata varmı sizce

malpaslan1979

Bir haftada aynı başlığı belki on defa açtın cevap alamadın! Bunu ilahi bir işaret olarak görmelisin bence! Çünkü öğrenmeye çalıştığın dil öğrenmeye değecek bir dil değil. Assembler öğrenebilirsin, C öğrenebilirsin, Basic öğrenebilirsin fakat bu Jal bir iki kişinin üzerine uğraştığı toplasan 80 farklı mikrokontrolörü programlayamayacağın bir dil! Geliştiricisi Hollandalı bir adamdı diye hatırlıyorum. Yanlış şeye zaman harcıyorsun. Hayır yazmasın sorun değil, bir sonraki deneye yada uygulamaya geç! Yani bu çalışmayınca öğrenme sürecin baltalanacak mı kıymetli dostum? Birde şunu unutma proteusta gerçek hayatta çalışan bazı devreler çalışmaz. Yada proteusta çalışan bazı devreler gerçek hayatta çalışmaz. Kitabı yazılmış diye de boşuna zaman harcama. Altaş yayınevine doğrudan ulaş ben mutlaka Jal öğrenmek istiyorum Serkan AYYILDIZ'ın kitabından bir uygulama yapıyorum çalışmıyor ne yapabilirim diye sorabilirsiniz. Hatta bence Serkan AYYILDIZ beyin telefonunu yada email adresini alıp kendisine de sorabilirsiniz. Bir haftadır kayan yazı kayan yazı!!!

muratyamak10

#26
ilk öncelikle cevap için teşekkür ediyorum.pic assembly dilini ve ccs c dilini ve ve mikro c yi ve pic basic pro ile parogramlama yaptım.bende biliyorum proteus ile gerçek çalışma arasındaki farkı.elimdeki jal kitabını okuyorum serkan ayyıldızın bir tek bu devrede sorun çıktı diğer uygulamalar çalışıyor.altaş yayınevine e-posta atarım dediğin gibi.

mesaj birleştirme:: 21 Kasım 2012, 15:51:26

hatta telefondan bile arayabilirim çok teşşekkür ederim yol gösterdiğin için.allah sizlerden razı olsun.rabbim hepimizi en yüksek makamlara çıkarsın inşalllah

demket

JALV2 yi deneyebilirsiniz.

macaronlu

jal ile kayan yazı devresi tamam
baya uraştıktan sonra başarı gercekleştişimdi baskı devresi ile uraşıyorum
baskı devresine yardım eden arkadaşa kodları paylaşabilirim

macaronlu

#29
include 16f877_4
include jlib
include disp_5x7

var byte d , d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,
         d11,d12,d13,d14,d15,d16,d17,d18,d19,d20,d21,d22,d23,d24,d25,d26,d27,d28,d29



procedure kaydir is
d   = d0  d0  = d1  d1  = d2  d2  = d3  d3  = d4  d4  = d5  d5  = d6
d6  = d7  d7  = d8  d8  = d9  d9  = d10 d10 = d11 d11 = d12 d12 = d13
d13 = d14 d14 = d15 d15 = d16 d16 = d17 d17 = d18 d18 = d19 d19 = d20
d20 = d21 d21 = d22 d22 = d23 d23 = d24 d24 = d25  d25 = d26 d26 = d27
d27 = d28  d28 = d29 d29 = d
end procedure


get_5x7 ( "B" , d0,d1,d2,d3,d4)
get_5x7 ( "U" , d5,d6,d7,d8,d9)
get_5x7 ( "L" , d10,d11,d12,d13,d14)
get_5x7 ( "E" , d15,d16,d17,d18,d19)
get_5x7 ( "T" , d20,d21,d22,d23,d24)
get_5x7 ( " " , d25,d26,d27,d28,d29)

forever loop
  for 10 loop

  clear_5x7
  put_5x7 ( d0,d1,d2,d3,d4)
  put_5x7 ( d5,d6,d7,d8,d9)
  put_5x7 ( d10,d11,d12,d13,d14)
  put_5x7 ( d15,d16,d17,d18,d19)
  put_5x7 ( d20,d21,d22,d23,d24)
  put_5x7 ( d25,d26,d27,d28,d29)
  end loop
  kaydir
end loop


alın size calışan jal kayan yazı
devreyi kurdum tıkır tıkır çalışıyor
her şekilde yardımcı olabilirim.