Picproje Elektronik Sitesi

DERLEYİCİLER => Proton+ => Konuyu başlatan: ercan_wrc - 10 Mart 2011, 20:55:52

Başlık: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: ercan_wrc - 10 Mart 2011, 20:55:52
Arkadaşlar merhaba;

şimdi elimde bir hazır devre var ve yapmak istediğim şu;
pic 16F877
Proton +
bir menü oluşturdum ve her menüde birer değişkene değer giriliyor bu değerler değişkenin hafızasında
bu değişkenleri 16F877'nin hafızasına yazıp kaydetmek istiyorum (elektrik kesilse bile hafızada kalacak şekilde)
sonra tekrar menüdeki ayarlara girdiğimde bu değerleri kaydedilmiş şekilyle menüdeki yerlerine yazmak istiyorum
fakat Eepromda veri kaydetmeyi bir türlü bulamadım ERead ve EWrite komutları ile diyorlar ama ben yapamadım derleyici hata veriyor

Birde aklıma takılan eproma yazılırken float değerlerde farklılık varmı?

örneğin

değişken1=7,12
değişken2=22
değişken3=123
değişken4=4321

bu değerleri eproma yazıp tekrar menüden ayarlara girdiğimde bu değerli ilgili yerlerde görmek ve güncelleyebilmek istiyorum...
Cevap yazan arkadaşlara şimdiden teşekkür ederim...Saygılar
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: Maxim - 10 Mart 2011, 21:28:31
DIM DEGER1 AS FLOAT
DEGER1=7.12


7.12 değerini 10 adresine yazar.
EWrite 10 ,[DEGER1]

10 ADRESINDEKİ DEĞERİ DEGER1 E ATAR
DEGER1 = ERead 10





Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: omereliusuk - 10 Mart 2011, 22:49:09
----
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 10 Mart 2011, 22:56:58
olmaz
dword yada float doğru 4 byte yer kaplar. PROTOn bunu biliyor ona göre 10,11,12,13 e sırasıyla yükler.
geri alma esnasında
dim Deger as float
deger=eread 10
dediğimde alınacak değerin 4byte olduğunu yine bilir. ve ona gere sırası ile 4 byte alır.
demekki neymiş Proton Kendini aşmış :)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: FUNKY - 10 Mart 2011, 23:01:58

sadece float değil   bak daha neleri  tek komutla   yazdırıyor.. proton  iyidir :)   

proton help den alıntı ...

EWRITE Address , [ Variable {, Variable...etc } ]


Variable is a user defined variable of type bit, byte, byte array, word, word array, dword, float or a constant value.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 10 Mart 2011, 23:03:58
Konunu nereye gideceğini biliyor ve kestirip atıyorum :D
basic C yi döver :D
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: Maxim - 10 Mart 2011, 23:32:06
şöyle izah edeyim o zaman  ;D


Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 10 Mart 2011, 23:32:40
hocam ellerine sağlık
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: omereliusuk - 11 Mart 2011, 00:31:56
Alıntı yapılan: muhittin_kaplan - 10 Mart 2011, 22:56:58
olmaz
dword yada float doğru 4 byte yer kaplar. PROTOn bunu biliyor ona göre 10,11,12,13 e sırasıyla yükler.
geri alma esnasında
dim Deger as float
deger=eread 10
dediğimde alınacak değerin 4byte olduğunu yine bilir. ve ona gere sırası ile 4 byte alır.
demekki neymiş Proton Kendini aşmış :)
bunu yeni öğrendim...

dur hocam az daha büyüyeyim ccs i yeni yeni öğreniyorum. bu piclere takla attıracam :)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: ercan_wrc - 11 Mart 2011, 01:16:01
Allah Razı Olsun arkadaşlar derlemede hata vermedi şimdi ilk defa yazdırıp okutmayı deneyeceğim sonucu sizlerle paylaşırım :)
gerçi hata yok Maxim hocamız videoda göstermiş hata olursa bende olur :D

Edit:

arkadaşlar yapamadım :(

şöyleki  çözüm bulamadığım bir yerde var

yapmak istediğim şudur...aracın lpg tankının ölçümünü yapmak istiyorum
tankın analog göstergesi bir nevi potansiyometre gibi çalışıyor
yani ilk değişkenlerim belli değil 712 de olabilir 215 de olabilir
ne olduğunu bilmiyorum şimdi pice elektriği verdim ve ayar menüsüne gittim
potansiyometren ölçüm yaptım atıyorum depo boşalmak üzere 73 gösterdi
sonra depoyu doldurdum tekrar ölçtüm 512 gösterdi
bu değerleri ayarlar menüsünde DepoBos ve DepoDolu değerleri olarak kaydetmek istiyorum
sonra tekrar ayarlar menüsüne girdiğimde bu 73 ve 512 değerlini butonlarla arttırıp azaltıp tekrar kaydedebilmek istiyorum
örnek kodumu yazıyorum arkadaşlar..


burada kodun herhangi bir kısmına default ayar girersem eğer elektrik kesilip tekrar geldiğinde o default ayarı değil eeproma yazılan ayarı okumalı
o nedenle hiç değer vermeden programa giriş yapıyorum absurt rakamlar çıkıyor onları butonlarla azaltıp düzeltiyorum kaydediyorum nasılsa 1 kereye mahsus absurt olacak sonrasında hep kaydettiğim hafızada kalacak diye...
sonra yeniden elektrik verince eski absurt rakamlara geri dönüyor
not: ADC den okunan değeri hesaplamada kullanacağım için burada onunla işim yok.



Dim Deger As Word  'ADC den okunan ham Digital değer.
Dim DepoLt As Byte                                                                       
Dim YDoluDepo As Word
Dim YBosDepo As Word
Dim YLitre As Byte
Dim EDoluDepo As Word
Dim EBosDepo As Word
Dim ELitre As Byte


DegerOku:

''''''''Potansiyometre Değerini Oku
   
   Deger=ADIn 0
   DelayMS 50

GoTo Acilis
   
Acilis:
 
   Print At 1,1," TOYOTA COROLLA "
   DelayMS 2000
   Print At 2,1, "  MERHABA             "
   DelayMS 2000

   Print At 1,1,"                "
   Print At 2,1,"                "

    GoTo EkranaYaz
   
End If
'''''''''''''''''''''''''''''Ayar menüsü

Ayarlar:

'ERead 0,ELitre
'ERead 1,ESici
'ERead 2,EUzunYol

GoTo DepoLit


''''''''' Depo Litre Değerleri''''''
DepoLit:

Print At 1,1,"                "
Print At 2,1,"                "
Print At 1,1,"Depo Litre Degeri"
Print At 2,1,#ELitre, " Lt"
DelayMS 1000

While PORTC.0=0

If PORTC.1=1 Then ' Çıkarma
YLitre=ELitre - 1  'Litre değerini eksiltme
    If YLitre < 1 Then YLitre = 1 ' Eğer litreyi 1den aşağı yazılırsa 1 olarak gir
    ELitre=YLitre
    Print At 2,1,"                "
    Print At 2,1,#YLitre," Lt"
    DelayMS 80
End If
             
If PORTC.2=1 Then  'Topla
    YLitre=ELitre + 1 'litreyi 1 arttır.
    ELitre=YLitre
    Print At 2,1,"                "
    Print At 2,1,#YLitre," Lt"
    DelayMS 80
End If

If PORTC.0=1 Then  'bekle
    While PORTC.0=0'bekle
        If PORTC.0=1 Then GoTo DepoDolu
    Wend
End If

Wend


''''''''' Depo Dolu Değerleri''''''
DepoDolu:

Print At 1,1,"                "
Print At 2,1,"                "
Print At 1,1,"Depo Dolu Degeri"
Print At 2,1,#EDoluDepo
DelayMS 1000

While PORTC.0=0

If PORTC.1=1 Then ' Çıkar
YDoluDepo=EDoluDepo - 1
    If YDoluDepo < 1 Then YDoluDepo = 1
    EDoluDepo=YDoluDepo
    Print At 2,1,"                "
    Print At 2,1,#YDoluDepo
    DelayMS 80
End If
             
If PORTC.2=1 Then  'Topla
    YDoluDepo=EDoluDepo + 1
    EDoluDepo=YDoluDepo
    Print At 2,1,"                "
    Print At 2,1,#YDoluDepo
    DelayMS 80
End If

If PORTC.0=1 Then  'bekle
    While PORTC.0=0'bekle
        If PORTC.0=1 Then GoTo DepoBos
    Wend
End If

Wend

''''''''' Depo Bos Değerleri''''''
DepoBos:

Print At 1,1,"                "
Print At 2,1,"                "
Print At 1,1,"Depo Bos Degeri"
Print At 2,1,#EBosDepo
DelayMS 1000

While PORTC.0=0

If PORTC.1=1 Then ' Çıkar
    YBosDepo=EBosDepo - 1
    If YBosDepo < 1 Then EBosDepo = 1
    EBosDepo=YBosDepo
    Print At 2,1,"                "
    Print At 2,1,#YBosDepo
    DelayMS 80
End If
             
If PORTC.2=1 Then  'Topla
    YBosDepo=EBosDepo + 1
    EBosDepo=YBosDepo
    Print At 2,1,"                "
    Print At 2,1,#YBosDepo
    DelayMS 80
End If

If PORTC.0=1 Then  'bekle
    While PORTC.0=0'bekle
        If PORTC.0=1 Then GoTo Kaydet
    Wend
End If

Wend



''''''''''''''Ayarları Kaydetme''''''''
Kaydet:

EWrite 10,[YLitre] ' Yeni girilen litreyi kaydet
EWrite 11,[YBosDepo] ' yeni girilen boş depo değerini kaydet
EWrite 12,[YDoluDepo] 'yeni girilen dolu depo değerini kaydet

Print At 1,1,"                "
Print At 2,1,"                "
Print At 1,1,"Ayarlar Kaydoldu."
DelayMS 2000

If PORTC.0=1 Then GoTo EkranaYaz

EkranaYaz:
Dim a As Word
Dim b As Word

a = ERead 10
b = ERead 11
c = ERead 12
d = ERead 13

Print At 1,1,"                "
Print At 2,1,"                "

Print At 1,1,#a
Print At 2,1,#b

While PORTC.0=0
Wend
DelayMS 3000
GoTo Ayarlar


not2: Visual basic 6.0 kullanıyordum arkadaşlar pic işine yeni girdim o nedenle cahillik var haliyle kusura bakmayın :)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: Maxim - 11 Mart 2011, 08:52:46
bu programdaki "end if" ler nedir ?
yani end boşluk if


