Karta elimi değdirdiğimde çalışıyor.

Başlatan dodo4132, 17 Mayıs 2008, 11:11:17

ayhani

Alıntı yapılan: "dodo4132"arkadaşlar bu hex dosyası editlenemezmi yada yeniden yazılabilirmi çok zor bir işmi bu kod yazmak. bunu yazan kişiler keşke bunun bir demo olduğunu belirtselerdi. insanları bu kadar gereksiz uğraştırmaya hakları varmıki

Biraz bekleyiniz bir süprizim var....
En iyi bildiğim şey hiçbir şey bilmediğimdir.

dodo4132

sabaha kadar bekle desen inan beklerim  8O

ayhani

Alıntı yapılan: "dodo4132"sabaha kadar bekle desen inan beklerim  8O

Dodo boşver o devreyi ben size daha basit ve ucuzunu tasarladım. Devre kesinlikle çalışmaktadır.

Aşağıdaki linkte
http://picproje.org/index.php/topic,20527
kolay gelsin.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

dodo4132

çok teşekkürler ayhani yarın bu devreyi yapacam. bu gün gerekli olan malzemeleri alayım. yarın baskı devresini dökerim. ben bu devrede 16f877a entegremi kullanabileceğim değilmi?

Maxim

dodo bak gene aynı hatayı yapıyorsun ,
her gördüğün devrenin hemen baskısını çıkarma ,
1 tane breadboard al ,pahalı değil ,onun üzerinde devreni dene ,çalıştır ,sorun yoksa baskı devreyi incele ,gene sorun görmüyorsan o zaman baskı devreyi bas .
yani bence..

ayhani

Alıntı yapılan: "dodo4132"çok teşekkürler ayhani yarın bu devreyi yapacam. bu gün gerekli olan malzemeleri alayım. yarın baskı devresini dökerim. ben bu devrede 16f877a entegremi kullanabileceğim değilmi?

Bu devrede 877 kullanamazsın pic16f628 ile yapmalısın. 16f628 4 ytl civarı pahalı değil yani.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

ferdem

Alıntı yapılan: "maxiboost"hex dosyasına birşey yapamazsın

Hex dosyasını "disassemble" edip gerekli değişikliklerden sonra "assemble" edemez miyiz? Proteus simülasyonda "debug" yaparken hangi "insturction" işletiliyor, PC nerde görebiliyoruz. Bu sayede "disassemble" etmeden dahi demo bölümüne dallanan dallanma komutunu tesbit edip bir hex editör kullanarak demo bölümüne değil istediğimiz diğer bir bölgeye dallandırabiliriz diye düşünmüştüm.


Maxim

Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"hex dosyasına birşey yapamazsın

Hex dosyasını "disassemble" edip gerekli değişikliklerden sonra "assemble" edemez miyiz? Proteus simülasyonda "debug" yaparken hangi "insturction" işletiliyor, PC nerde görebiliyoruz. Bu sayede "disassemble" etmeden dahi demo bölümüne dallanan dallanma komutunu tesbit edip bir hex editör kullanarak demo bölümüne değil istediğimiz diğer bir bölgeye dallandırabiliriz diye düşünmüştüm.

o kadar uğraşmaya değmezki ,programı baştan yazmak daha kolay heralde ,üstelik olmazda heralde öyle hex dosyasından birşey yapabilmek .

creemstorge

Alıntı yapılan: "ayhani"
Alıntı yapılan: "dodo4132"sabaha kadar bekle desen inan beklerim  8O

Dodo boşver o devreyi ben size daha basit ve ucuzunu tasarladım. Devre kesinlikle çalışmaktadır.

Aşağıdaki linkte
http://picproje.org/index.php/topic,20527
kolay gelsin.

Bu link silinmiş sanırım

M_B

Alıntı yapılan: "creemstorge"
Alıntı yapılan: "ayhani"
Alıntı yapılan: "dodo4132"sabaha kadar bekle desen inan beklerim  8O

