Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
750
Tıklama
0
Öne Çıkarma
PIC programlama hatası
E
17 yıl
Teğmen
Konu Sahibi

Pic programlamaya yeni başaladım. Basit bi alarm devresi kurdum ama benim istediğim gibi çalışmıyor. Program şöyle:
list p=16F84A
#include <p16F84A.inc>

CLRF PORTB
BSF STATUS,5
CLRF TRISB
MOVLW h'FF'
MOVWF TRISA
BCF STATUS,5

BSF PORTB,1

TEST_PORTA
BTFSC PORTA,1
GOTO TEST_PORTA
GOTO ALARM

ALARM
BSF PORTB,2
BSF PORTB,3

END

Burdaki mantığa göre a nın 1 biti 0 ise alarma geçip B nin 2 ve 3 bitleri çıkış olmalı sonra devamlı öyle kalmalı. 2 de led 3 te alarm devresi bağlı. Pici programlayıp kurunca devamlı Port A yı kontrol edior. 0 gelince B nin 2 ve 3 ü çıkış oluo. A1 1 olunca B nin 2 ve 3 ünün çıkışını kesio yani devreyi kesio. Benim istediğim ise A1 i 0 okuduğu andan sonra B nin 2 ve 3 ü devamlı çıkış olsun ve devam etsin.

birde 2. sorum var:
Şu gecikme işlemini yazıom programlıom ama gecikmeyi yapmıo.;Anladığım kadarıyla programda gecikmeye gelince duruyor ve ondan önceki işlemler aynen kalıo . gecikme:

SAYAC1 EQU h'0C'
SAYAC2 EQU h'0D'

GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2

DONGU2
DECFSZ SAYAC2,F
GOTO DONGU2
DECFSZ SAYAC1,F
GOTO DONGU1
RETURN

sizce nerde hata yapıom. Pic ustalarından yardım

teşekkürler



E
17 yıl
Yarbay

INCLUDE "P16F84.INC"
satırı böyle yap.alakası olabilir.

butona basınca A1 eksiye bağlanıyormu.yani devren bu şekildemi.
gecikme programın doğruya benziyor.fakat ana programın tamamını vermemişsin.
gecikme programı mili-sn süresince gecikme sağlar.çalışmadığını nereden biliyorsun


Bu mesaja 1 cevap geldi.
E
17 yıl
Teğmen
Konu Sahibi

INCLUDE "P16F84.INC" diye deiştirdim bişey farketmedi. Bi de

ALARM
BSF PORTB,2
BSF PORTB,3
GOTO ALARM

yazdım program alarm a girdimi devamlı olarak sonsuz döngüye girmesi lazım ama bi işe yaramadı.

Bi sorum daha olcak : mesala ben programı mplab da derliyorum. derledikten sonra pic up a atıodum ama hata veriodu. hata: Error in hex file on row 1! yazıo.

bende netten hex'i ve asm'si olan bi dosyayı derledim. Benim derlediğimdeki hex'in ilk satırı netten aldığım hex de gözükmüo. Bende derlediğim her programın hex'inin ilk satırını siliom hem çalışıo hem de pic-up a yüklenio. sence bu neden oluyordur. Mplab ın ayarlarındanmıdır yoksa bilmediğim birşeymi

örnek benim derlediğim:
:020000040000FA
:10000000860183168601FF308500831286148518C9
:0A00100007280A28061586150A289D
:00000001FF

nette olan
:10000000860183168601FF308500831286148518C9
:0A00100007280A28061586150A289D
:00000001FF

yani :020000040000FA kodu ne ve silince de nasıl çalışıo


Bu mesaja 2 cevap geldi.
B
17 yıl
Binbaşı

pic simulator kullanmanı tavsiye ederim, mplab a entegre bir simulator var ya da nette farklı çeşitlerini bulabilirsin. Programını bu simulatora attığında hangi registerlarda ne tür değişimler oluyor adım adım takip edebilme imkanı bulursun. Programı incelemedim ama dediğimi yaparsan sorunu çok rahat çözersin.


Bu mesaja 1 cevap geldi.
B
17 yıl
Binbaşı

ayrıca picup ile ilgili sorununu bu linki inceleyerek çözebilirsin kolay gelsin.

http://www.elektrobilisim.com/content/view/42/30/1/3/



E
17 yıl
Yarbay

derlerken programda f84 ü seçmen lazım.
asm ve mplab ile çalışmıyorum epey zamandır.


Bu mesaja 1 cevap geldi.
E
17 yıl
Teğmen
Konu Sahibi

saolasın "bjv16" verdiğin adresteki bilgiler işime yaradı. Şu an bazı hatalarımı düzeltiim. Düzgün çalışıyor.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.