program zaten aşağıya doğru akmaktadır,

abc
cbd

goto hhh

hhh:
fff
fff

demenin bir mantığı varmı ?


eeproma yazarken adres bilgileri arasında boşluklar olsun

10
11
12
değilde

10
25
40
55
gibi

birde eeprom yazma işleminden hemen sonra bekleme yapmak şarttır
her ewrite komutundan sonra delayms 10 kullanın .
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: Murat Mert - 11 Mart 2011, 09:27:55
Alıntı yapılan: muhittin_kaplan - 10 Mart 2011, 22:56:58
olmaz
dword yada float doğru 4 byte yer kaplar. PROTOn bunu biliyor ona göre 10,11,12,13 e sırasıyla yükler.
geri alma esnasında
dim Deger as float
deger=eread 10
dediğimde alınacak değerin 4byte olduğunu yine bilir. ve ona gere sırası ile 4 byte alır.
demekki neymiş Proton Kendini aşmış :)

Alıntı yapılan: muhittin_kaplan - 10 Mart 2011, 23:03:58
Konunu nereye gideceğini biliyor ve kestirip atıyorum :D
basic C yi döver :D

Süpersin hocam ya :D  :D  :D
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: ercan_wrc - 11 Mart 2011, 16:24:14
Alıntı yapılan: Maxim - 11 Mart 2011, 08:52:46
bu programdaki "end if" ler nedir ?
yani end boşluk if


program zaten aşağıya doğru akmaktadır,

abc
cbd

goto hhh

hhh:
fff
fff

demenin bir mantığı varmı ?


eeproma yazarken adres bilgileri arasında boşluklar olsun

10
11
12
değilde

10
25
40
55
gibi

birde eeprom yazma işleminden hemen sonra bekleme yapmak şarttır
her ewrite komutundan sonra delayms 10 kullanın .

Hocam şimdi oldu Allah razı olsun...ya ben kodları kısa kısa kesip yazdım buraya aralara eklenecek şeyler var öğrendikçe ekliyorum boş bırakıp o nedenle böyle saçma görüntü oldu :) neyse çok teşekkür ederim kaydedip okuyabildim elektrik kesincede silinmedi tam istediğim gibi oldu :)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: ihsan_atay - 13 Mart 2011, 08:37:53
bir termostat yapmaya çalışıyorum. takıldığım bir nokta var. istenilen isi değerini ayarladıktan sonra elektrikler kesildi ve termostat yeniden çalışmaya başladı. float değişkenli değeri en son haliyle nasıl alırız? ben birşeyler yazdım ama  olmuyor. yardımlarınızı bekliyorum.

