include 16F628 -- kullanılacak chip
-- cihaz sigorta ayarları
pragma target OSC HS -- kristal türü
pragma target clock 4_000_000 -- kristal hızı
pragma target WDT disabled -- wdt kapalı
pragma target LVP disabled -- lvp kapalı
enable_digital_io() -- dijital giriş çıkışlar etkin
--include shift_in_out -- 74hc595 kullanmak için gerekli kütüphane
include delay -- bekleme kütüphanesi
--include dotmatrix_5x7 -- 5x7 karakter kütüphanesi
-- pin tanımlamaları
var volatile bit satir7 is pin_b0
var volatile bit satir6 is pin_b2
var volatile bit satir5 is pin_b3
var volatile bit satir4 is pin_b4
var volatile bit satir3 is pin_b5
var volatile bit satir2 is pin_b6
var volatile bit satir1 is pin_b7
-- 74HC595 için pin tanımlamaları
var volatile bit aktar is pin_a0
var volatile bit clock is pin_a1
var volatile bit data is pin_a2
-- pin giriş-çıkış ayarları
portb_direction = all_output
porta_direction = all_outpu
bu kütüphane dosyası ile yazılabilirmi elinde jal dosyası olan varsa lütfen yardım .yardım için şimdiden teşekür ederim
Merhaba;
Serkan Ayyıldızın Jal ile programlama kıtabındaki uygulamalarında var.
Serkan Ayyıldızın Jalwin bulursan onun ıcınde ıstedıgınız klasor var.
Yalnız onu jalv2 ye sızın uyarlamanız lazım.
http://groups.yahoo.com/group/jallist/files/Serkan%20AYYILDIZ/JalWin.rar
Edit: link eklendi.
böyle bir puroje yapan yokmu acil yardım .
jal ustaları nerede .bir türlü işin içinden çıkamadım
yardım için teşekür .
-- ------------------------------------------------------
--
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
--
-- 74hc595 input expander
-- how to use:
-- The DATA pin should be set as input, all other as outputs
var volatile bit DATA is pin_a3 -- Any other I/O pin could
--_be used
var volatile bit CLOCK is pin_a2
var volatile bit LATCH is pin_a1
var volatile bit LOAD is pin_a0
pin_a0_direction = output
pin_a1_direction = output
pin_a2_direction = output
pin_a3_direction = input
var byte vport_b = 0
procedure hc595_receive is
var byte Var1, Var2 -- port status and counter
Var2 = 8 -- initializing counter
Latch = high -- receive pin states into input latch
asm nop
Latch = low
Load = low -- transfer the contents of input latch to SHIFT
-- reg
asm nop
Load = high
asm local Loop1 -- lokal label
asm Loop1:
assembler
rlf Var1,f ;rotate "Var1" one place to the left
btfss Data ;is data line = "1" ?
bcf Var1,0 ;if not, clear bit 0 in Var1
btfsc Data ;is data line = "0" ?
bsf Var1,0 ;if not, set bit 0
bsf Clock ;generate one clock
nop
bcf Clock
decfsz Var2,f ;has 8 bits been received?
end assembler
asm goto Loop1 ;if not, repeat
vport_b = Var1
end procedure
biri yardım etsin lütfen
yardım edicek kimse yok galiba
Kardeşim daha önce denemedim ama sana fikir vermesi açısından şöyle bir yönten deneybilirsin
Satırlarını bir prosedür içine al mesela :
önce satırları değişkenlere ata diyelim 3 satır kaydırma işlemi olsun
karakterlerinine atayalım önce :
var byte s1 = "k" ,s2 = "a" , s3 = "y" -- gibi
procedure kay is s1 = s2, s2 = s3 end procedure
burada kaydırma işlemini yapıyoruz
kaç kez kayacak ise yanı hareketi tamamlama işlemi içinde
forever loop
for 5 loop -- 5 kere tekrar edecek
clear (display adı, tanımlaması) -- temizleme
print = s1 --(display kütüpanesindeki yazdırma komutu gelir buraya)
print = s2
print = s3
end loop
kay -- tekrar başa dönüyor işlem
end loop
jal'in ilk versiyounda ki örneklere bakarsan uyarlaya bilirsin aslında v2 ile pek bir fak yok ama kılçık jal işte kolay ama uğraştırıyor.Yazdığım sallama örnek ilk versiondan aklımda kalanlar.Biraz uraşırsan rahatlıkla uyarlarsın.
sag ol ama ne yaptıysam yazdıramadım teşekür ederim
arkadaşlar bunu yeni yazdım jal hata vermiyor fakat hex te üretmiyor fikri olan vara incaeleyip yardımcı olursa minetar kalırım .
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)
--
-- You may want to change the selected pin:
var volatile bit satir8 is pin_b0
var volatile bit satir7 is pin_b1
var volatile bit satir6 is pin_b2
var volatile bit satir5 is pin_b3
var volatile bit satir4 is pin_b4
var volatile bit satir3 is pin_b5
var volatile bit satir2 is pin_b6
var volatile bit satir1 is pin_b7
var byte bekle = 1 -- tarama hızımız
var byte kelime_uzunluk,tara_sayi,k
const tarama[8] =
{0b_11111110,
0b_11111101,
0b_11111011,
0b_11110111,
0b_11101111,
0b_11011111,
0b_10111111,
0b_01111111}
const byte kelime[] = "B" "Ü" "L" "E" "N" "T" "Y" "A" "Z" "A" "R"
procedure temizle is
-forever loop
for 5 lop
end procedure
"cıkış_1 byte (low,high,on,0A4000000 )"
-end loop
aktar = high aktar = low
end procedure
temizle
var byte satirlar[count(kelime)]
var byte fazlalik,uzunluk
fazlalik = (20 - count(kelime))
forever loop
for 8 using tara_sayi loop
for fazlalik loop
Disari_it(low,high,0b00000000)
end loop
FOR COUNT(kelime) USING kelime_uzunluk LOOP -- taranacak kelime uzunluğu kadar döngü
--Disari_it(low,high,karakter_al(kelime,COUNT(kelime)-kelime_uzunluk-1,tara_sayi))
END LOOP
portb = tarama[tara_sayi]
aktar =low aktar = high
delay_1ms(2)
end loop
end loop
---------------------------------------------------------------------------------
dotmarix_8x8.jal
---------------------------------------------------------------------------------
const byte karakterler[462] =
--1st 2st 3st 4st 5st 6st 7st (satirlar) satir başlangıç no
{0x0E,0x11,0x11,0x11,0x1F,0x11,0x11, -- A 0
0x1E,0x11,0x11,0x1E,0x11,0x11,0x1E, -- B 7
0x0F,0x10,0x10,0x10,0x10,0x10,0x0F, -- C 14
0x1F,0x10,0x10,0x10,0x10,0x1F,0x04, -- Ç 21
0x1E,0x11,0x11,0x11,0x11,0x11,0x1E, -- D 28
0x1F,0x10,0x10,0x1E,0x10,0x10,0x1F, -- E 35
0x1F,0x10,0x10,0x1E,0x10,0x10,0x10, -- F 42
0x1F,0x10,0x10,0x17,0x11,0x11,0x1F, -- G 49
0x0E,0x1F,0x10,0x10,0x17,0x11,0x1F, -- Ğ 56
0x11,0x11,0x11,0x1F,0x11,0x11,0x11, -- H 63
0x0E,0x04,0x04,0x04,0x04,0x04,0x0E, -- I 70
0x04,0x00,0x0E,0x04,0x04,0x04,0x0E, -- İ 77
0x01,0x01,0x01,0x01,0x11,0x11,0x0E, -- J 84
0x11,0x12,0x14,0x18,0x14,0x12,0x11, -- K 91
0x10,0x10,0x10,0x10,0x10,0x10,0x1F, -- L 98
0x11,0x1B,0x15,0x11,0x11,0x11,0x11, -- M 105
0x11,0x11,0x19,0x15,0x13,0x11,0x11, -- N 112
0x1F,0x11,0x11,0x11,0x11,0x11,0x1F, -- O 119
0x0A,0x00,0x0E,0x11,0x11,0x11,0x0E, -- Ö 126
0x1E,0x11,0x11,0x1E,0x10,0x10,0x10, -- P 133
0x1E,0x11,0x11,0x1E,0x14,0x12,0x11, -- R 140
0x1F,0x10,0x10,0x1F,0x01,0x01,0x1F, -- S 147
0x1F,0x10,0x10,0x1F,0x01,0x1F,0x04, -- Ş 154
0x1F,0x04,0x04,0x04,0x04,0x04,0x04, -- T 161
0x11,0x11,0x11,0x11,0x11,0x11,0x1F, -- U 168
0x0A,0x00,0x11,0x11,0x11,0x11,0x1F, -- Ü 175
0x11,0x11,0x11,0x11,0x11,0x0A,0x04, -- V 182
0x11,0x11,0x11,0x0A,0x04,0x04,0x04, -- Y 189
0x1F,0x01,0x02,0x04,0x08,0x10,0x1F, -- Z 196
0x11,0x11,0x11,0x11,0x15,0x1B,0x11, -- W 203
0x11,0x11,0x0A,0x04,0x0A,0x11,0x11, -- X 210
0x0E,0x11,0x11,0x11,0x15,0x12,0x0D} -- Q 32 217
const byte karakterler1[462] =
{0x04,0x04,0x0C,0x04,0x04,0x04,0x0E, -- 1 0
0x0E,0x11,0x02,0x04,0x08,0x10,0x1F, -- 2 7
0x0E,0x11,0x01,0x06,0x01,0x11,0x0E, -- 3 14
0x11,0x11,0x11,0x1F,0x01,0x01,0x01, -- 4 21
0x1F,0x10,0x10,0x1E,0x01,0x01,0x1E, -- 5 28
0x1F,0x10,0x10,0x1F,0x11,0x11,0x1F, -- 6 35
0x1F,0x01,0x02,0x04,0x04,0x04,0x04, -- 7 42
0x0E,0x11,0x11,0x0E,0x11,0x11,0x0E, -- 8 49
0x0E,0x11,0x11,0x0F,0x01,0x01,0x0E, -- 9 56
0x0E,0x11,0x13,0x15,0x19,0x11,0x0E, -- 0 63
0x00,0x04,0x04,0x1F,0x04,0x04,0x00, -- + 70
0x00,0x00,0x00,0x1F,0x00,0x00,0x00, -- - 77
0x00,0x08,0x04,0x02,0x04,0x08,0x00, -- > 84
0x00,0x02,0x04,0x08,0x04,0x02,0x00, -- < 91
0x04,0x04,0x04,0x04,0x04,0x00,0x04, -- ! 98
0x00,0x00,0x1F,0x00,0x1F,0x00,0x00, -- = 105
0x00,0x00,0x00,0x00,0x00,0x00,0x00, -- bosluk 112
0x04,0x04,0x04,0x00,0x00,0x00,0x00, -- ' 50 119
0x0A,0x1F,0x0A,0x0A,0x0A,0x1F,0x0A, -- # 126
0x10,0x08,0x08,0x08,0x08,0x08,0x10, -- ) 133
0x01,0x02,0x02,0x02,0x02,0x02,0x01, -- ( 140
0x18,0x19,0x02,0x04,0x08,0x13,0x03, -- % 147
0x08,0x04,0x04,0x02,0x04,0x04,0x08, -- } 154
0x02,0x04,0x04,0x08,0x04,0x04,0x02, -- { 161
0x00,0x01,0x02,0x04,0x08,0x10,0x00, -- / 168
0x04,0x15,0x0E,0x1F,0x0E,0x15,0x04, -- * 175
0x00,0x00,0x00,0x00,0x00,0x00,0x04, -- . 182
0x00,0x00,0x00,0x00,0x04,0x04,0x08, -- , 189
0x00,0x00,0x04,0x00,0x04,0x04,0x08, -- ; 196
0x00,0x00,0x04,0x00,0x00,0x04,0x00, -- : 203
0x0E,0x02,0x02,0x02,0x02,0x02,0x0E, -- ] 210
0x0E,0x08,0x08,0x08,0x08,0x08,0x0E, -- [ 217
0x0E,0x11,0x12,0x04,0x04,0x00,0x04, -- ? 224
0x04,0x1F,0x14,0x1F,0x05,0x1F,0x04} -- $ 231
function karakter_al (byte in kelime[], byte in dize, byte in istenilen_satir) return byte is
case kelime[dize] of
"A" : return karakterler[0+istenilen_satır]
"B" : return karakterler[7+istenilen_satir]
"C" : return karakterler[14+istenilen_satir]
"Ç" : return karakterler[21+istenilen_satir]
"D" : return karakterler[28+istenilen_satir]
"E" : return karakterler[35+istenilen_satir]
"F" : return karakterler[42+istenilen_satir]
"G" : return karakterler[49+istenilen_satir]
"Ğ" : return karakterler[56+istenilen_satir]
"H" : return karakterler[63+istenilen_satir]
"I" : return karakterler[70+istenilen_satir]
"İ" : return karakterler[77+istenilen_satir]
"J" : return karakterler[84+istenilen_satir]
"K" : return karakterler[91+istenilen_satir]
"L" : return karakterler[98+istenilen_satir]
"M" : return karakterler[105+istenilen_satir]
"N" : return karakterler[112+istenilen_satir]
"O" : return karakterler[119+istenilen_satir]
"Ö" : return karakterler[126+istenilen_satir]
"P" : return karakterler[133+istenilen_satir]
"R" : return karakterler[140+istenilen_satir]
"S" : return karakterler[147+istenilen_satir]
"Ş" : return karakterler[154+istenilen_satir]
"T" : return karakterler[161+istenilen_satir]
"U" : return karakterler[168+istenilen_satir]
"Ü" : return karakterler[175+istenilen_satir]
"V" : return karakterler[182+istenilen_satir]
"Y" : return karakterler[189+istenilen_satir]
"Z" : return karakterler[196+istenilen_satir]
"W" : return karakterler[203+istenilen_satir]
"X" : return karakterler[210+istenilen_satir]
"Q" : return karakterler[217+istenilen_satir]
"1" : return karakterler1[0+istenilen_satir]
"2" : return karakterler1[7+istenilen_satir]
"3" : return karakterler1[14+istenilen_satir]
"4" : return karakterler1[21+istenilen_satir]
"5" : return karakterler1[28+istenilen_satir]
"6" : return karakterler1[35+istenilen_satir]
"7" : return karakterler1[42+istenilen_satir]
"8" : return karakterler1[49+istenilen_satir]
"9" : return karakterler1[56+istenilen_satir]
"0" : return karakterler1[63+istenilen_b0]
"+" : return karakterler1[70+istenilen_satir]
"-" : return karakterler1[77+istenilen_satir]
"<" : return karakterler1[84+istenilen_satir]
">" : return karakterler1[91+istenilen_satir]
"!" : return karakterler1[98+istenilen_satir]
"=" : return karakterler1[105+istenilen_satir]
" " : return karakterler1[112+istenilen_satir]
"'" : return karakterler1[119+istenilen_satir]
"#" : return karakterler1[126+istenilen_satir]
")" : return karakterler1[133+istenilen_satir]
"(" : return karakterler1[140+istenilen_satir]
"%" : return karakterler1[147+istenilen_satir]
"}" : return karakterler1[154+istenilen_satir]
"{" : return karakterler1[161+istenilen_satir]
"/" : return karakterler1[168+istenilen_satir]
"*" : return karakterler1[175+istenilen_satir]
"." : return karakterler1[182+istenilen_satir]
"," : return karakterler1[189+istenilen_satir]
";" : return karakterler1[196+istenilen_satir]
":" : return karakterler1[203+istenilen_satir]
"]" : return karakterler1[210+istenilen_satir]
"[" : return karakterler1[217+istenilen_satir]
"?" : return karakterler1[224+istenilen_satir]
"$" : return karakterler1[231+istenilen_satir]
end case
end function
Alıntı yapılan: macaronlu - 01 Mayıs 2011, 22:15:18
sag ol ama ne yaptıysam yazdıramadım teşekür ederim
(http://i1105.hizliresim.com/2011/5/3/4306.png)
Kardeşim jalv2 ye göre dosyaları düzenledim test ettim.Jalv2 kütüphane dosyalarını ekledim dene bakalım bende çalışıyor bir kaç nokta sıyırıyor bazen ama anca bu kadar hiç asembler kulanmayan biri olarak bu kadar oluyor :o inşallah işin görülür beni bilgilendirirsen sevinirim.Kolay gele.
https://rapidshare.com/files/460364916/jalv2-5X7_MAT-Rekofen-picpuroje.com.rar (https://rapidshare.com/files/460364916/jalv2-5X7_MAT-Rekofen-picpuroje.com.rar)
şifresi = picproje.com yada picpuroje.com karıştırmışım :P
Kardeşim dosyadaki lib dosyasının içindeki dosyaları jalv2 nin kurulduğu klasördeki lib klasörüne kopyala dilediğin gibi uygula.
Pic16f877/20p ile yaptım simülatörde çalışıyor.Sende dene bakalım.Sen pic değiştirmek istersen haber ver zaman bulabilirsem lib'i ona göre uyarlamayı deneriz.Ancak söz veremem.Kolay gelsin.
arkadaş hazır klasörleri göndermişsin ben 74hc595 kulanmak istiyorum fakat tanıtmayı başaramadım gende bir dosya daha var incele istersen sen hangi dosyayı derledin hoşçakal :(
Hazır dosya değil dostum onlar jal'ın ilk sürümü içindi doğal olarak çalışmıyordu, jalv2 ye göre sende düzenleyebilirsin yapman gerekenler basit.Port adlarını değiştir hangi kontorl ünitesini kullanacaksan onun kütüphanesini ekle geçikmeleri düzenle bu kadar istediğin gibi kullan.Kolay gelsin.
-- ===================================================
-- Title: JalV2 device include file for PIC 16F628A
--
-- Author: Rob Hamerling, Copyright (c) 2008..2009, all rights reserved.
--
-- Adapted-by:
--
-- Compiler: 2.4m
--
-- This file is part of jallib (http://jallib.googlecode.com)
-- Released under the ZLIB license (http://www.opensource.org/licenses/zlib-license.html)
--
-- Description:
-- Device include file for pic16f628a, containing:
-- - Declaration of ports and pins of the chip.
-- - Procedures for shadowing of ports and pins
-- to circumvent the read-modify-write problem.
-- - Symbolic definitions for configuration bits (fuses)
-- - Some device dependent procedures for common
-- operations, like:
-- . enable_digital_io()
--
-- Sources:
-- - "x:/mplab843/mplab ide/device/pic16f628a.dev"
-- - "x:/mplab843/mpasm suite/lkr/16f628a_g.lkr"
--
-- Notes:
-- - Created with Dev2Jal Rexx script version 0.0.88
-- - File creation date/time: 27 Dec 2009 14:43
--
-- ===================================================
--
const word DEVICE_ID = 0x1060
const byte PICTYPE[] = "16F628A"
const byte DATASHEET[] = "40044"
const byte PGMSPEC[] = "41196"
--
-- Vdd Range: 2.000-6.000 Nominal: 5.000
-- Vpp Range: 12.750-13.250 Default: 13.000
--
-- ---------------------------------------------------
--
include chipdef_jallib -- common constants
--
pragma target cpu PIC_14 -- (banks = 4)
pragma target chip 16f628a
pragma target bank 0x0080
pragma target page 0x0800
pragma stack 8
pragma code 2048 -- (words)
pragma eeprom 0x2100,128
pragma ID 0x2000,4
pragma data 0x20-0x6F,0xA0-0xEF,0x120-0x14F
pragma shared 0x70-0x7E,0x7F-0x7F
--
var volatile byte _pic_accum shared at { 0x7E,0xFE,0x17E,0x1FE } -- (compiler)
var volatile byte _pic_isr_w shared at { 0x7F,0xFF,0x17F,0x1FF } -- (compiler)
--
const word _FUSES_CT = 1
const word _FUSE_BASE = 0x2007
const word _FUSES = 0b_0011_1111_1111_1111
- ------------------------------------------------
var volatile byte INDF at { 0x0,0x80,0x100,0x180 }
var volatile byte _ind at { 0x0,0x80,0x100,0x180 } -- (compiler)
-- ------------------------------------------------
var volatile byte TMR0 at { 0x1,0x101 }
-- ------------------------------------------------
var volatile byte PCL at { 0x2,0x82,0x102,0x182 }
var volatile byte _pcl at { 0x2,0x82,0x102,0x182 } -- (compiler)
-- ------------------------------------------------
-- definition for characters 32 ... 79
-- --------------------------------------------------------------------
const byte _character_5x7_table_0[] = {
0x00, 0x00, 0x00, 0x00, 0x00, -- 0x20 =
0x00, 0x00, 0x6F, 0x6F, 0x00, -- 0x21 = !
0x02, 0x01, 0x02, 0x01, 0x00, -- 0x22 = "
0x14, 0x3E, 0x14, 0x3E, 0x14, -- 0x23 = #
0x26, 0x49, 0x7F, 0x49, 0x32, -- 0x24 = $
0x23, 0x13, 0x08, 0x64, 0x62, -- 0x25 = %
0x24, 0x5A, 0x59, 0x25, 0x52, -- 0x26 = &
0x02, 0x03, 0x01, 0x00, 0x00, -- 0x27 = '
0x00, 0x3E, 0x41, 0x00, 0x00, -- 0x28 = (
0x00, 0x00, 0x41, 0x3E, 0x00, -- 0x29 = )
0x2A, 0x1C, 0x3E, 0x1C, 0x2A, -- 0x2A = *
0x00, 0x08, 0x1C, 0x08, 0x00, -- 0x2B = +
0x00, 0x00, 0x30, 0x70, 0x00, -- 0x2C = ,
0x00, 0x08, 0x08, 0x08, 0x00, -- 0x2D = -
0x00, 0x00, 0x60, 0x60, 0x00, -- 0x2E = .
0x20, 0x10, 0x08, 0x04, 0x02, -- 0x2F = /
0x3E, 0x41, 0x41, 0x41, 0x3E, -- 0x30 = 0
0x00, 0x00, 0x42, 0x7F, 0x40, -- 0x31 = 1
0x42, 0x61, 0x51, 0x49, 0x46, -- 0x32 = 2
0x22, 0x41, 0x49, 0x49, 0x36, -- 0x33 = 3
0x07, 0x08, 0x08, 0x08, 0x7F, -- 0x34 = 4
0x2F, 0x49, 0x49, 0x49, 0x31, -- 0x35 = 5
0x3E, 0x49, 0x49, 0x49, 0x32, -- 0x36 = 6
0x01, 0x01, 0x01, 0x79, 0x07, -- 0x37 = 7
0x36, 0x49, 0x49, 0x49, 0x36, -- 0x38 = 8
0x26, 0x49, 0x49, 0x49, 0x3E, -- 0x39 = 9
0x00, 0x00, 0x36, 0x36, 0x00, -- 0x3A = :
0x00, 0x00, 0x36, 0x76, 0x00, -- 0x3B = ;
0x08, 0x14, 0x22, 0x41, 0x00, -- 0x3C = <
0x00, 0x14, 0x14, 0x14, 0x00, -- 0x3D = =
0x00, 0x41, 0x22, 0x14, 0x08, -- 0x3E = >
0x02, 0x01, 0x61, 0x69, 0x06, -- 0x3F = ?
0x3E, 0x41, 0x4D, 0x4B, 0x2E, -- 0x40 = @
0x7E, 0x09, 0x09, 0x09, 0x7E, -- 0x41 = A
0x7F, 0x49, 0x49, 0x49, 0x36, -- 0x42 = B
0x3E, 0x41, 0x41, 0x41, 0x22, -- 0x43 = C
0x7F, 0x41, 0x41, 0x41, 0x3E, -- 0x44 = D
0x7F, 0x49, 0x49, 0x49, 0x41, -- 0x45 = E
0x7F, 0x09, 0x09, 0x09, 0x01, -- 0x46 = F
0x3E, 0x41, 0x41, 0x51, 0x32, -- 0x47 = G
0x7F, 0x08, 0x08, 0x08, 0x7F, -- 0x48 = H
0x00, 0x41, 0x7F, 0x41, 0x00, -- 0x49 = I
0x20, 0x40, 0x40, 0x41, 0x3F, -- 0x4A = J
0x7F, 0x08, 0x14, 0x22, 0x41, -- 0x4B = K
0x7F, 0x40, 0x40, 0x40, 0x40, -- 0x4C = L
0x7F, 0x02, 0x0C, 0x02, 0x7F, -- 0x4D = M
0x7F, 0x06, 0x18, 0x30, 0x7F, -- 0x4E = N
0x3E, 0x41, 0x41, 0x41, 0x3E, -- 0x4F = O
0}
-- --------------------------------------------------------------------
-- --------------------------------------------------------------------
-- definition for characters 80 ... 127
-- --------------------------------------------------------------------
const byte _character_5x7_table_1[] = {
0x7E, 0x09, 0x09, 0x09, 0x06, -- 0x50 = P
0x3E, 0x41, 0x51, 0x61, 0x7E, -- 0x51 = Q
0x7F, 0x09, 0x19, 0x29, 0x46, -- 0x52 = R
0x26, 0x49, 0x49, 0x49, 0x32, -- 0x53 = S
0x01, 0x01, 0x7F, 0x01, 0x01, -- 0x54 = T
0x3F, 0x40, 0x40, 0x40, 0x3F, -- 0x55 = U
0x1F, 0x20, 0x40, 0x20, 0x1F, -- 0x56 = V
0x3F, 0x40, 0x30, 0x40, 0x3F, -- 0x57 = W
0x41, 0x36, 0x1C, 0x36, 0x41, -- 0x58 = X
0x01, 0x42, 0x7C, 0x42, 0x01, -- 0x59 = Y
0x61, 0x51, 0x49, 0x45, 0x43, -- 0x5A = Z
0x7F, 0x41, 0x41, 0x00, 0x00, -- 0x5B = [
0x02, 0x04, 0x08, 0x10, 0x20, -- 0x5C = \
0x00, 0x00, 0x41, 0x41, 0x7F, -- 0x5D = ]
0x00, 0x02, 0x01, 0x02, 0x00, -- 0x5E = ^
0x40, 0x40, 0x40, 0x40, 0x40, -- 0x5F = _
0x00, 0x00, 0x00, 0x00, 0x00, -- 0x60 = `
0x20, 0x54, 0x54, 0x54, 0x78, -- 0x61 = a
0x7F, 0x44, 0x44, 0x44, 0x38, -- 0x62 = b
0x38, 0x44, 0x44, 0x44, 0x28, -- 0x63 = c
0x38, 0x44, 0x44, 0x44, 0x7F, -- 0x64 = d
0x38, 0x54, 0x54, 0x54, 0x48, -- 0x65 = e
0x78, 0x14, 0x14, 0x04, 0x00, -- 0x66 = f
0x08, 0x14, 0x54, 0x54, 0x38, -- 0x67 = g
0x7F, 0x08, 0x08, 0x08, 0x70, -- 0x68 = h
0x00, 0x40, 0x7A, 0x40, 0x00, -- 0x69 = i
0x00, 0x40, 0x40, 0x3A, 0x00, -- 0x6A = j
0x7F, 0x10, 0x28, 0x44, 0x00, -- 0x6B = k
0x00, 0x44, 0x7E, 0x40, 0x00, -- 0x6C = l
0x78, 0x04, 0x78, 0x04, 0x78, -- 0x6D = m
0x7C, 0x04, 0x04, 0x04, 0x78, -- 0x6E = n
0x38, 0x44, 0x44, 0x44, 0x38, -- 0x6F = o
0x7C, 0x14, 0x14, 0x14, 0x08, -- 0x70 = p
0x08, 0x14, 0x14, 0x14, 0x7C, -- 0x71 = q
0x78, 0x04, 0x04, 0x04, 0x08, -- 0x72 = r
0x48, 0x54, 0x54, 0x54, 0x24, -- 0x73 = s
0x3F, 0x44, 0x44, 0x40, 0x20, -- 0x74 = t
0x3C, 0x40, 0x40, 0x20, 0x7C, -- 0x75 = u
0x1C, 0x20, 0x40, 0x20, 0x1C, -- 0x76 = v
0x3C, 0x40, 0x38, 0x40, 0x3C, -- 0x77 = w
0x44, 0x28, 0x10, 0x28, 0x44, -- 0x78 = x
0x0C, 0x10, 0x50, 0x50, 0x3C, -- 0x79 = y
0x44, 0x64, 0x54, 0x4C, 0x44, -- 0x7A = z
0x08, 0x36, 0x41, 0x41, 0x00, -- 0x7B = {
0x00, 0x00, 0x7F, 0x00, 0x00, -- 0x7C = |
0x00, 0x41, 0x41, 0x36, 0x08, -- 0x7D = }
0x02, 0x01, 0x02, 0x01, 0x00, -- 0x7E = ~
0x00, 0x00, 0x00, 0x00, 0x00, -- 0x7F =
0}
-- --------------------------------------------------------------------
-- --------------------------------------------------------------------
-- global array that will contain the pixel value of selected character
-- --------------------------------------------------------------------
var volatile byte character_5x7 [5]
-- --------------------------------------------------------------------
-- --------------------------------------------------------------------
-- Fills the global array CHARACTER_5x7 with
-- the pixel values of character ASCII.
-- Only the ASCII values 32 .. 127 are avalaible.
-- If the ASCII value is within the valid range,
-- TRUE is returned.
-- --------------------------------------------------------------------
function get_character_5x7(byte in Ascii) return bit is
var byte i
var byte ii
if Ascii>=32 then
if Ascii<80 then
ii = 5 * (Ascii - 32)
for 5 using i loop
character_5x7 = _character_5x7_table_0[ii+i]
end loop
elsif Ascii<128 then
ii = 5 * (Ascii - 80)
for 5 using i loop
character_5x7 = _character_5x7_table_0[ii+i]
end loop
else
return false
end if
else
return false
end if
return true
end function
-----------------------------------------------------------------------
-- --------------------------------------------------------------------
-- Library ID
-- --------------------------------------------------------------------
const word Character_5x7_ID = 20
const word Character_5x7_Version = 1
--if identity
--if Ask_Library_IDentity then
-- my_identity (Character_5x7_ID, Character_5x7_Version)
--end if
-- --------------------------------------------------------------------
bu gönderdigimi konturol edermisin şimdiden teşekürler :(
Ben jalv2 ile 16F877 kullanarak 100x7 kayan yazı programı yazdım.. ama henüz eksikleri çok var paylaşılacak vaziyette değil.. saat,sıcaklık,bilgisayar kontrolü eklediğimde paylaşacağım.. biraz uğraşırsanız ve mantığını biliyorsanız jalv2 güzel bir dildir.. :) Kaynak olmayınca kendiniz yapıyorsunuz ve böylece kolayca öğrenmiş oluyorsunuz.. :) süper değil mi ? :)
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)
END PROCEDURE
PROCEDURE iceri_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 -- Aktar pini
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 : 0
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 : 7
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 : 0
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 : 7
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
end procedure
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
yazdıgım şu purogramı incele olabilirmi
catı olarak yardım edersen memnun olurum
şimdiden teşekür ederim :)
Merhaba @macaronlu
O verdiğin kodu acemi iken 32 ledli karaşimşek devresi için vermiştim.. kayan yazıda kullanamazsın... jalv2 de bit dizisi oluşturacaksın sutun sayısı kadar.. sonra byte dizisini tek tek analiz edip bu bit dizisine yüklemen gerek.. biraz karışık bir işlem.. işin içine bilgisayarda girince daha karmaşık oluyor.. ben 10 günde ancak yazabildim.. birde sorun jal da bit dizisi yok.. :) 4 tane alt program yazıp byte dizilerinde adresleri kullanarak bit dizisi oluşturmalısın.. tek çözüm bu.. eğer zamanınız varsa bir süre sonra çalışır bir kayan yazı devresi ekleyeceğim.. Bu arada size tam olarak Kaça Kaç ve hangi PIC için gerekiyor ?
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.
merhaba 3L3CTRO
senin jelde iyi oldugun icin yardım istedim ,
su an kafam karma karışık.
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...
en kısa zamanda gönderirim
--
-- ------------------------------------------------------
--
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
selam 3L3CTRO
uzn zamandan beridir hiç bir cevap cıkmadı,
Sen elindeki devre şemasını paylaştın mı ?
en sonunda başardım :D :D
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 )
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] (http://imageshack.us/photo/my-images/171/matrix5x7.png/)
Uploaded with ImageShack.us (http://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
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ı!!!
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
JALV2 yi deneyebilirsiniz.
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
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.