Dodo boşver o devreyi ben size daha basit ve ucuzunu tasarladım. Devre kesinlikle çalışmaktadır.

Aşağıdaki linkte
http://picproje.org/index.php/topic,20527
kolay gelsin.

Bu link silinmiş sanırım

https://www.picproje.org/main/modules.php?name=Forums&file=viewtopic&p=137813&highlight=#137813
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

ferdem

Alıntı yapılan: "maxiboost"
Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"hex dosyasına birşey yapamazsın

Hex dosyasını "disassemble" edip gerekli değişikliklerden sonra "assemble" edemez miyiz? Proteus simülasyonda "debug" yaparken hangi "insturction" işletiliyor, PC nerde görebiliyoruz. Bu sayede "disassemble" etmeden dahi demo bölümüne dallanan dallanma komutunu tesbit edip bir hex editör kullanarak demo bölümüne değil istediğimiz diğer bir bölgeye dallandırabiliriz diye düşünmüştüm.

o kadar uğraşmaya değmezki ,programı baştan yazmak daha kolay heralde ,üstelik olmazda heralde öyle hex dosyasından birşey yapabilmek .

Sonuçta .hex dosyasında .asm dosyasındaki "instruction" ların "opcode", "operand"ları ve bazı diğer bilgiler bulunuyor. Yapılamayacak iş değil ama benim gibi PIC assembly konusunda tecrübesiz olanları biraz uğraştırır(bilene kısa bir iş). Bana kalırsa yapılması gereken değişiklik ilgili dallanma komutlarını tesbit edip programı doğru adreslere dallandırmak. İlk fırsatta uğraşacağım.

entegre86

Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"
Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"hex dosyasına birşey yapamazsın

Hex dosyasını "disassemble" edip gerekli değişikliklerden sonra "assemble" edemez miyiz? Proteus simülasyonda "debug" yaparken hangi "insturction" işletiliyor, PC nerde görebiliyoruz. Bu sayede "disassemble" etmeden dahi demo bölümüne dallanan dallanma komutunu tesbit edip bir hex editör kullanarak demo bölümüne değil istediğimiz diğer bir bölgeye dallandırabiliriz diye düşünmüştüm.

o kadar uğraşmaya değmezki ,programı baştan yazmak daha kolay heralde ,üstelik olmazda heralde öyle hex dosyasından birşey yapabilmek .

Sonuçta .hex dosyasında .asm dosyasındaki "instruction" ların "opcode", "operand"ları ve bazı diğer bilgiler bulunuyor. Yapılamayacak iş değil ama benim gibi PIC assembly konusunda tecrübesiz olanları biraz uğraştırır(bilene kısa bir iş). Bana kalırsa yapılması gereken değişiklik ilgili dallanma komutlarını tesbit edip programı doğru adreslere dallandırmak. İlk fırsatta uğraşacağım.


valla kardeş yapabilirsen helal olsun derim sana. gerçi böle bişeyin yapıldığını daha önceden hiç duymadım ama yaparsanda ilk yapan sen olacaksın sanırım. inşallah hayallerin gerçek olur

dodo4132

sorun çözüldü arkadaşlar. ayhani isimli arkadaşın yapmış olduğu yeni devre çalışmaktadır.
ayrıca diğer forumdan abuzettin20 isimli arkadaş hex dosyasının demosunu kaldırmıştır test ettim çalışıyor. yeni hex dosyasını aşağıda veriyorum. yararlanmak isteyen arkadaşlara duyurulur.
abuzettin20 nick"li arkadaştan alıntıdır.
http://rapidshare.com/files/117707662/Sar__305_m2.zip.html

ferdem

Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"
Alıntı yapılan: "ferdem"
Alıntı yapılan: "maxiboost"hex dosyasına birşey yapamazsın