Dim isi_deger As Float
BASLA:

    If DURUM = 0 Then GoTo OLCUM
    If DURUM = 1 Then GoTo MENU
    If DURUM = 2 Then GoTo ISI_AYAR
    If DURUM = 3 Then GoTo NEM_AYAR
ISI_AYAR:
    isi_deger = ERead 0
    If arti = 1 Then isi_deger = isi_deger + 0.1
    If eksi = 1 Then isi_deger = isi_deger - 0.1
    EWrite 0,[isi_deger]
    Print At 1,1,"    ISI AYAR    "
    Print At 2,1,"     ",Dec1 isi_deger," C "
    DelayMS 100
    GoTo BASLA
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 13 Mart 2011, 12:18:51
insan abi
bunu için
isi_deger=eread 0
kodunu başlangıçta biryerlere yazman gerekirir ki sistem başladığında en istenilen ayarı geri getirsin.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: ihsan_atay - 13 Mart 2011, 14:31:23
olayı çözdüm. muhittin ustama teşekkür ederim. ilk pic e yazılımı yüklediğimizde eprom daki değerler $ff bu da float değişkende sorun yaratıyor.
başka bir değişken ayarlayarak epromdaki değerleri sıfır yaptım.

Dim isi_deger As Float
Dim isi_deger_hafiza As Byte
Dim ilk As Byte
isi_deger_hafiza = ERead 0
If isi_deger_hafiza = $ff Then GoTo ILKCALISMA

BASLA:
    If DURUM = 0 Then GoTo OLCUM
    If DURUM = 1 Then GoTo MENU
    If DURUM = 2 Then GoTo ISI_AYAR
    If DURUM = 3 Then GoTo NEM_AYAR   
ILKCALISMA:
    EWrite 0,[ilk]
    EWrite 1,[ilk]
    EWrite 2,[ilk]
    EWrite 3,[ilk]
    EWrite 4,[ilk]
    DURUM=1
    GoTo BASLA

Disable
KESME:
        Inc DURUM
        If DURUM = 4 Then DURUM = 0
       
        INTF = 0
       
        Resume
        Enable
        End 


Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: FUNKY - 13 Mart 2011, 17:14:41

EWrite  komutunu kullanırken  Byte  değişkeni için 1 ara Word için 2 ara Dword veya Float  değişkenler için 4 ara bırakılarak aderslenir. sanırım sorununuz bundan kaynaklanıyor ..

ayrıca  birçok parametreyi tek satırda yazabilirsiniz

EWrite  0,[a ,b ,c ,d,]
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 04 Aralık 2012, 21:57:32
Merhaba arkadaşlar
LPG olayına bende kafayı bozdum.
sistem sorunsuz bir şekilde çalışıyor, ama eread ve ewrite kodunu halledemedim. bu konuda eksik bişeymi yapıyorum..


menu:
Print At 1,1,"GAZ FIYATI      "
Print At 2,1,Dec2 gazfiyati,"TL          "

If PORTC.1=1 Then
DelayMS 40
gazfiyati = gazfiyati + 0.01
End If

If PORTC.2=1 Then
DelayMS 40
gazfiyati = gazfiyati - 0.01
End If

If PORTC.0=1 Then
  EWrite 10,[gazfiyati]
DelayMS 300
  GoTo menu1
  End If
 
GoTo menu

buraya kadar normalmi?
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 04 Aralık 2012, 22:13:31
normal görünüyor.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 04 Aralık 2012, 22:30:50
gazfiyati= eread 10
sehirici=eread 14
sehirdisi=eread 18                   KAYITLI OLAN VERİLERİ SİSTEM ÇALIŞTIĞI ANDA GÖREBİLMESİ İÇİN NEREYE EKLEMEM GEREKİYOR       
litre=eread 22
oranfiyat=eread 26

----------------------------------------------------------------------------------------------------------
Device 16F877
Xtal 4
Input PORTC.0
Input PORTC.1
Input PORTC.2

Input PORTD.0
Output PORTD.1
PORTD.1=0


Adin_Res = 10
Adin_Tad = FRC
Adin_Stime = 50
Dim deg1 As Word ' analog gaz ölçme değişkeni

