asm portb,5 ve porta,4 eşitleme sorunu

karali

Üye
Katılım
23 May 2010
Mesajlar
3
Puanları
1
MPLAB Assembler ile ASM kullanarak yazdığım programda sorun yaşıyorum arkadaşlar. PORTB'nin 5. bitini okutup PORTA'nın 4. bitine bu değeri göndermem gerekiyor.
sadece tek biti okutmam gerekiyor.


nasıl yapabilirim bilgisi olan varsa yardım edebilir mi? şimdiden teşekkürler.


Kod:
MENU1

;  program buraya döndükten sonra portb 5. bitini okutup, porta'nın 4. bitine göndermek
;  istiyorum. program menü1'in içine girilince portb 5. biti direk kontrol edilip porta'nın 4.
 ;  bitine bu bilgiyi göndermem gerekiyor. yazacağım kodun burada yer alması gerekiyor.
 CALL  GECIK  
  	MOVF  PORTB,W 
  	ANDLW B'00001111' 
  	SUBLW  H'01' 			; 1. cihazı açmak için 1'e basılır.
  	BTFSS  STATUS,2 
  	GOTO  ALT1_1
	BSF PORTB,5                       ; portb 5. bit 1 yapıldı.
	GOTO MENU1
ALT1_1
 CALL  GECIK  
  	MOVF  PORTB,W 
  	ANDLW B'00001111' 
  	SUBLW  H'0A' 			; 1. cihazı kapatmak için 0'a basılır.
  	BTFSS  STATUS,2 
  	GOTO  ALT1_2
	BCF PORTB,5                      ; portb 5. bit 0 yapıldı.
	GOTO MENU1
ALT1_2
 CALL  GECIK  
  	MOVF  PORTB,W 
  	ANDLW B'00001111' 
  	SUBLW  H'0B' 			; menüden çıkmak için *'a basılır.
  	BTFSS  STATUS,2 
  	GOTO  MENU1
 RETURN
 
Bunun için bu kadar uzun rutin e gerek yok.

RUTİN
CALL BEKLE ;kontrol etme süresi
BTFSC PORTA,5
BSF PORTA,4
BTFSS PORTA,5
BCF PORTA,4
BTFSS BUTON ; hangi bacaksa ?
GOTO RUTİN
GOTO NEREYE ; iş bitince nereye gitmek istiyorsan git.


Bazı piklerin A4 ünde pull-up yok, kullandığın pic in datasheet ten kontrol etmelisin.
 
cevap için teşekkürler. programda takıldığım kısmı çözdüm. galiba biraz ara verip tekrar başlamak iyi geliyor ;)
 
Rica ederim. çözmene sevindim. Bazen biraz bırakıp tekrar başlamak iyi gelir. Başarılar.
 

Forum istatistikleri

Konular
130,068
Mesajlar
932,755
Kullanıcılar
453,062
Son üye
alidağ07

Yeni konular

Geri
Üst