PIC ASM Yardım

Başlatan swearer, 28 Ekim 2013, 13:07:04

swearer

Merhaba Arkadaşlar

Bir arkadaşım ASM konusunda yardım istedi. Ancak ben CCS C biliyorum ve ödevin ASM olarak yazılması gerekiyormuş. Aşağıdaki soru için yardım edebilir misiniz ?

"2 port kullanılarak port a'daki ra0 butonuna basılınca 0,2 sn aralıkta flash yapan, ra1 butonuna basılınca 2sn flash yapan asm'yi yazınız."

Teşekkürler

Okan AKÇA

ccs asm karşılıgını gösteriyor ordan kopyalayın :D

swearer

PIC C Compiler kullanıyorum. Denedim ama bildiğimiz ASM kodlarına benzemiyor. Adreslenmiş gibi geldi.

Bayramsumbul

Merhabalar ve Kolay Gelsin.Pic asm bilginiz var mı?Bir kod yazmış iseniz paylaşabilir misiniz?Bir de kullanıcağınız kontrolör nedir?
Bir Elektronik Meraklısının Serüveni...

swearer

Alıntı yapılan: Bayramsumbul - 28 Ekim 2013, 19:01:32
Merhabalar ve Kolay Gelsin.Pic asm bilginiz var mı?Bir kod yazmış iseniz paylaşabilir misiniz?Bir de kullanıcağınız kontrolör nedir?
Teşekürler. Benim ASM bilgim yok maalesef. Bu yüzden de herhangi bir kod yazmadım. Program PIC'e yüklenmeyecek bu nedenle genel olarak işleyişi belirten bir kod bloğu yazmamız yeterli.

kudretuzuner

Alıntı yapılan: swearer - 28 Ekim 2013, 13:07:04
Merhaba Arkadaşlar

Bir arkadaşım ASM konusunda yardım istedi. Ancak ben CCS C biliyorum ve ödevin ASM olarak yazılması gerekiyormuş. Aşağıdaki soru için yardım edebilir misiniz ?

"2 port kullanılarak port a'daki ra0 butonuna basılınca 0,2 sn aralıkta flash yapan, ra1 butonuna basılınca 2sn flash yapan asm'yi yazınız."

Teşekkürler

Merhaba,
Fikir verir mi bilemem ama kaba olarak şöyle yazayım.

'PIC İÇİN SİGORTA AYARLAR KISMI'

BASLA
TEST1
BTFSC PORTA,0'          portA'yı test et
GOTO TEST2' şaseye çekili değilse yani şaseye değdirilmedi ise test2 ye atla
CALL BEKLE'bu konuma şaseye çekildi ise atlar
BSF PORTB,0'             portB aktif olur çıkış verir
CALL BEKLE'bekler
BCF PORTB,0'          portB pasif olur
CALL BEKLE' bekler
GOTO BASLA'      başa döner
TEST2
BTFSC PORTA,1
GOTO BASLA
CALL BEKLE
BSF PORTB,0
CALL BEKLE
BCF PORTB,1
CALL BEKLE
GOTO BASLA
BEKLE
MOVLW H'FF'
MOVWF SAYAC0
DONGU0
MOVLW H'FF'
MOVWF SAYAC1
DONGU1
DECFSZ SAYAC1,F
GOTO DONGU1
DECFSZ SAYAC0,F
GOTO DONGU0
RETURN
END
Çok kaba olarak böyle yazılabilir.Tabii sigorta ayarlarını da programa göre yazmak gerekir."BEKLE" rutinindeki H'FF' değerini değiştirerek zamanı ayarlayabilirsiniz.
Amatör

swearer

Alıntı yapılan: kudretuzuner - 28 Ekim 2013, 22:26:24
Merhaba,
Fikir verir mi bilemem ama kaba olarak şöyle yazayım.

'PIC İÇİN SİGORTA AYARLAR KISMI'

BASLA
TEST1
BTFSC PORTA,0'          portA'yı test et
GOTO TEST2' şaseye çekili değilse yani şaseye değdirilmedi ise test2 ye atla
CALL BEKLE'bu konuma şaseye çekildi ise atlar
BSF PORTB,0'             portB aktif olur çıkış verir
CALL BEKLE'bekler
BCF PORTB,0'          portB pasif olur
CALL BEKLE' bekler
GOTO BASLA'      başa döner
TEST2
BTFSC PORTA,1
GOTO BASLA
CALL BEKLE
BSF PORTB,0
CALL BEKLE
BCF PORTB,1
CALL BEKLE
GOTO BASLA
BEKLE
MOVLW H'FF'
MOVWF SAYAC0
DONGU0
MOVLW H'FF'
MOVWF SAYAC1
DONGU1
DECFSZ SAYAC1,F
GOTO DONGU1
DECFSZ SAYAC0,F
GOTO DONGU0
RETURN
END
Çok kaba olarak böyle yazılabilir.Tabii sigorta ayarlarını da programa göre yazmak gerekir."BEKLE" rutinindeki H'FF' değerini değiştirerek zamanı ayarlayabilirsiniz.

Kudret abi çok teşekkürler zaten PIC sigorta kısmı es geçilecekmiş bu blok iş görür  8)