Dim depo As Word
Dim gazfiyati As Float
  gazfiyati=0
Dim sehirici As Float
sehirici=0
Dim sehirdisi As Float
  sehirdisi=0
Dim litre As Float
  litre=0
Dim oranfiyat As Float
  oranfiyat=0
Dim sicikm As Word
sicikm=0
Dim sdisikm As Word
sdisikm=0
Dim yasar As Float
yasar=0

TRISA = %00000001
ADCON1 = %10000000

Declare LCD_DTPin PORTD.4
Declare LCD_ENPin PORTD.3
Declare LCD_RSPin PORTD.2
DelayMS 10

basla:


goto basla
end
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 04 Aralık 2012, 22:37:15
"başla" nın hemen üstüne

Device 16F877
Xtal 4
Input PORTC.0
Input PORTC.1
Input PORTC.2

Input PORTD.0
Output PORTD.1
PORTD.1=0


Adin_Res = 10
Adin_Tad = FRC
Adin_Stime = 50
Dim deg1 As Word ' analog gaz ölçme değişkeni

Dim depo As Word
Dim gazfiyati As Float
  gazfiyati=0
Dim sehirici As Float
sehirici=0
Dim sehirdisi As Float
  sehirdisi=0
Dim litre As Float
  litre=0
Dim oranfiyat As Float
  oranfiyat=0
Dim sicikm As Word
sicikm=0
Dim sdisikm As Word
sdisikm=0
Dim yasar As Float
yasar=0

TRISA = %00000001
ADCON1 = %10000000

Declare LCD_DTPin PORTD.4
Declare LCD_ENPin PORTD.3
Declare LCD_RSPin PORTD.2
DelayMS 10

gazfiyati= eread 10
sehirici=eread 14
sehirdisi=eread 18                   
litre=eread 22
oranfiyat=eread 26

basla:


goto basla
end
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 04 Aralık 2012, 22:58:27
pic i programlama alanındaki ayarlar doğrumu acaba.

eread ve ewrite kodunu kullandığımda arttıracağım veya eksilteceğim değerleri değiştiremiyorum.

(http://c1212.hizliresim.com/14/4/glb56.jpg) (http://bit.ly/c25MCx)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: muhittin_kaplan - 04 Aralık 2012, 23:34:27
hocam önce sadece yazmayı, sonra okumayı deneyin.
http://muhittinkaplan.com/2012/10/proton-plus-ve-mikrodenetleyici/ (http://muhittinkaplan.com/2012/10/proton-plus-ve-mikrodenetleyici/) de kodları felan vermiştim.

Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 04 Aralık 2012, 23:43:10
Asıl sorunu buldum.

örnek kod----

Device 16F877
Xtal 4

Input PORTC.0
Input PORTC.1
Input PORTC.2


Declare LCD_DTPin PORTD.4
Declare LCD_ENPin PORTD.3
Declare LCD_RSPin PORTD.2

Dim mehmet As Float
mehmet=0
DelayMS 10

mehmet = ERead 10
DelayMS 50

 
  basla:
If PORTC.1=1 Then
mehmet=mehmet + 0.01
DelayMS 100
End If

If PORTC.2=1 Then
mehmet=mehmet - 0.01
DelayMS 100
End If


  If PORTC.0=1 Then
  EWrite 10, [mehmet]
  DelayMS 50
End If


Print At 1,1,Dec5 mehmet , "   1"   

  GoTo basla


Mehmet adında tanımlı değişken Float büyüklüğünde ise değeri arttırma yada eksiltme yapmıyor.  Mehmet değişkenini Word olarak yaptığımda çok güzel sorunsuz çalışıyor.

Benim asıl istediğim ekrandaki değeri (0.00) olacak şekilde yapmak istiyorum.

Dim mehmet as Word   ( bu tanımlama ekranda küsüratlı olarak en düşük 0.01 ile 9.99 arası olacak. ekranda bu şekilde görülebilirmi.)
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: mierdogan - 14 Aralık 2012, 21:45:34
Merhaba

Bende bir termostat yapmak istiyorum set değerini aşağıdaki gibi eproma yazdırıyorum fakak aynı adresten okutmak istediğimde değer herzaman 55 gözüküyor sizce nerede yanlış yapıyorum? Değişkenim Byte

İkinci Ewrite, epromda daha önceden değişiklik yapıp yapmadığımı işaretlemek için eklediğim bir satır

          Print At 1,1,"PLEASE WAIT..."
                    Print At 2,1,"SAVING..."
                    DelayMS 1500
                    EWrite 10,[SETTEMPERATURE]:DelayMS 10
                    EWrite 20,[0]:DelayMS 10
                    Cls
                    GoTo START


Okutma komutu

SETTEMPERATURE=ERead 10
    OFFSETTEMP=ERead 30


Teşekkürler
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 14 Aralık 2012, 21:58:38
ısıyı DS18B20 ile ölçüyorsaneğer. bu eleman ilk açılışta 50 derecenin üzerinde sanırım 68 dereceydi, bir değer gönderiyor pic e.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: mierdogan - 14 Aralık 2012, 22:02:16
ölçüm yapmıyorum sadece set edilen değeri bir sonraki güç kesintisinden sonrada aynı kalmasını istiyorum ayrıca ADC çevrimi için normal pot kullanıyorum kod yazmayı yeni öğreniyorum..

Aklınıza başka bir şey geliyor mu?

Teşekkürler
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 14 Aralık 2012, 22:08:06
yanlış anlamadıysam,

değişken bir değer giriyorsun pice, yada değişken bir değer okuyor pic.

bu okuduğu değer elektrik kesilme anında eproma yazılacak, ve elektrik geldiğinde eprom dan okuyacak. ve ekranda gösterecek.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: F.T - 14 Aralık 2012, 22:24:40
ISIK= ERead 1            'ISIK DEĞERİ BASLANGIÇTA OKUNUR

If ISIK=255 or ıISIK=0 Then ISIK=1 'ISIK DEĞERİ İLK YUKLEMEDE 255 VEYA 0 GELİRSE 1 OLARAK AYARLANSIN

'--------------------------ANA PROGRAM----------------------------------------------------------------------------------------------------------

BASLA:


EWrite 1,[ ISIK ] 'ISIK  AYARLANIR VE KAYDEDİLİR
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: mierdogan - 14 Aralık 2012, 22:25:13
Aynen öyle hocam

set menüsü var girip ayar yaptıktan sonra store düğmesine basılınca set edilen değeri hafızaya alıp oradan okuyacak..

Nasıl yapabilirim? eprom yazdırma komutlarımda hata var gibi geliyor ama nasıl yapmam gerektiğini bilgim dahilinde çözebilmiş değilim

Teşekkürler
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 14 Aralık 2012, 23:38:26
Device 16F877
Xtal 4

Input PORTC.0
Input PORTC.1
Input PORTC.2


Declare LCD_DTPin PORTD.4
Declare LCD_ENPin PORTD.3
Declare LCD_RSPin PORTD.2

Dim mehmet As word
mehmet=0
DelayMS 10

mehmet = ERead 10
DelayMS 50

 
  basla:

If PORTC.1=1 Then
mehmet=mehmet + 1
DelayMS 100
End If

If PORTC.2=1 Then
mehmet=mehmet - 1
DelayMS 100
End If


  If PORTC.0=1 Then
  EWrite 10, [mehmet]
  DelayMS 50
End If



Print At 1,1,Dec5 mehmet , "   1"   

  GoTo basla


önemli noktaları kalın olarak gösterdim. bende bu konuda yardım almıştım arkadaşlardan. aslında basit biryerdeymiş sorun. örneği incelersen faydası olacaktır.
Başlık: Ynt: Proton + Eeprom'a Veri Kaydetme Ve Çağırma
Gönderen: isikyasar - 04 Ağustos 2013, 03:06:42
Hocalarımdan ricam olacak.


SerIn PORTC.7 , 16468 , [Str SerString]         ' 15 karakter seri bir veriyi okuyup lcd de görebiliyorum
'-----------------------------------------------------------------------------------------------------------------
bu okuduğum değeri hafızaya alıp daha sonra tekrardan görmek istiyorum. Şöyle bir kod

EWrite 10, [SerString[0] ,SerString[1],SerString[2],SerString [3] , SerString [4] ,SerString [5],SerString [6],SerString [7],SerString [8] , SerString [9] ,SerString [10],SerString [11],SerString [12],SerString [13],SerString [14]]

bu şekilde hafızaya kayıt olayı problemli olabilirmi. Seri porttan okunan değerleri 10 adet farklı Ewrite kullanarak yapmam gerekiyor.