PIC16F84 ile Program Yazma(öğrenciyim)

bonibon01

Üye
Katılım
10 Ağu 2012
Mesajlar
11
Puanları
1
Merhaba,

2.sınıf öğrencisiyim mikroişlemci dersimizde pıc16f84 ile program yazmasını öğreniyorum.

Bir sorum var bu programı yazmasını bilen arkadaşlar, ağabeyler yardımcı olursa sevinirim.

RA0'daki ve RA1'deki butonların ikisine birden basıldığında RB0'daki ledin yanmasını sağlayan program yazınız.

Teşekkürler.
 
and kapısı mantığını işleyeceksiniz fakat hocanız hangi dilde yazmanızı istedi?
 
and kapısı mantığını işleyeceksiniz fakat hocanız hangi dilde yazmanızı istedi?
assambly dilinde yazıyoruz örneğin ayarlar kısmını yazıyoruz önce
list p=16F84A
include "p16f84a.inc"
clrf porta
clrf portb
bsf status, 5
bcf trisa, 0
bcf status, 5

bu kısımdan sonrası yukarda verdiğim örneğin assambly dilinde yazılmasına ait yardımcı olun lütfen.

btfsc, goto, bsf gibi komutlarla yazıyoruz hep zaten ama tam çözemedim olayı ve bugün sınavım var çıldırmak üzereyim geceden beri çalışıyorum.
 
Butonlar pull-up lı ise yani direnç +'dan ise alttaki program, pull-down lı ise BTFSC yerine BTFSS kullanman gerekiyor.. Prog ilk açılışta çıkışı 0 yapıyor, iki butona da basılmadıysa çıkış 1 ya da 0, nolursa olsun, çıkışı 0 yapar.. İki butona da basıldığında ise çıkışı ne olursa olsun 1 yapar.. Bu işini görür mü bilemem..



BASLA
BCF
PORTB, 0
BTN_KTRL
BTFSC PORTA, 0
GOTO BASLA
BTFSC PORTA, 1
GOTO
BASLA

BSF PORTB, 0
GOTO BTN_KTRL



Edit: Sanırım geç kaldım.. :)
 
Butonlar pull-up lı ise yani direnç +'dan ise alttaki program, pull-down lı ise BTFSC yerine BTFSS kullanman gerekiyor.. Prog ilk açılışta çıkışı 0 yapıyor, iki butona da basılmadıysa çıkış 1 ya da 0, nolursa olsun, çıkışı 0 yapar.. İki butona da basıldığında ise çıkışı ne olursa olsun 1 yapar.. Bu işini görür mü bilemem..



BASLA
BCF PORTB, 0
BTN_KTRL
BTFSC PORTA, 0
GOTO BASLA
BTFSC PORTA, 1
GOTO BASLA

BSF PORTB, 0
GOTO BTN_KTRL



Edit: Sanırım geç kaldım.. :)
Dahili saat frekansı 4 MHz olan PIC16F84 mikro denetleyicisinde TMRO sayıcısı yardımıyla 1/256 frekans bölme oranında 40 ms'de bir kesme işareti oluşturulacaktır. Bu 40 ms’lik kesme işareti kullanılarak 1 saniyelik gecikme elde edilecektir. B portuna 8 adet ışık veren LED bağlanmıştır. Programın başında bütün LED'ler sönük olacaktır. Her bir saniyede B portundaki sayı bir arttırılacak ve sayı ışık veren LED'lerde gösterilecektir. Sayma işlemi için SAYAC adlı değişken kullanılarak nasıl yazabiliiriz
 
Kesme olmadan aynı işi yapan
C kodunu yazın. Özellikle MC XC8 ile.
Yardım etmeye çalışırım.

Ödev mi bu?
 

Forum istatistikleri

Konular
127,959
Mesajlar
913,917
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst