Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Deney Föyü 2

Tarih: Ödev Son Teslim Tarihi 7 Nisan 23.59


Deneyin Amacı:
Konfigürasyon bitlerinin kullanımını öğrenmek.
MOVF komutunun anlaşılmasını sağlamak.
PortA’nın giriş olarak tanımlanıp RA0,1,2,4 uçlarından veri okuma yapmak.

1) KONFİGÜRASYON BİTLERİ:
Konfigürasyon bitleri PIC e gerilim uygulandığında PIC in uyması gereken koşulları
belirlemede kullanılır. Bu koşullar PIC uygulama devresine ve programa bağlıdır.
Program yükleme yazılımı ile Konfigürasyon bitleri yazılırsa:
Oscillator: Kullanılacak osilatörün tipi belirlenir.
XT: Kristal veya seramik resonatör
LP: Düşük frekanslı kristal
EXTCLCK: Harici osilator kullanıldığında seçilir.

WDT: Watch Dog Timer sayıcısının kullanıldığı proramlarda seçilir. İstenmeyen


resetlenmeleri önlemek için dikkatli kullanılmalıdır.

BODEN: Pıc in besleme geriliminin belirli bir süre boyunca belirli bir değerin altına
düştüğünde PIC in resetlenmesi için kullanılır.

MCLRE: PIC 16F628A ‘nın RA5/MCLR/Vpp pini seçime bağlı olarak dijital giriş ya da
MCLR(reset) girişi olarak kullanılabilir. MCLRE enable ise reset girişi, disable ise dijital
girişi olarak kullanılır.

LVP: Düşük Gerilimle Programlama moduna geçmek için seçilir.(5V)

Code Protect: Program belleğine ve EEPROM a yazılan verilerin okunmaya karşı korumalı
olarak yazılması istenildiğinde seçilir.

>>>>>>>UYGULAMA: Configürasyon bitlerinin değerini öğrenme Micropro arayüzünden


Options/FUSE VALUE değerini kontrol ediniz. Bu değeri CONFİG derleyi bildirisi
kullanarak programa ekleyiniz.

CONFIG b’111111111111111’(14 bitliktir.)

>>>>>>>>>UYGULAMA: Programınızın bellekte kapladığı alanı kontrol ediniz ve hangi


komutun ne kadar yer kapladığını belirtiniz. (.LST dosyası aracılığıyla)
;===PROG2.ASM========

;PROGRAMIN İŞLEVİ: MOVF komutunun çalışmasını gösteren örnek program.


;PortA’nın RA0, RA1, RA2 ve RA4 uçlarından girilen veriyi okuyup,
;PortB’de aynı numaralı bit’lere karşılık gelen LED’lerde gösteren program.
;-------------------------------------------------------------
LIST P=16F628A
INCLUDE "P16F628A.INC"
CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON &
_BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
;-----------------------------------------------------------
ORG h'0000'
CLRF PORTB
BANKSEL TRISB
CLRF TRISB
MOVLW h'FF'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BASLA
MOVF PORTA,W
MOVWF PORTB
DONGU
GOTO DONGU
END

;-----------------------------------------------------------
ÖDEV
1) A port’unun tüm uçlarından (RA3 hariç) girilen gerilim “0” olduğu (butonlar
basılı tutulduğunda) sürece, B port’unda o butona karşılık gelen LED'i
söndüren programı yazınız ve proteus veya multisimde devrede uygulayınız. B
port’unun RB3 ucuna bağlı buton basılı tutulduğu sürece de RA3’e bağlı
LED’i yakar.
2) PROG2.ASM’de A port’unu devamlı olarak okumak için programı yeniden
başlatmak amacıyla RESET butonuna basmak gerekiyordu programın bu
eksikliğini gidermek için gerekli değişimi yapınız.
3) MOVLW ve MOVF komutlarının farkını açıklayınız ve örnek kullanım
biçimlerini gösteriniz.
4) MOVLW h'07'
MOVWF CMCON
Bu program parçacığının işlevi açıklayınız ve 07 değerinden başka hangi
değerlerin kullanılabileceğini ekleyiniz.

Örnek Program Devresi

You might also like