Geri git   Programlama ve Elektronik > Elektronik Programlama > PIC Assembly
Kayıt ol Yardım Community Bugünki Mesajlar Arama

PIC Assembly PIC Assembly Hakkında

Cevapla
 
Seçenekler Stil
Alt 12. May 2009, 11:11 PM   #1 (permalink)
Amatör
 
Üyelik tarihi: May 2009
Mesajlar: 1
Standart deneme kartı üzerinde pic uygulamaları

Abilerim merhaba.
deneme kartı üzerinde pic programlayarak bazı dalgalanmalar yaratmak istedi öğretmenimiz
pic16f84 programını verdi ancak dediki: yazım yalnışı var yada eksik bir komut var

Deneme kartı 8 ledden oluşmaktadır 4 butonludur. pic16f84 ile çalışır.
Programdaki amaç:
PIC'e enerji verdilğinde A portunun 1 bit'ine bağlı butona 10 defa basıldıktan sonra B portunun 0 bit'ine bağlı olan led'i yakan program.

AŞAĞIDAKİ PROGRAMDA HATA NEDİR BEN BULAMADIM LÜTFEN YARDIMCI OLUN ARKADAŞLAR LÜTFEN


Kod:
LIST P=16F84
INCLUDE "PIC16F84.INC"

SAYAC EQU h'0C'

CLRF PORTB
BSF STATUS5
CLRF TRISB
MOVLW h'FF'
MOVWF TRISA
BCF STATUS5

BASLA
MOVLW d'10' ;W ye desimal 10 yukle
MOVWF SAYAC ;SayacA dan w yi

TEST
BTFSC PORTA1
GOTO TEST
NOP
NOP
NOP
DECFSZ SAYACF
GOTO TEST
BSF PORTB0
END

Konu rootkey tarafından (13. May 2009 Saat 01:45 AM ) değiştirilmiştir.
rootkey isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 15. May 2010, 03:54 AM   #2 (permalink)
Amatör
 
Üyelik tarihi: Jun 2009
Mesajlar: 2
Standart Cevap: deneme kartı üzerinde pic uygulamaları

buna benzer bi programla bende uğraşıyorum.RA0 butonuna 10 defa basıca PORTB nin 0. bitindeki ledi yakmaya çalışyorum ancak düzgün olarak çalışmıyor.kodlarım şunlar.
Kod:
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_ON & _LVP_OFF & _DATA_CP_OFF & _CP_OFF

CLRF PORTB
SAYAC EQU h'20'
BANKSEL TRISB
MOVLW b'11111110'
MOVWF TRISB
MOVLW b'11111111'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BASLA
MOVLW d'10'
MOVWF SAYAC
TEST
BTFSC PORTA 0
GOTO TEST
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ SAYAC F
GOTO TEST
BSF PORTB 0
DONGU
GOTO DONGU 
END
devreyi oluşturdum.biraz araştırdıktan sonra sorunun butona basıldığında oluşan arktan dolayı meydana geldiğini öğrendim.bunu önlemek için yazılımdaki NOP komutlarının sayısını arttırarak(gerekirse 100 veya daha fazla) döngü gecikmesi yapmak yada donanımsal olarak butonun uçlarına kondansatör bağlamak gerekiyomuşAncak her iki şekildede isatedğim tutarlılık çalıştıramadaım.Butona basılış süresine ve sayısına göre farklı tepkiler veriyo.Yardımcı olursanız sevinirm
jungersol isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
PIC16F877 iİle Süper Bir Geliştirme Kartı Dragon PIC16F877 Devreleri 2 10. February 2012 01:59 AM
Pic16f877ile yapılan matrix uygulamaları ywzslm Konu Çöp Kutusu 1 6. December 2011 10:00 PM
Asus 6 milyonun üzerinde notebook satmayı umuyor. Nick Donanım Haberleri 0 25. September 2008 12:25 PM
ATI'den All-In-Wonder HD Ekran-TV Kartı Nick Donanım Haberleri 0 30. July 2008 10:21 PM
ATI'den All-In-Wonder HD Ekran-TV Kartı Nick Donanım Haberleri 0 26. June 2008 01:19 PM