Smilatörde de Çalışmıyor :(

Başlatan kostebek, 24 Ocak 2008, 16:48:42

kostebek

Arkadaşlar yeniyim PIC ve ASM konusunda.

Bir program yazdım başlangıç için RA0 a bağlı butona basınca RB0 daki ledi yakacak ve RA1 deki lede basıncaya kadar led yanık kalacak.

Yazdığım program şu şekilde. ama smilatörde bile çalışmıyor. yani çalışıyor ama mesela RA0'a tıklıyorum 1 yapıyorum basılmılş gibi ama sanki hiç tıklamamışım gibi yine SONDUR'e dallanıyor

;====led_yak_son===24.01.2008======
;==================================
	LIST P=16F628A
	INCLUDE "P16F628A.INC"
	__CONFIG  _INTRC_OSC_NOCLKOUT &_WDT_OFF &_PWRTE_ON &_MCLRE_ON  &_BODEN_OFF &_LVP_OFF &_DATA_CP_OFF &_CP_OFF
;==================================
		ORG 	h'00'				
		CLRF 	PORTB		;PORT B'nin bütün uçlarını temizle
		BANKSEL TRISA		;BANK1'e geç
		MOVLW	h'FF'		;Akü'ye FF koy
		MOVWF 	TRISA		;TRISA'nın bütün bitleri 1 yapıldı.-Giriş
		CLRF 	TRISB		;B'nin bütün bitlerini 0 la- Çıkış yapıldı
		BANKSEL PORTA		;BANK0'a geç
		MOVLW   h'07'		;aküye 00000111 koy
		MOVWF   CMCON		;porta girişleri dijital I/O
KARSILAS
 		BTFSS 	PORTA,0	        ;0. buton basılmış mı? 
		GOTO SONDUR		;hayır basılı değil
		GOTO YAK		;evet basılı
YAK
		BSF 	PORTB,0		;ledi yak (RB0=1)
		BTFSS   PORTA,1		;İkinci buton basılı mı
		GOTO 	YAK		;basılı değil
		GOTO	SONDUR		;basılmış
SONDUR
		BCF 	PORTB,0		;ledi söndür (RB0=0)
		GOTO 	KARSILAS
		END


Cevaplarınız için şimdiden teşekküer ederim.

XX_CİHAN_XX

Daha düzgün yazılabilirdi ama bu haliylede programında hiçbir sorun yok.Sorun simulasyonu yanlış yapıyorsun yada devreyi yanlış kuruyorsun.Eğer mplab da simule ediyorsan yanlış birşeyler yapıyorsun simulasyon sırasında ama isiste deneme yapıyorsankş muhtemelen öyle.Yaptığın hata şu;
Devreyi kurarken ra0 ve ra1 deki butonların birer uçları vcc ye bağlıyacaksın fakat bu yeterli olmaz aynı zamanda ra0 ve ra1 nolu uçları 10k değerinde bir direnç ile gnd ye tek tek termine etmen gerekir.Bu şaseye teremine dirençlerini butonların bağlı olduğu pinlere koymazsan simulasyonun düzgün olmaz.Yani isiste test ediyorsan sorun kurdugun devrede.
Yazılımında hiçbir sorun yok dediğim düzltmeyi yapman yeterli.
Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

kostebek

Cevap için teşekkür ederim. Bilmiyorum ama smilasyon yaparken dediğim PROTEUS felan kullanmıyordum. Sadece PIC SMULATOR IDE ile test ediyordum.

Onda hiçbir şekilde YAK etiketine dallandıramadım.

XX_CİHAN_XX

Doğrudan mplabda simulasyon yaptım sorunsuz çalışıyor.
Bahsettiğin programı hiç kullanmadığım için birşey diyemiyorum.
Programında sorun yok....
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

kostebek

CİHAN;

Bende biraz önce Proteus üzerinden denedim evet gayet sorunsuz çalışıyor. Teşekkürler ilgin için. Bu arada başlangıç için başka neler önerirsin. asm ile yazılabilecek. Var mı şöyle bir problemler kitabı?

ahmet2004

LedYak...              1348Kbayt

Yukarda video linki var.

PIC_and_PIC16_Simulator_IDE de çalışıyor.

Sen hangi versiyonu kullandın?

kostebek

PIC Simulator IDE - Evaluation Copy v6.65
Author: Vladimir Soso
ALL RIGHTS RESERVED.

PIC Simulator IDE official web site is on the following address:
http://www.oshonsoft.com/[code]

Benim kullandığım buydu . Ama sonradan Proteus ile denedim. Çalıştı hayet de hoş oldu.


http://projects.harmankaya.org/PIC/uygulamalar1/bas_yan_bas_son.rar

teşekkürler ilginiz için. Ben bu siteyi çok sevdim gerçekten :)

XX_CİHAN_XX

Alıntı yapılan: "kostebek"CİHAN;

Bende biraz önce Proteus üzerinden denedim evet gayet sorunsuz çalışıyor. Teşekkürler ilgin için. Bu arada başlangıç için başka neler önerirsin. asm ile yazılabilecek. Var mı şöyle bir problemler kitabı?
iyi geceler.
http://www.altaskitap.com/PIC_kitap_84.htm
http://www.altaskitap.com/PIC_kitap_uygulama.htm
http://www.altaskitap.com/PIC_877kitab%C4%B1.htm
Sana bu 3 kitabı tavsiye ederim.Ne kadar bilgin var bilmiyorum ancak verdiğim link sırasını başlangıç, orta, ileri seviye olarak kabul ederek istediğin kitabı ona göre alabilirsin.
Tabi bu derecelendirmeleri işin başında olan birisi için düşünerek yapıyorum.Faydası olacağına eminim zamanında bana olmuştu.
Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

kostebek

Teşekkür ederim tekrardan.

Bende 16F84 vardı zaten biraz okumuştum. Hocam geçenlerde yine Orhan Altınbaşak'ın 16F628A kitabını verince ona başladım.

Şimdi biraz biraz anladım zaten. Programlama mantığımdan önceden vardı zaten (PHP&MySQL , C, C# )  işte sadece asm nin kendine özel yapısı(1 se bir satır atla vs.) kafamı karıştırmıştı. Onuda hallettim :)

Bakalım yaptıkça birşeyler yazarız ...

tekrar teşekkürler...