PORT B NIN GIRIS OLARAK KULLANILMASI

Başlatan dalavi, 02 Eylül 2005, 21:52:23

dalavi

selam arkadaslar , belki sizin icin basit bi soru ama bu konuda biraz bilgiye ihtiyacim var.yardimci olursaniz sevinirim.

pic 16f84a ileclisiyorum ve ufak denemeler yapiyorum.Port b den bilgi okumada (yani port bye bagli 8 butonu ) bi problem yasadim. mümkünse portb yi okuyacak basit bir örnek yazarsaniz sevinirim.(option veya diger yazmaclari bisekilde dikkate almammi gerekli ??)

tesekkürler

picusta

PIC te PortB de içerde weak pull-up denilen dirençler vardır. Bu dirençleri OPTION yazmacının 7 bit'inden (RBPU) açıp kapayabilirsin. Port B'den okuyacağın deger bu bit'in değerine ve düğmenin nasıl bağlanacağına (5volt veya şase) bağlı olacak. Kafanı karıştırmamak için ufak bi şema:
oooooooooo 5V
oooooooooo|   |
oooooooooo|   |Weak Pullup direnç
oooooooooo---
ooooooooooo|
işlemci-------------PortB girişi--------ı
kalbiooooooooooooooooooooooooo|
oooooooooooooooooooooooooooDüğme
ooooooooooooooooooooooooooooo|
ooooooooooooooooooooooooooooŞase
Düğme ye basınca portB de 0 okunuyor, aksi taktirde 1(Pullup direnç sayesinde) Daha kararlı olması için kondansatör eklenebilir.

HEXF2

COUNT      EQU       0x0C

BSF           STATUS,RP0
MOVLW      0x0FF                                        ;PORTB <-- INPUT
MOVWF      TRISB  
CLRF          TRISA                                      ;PORTA -->OUTPUT
BCF           OPRION_REG,RBPU                    ;PULL-UP AKTİF
BCF           STATUS,RP0

LOOP

BTFSC        PORTB,0                                   ;Butona basılırsa bu pin "0"
GOTO         LOOP                                        ;
CALL          DELAY                                       ;Buton arkını söndüryoruz
BSF            PORTA,0                                   ;LED'i yak
GOTO         LOOP

DELAY

MOVLW      0xFF                                          ;
MOVWF      COUNT

D1

DECFSZ     COUNT,F
GOTO         D1
RETURN

END

Programı F84 için yazdım PORTB'nin 0bitine bağlı buyona basınca PORTA'nın 0.bitine bağlı ledi yakıyor

Kolay gelsin

dalavi