Hex dosyasını "disassemble" edip gerekli değişikliklerden sonra "assemble" edemez miyiz? Proteus simülasyonda "debug" yaparken hangi "insturction" işletiliyor, PC nerde görebiliyoruz. Bu sayede "disassemble" etmeden dahi demo bölümüne dallanan dallanma komutunu tespit edip bir hex editör kullanarak demo bölümüne değil istediğimiz diğer bir bölgeye dallandırabiliriz diye düşünmüştüm.

o kadar uğraşmaya değmezki ,programı baştan yazmak daha kolay heralde ,üstelik olmazda heralde öyle hex dosyasından birşey yapabilmek .

Sonuçta .hex dosyasında .asm dosyasındaki "instruction" ların "opcode", "operand"ları ve bazı diğer bilgiler bulunuyor. Yapılamayacak iş değil ama benim gibi PIC assembly konusunda tecrübesiz olanları biraz uğraştırır(bilene kısa bir iş). Bana kalırsa yapılması gereken değişiklik ilgili dallanma komutlarını tesbit edip programı doğru adreslere dallandırmak. İlk fırsatta uğraşacağım.

dodo kardeş problemi başka bir yoldan çözmüş. Ben çok basit bir örnek üzerinde hex dosyasının nasıl düzenlenebileceğini göstermek istiyorum.

led flasher.asm nin mpasm tarafından üretilmiş hex çıktısı:
:02000000502886
:1000A00000308316850083120130013A8500A100DB
:0600B000FF202108552885
:0201FE00FF30D0
:0C020000A0009900A00B990B0229080037
:00000001FF

Burda(yukarda) önceden yazılıp derlenmiş asm kodlarının "opcode", "operand" ları ve satır sonlarında "checksum" bilgileri var. "Opcode" ve "operand"ların kaç bitlik olacağı mikrodenetleyici türüne(intel,microchip vs.) ve yazılan koda göre değişebilir. Hex dosya formatı da farklı olabilir. Hangi kodun hangi "opcode" oluşturduğunu bilmek için "opcode"ların da bulunduğu komut tablosuna bakmak gerekir, hex dosyasını çözebilmek için sadece tablo değil "PIC Assembly" konusunda tecrübe(bende olmayan) sahibi olmak da gerekir.

Varsayalım ki değiştirmek istediğimiz durum tek ledin değil de iki ledin "flash"(yan sön) yapması. İlgili "mnemonic"leri proteus "debug"ından yakalayabiliriz veya iyi bir ihtimal bu hex dosyasını "disassembly" edip asm kodlarına ulaşabiliriz.

Değiştirmek istediğimiz  satırları
0054    3001    MOVLW 0x01
0055    3A01    XORLW 0x01
olarak tespit ettik. Görüyoruz ki veya komut tablosundan buluyoruz ki ilgili "mnemonic"lerin "opcode"ları 30 ve 3A "operand"lar 01 ve 01.
Bizim hex dosyamızda kırmızı ile gösterdiğimiz yere denk geliyor.
:02000000502886
:1000A00000308316850083120130013A8500A100DB
:0600B000FF202108552885
:0201FE00FF30D0
:0C020000A0009900A00B990B0229080037
:00000001FF

01 ve 01 "operand"larını 03 ve 03 değişikliğini yapıp satır donundaki "checksum" bilgisini 4 azaltıyoruz(3-1=2, 2*2=4).
Sonuçta:
:02000000502886
:1000A0000030831685008312033003A8500A100D7
:0600B000FF202108552885
:0201FE00FF30D0
:0C020000A0009900A00B990B0229080037
:00000001FF

hex dosyasını elde ediyoruz. Amacımıza göre düzenlenmiş bir hex dosyası elde ettik. Rahatlıkla kullanabiliriz.
Bu örneği verdim çünkü hex dosyasına müdahale edemeyiz diye yapabileceklerimize erkenden bir sınır koymayalım demek istedim. İyi çalışmalar dilerim.

Düzenleme: imla.